2020(49)
-
HACKTHEBOX. Don't Overreact
정적분석 1. apktool d app-release.apk AndoirdManifest.xml , xml 파일 등 확인. 2. jadx-gui app-release.apk Java 코드 분석 React Native 앱. React Native 앱 코드는 bundle형태의 문자열로 확인 및 수정이 가능 assets/index.android.bundle 동적분석 Nox, Drozer C:\> adb connect 127.0.0.1:62001 C:\> adb towrad tcp:31415 tcp:31415 C:\> drozer console connect 앱 명 : com.awesomeproject dz> run app.package.info -a com.awesomeproject dz> run app.pa..
2022.10.05 -
UnCrackable_level2.apk 풀이, Frida Native Library 후킹
level1과 마찬가지로 디바이스의 루팅여부를 판단한다. exit함수 후킹코드를 작성하고 프리다를 통해 실행시킨다. 위 과정은 이전 게시글에 설명되어 있음. 이제 비밀번호를 확인하는 과정을 살펴본다. this.m.a (입력값): m.a은 무엇인가? CodeCheck 클래스 객체 m CodeCheck클래스는 native library 함수 bar을 사용한다. CodeCheck클래스의 this.m.a( 입력값 ) 의 반환값은 즉 CodeCheck.a(input) = bar(input) 그럼 native library에 존재하는 bar함수는 어떻게 분석할 수 있는가? IDA, Ollydbg등의 프로그램을 활용할 수 있지만, 리눅스 리버싱 도구 radare2 프로그램을 사용할 것이다. 사용 명령 : rabin2..
2020.05.20 -
Uncrackable_level1.apk 풀이, Frida 후킹
분석환경: Kalilinux, Nox 대상 앱: Uncrackable_level1.apk 앱 실행 시 루팅이 탐지되고, 알림창을 끄는 OK버튼을 클릭하면 exit() 함수가 실행되어 앱이 종료된다. -> 앱을 실행시켜 본 뒤 자바 코드를 읽고 파악하였음 코드 획득 # apktool d Uncrackable_level1.apk => Android.xml, Smali, library 획득 # d2j-dex2jar Uncrackable_level1.apk => dex 형식의 안드로이드 파일을 jar형식으로 변환시켜 사람이 읽을 수 있는 자바 코드를 획득한다. 먼저 앱을 실행시키기 위해서 exit함수를 후킹해야한다. = exit함수를 조작하여 앱이 종료되지 않게한다. exit() function - java.l..
2020.05.20 -
Frida Java Script를 활용한 프로세스 후킹
[1] C언어로 작성된 프로세스가 동작중이다. [2] 해당 프로세스에 프리다를 통해 자바 스크립트를 삽입한다. [3] 인터프리터가 C언어 파일을 읽은 뒤 자바 스크립트를 읽고 동작이 진행된다. 실행파일로 컴파일 후 실행시킨다. $ clang hello.c -o hello $ frida -l agent.js hello hello프로세스에 프리다 명령어를 실행시켜 agent.js 자바스크립트 코드를 삽입한다. Interceptor.attach( Target, Callbacks ); Target: 함수의 주소를 지정한다. (우리는 f함수의 주소를 알고 있기에 f함수를 조작할 수 있다.) ** ptr("0x80491d0")
2020.05.19 -
Curl 사용법
# curl --help # man curl 1. 웹 페이지의 소스코드를 읽어들여서 파일에 저장할 수 있다. # curl -o /home/curlOutput/naver.txt http://naver.com 2. 파일을 다운로드 할 수 있다. # curl -o fileName DownloadLink 3. 웹 페이지가 사용자를 다른 사이트로 리다이렉트시키는 경우 # curl https://eunhwan.com 만약 위 사이트가 다른 사이트로 리다이렉트를 실행하도록 한다면? # curl -L https://eunhwan.com L 옵션을 사용해서 리다이렉트 페이지로 이동해서 소스코드를 얻을 수 있다. 4. Request 요청을 보내고 서버로부터 Response응답을 받아온다. # curl -I https://..
2020.05.01 -
쉘 스크립트 기본 문법 4 (break, continue, 함수선언)
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 #! /bin/bash #1 select name in john bob tom do case $name in john ) echo "Hey, John!" ;; bob ) echo "Hey, Bob!" ;; tom ) echo "Hey, Tom!" ;; esac done #2 for (( i=0; i> $file fi else echo "File does not exist" fi } if [ $..
2020.04.30