SYSTEM HACKING/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 게시됨

[adb] 자주쓰는 명령어 정리 포스팅 썸네일 이미지

SYSTEM HACKING/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 게시됨

[OWASP-MSTG] Uncrackable level 3 Write-Up 포스팅 썸네일 이미지

SYSTEM HACKING/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 게시됨

[Python] Built-in 객체 사용하기, 응용하기 (Python RCE) 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[Python] Built-in 객체 사용하기, 응용하기 (Python RCE)

Built-in 객체 사용하기, 응용하기 (for CTF) Python built-in functions (Python RCE) 요즘 python으로 포너블 문제가 많이 나오던데, 왠만하면 이거 관련 문제들이여서 한번 정리하려고 합니당 1. __builtin__ 객체 소개 일단 'built-in'함수라는건 누구나 알고 있다고 생각합니다. 그 python에서 기본적으로 제공하는 그 함수들 맞아유! 더 중요하게 봐야할 건 built-in 객체입니다. 예를 들어, builtins.open 은 내장 함수 open() 의 완전한 이름입니다. 이렇게 모든 내장 식별자를 연결하는 액세스를 제공합니다. 어려워 보일 수 있는데 사실 우리가 평소에 사용하던 것들입니다. 혹시나 더 궁금하신 분들은 여기로 #1. Using ..

2021.05.14 게시됨

[STACK] mprotect ROP 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[STACK] mprotect ROP

ROP using mprotect 오늘은 기존의 ROP와는 조금 다른 것을 해보려고 합니다. 기존에는 system함수를 이용해서 권한을 얻는 식이라면, 이번에는 mprotect함수를 이용해서 권한을 획득하는 방식의 ROP에 대해서 알아보려고 합니다. 1. mprotect함수란 기본적으로 mprotect함수에 대해서 알아보도록 합시다. mprotect함수는 메모리에 대한 접근을 제어하는 함수로, 원형은 다음과 같습니다. #include int mprotect(const void *addr, size_t len, int prot); - addr : 접근을 제어할 주소 - len : 주소 기준으로 관여할 길이 - prot : 다음 값들의 비트OR값이다. PROT_NONE : 접근할 수 없다. PROT_READ..

2021.03.17 게시됨

그래서 우리가 포너블을 하는 이유 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

그래서 우리가 포너블을 하는 이유

물론 저도 부족한 지식이지만 동아리 활동을 통해 포너블에 대해 후배들을 가르치면서, 가장 많이 설명한 부분이 "포너블이 무엇이고, 왜 하는가"에 대한 부분입니다. 저는 처음 공부할 당시에 정말 맨땅에 헤딩 식으로 공부를 했기 때문에, 정확하게 내가 왜 이걸 하고 있으며 결론적으로 이루고 싶은 바가 무엇인지도 모르고 그냥 풀었습니다. 저는 어떤 일이든 내가 어떤 일을 하고있으며, 이 일의 목적은 무엇인지 파악하는 것이 매우 중요하다고 생각하는 반면에 구글을 찾아보면 무작정 워게임들을 추천하는 글밖에 없는 것 같아서 이 글을 작성합니다. (혹시나 잘못 작성된 부분이 있다면 댓글 부탁드립니다. 감사합니다!) 0. 포너블이란 사실 이내용은 조금만 찾아봐도 널려있는 내용이라 간단하게 하고 넘어가겠습니다. 우선 왜..

2021.03.07 게시됨

[Stack] Stack Frame 공부하기 - 2 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[Stack] Stack Frame 공부하기 - 2

Stack Frame -2- 오늘은 Stack Frame에 대해서 더 자세히 들여다보도록 합시다. 저번에는 전체적인 흐름에 대해서 파악해보았다면, 이번에는 하나의 함수에만 집중해서 정확히 어떤 일들이 일어나는지 확인해보도록 하겠습니다. (참고)앞으로의 내용은 기본적으로 메모리 주소(ex. C언어의 pointer 등등..)에 대한 기본적인 이해는 있다는 전제 하에 작성된 글입니다. 1. 더 자세히 들여다보기 이번에는 조금은 다른 코드를 통해서 분석해보도록 합시다. //gcc -m32 -g -o ex2 ex2.c #include int main() { int a = 5; char arr[64]; printf("main함수가 호출되었습니다\n"); return 0; } 위 코드는 저번 글에서 사용한 코드에서 ..

2021.03.02 게시됨