일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Los
- 매물
- 부동산
- 투자
- 전세
- 아파트
- 블라인드 인젝션
- UnCrackable
- Mid()
- NOX
- ADB
- 아파트실거래가
- Frida
- 서울
- 웹해킹
- 안드로이드
- 월세
- 호갱노노
- 모의해킹
- 스마트폰
- Blind Injection
- 일기
- Lord of SQLInjection
- SQL INJECTION
- webhacking.kr
- 프리다
- 후킹
- APKManager
- 부동산분석
- jeb
- Today
- Total
일단 쓰고보자
안드로이드 7.0 이상 버프잡기 (SSL Pinning 우회) 본문
#서론
재미지다.
#준비물
1. 스마트폰 (없으면 Nox)
2. BURP SUITE
3. Frida
4. ADB
5. Hooking 코드
6. 점검 대상 앱
#시작
안드로이드 7.0 (Nuga) 이후부터 SSL Pinning을 지원하기 때문에 SSL Pinning이 걸려있는 앱에서는 버프로 패킷이 잡히지 않는다.
※ SSL Pinning : SSL(Secure Socket Layer) 통신이 MITM(Man In The Middle) 공격에 취약한 것을 보완하기 위해 사용하는 방식으로, 배포할 앱 소스에 신뢰할 인증서에 대한 정보를 같이 전달하고 해당 인증서 외에는 아무것도 신뢰하지 않음으로써 보안을 강화한다. SSL Pinning 적용된 앱에서는 MITM 상태를 만들 수 없을 뿐만 아니라 추가적인 나쁜짓(?)을 하지 못 하게 된다. 였으면 좋았을테지만 사실 SSL Pinning도 우회가 된다... 그 방법을 소개한다.
1. ADB로 스마트폰에 Frida-server 넣고 실행
※ 참고로 frida-server는 안드로이드 운영체제에 맞는 파일을 받아서 구동시켜야 함. 아래 운영체제 확인 명령어 참고.
- C:\> adb shell getprop ro.product.cpu.abi
- Android# getprop ro.product.cpu.abi
1-1) C:\> adb push frida-server /data/local/tmp/frida-server
[frida-server] [Android 경로]
1-2) C:\> adb shell
1-3) Android# cd /data/local/tmp
1-4) 아래처럼 서버 구동 가능하도록 권한 주고 실행
Android# ls -l
-rwxrwxrwx 1 root root 38545744 2020-02-07 16:33 frida-server
1-5) Android# ./frida-server &
1-6) Android# ps | grep frida-server
root 1418 1397 195208 77404 poll_schedule_timeout 0 S frida-server
2. Hooking 코드 및 파일 준비
2-1) 아래 사이트에서 코드 참고
https://omespino.com/tutorial-universal-android-ssl-pinning-in-10-minutes-with-frida/
2-2) 코드 전문
Java.perform(function() {
var array_list = Java.use("java.util.ArrayList");
var ApiClient = Java.use('com.android.org.conscrypt.TrustManagerImpl');
ApiClient.checkTrustedRecursive.implementation = function(a1, a2, a3, a4, a5, a6) {
// console.log('Bypassing SSL Pinning');
var k = array_list.$new();
return k;
}
}, 0);
2-3) 파일로 저장 (frida-ssl-2.js)
3. Frida 통해 Hooking 파일 실행
3-1) C:\> frida -U -f [com.AAA.BBB] -l [frida-ssl-2.js] --no-paus
[패키지명] [Hooking 파일]
3-2) 위 명령어 입력하고 나면 아래와 같이 준비 완료되며, 스마트폰에서는 지정한 앱이 켜짐
4. 스마트폰에서 버프 프록시 연결 준비
4-1) 동일한 와이파이 연결하던, Hosted Network 설정하여 잡던 스마트폰에서 노트북으로 프록시 설정
(192.168.XXX.XXX, 포트 8080)
4-2) 버프에서 스마트폰과 동일한 네트워크에 해당하는 대역 프록시 설정
4-3) 스마트폰에서 http://burp 접속
4-4) 버프 인증서 다운로드 후 확장자 .cer 로 변경 및 설치
5. 버프에서 앱 프록시 잡힘. 끗.
'모의해킹' 카테고리의 다른 글
ADB와 연결 된 device가 unauthorized 상태일 때 (10) | 2020.04.21 |
---|---|
Nox 에서 fridump3 로 메모리 덤프하기 (1) | 2020.02.01 |