본문 바로가기

전체 글

(47)
injured.apk(FLAG SEVEN - SQLITE) 1. abd를 통하여 쉘로 접속한다. 2. 앱 저장 경로로 이동한 뒤 앱을 압축한다. mv b3nac.tar /data/local/tmp/b3nac.tar 3. 압축한 파일 경로에서 mv 명령어를 통해 권한이 있는 폴더로 파일 이동을 한다. PS C:\Users\Desktop\platform-tools> adb.exe pull /data/local/tmp/b3nac.tar 4. 명령어를 통해 이동한 파일을 pc로 가져온다. 5. 파일을 압축 해제 한 뒤 SQLite로 열어보면 값을 확인할 수 있다. 6. 1번을 md5 복호화 사이트에서 복호화를 하면 hunter2라는 값이 나온다. 7. 2번 값을 ROT13 복호화 사이트에서 복호화를 진행하면 링크가 나온다. 해당 링크를 들어가면 위와 같은 값이 써있다.
injured.apk(FLAG SIX - LOGIN3) 1. nox_adb를 통해 쉘에 접속해준다. 2. frida 서버가 있는 경로로 가 실행을 해준다. 3. 스크립트를 실행하면 박스 안에 값이 들어가게 된다. 4. js 파일을 실행해준다. 5. 아무 값이나 넣으면 스크립트를 통해 "k3FElEG9lnoWbOateGhj5pX6QsXRNJKh///8Jxi8KXW7iDpk2xRxhQ==" 값이 넘어가 플래그 값이 cmd에 뜨게 된다.
injured.apk(FLAG FOUR - LOGIN2) 1. FlagFourActivity 파일을 보면 다음과 같이 코드가 난독화 되어있다. 2. 값이 디코더 되는 것을 볼 수 있다. 이 함수는 플래그를 넣는 곳으로 바로 코드를 보여주지 않고 다른 곳에 숨겨놓은 뒤 불러온다. 코드를 하나하나 따라가보면 3. Line 63의 a2는 Line61에서 오는 것을 확인할 수 있다. 4. Line 62에서 어떤 문자가 디코드 되는 지 알아보기 위해 Line 61의 a를 따라가보면 오른쪽과 같은 코드가 뜬다. 5. 해당 코드에서는 a가 실행이 되면 return 값으로 f1911a를 넘겨주고 있다. f1911a은 Base64로 인코딩된 값을 디코딩해서 넘겨주고 있다. 6-1. 디코딩 해주는 사이트에 텍스트를 입력하면 플래그가 나온다. 6-2. burp suite에서 De..
injured.apk(FLAG THREE - RESOURCES) 1. jdx에서 FlagThreeActivity 파일을 열어주면 해당 함수 부분이 보인다. 2. 텍스트가 난독화 되어있다. R.string.[string name]은 리소스를 참조할 수 있다. 해당 사진에서는 cmVzb3VyY2VzX3lv이 참조 되어있다. 3. APK Easy Tool을 사용하여 injured.apk를 Decompile한 폴더를 소스 코드 편집기(VS Code, Sublime Text)로 열어준다. 4. 전체 검색(Ctrl + Shift + f)을 통하여 해당 문자열을 찾으면 플래그 값이 나온다.
injured.apk(FLAG TWO - EXPORTED ACTIVITY) 1. 처음 FlagTwoActivity에 들어가면 다음과 같은 문구가 뜬다. 2. AndroidManifest.xml을 확인해보면 android:exported가 true로 설정되어있다. true로 되어 있으면 다른 앱에서 activity를 시작할 수 있다. 3. 인증 우회를 위해서 platform-tools 경로에서 파워쉘을 실행해준다. 4. adb shell을 통해서 am 명령어를 사용해 activity를 시작할 수 있다. 5. 강제로 시작해주니 FlagTwoActivity 화면에 플래그가 뜨게 된다. 끝.
injured.apk(FLAG ONE - LOGIN) 1. FlagOneLogin 부분의 파일을 열어준다. 2. submitFlag 부분을 확인해보면 플래그가 나와있는 것을 확인할 수 있다. 3. 플래그를 넣어주면 성공했다는 문구가 출력된다.
injured.apk(smali 변조/ XSS) APK Decompile 1. Browse -> apk 앱 선택 -> Decompile을 한다. 🙂 Smali 변조 1. 앱이 동작할 때 onCreate를 거치는데 무결성 검증을 하기 않아 해당 코드 변조 할 수 있다. 2. Decompiled APKS에 경로를 타고 들어가보면 MainActivity.smali이 있다. (1-Decompiled APKs\InjuredAndroid_v1.0.9_apkpure.com\smali\b3nac\injuredandroid) 3. 검색을 통해 해당 부분의 코드를 찾아준다. 4. 위와 같이 코드를 변경해준다. Line 2 locals 0 -> 1로 변경해준다. p0과 p1 레지스터를 사용 중이라 추가로 레지스터(v0)를 사용하기 위해 1로 변경해주었다. Line 13 ..
Android/Nox Burp Suite proxy 환경 구성 ※ 공기계가 아닌 Nox에서 진행하였습니다. 🧾 인증서 추출 1. Burp Suite에서 Proxy -> Options -> Import/export CA certificate로 들어간다. 2. DER 포맷을 선택해준다. 3. Select file -> 저장 원하는 경로 선택 후 확장자를 der로 파일명을 적어준다. 4. 인증서 추출 완료. 🔄 인증서 변환(Open SSL 사용) 1. 환경에 맞는 Open SSL을 다운받아 준다. 2. Open SSL 설치 경로 bin 폴더(C:\Program Files\OpenSSL-Win64\bin) 안에 인증서를 옮겨준다. 3. CMD에서 명령어를 통해 인증서를 변환해준다. openssl x509 -inform DER -in [변환 대상 파일명] -out [변환 결..