반응형

 
모바일 애플리케이션을 분석할 때는 크게 2가지로 나뉜다.
 
첫 번째는 애플리케이션, 두번째는 모바일 웹 이렇게 2가지로 나뉜다.
 
애플리케이션단은 해당 애플리케이션이 루팅된 환경에서 실행이 되는지
 
또는 안티 디버깅이 적용되어 있는지, 메모리에 중요 정보가 남아 있는지 등
 
애플리케이션을 개발하면 보안에 취약한 점이 없는지 분석을 하는 것이다.
 
모바일 웹단은 애플리케이션서버 간의 통신 구간에서 중요 정보가 노출이 되는지
 
모바일 웹 취약점이 발생하는지 점검을 하는 것이다.
 
따라서 모바일 웹 취약점을 진단하기 위해서는 Proxy가 필수이며
 
Proxy로 통신 구간을 분석하기 위해서는 Proxy의 인증서가 단말기에 꼭 설치가 되어야 한다.
 
하지만 분석 환경이 달라지거나, 인증서가 만료가 되었던가
 
갑자기 Proxy로 웹 구간을 분석이 안될 때 다시 인증서를 발급받고 다시 단말기에 설치해줘야 한다.
 
회사 갔다 와서 거의 공부하고 개인 연구를 진행하다 보면
 
회사에 설치된 Proxy 인증서, 집에 설치된 Proxy 인증서를 매번 넣어줘야 하기 때문에
 
위의 작업이 정말 귀찮다.
 
따라서 해당 작업을 편하게 하기 위해서 Proxy Setting이라는 메뉴에
 
Register CA certificate라는 서브 메뉴를 만들었다.
 
Register CA certificateCA 인증서를 자동으로 단말기에 설치해 주고 알아서 재부팅까지 해준다.

 
Register CA certificate를 클릭하면 2가지 옵션이 나온다.
 
하나는 Home, 하나는 Company다.
 
그 이유는 위에서 말했듯이 환경이 달랐지만 Proxy 인증서도 다시 설치를 해줘야 하기 때문이다.

 
여기서 버튼이 총 3가지가 있다.
 
1. adb root
2. adb disable-verity
3. adb reboot
 
여기서 중요한 것은 2번째 기능이다.
 
adb disable-verity 명령은 Android 기기의 dm-verity 기능을 비활성화하는 명령이다.
 
dm-verity는 Android 기기의 시스템 이미지의 무결성을 보장하기 위한 기능이다.
 
인증서를 설치하기 위해서는 /system/etc/security/cacerts/ 디렉토리에 인증서를 설치해줘야 하는데
 
dm-verity가 활성화되어있으면 /system 디렉토리를 remount 할 수 없다.

따라서 인증서를 단말기에 설치하기 전 adb disable-verity를 꼭 해줘야 한다.
 
따라서 adb disable-verity를 실행하기 전 adb root가 필요하고
 
adb disable-verity를 적용한 후 단말기를 재부팅을 해줘야 한다.
 
하지만 해당 단말기가 adb disable-verity비활성화되어 있다면 굳이 다시 작업을 할 필요가 없다.
 
따라서 인증서를 자동으로 설치하기 전 이를 먼저 체크한 후
 
위 3가지 작업을 하지 않아도 될 때 미리 체크가 되어 있도록 만들었다.
 
하지만 위 3가지 작업을 해야 하는 단말기라면??

 
이렇게 체크를 하도록 설정할 수 있다.
 
다음은 Home 버튼을 클릭했을 때 PC와 단말기 화면이다.
 
모두 자동으로 수행된다.

 

 

 

 

위에서 언급한 것처럼 위의 과정에서 사용자의 개입 없이 모두 자동으로 설정을 진행해 준다.

반응형

'모바일 분석 도구' 카테고리의 다른 글

06. Home - Utility - System Property  (0) 2024.01.17
05. Tab - Package  (2) 2024.01.17
03. Menu-Connect  (0) 2023.12.22
02. Home, Menu 화면  (0) 2023.12.22
01. Mode Select  (0) 2023.12.22
반응형

모의해킹을 하다보면 이든 이든 진단을 하기 위해서는 프록시는 필수다.

 

대표적으로 피들러 버프 많이 사용된다.

 

하지만 모바일을 진단할때는 피들러버프+피들러를 많이 사용한다.

 

먼저 피들러를 다운로드 받자. (클릭)

 

 

저기에 정보를 입력하고 Download for Windows 클릭해서 다운로드 받아주자.

 

 

그리고 그냥 설치 해주면된다.

 

설치가 끝나면 피들러를 실행 시키면 다음과 같은 화면을 볼 수 있다.

 

이처럼 밑에 Capturing을 볼 수 있는데 이것은 지금 웹 프록시가 작동중이다는것이다.

 

피들러가 켜진 상태로 네이버에 들어가보자

 

 

이렇게 20번째로 잡힌 패킷에서 URL이 네이버인것을 볼 수 있는데 해당 패킷을 더블 클릭하면

 

오른쪽에 웹 프록시에서 잡은 패킷을 볼 수 있다.

 

하지만 저렇게 노란색 문구로 HTTPS decryption이 불가능하다고 한다.

 

HTTPS 프로토콜은 암호화 프로토콜이기 때문에 제 3자가 볼 수 없다.

 

하지만 웹 프록시에서 나의 패킷을 볼 수가 있는데 이를 보기 위해서 인증서를 설치를 해주어야한다.

 

따라서 저기 노란색 문구를 클릭해서 피들러 인증서를 설치해보자.

 

 

위에서 Decryption HTTPS traffic을 체크하면 옆의 피들러의 인증서를 설치하겠냐고 묻는다.

 

Yes를 눌러주자.

 

또 Yes

 

 

또 또 Yes

또 또 또 Yes

또 또 또 또 Yes

 

이렇게 하다보면 이제 HTTPS 프로콜의 내용도 볼 수있다.

 

다시 네이버에 접속해보자.

 

 

이제 HTTPS 패킷의 내용도 볼 수 있게된다!

 

추가


 

 

그리고 만약에 브라우저에서 서버로 Requset할 때 패킷을 수정하고 싶으면 F11을 누르고 

 

패킷을 수정하면 된다.

 

 

또한 서버로 보내고 응답오는 Response 패킷을 수정하고 싶으면 Alt+F11을 누르고

 

Response 패킷을 수정하면 된다.

 

 

실제 문제에서 사용하는 예시는 여기(클릭)에 있다.

반응형

'기타' 카테고리의 다른 글

[Anaconda] Frida 설치  (0) 2022.01.23
[Java] 자바 JR 설치  (0) 2021.11.06
[Python] 파이참(Pycharm) 설치  (0) 2021.11.06
[Python] 아나콘다(Anaconda) 설치  (0) 2021.01.15
Apache 및 PHP 연동  (0) 2020.12.08

+ Recent posts