Proxy Detection bypass, SSL Pinning Bypass, Socket Redirection
·
Frida
1. Socket Redirection- Socket Redirection = App의 통신을 물리적으로 BurpSuite로 보내기 위한 방식Socket Redirection을 위한 환경 설정은 다음과 같다.- AOS 내 Proxy 수동 설정 X Mobile 과 PC 간 연결을 위해 Wifi 설정 내 proxy를 수동으로 설정하지만,Socket Redirection을 위해 proxy 설정을 비활성화하고 PC와 연결하도록 한다. - Burpsuite의 Proxy Listener 내 invisible proxying 설정 Socket redirect는 HTTP CONNECT 터널링 단계가 아예 없다.따라서 앱이 Burpsuite을 웹 proxy로 쓰는 게 아니라, 그냥 raw TCP 연결 대상으로만 쓰게..
Proxy Detection Bypass
·
Frida
1. System.getProperty안드로이드 앱은 실행 환경에 대한 정보를 얻기 위해 java.lang.System.getProperty() 메소드를 호출함.JVM 버전, 파일 구분자뿐만 아니라 네트워크 프록시 설정 정보도 포함됨.주요 키워드: http.proxyHost, http.proxyPort, https.proxyHost, https.proxyPort동작 원리: 사용자가 안드로이드 설정에서 프록시(Burp Suite 등)를 잡으면, 안드로이드 OS는 이 시스템 속성값에 프록시 서버의 IP와 Port를 기록함. 2. 프록시 탐지 Bypass (Proxy Detection Bypass)https://docs.oracle.com/en/java/javase/17/docs/api/java.base..
Frida SVC Backtracing
·
Frida
1. SVC 란?Supervisor Call의 약자로 system call을 수행할 시 사용하는 assembly 명령어 중 하나이며 system calll 을 트리거하기 위해 사용하는 ARM64 어셈블리 명령어다.실행 시 CPU에 동기 예외(Synchronous Exception)를 발생시키므로 시스템콜은 단순 함수 호출이 아니라SVC로 여는 예외(Exception) 이다. User mode에 있는 APP(EL0)은 권한이 없으므로, Kernel(EL1) 에게 SVC로 호출해야 하드웨어를 제어할 수 있다.참고로 아래 링크는 Linux System에서 System call number에 대한 정보이니 참고해보면 좋을 것 같다. https://chromium.googlesource.com/chromiumos..
frida DebugSymbol
·
Frida
1. DebugSymbol APIfrida JavaScript API 중 DebugSymbol 이라는 API가 있다.frida docs 페이지에 들어가면 다음과 같이 설명이 나와있다. https://frida.re/docs/javascript-api/ JavaScript APIObserve and reprogram running programs on Windows, macOS, GNU/Linux, iOS, watchOS, tvOS, Android, FreeBSD, and QNXfrida.re 2. DebugSymbol API를 활용한 frida code DebugSymbol은 특정 주소를 입력받아 해당 주소가 속한 디버그 정보를 알려주는 API다.위의 설명에 따르면 해당 API의 retur..