Skip to main content

NetBIOS (137/138/139) 취약점 진단

Overview​

NetBIOS (Network Basic Input/Output System): LAN 내에서 컴퓨터들이 통신하기 위해 사용되는 레거시 API 및 프로토콜

주요 포트:

  • 137/UDP: Name Service (이름 등록 및 해상도)
  • 138/UDP: Datagram Service (비연결형 통신)
  • 139/TCP: Session Service (연결형 통신, SMB over NetBIOS)

1. Reconnaissance​

기본 호스트 및 네임 조회​

# [nbtscan] 서브넷 내 NetBIOS 호스트 및 MAC 주소 스캔
nbtscan 192.168.1.0/24
nbtscan -v <target>

# [nmblookup] 특정 호스트의 NetBIOS 이름, 워크그룹, 마스터 브라우저 상태 조회
nmblookup -A <target>
nmblookup -M -- -

Nmap 정보 수집​

# 기본 포트 스캔 및 버전 확인
nmap -sV -p 137,139 <target>

# NetBIOS 특정 스크립트 실행
nmap -sU -p 137 --script nbstat <target>
nmap -p 139 --script nbstat,smb-os-discovery <target>

2. Exploitation​

Enum4linux를 이용한 시스템 열거​

Null Session 취약점을 활용하여 대상 윈도우 시스템의 각종 정보 덤프

# 전체 정보 자동 수집 (OS, 사용자, 그룹, 공유 폴더, 패스워드 정책 등)
enum4linux -a <target>

# 특정 정보만 수집
enum4linux -U <target> # 사용자 목록 열거
enum4linux -S <target> # 공유 폴더 열거
enum4linux -G <target> # 그룹 정보 열거

rpcclient를 활용한 정밀 분석​

인증 없이(Null Session) RPC 파이프에 연결하여 내부 정보 쿼리

# Null Session 연결
rpcclient -U "" -N <target>

# [연결 후] 세부 명령어 실행
rpcclient $> enumdomusers # 도메인 사용자 열거
rpcclient $> enumdomgroups # 도메인 그룹 열거
rpcclient $> queryuser <RID> # 특정 사용자 상세 정보 쿼리

공유 폴더(SMB) 익명 접근​

NetBIOS Session Service(139)를 통해 연결되는 공유 자원 탐색

# 익명(Null Session)으로 공유 목록 조회
smbclient -L //<target>/ -N

# 특정 공유 폴더 익명 접속 시도
smbclient //<target>/IPC$ -N

3. Advanced Techniques​

NetBIOS Name Suffix 코드 식별​

nmblookup 결과에서 나타나는 Suffix 코드를 통한 대상 서버 역할 식별

  • <00> (U): 일반 Workstation Service
  • <03> (U): Messenger Service (일반 사용자)
  • <1B> (U): Domain Master Browser (PDC 역할)
  • <1C> (G): Domain Controllers (도메인 컨트롤러 그룹)
  • <1D> (U): Local Master Browser (서브넷 내 브라우저 선출)
  • <20> (U): File Server Service (파일 공유 서비스 활성화) ※ U(Unique)는 단일 호스트, G(Group)는 다중 호스트 의미

4. Post-Exploitation​

주요 유출 정보 활용​

Null Session 공격이나 NetBIOS 열거를 통해 수집한 정보는 다음 공격에 활용

  • 사용자 목록: 브루트포스(Brute-Force) 공격 및 패스워드 스프레이 대상 확보
  • OS/도메인 정보: 타겟 네트워크의 도메인 컨트롤러 및 아키텍처 파악
  • 공유 폴더: IPC$ 이외에 읽기/쓰기 권한이 부여된 민감 데이터 폴더 탐색