
1. Target Overview (머신 요약)
- Target Name: Dancing
- OS: Windows
- Difficulty: Tier 0 (Starting Point)
- Vulnerability: SMB Null Session (비인가 익명 접근 허용), Insecure Share Permissions (안전하지 않은 공유 폴더 권한)
- Attack Vector: SMB Misconfiguration (잘못된 접근 통제 및 인증 설정)
2. 핵심 개념 총정리
① SMB (Server Message Block)
- 주로 Windows 환경에서 네트워크 상의 컴퓨터 간에 파일, 프린터, 직렬 포트 및 기타 통신을 공유하기 위해 사용되는 애플리케이션 계층(L7) 네트워크 프로토콜
- 현대의 SMB(SMB over TCP)는 NetBIOS 없이 445/tcp 포트를 직접 사용하여 통신을 수행
② Null Session (익명 연결 취약점)
- 인증된 자격 증명(Username 및 Password) 없이 IPC$(Inter-Process Communication) 공유 등에 익명으로 연결을 맺는 것을 의미
- 과거 Windows 시스템의 하위 호환성을 위해 존재했으나, 관리자의 설정 오류로 인해 권한이 없는 외부 공격자가 네트워크 내의 공유 폴더 목록(Share List), 사용자 정보 등을 열람하고 접근할 수 있는 치명적인 공격 벡터로 작용
③ Smbclient (SMB 클라이언트 도구)
- Linux(공격자 환경)에서 Windows의 SMB/CIFS 공유 서버에 접근하고 상호작용하기 위해 사용하는 CLI 기반의 유틸리티
- FTP 클라이언트와 유사한 인터페이스를 제공하여 공유 디렉토리 탐색 및 파일 송수신 기능을 수행
[Task 1] What does the 3-letter acronym SMB stand for?
- 정답: Server Message Block
- 분석: 클라이언트-서버 모델을 기반으로 네트워크 상에서 자원을 공유하기 위해 설계된 Windows의 핵심 통신 규약
[Task 2] What port does SMB use to operate at?
- 정답: 445
- 분석: NetBIOS 오버헤드 없이 TCP/IP 위에서 직접 동작하는 SMB 서비스가 대기(Listen)하는 기본 포트
[Task 3] What is the service name for port 445 that came up in our Nmap scan?
- 정답: microsoft-ds
- 분석:
- nmap -sV [Target IP] 명령을 실행
- 서비스 스캐닝을 수행한 결과, 445/tcp 포트에서 매핑된 서비스 데몬의 명칭을 식별 (Microsoft Directory Services)
nmap -sV [Target IP]

[Task 4] What is the 'flag' or 'switch' we can use with the SMB tool to 'list' the contents of the share?
- 정답: -L
- 분석: 공격자 PC에서 smbclient 명령어 실행 시, 타겟 서버에서 제공하는 공유 폴더의 목록(List)을 열람하기 위해 사용하는 옵션 플래그
[Task 5] How many shares are there on Dancing?
- 정답: 4
- 분석:
- smbclient -L [Target IP] 명령어를 통해 타겟 시스템을 열거(Enumeration)한 결과
- 기본 관리 공유(ADMIN$, C$, IPC$)를 포함하여 총 4개의 공유 디렉토리가 존재함을 확인했습니다.
smbclient -L [Target IP]

[Task 6] What is the name of the share we are able to access in the end with a blank password?
- 정답: WorkShares
- 분석: 열거된 공유 폴더 중, 자격 증명 없이(Null Session) 접근이 허용된 커스텀 공유 디렉토리의 명칭
[Task 7] What is the command we can use within the SMB shell to download the files we find?
- 정답: get
- 분석:
- 타겟의 SMB 쉘에 성공적으로 진입한 후, 로컬 공격자 시스템으로 타겟의 파일을 다운로드(추출)할 때 사용하는 명령어
[Root Flag] 시스템 침투 및 플래그 추출
- 분석
- smbclient \\\\[Target IP]\\WorkShares 명령을 통해 식별된 취약한 공유 폴더에 접속을 시도
- Password 프롬프트에서 공란(Blank)으로 엔터를 입력하여 인증 우회 및 세션 연결에 성공
- 쉘 환경 내부를 탐색(ls, cd)하여 관리자 디렉토리 내에 위치한 flag.txt를 식별
- get flag.txt 명령을 통해 파일을 로컬로 탈취
# 타겟 공유 폴더 목록 열거
smbclient -L \\\\[Target IP]
# 취약한 공유 폴더(WorkShares) 연결 (패스워드 공란)
smbclient \\\\[Target IP]\\WorkShares
Password for [WORKGROUP\root]: [Enter]
# 쉘 내부 탐색 및 플래그 파일 탈취
smb: \> ls
smb: \> cd James.P
smb: \James.P\> get flag.txt
smb: \James.P\> exit
# 로컬에서 해시값 확인
cat flag.txt


Discussion 0