| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- bandit #밴딧 #웹해킹 #해킹 #화이트해커 #공부 #스터디 #IT #hacking #linux #openssl #nmap
- msfconsole #heartbleed #247ctf #misc #webhacking
- sql injection
- pentest
- 모의해킹
- androidhacking
- 밴딧
- 리눅스
- 쿠키변조
- Bandit
- 취약점 진단
- 안드로이드 모의해킹
- androGoat
- Linux
- error-based
- time-based
- Today
- Total
d0r1
[androgoat] HTTP/HTTPS 본문

androgoat 설치 후, http, https 패킷 캡처 과정 실습을 진행하기에 앞서, 아무리 burp를 키고 요청을 보내도
아무런 응답이 없음을 확인하였다.
이는, 안드로이드의 proxy 설정을 따로 변경해주지 않았기에 발생하는 문제였다.


다음과 같이 프록시를 수동으로 설정해주고 버프스위트에도 해당 주소를 proxy 설정에 추가해주면 정상적으로 잡을 수 있다.

또한, https 요청을 보냈음에도 불구하고 https 요청이 잡히지 않아서 구글링을 진행하였다
이는 api24 (version 7 Nougat) 이후 발생하는 문제였는데
이를 해결하는 방법에 대해서 알아보겠다
https://github.com/satishpatnayak/frida-training/blob/main/scripts/network_security_config.js
해당 사이트로 이동하여, .js 파일을 받아준 다음
frida를 통해서 작업을 수행한다
frida -U -l network_security_config.js AndroGoat\ \-\ Insecure\ App\ \(Kotlin\)
주의 해야할 점은, 패키지명이 아니라 앱의 이름을 넣어야하는데
앱의 이름이 공백과 () 괄호로 구분되어있기에, 이를 이스케이프문자로 적절히 구분해주어야한다
또한, 반드시! frida-server가 안드로이드에서 구동중이어야한다


그러나, pinning 부분이 작동하지 않기에 이 부분을 우회하여 요청을 만들어야 할 거 같다
<분석>

network 부분을 확인해보면 owasp sat agoat TrafficActivity에 위치하여있음을 확인할 수 있음
해당 부분을 jd-gui를 통해 찾아보면

해당 부분이 버튼을 만드는 부분이고, 3이 pinningButtion 임을 알 수 있다.

또한, 클릭되었을때, doPinning 으로 넘어가도록 되어있음을 확인할 수 있다.

doPinning을 수행하면, trafficactivitydoPinning으로 넘어감을 확인할 수 있다

여기서 certificatePinner을 이용해서 인증서를 고정하여, owasp.org로 요청을 보냄을 확인할 수 있다
우선, 인증서가 고정되어있는데, 검증 로직을 후킹해서 우회가 가능하다
console.log("Script loaded successfully");
Java.perform(function x() {
console.log("java perform function");
var CertificatePinner = Java.use('okhttp3.CertificatePinner');
CertificatePinner.check.overload('java.lang.String','java.util.List').implementation = function (p0, p1) {
console.log('! Intercepted okhttp3: ' + p0);
return;
};
});
이 코드를 hook.js로 수정하여

frida를 통해 걸어주고
pinning을 누르면 "Intercepted!라는 문구가 뜨며, 인증서 검증 로직을 우회하여, 정상적으로 요청이 가는 것을 확인할 수 있습니다.

++ 패키지명으로 검색하려니, 오류가 발생해서 찾아보다가,, 30분만에 pid로도 가능하다는 소식에 후다닥 했는데
잘되네요,, 안되면 Pid로
'모바일 진단 > Android' 카테고리의 다른 글
| [androgoat] HardCode Issue (0) | 2023.10.25 |
|---|---|
| [androgoat] side channel data leakage (0) | 2023.10.24 |
| [androgoat] Input Validations (0) | 2023.10.24 |
| [androgoat] Insecure Data Storage (0) | 2023.10.23 |
| [DROZER] 설치 (0) | 2023.10.20 |