[Windows]윈도우 시스템 정보 수집 방법
- 정보 수집은 표적 호스트의 네트워크 구성 및 서비스 파악, 취약점 분석의 기본 정보 확보
- 다양한 정보 수집을 위해, 서비스를 목록화하여 공격방법 결정
1. NetBIOS 세션 목록화
- 윈도우 운영체제 목록화에서 null session을 찾는 것이 가장 중요
- null session은 시스템에 인증되지 않은 연결로서, 공격자에 정보 제공
- null session 익명채널로 API를 호출하고, 원격 프로시저 호출하여 주요정보 획득 가능
(* 공유자원, 레지스트리, 트러스트 도메인, 사용자 계정 정책, 서비스와 프로세스 등)
[Null Session이란?]
- 사용자가 ID와 Password를 입력하지 않고도 공유 대상인
IPC$
(Inter Process Communication)에 연결하는 것
( *일반적으로 NetBIOS를 사용하는 시스템에서는 IPC$
, C$
, Admin$
은 항상 공유되어있음)
- Null Session Port :
135~139번
[공격 방법]
- "net use \\공격서버IP\
ipc$
""/user:"""
- net use : 공유 폴더 접근
- user:"" : 익명 사용자를 의미
- "" : 패스워드 없는 것을 의미
IPC$
: 프로그램 간 통신에 필요한 named pipe를 공유하는 자원, 이 자원은 컴퓨터를 원격 관리하는 동안 그리고 공유 자원을 볼 때 사용됨
Admin$
: 컴퓨터를 원격 관리하는 동안 시스템에서 사용하는 공유자원
[드라이브 문자]$
: 관리자가 저장 장치의 드라이브에 접근할 수 있도록 해주는 공유자원
Print$
: 프린트를 원격 관리하는 동안 사용하는 자원
2. 공유 폴더 목록화
- null session 연결이 성립되면, 윈도우 net view 명령어로 표적 시스템의 공유 리소스 목록화 수행
[공격 방법]
- "net view \\공격서버IP"
- net view : 지정된 PC와 공유된 영역, 호스트 혹은 자원 정보를 얻는데 사용
3. 레지스트리 목록화
- 레지스트리 목록화는
reg 명령어+옵션
으로 레지스트리 값을 추출할 수 있음
[공격 방법]
- "reg query \\Localhost\ HKLM"
- HKLM : 얻고자하는 레지스트리 입력
4.트러스트 도메인 목록화
- 도메인 그룹의 주 도메인 컨트롤러와 백업 도메인 컨트롤러 등의 정보를 nltest로 확인
( * 트러스트 : 도메인 간에 설정한 관계로, 한 도메인의 사용자가 다른 도메인의 도메인 컨트롤러에서 인증될 수 있도록 함)
[공격 방법]
- "nltest /dclist: <도메인명>"
- nltest :
- 도메인 컨트롤러 전체 목록 확인
- PDC 에뮬레이터의 이름 확인
- 보안 채널 또는 컴퓨터 계정을 질의하거나 재설정
- 사용가능한 도메인 컨트롤러에 질의하기 위해 DsGetDCName 호출
5. 사용자 계정 목록화
- 윈도우 운영체제에서 계정은 SID(SecurityID)로 식별
- SID는 윈도우 운영체제에서 사용자나 그룹 같은 객체의 보안 식별자
- SID가 같은 경우, 접근 허용 토큰의 일부로 사용되고, 동일 사용자로 인식됨
[공격 방법]
- "whoami /user"
- whoami : 현재 사용자 이름을 출력
6. NetBIOS Name 목록화
- 표적 시스템에 익명 접속이 가능하다면, 표적 네트워크의 모든 도메인과 시스템 목록화가 가능
nbtstat 명령어+옵션
이나 nbtscan.exe 툴
을 사용하여 네트워크 대역으로 스캔 가능
[공격 방법]
- "nbtstat
-A
공격서버IP"
- nbtstat :
NetBIOS over TCP/IP를 사용해 스테이션의 프로토콜 사용 현황이
나 TCP/IP 연결 상태를 검사하기 위한 명령어, 주로 IP충돌을 알아
낼 때 많이 사용
-A
: 지정한 IP주소를 사용하는 원격 컴퓨터의 이름 테이블을
표시
7. MSRPC 목록화
- RPC(Remote Procedure Call)는 표적시스템이 사용하는 애플리케이션과 서비스 정보를 제공
[공격 방법]
- "epdump 공격서버IP"
- epdump : MSRPC 수집 툴