목록분류 전체보기 (553)
Self-Improvement
Uncrackable Level 3 Uncrackable Level 3 을 실행하면 Rooting or tampering이 탐지되었다고 한다. 이를 우회하기 위해서 디컴파일하여 소스코드를 확인해보면 각 검사하는 메소드들 중 참이 하나라도 존재하면 showDialog() 메소드가 동작되어 진다. showDialog() 메소드가 실행되면 System.exit(0)이 실행되어 어플리케이션이 그대로 종료가 되어진다. System.exit() 우회 위에서 분석된 내용을 토대로 어플리케이션이 종료되는 System.exit()를 후킹하여 우회해본다. import frida, sys Hook_package = "owasp.mstg.uncrackable3" def on_message(message, data): if m..
UnCrackable-Level 2 System.exit() 후킹 UnCrackable-Level 2을 실행하면 Level1과 동일하게 루팅을 탐지하는 로직이 존재하여 바로 종료가 되어진다. APK를 추출한 후 디컴파일하여 해당 로직을 확인해보니 이전 레벨과 동일하게 b 클래스의 a(), b(), c() 메소드를 확인하여 하나라도 참이면 루팅으로 간주하게 된다. 그리고는 System.exit()를 실행하여 그대로 종료가 되어짐으로 후킹하여 종료되지 않도록 해본다. import frida, sys Hook_package = "owasp.mstg.uncrackable2" def on_message(message, data): if message['type'] == 'send': print("[*] {0}"...
보호되어 있는 글입니다.
3uTools의 File 목록에서 사용자 폴더만 보일 경우에는 Cydia에서 apple file conduit "2"를 설치해주면 된다.
삽질하던 중 해결했던 방법을 작성하였다. Cydia 앱이 실행이 안되면서 탈옥이 풀린 경우에는 재탈옥을 진행해야 하는데 이때 uncOver 앱을 수행할 경우 재부팅 과정에서 무한 리스프링(애플 로고만 나오고 더이상 진행x)이 발생하게 되었다. 해결 방법을 찾던 중 uncOver 앱을 실행하기 전 위치정보, 나의 iphone 찾기를 off를 하고 비행기모드를 on을 한 후에 uncOver 옵션에서 "Reinstall Cydia"를 활성화한 후 진행하면 무한 리스프링 오류가 해결되며 탈옥이 정상적으로 수행 되었다. "Reinstall Cydia" 활성화가 핵심인 것 같다.
삽질하던 중 해결했던 방법을 작성하였다. uncOver 어플을 실행하여 탈옥을 시도하던 중 지속적으로 kernel과 관련된 오류가 발생하여 진행되지 않았다. 이때는 비행기모드를 수행한 후에 진행하면 정상적으로 탈옥이 진행된다.
일반적인 Altserver을 검색해서 최신으로 다운받고 실행하는 과정에서 오류가 발생하였고 이를 삽질하던 중 해결했던 방법을 작성해본다. 검색하여 발견한 Altserver을 Windows10에 설치한 후 아이폰에 AltStore을 설치한다. 이때 AltStoreAppID 신뢰를 수행한 후 AltStore을 실행하면 실행되지 않고 바로 꺼지거나 튕기게 되어서 해결방안을 찾아보던 중 아래 버전의 Altserver을 설치한 후 진행하였더니 정상적으로 동작되었다. (버전오류?)
DIVA diva의 10. Access Control Issues Part2를 확인해보면 두가지 선택지가 있다. Register Now를 체크한 후 버튼을 누르면 아래와 같이 PIN을 입력하라는 화면으로 넘어가진다. Already Registered를 체크한 후 버튼을 누르면 API 정보를 볼 수 있는 화면으로 넘어가진다. 디컴파일 AccessControl2Activity 클래스의 소스코드를 확인해보면 intent를 선언해주고 aci2rbregnow의 값이 체크되어 있으면 chk_pin 변수는 true를 가지게 된다. 그리고 jakhar.aseem.diva.action.VIEW_CREDS2 로 선언된 액티비티로 전환하고 있으며 chk_pin의 값을 함께 전달하고 있다. activity_access_con..
DIVA diva의 8.Input Validation Issues Part 2이며 URL을 입력하면 보여주는 기능이 존재한다. 디컴파일 소스코드를 확인해보면 InputValidation2URISchemeActivity 클래스의 get 메소드에서 입력한 URL 값에 대한 검증이 존재하지 않는 것을 알 수 있다. 그리하여 URL에 내부 파일을 요청할 수 있는 file:// 형식으로 요청하게 되면 그대로 실행되어 파일 내용을 볼 수 있다. file:///etc/hosts
DIVA diva 어플리케이션의 7. Input Validation Issues이며 user name을 입력하여 검색할 수 있는 폼이 존재한다. admin을 입력하면 관련 정보가 출력되어진다. 디컴파일 소스코드를 확인해보면 SQLite 데이터베이스를 사용하며 sqliuser 테이블에 입력받은 값을 그대로 쿼리로 사용되어 진다. Sqli 입력 폼에 아래의 페이로드를 수행할 시 sqliuser 테이블에 있는 모든 사용자 정보가 출력된다. ' or '1