본문 바로가기
CTF/HTB

Dancing

 

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
 

 

'CTF > HTB' 카테고리의 다른 글

Preignition  (0) 2026.04.06
Explosion  (0) 2026.04.06
Redeemer  (0) 2026.04.06
Fawn  (0) 2026.04.06
Meow  (0) 2026.04.06

Discussion 0