2020/Android App Hacking(22)
-
안드로이드 앱 조작(Tampering) 및 역공학(Reverse Engineering) #2 2020.02.03
-
안드로이드 앱 조작(Tampering) 및 역공학(Reverse Engineering) #1 2020.02.02
-
Santoku: Exposed Content provider Vulnerability (using Drozer)
CSipSimple 앱 파일에 내포되어 있는 취약점 분석 drozer 툴을 활용해 제 3자의 입장에서 해당 앱에 어떤 기능을 사용할 수 있고 어떤 데이터에 접근이 가능한지 확인한다. #1 drozer, CSipSimple installation (파일들은 github, google에서 구할 수 있음) $ adb install drozer.apk $ adb install CSipSimple.apk #2 Connection 디바이스에서 drozer앱을 실행시킨 뒤 31415포트를 열어 listening을 시작한다. $ adb forward tcp:31415 tcp:31415 $ drozer console connect [ Drozer Command ] 1. dz> list 2. dz> run app.pack..
2020.02.02 -
Santoku: Drozer
Drozer 도구 사용에 있어서 몇 가지 명령어를 정리하고자 한다. Desktop과 drozer server(device)의 연결 #1 디바이스에서 drozer서버를 동작시킨다. #2 $ adb forward tcp:31415 tcp:31415 (기본포트) #3 $ drozer console connect dz> ls : 모든 명령어를 확인할 수 있따. dz> run app.package.list dz> run app.package.attacksurface [PackageName] dz> run app.provider.finduri -a [PackageName] dz> run app.provider.query content://PackageName/uri 아래 그림은 Path travel취약점이 성공한 ..
2020.02.01 -
Santoku: Bypass SSL Pinning using Frida
사용자가 앱을 설치하고 해당 앱을 통해서 인터넷에 접속한다. 앱이 인터넷 서버에 접속할 때 서버와 통신을 하는데 암호 키를 교환하고 암호화 방식을 결정하고 서버의 인증서를 확인한다. 앱에서는 SSL Pinning이라고 하는 앱 내부에 신뢰할 수 있는 인증서들을 저장해놓고 (hard-code)접속하려는 서버의 인증서와 비교한다. Frida를 통해 앱을 Hooking하여 앱이 인증서를 검증하는 과정에서 내가 가진 서버의 인증서를 유효한 인증서로 인식하도록 한다. 먼저 인증서가 필요하니 인증서를 다운 받도록 하자. Burp suite의 인증서를 사용할 것이다. #1 Desktop에서 Burp Suite 실행 #2 인터넷에서 프록시 연결 설정을 진행한다. #3 http://burp에 접속한 뒤 인증서를 다운받는..
2020.02.01 -
Smali Code
1. move vA, vB (A = B ) A: target register (4bits), B: source register (4bits) 2. move-result vAA ★★★★ A: target register (8bits) 해당 명령 직전의 invoke-X 함수 호출의 결과를 A에 저장한다. 3. return-void invoke-X 함수 실행 후에 void값을 리턴한다. move-result명령 필요 X 4. return vAA A: target register (8bits) 4byte까지의 데이터를 리턴한다. 5. return-object vAA 단순 변수가 아닌 Object를 리턴할 때 사용한다. 6. const/4 vA, #+B A(4bits), B(4bits) B에 지정된 값을 A에 저..
2020.02.01