ANDROID

[android] 각종 툴 cheat sheet

내가 맨날 까먹어서 보려고 만든 글 1. apktool apk를 까보거나 다시 리패키징할때 사용하는 툴이죠 디컴파일 방법 java -jar apktool.jar d [디컴파일할 것] 리패키징 방법 java -jar apktool.jar b [리패키징할 것] [리패키징 후 이름] 2. motizen-sign 안드로이드 앱은 보통 앱에 서명이 있어야 설치할 수 있습니다. 그래서 그 서명을 도와주는 친구가 이 툴입니다. 서명하는 방법 java -jar signapk.jar testkey.x509.pem testkey.pk8 [서명할 apk] [서명후 apk 이름]

2021.05.20 게시됨

 포스팅 썸네일 이미지

ANDROID

[adb] 자주쓰는 명령어 정리

adb devices Nox를 킨 뒤에 연결시키기 위해 확인하는 명령어입니다. 그러나 대부분의 경우 127.0.0.1:62001이 국룰이라 아래 명령어 바로 쓰셔도 상관 없습니다. adb connect 127.0.0.1:62001 adb shell 그래서 위 명령어를 실행하면 대충 이런 창이 뜹니다. 여기서부터는 nox 혹은 공기계에서 실행시키는거나 마찬가지이므로 할일 하시면 되겠습니다. 참고로 나올땐 그냥 exit으로 나오면 됩니다. 그리고 이제 종종 파일을 주고받아야 할 경우가 있는데, 그때 종종 쓰이는 명령어들입니다. 물론 nox같은 경우는 그냥 드래그&드롭만 해도 되는데, apk뿐만아니라 특정 디렉토리로 보내고 싶을 경우 많이 사용합니다. adb push [파일 이름] [저장 위치] # 컴퓨터 >..

2021.05.20 게시됨

 포스팅 썸네일 이미지

ANDROID/Hooking

[OWASP-MSTG] Uncrackable level 3 Write-Up

오늘은 Uncrackable level 3 풀이를 작성합니다. 안드로이드 후킹 오랜만에 하네용 문제 분석 우선 앱을 먼저 실행시켜보면 루팅이 감지되었다고 나가라고 하네요. jeb와 jadx를 통해서 분석을 해봅시다 루팅 감지 후 system.exit을 부르는건 동일하므로 앞선 문제들에서 사용한 방법과 동일하게 진행해보았습니다. 그 방법을 사용할 경우, 다음과 같이 종료됩니다. 뭔가 싶어 로그를 살펴보니, 뭔가를 감지했다고 꺼지네요. Text검색을 해봐도 해당 텍스트가 나오지 않는 것을 보아, import한 lib파일 안에서 뭔가를 검색하지 않을까?라는 생각이 드네요. 더 자세히 MainActivity를 분석해봅시다. private void verifyLibs() { Iterator v2; ZipFile ..

2021.05.17 게시됨

 포스팅 썸네일 이미지

ANDROID/Hooking

[OWASP-MSTG] Uncrackable level 2 Write-Up

똑같이 root detection을 진행하네요. 이건 uncrackable1의 코드를 그대로 들고 왔습니다. 그러면 이렇게 잘 접속되는걸 볼 수 있습니다 진짜 문제는 여기서부터죵 근데 verify를 분석하기 전에 MainActivity 전체적인 구조를 먼저 봅시다... 코드 분석 일단 두가지만 보고 넘어갑시다 1. 새로운 라이브러리 호출 foo라는 라이브러리를 호출하는 것을 볼 수 있습니다. 따라서 저 라이브러리 내부의 함수를 활용할 경우, 라이브러를 분석해야할 수도 있죠? 2. AsyncTask 추가 onCreate함수 내부에 AsyncTask라는 클래스가 추가된 것을 볼 수 있습니다. AsynTask는 주로 멀티스레딩 코드를 작성할 때 사용하는데, 이 경우는 디버깅을 감지하네요. 특히 중간부분에 있는..

2021.01.22 게시됨

 포스팅 썸네일 이미지

ANDROID/Hooking

[OWASP-MSTG] Uncrackable level 1 Write-Up

우선 문제 파일을 열어보자. 실행시키면 무조건 Root detected라면서 앱을 종료하게끔 하고있다. 따라서 jadx로 다시 디컴파일 해보았다. 우선 아까 앱을 실행시켰을 때 볼 수 있었던 "Root detected!"부분을 찾아보았다. c.a, b, c함수를 찾아본 뒤 하나라도 해당이 되면 a함수를 실행시킨다. 다음은 a메서드 의 전체 부분이다. 텍스트를 출력시키고, ok버튼을 클릭하면 system.exit을 수행하도록 되어있다. 그럼 우리의 목표는 ok를 눌러도 프로그램이 종료되지 않도록 설계하는 것이다. 우리는 frida를 통해 hooking을 한다면 exit이 호출되어도 종료되지 안도록 할 수 있습니다. 기본적인 hooking 참고 : mingzz1.github.io/pentesting/andr..

2021.01.17 게시됨

 포스팅 썸네일 이미지

ANDROID/Hooking

[Frida-Lab] level 1~8 Write-Up

0. 연결하기 우선 adb connect 127.0.0.1:62001로 Nox와 서버로 연결을 해줍니다. 주소인 127.0.0.1:62001은 고정되어있는 주소라고 하네요. 그리고 adb shell로 연결해 안드로이드 시스템에 연결해줍시다. 또 frida-server도 확인해줘야합니다 다음처럼 하게되면 frida-server를 실행할 수 있습니다. ps는 현재 프로세스를 확인하는 작업이니 확인하면 될거같습니다. 그다음에는 Nox에서 Frida-Lab을 실행합시다. 그럼 다음과 같은 창이 뜨는데, 각 숫자는 레벨을 뜻합니다. 따라서 우리는 level1을 풀고 싶은거니깐 1번 내용인 Change class challenge_01's variable 'chall01' to: 1 부분을 잘 보면 되겠졍? 1. ..

2021.01.10 게시됨