전체 글(324)
-
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 -
쉘 스크립트 기초 문법 3 (while, for)
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 #! /bin/bash #1 while loop num=0 while [ $num -le 10 ] do echo $num #(( num++ )) #$(expr $num + 1 ) num=$(( num+ 1 )) done #2 함수의 인자로 파일의 내용을 받아서 출력한다. while read line do echo $line done
2020.04.30 -
쉘 스크립트 기초 문법 2
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 63 64 65 66 #! /bin/bash #1 echo -e "Type any number here (0~9): \c" read num case $num in [0-9] ) echo "You typed a correct charcter" if [ $num -ge 0 ] && [ $num -le 9 ] then echo "Great!" fi ;; [a-z] ) echo "$num is wro..
2020.04.30 -
쉘 스크립트 기초 문법 1
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 #! /bin/bash #1 echo -e "Enter your name : \c" read name echo $name #2 echo -e "Enter fruits : \c" read -a fruits echo ${fruits[0]} echo ${fruits[1]} echo ${fruits[2]} #3 echo $0 $1 $2 $3 #4 num=10 name='eunhwan' file='test.txt' if [ $num -gt 0 ] then echo "$num is grater than 0" else e..
2020.04.30 -
OWASP Juice shop Difficulty 3
회원 가입시 서버에서 오는 응답 데이터중에 사용자의 역할을 지정하는 파라미터가 존재한다. role:"admin" 데이터값을 전송 피드백을 남기는 경우 사용자 고유의 ID값을 사용하는데 이를 이용해 다른 사용자인척 할 수 있다. 상품을 장바구니에 추가할 때 basket ID를 사용하여 장바구니를 지정한다. 해당 변수값을 override하여 수정한다. Stored XSS 회원 가입시 사용자명에 자바스크립트 코드를 삽입하였다. 관리자가 회원 관리 페이지에 접속할 때 사용자명에 저장된 자바스크립트 코드가 실행된다. DOM XSS 컴프레인 요청 페이지에서는 pdf, zip파일만을 업로드할 수 있다. xml파일을 업로드하면 에러 응답을 수신하는데 응답 페이지에 DOM XSS취약점으로 인해 system.ini 또는 ..
2020.04.28