안드로이드 7 버전 이상부터는 사용자의 인증서 신뢰 문제가 있어 시스템의 포멧에 맞게 인증서를 넣어줘야 정상적으로 인식을 한다.

우선 인증서 문제를 해결하기 위해 openssl을 설치한다.

http://slproweb.com/products/Win32OpenSSL.html

 

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

Minimum system requirements: Windows XP or later 32MB RAM 200MHz CPU 30MB hard drive space Recommended system requirements: Windows XP or later 128MB RAM 500MHz CPU 300MB hard drive space March 14, 2023 - OpenSSL 3.1 is available. Also, Happy Pi Day. Users

slproweb.com

그 다음 Burp의 인증서를 DER format으로 추출해 준다.

그 후 저장된 디렉토리로 이동하여 아래 명령어를 수행해 준다. 저장 이름은 cacert.der로 해주었다 이름은 상관 없으나 확장자는 제대로 설정해줘야한다.

그 후 아래 명령어를 실행하여 pem 포멧 형식으로 저장한다. 그 후 파일 이름을 해쉬값으로 지정해야하는데 그것이 두번째 명령어 

인증서 변경
openssl x509 -inform DER -in cacert.der -out cacert.pem
인증서 해쉬값 추출
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
해쉬값으로 파일명 변경
mv cacert.pem 9a5ba575.0

아래 빨간표시한 부분이 해쉬값이다 이를 cacert.pem 파일의 이름으로 설정하면 된다. 추가적으로 확장자도 .0형식으로 바꿔줘야한다.

이제 이 저장된 것을 넣어주기 위해서는 단말기 내  mount라는 작업이 필요하다. mount는 시스템에 읽기 쓰기 권한을 주는 것으로 시스템에 해당 인증서를 넣어주기 위해서 필요하다.

시스템 폴더에 쓰기 주기 방법 두 가지
1. adb remount
2 mount -o rw,remount /system
인증서 파일 집어넣기
adb push ./9a5ba575.0 /system/etc/security/cacerts/

이후 설정 >  보안 > 신뢰할 수 있는 자격증명 접속시 아래와 같이 PortSwigger가 잡히게 된다.

이제 넣은 인증서를 burp와 연동을 해야하는데 이를 위해서는 네트워크가 같이 연결되어 있어야한다. 와이파이의 경우는 공유기를 통해 전달되기 떄문에 컴퓨터가 같은 와이파이에 연결되어 있거나 공유기에 랜선 포트로 연결이 되어야한다.

 

cmd에 ipconfig 명령어를 쳐 현재 무슨 IP에 할당되어 있는지를 확인한다. 필자의 경우는 192.168.0.9 이다. 어차피 이 IP는 공유기에서 가상 IP로 할당해주는 것이라 실제 IP는 공유기에 저장되어 있어 블로그에 노출시길 수 있는 것이다.

여러분도 나와 같은 IP일 수 있다.

무튼 각설하고 돌아와 녹스에 네트워크 수정에 들어간다.

그 후 아래와 같이 설정한다. 

마지막으로 Burp에서 해당 아이피로 오는 데이터를 가져오기 위해 아래와 같이 세팅한다.

그러면 아래와 같이 패킷이 잡힐 것이다. 이제 진단을 시작하면 된다.

'APP 모의해킹 > Android' 카테고리의 다른 글

Activity 강제실행  (0) 2023.03.28
Snapshot  (0) 2023.03.23
[Android] 안드로이드 디컴파일 및 Smali 코드 분석  (0) 2023.03.09
[Android] 앱 추출 및 분석  (0) 2023.03.08
[Decompiler] APK Studio setting 방법 정리  (0) 2022.12.15

+ Recent posts