일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- otter
- 파이썬
- frida
- ctf
- lord of sql injection
- vulnhub
- 안드로이드
- Suninatas
- ESXi
- diva
- InsecureBank
- Docker
- elasticsearch
- SQL Injection
- kibana
- MFT
- beebox
- base64
- 인시큐어뱅크
- NTFS
- foremost
- XSS
- Openstack
- logstash
- Strings
- igoat
- CTF-d
- 2018
- Volatility
- Reflected XSS
- Today
- Total
Information Security
Frida - sieve.apk 로그인 우회 본문
sieve.apk
- 역할 : master password를 설정 -> pin번호 4자리 설정
- 앱 최초 실행 : master password 입력, 다른 앱이나 홈 접속 후 실행하면 pin번호 입력
- 단말기 재부팅 : master password 입력해야 앱의 내용 확인 가능
16자리 비밀번호를 입력했다.
비밀번호 입력후 PIN를 입력했다.
만들었던 비밀번호를 입력했다.
비밀번호 입력 후 [+] 버튼을 클릭했다.
서비스에 대한 정보를 입력했다.
서비스가 만들어진 것을 알 수 있다.
앱을 나간 후 들어오면 해당 핀 번호에 대한 BruteForce 공격은 후에 진행할 것이고 이번에는 초기에 입력했던 master password를 입력해서 내부 데이터 접근하는 과정 없이 바로 내부 데이터로 접근할 수 있도록 로그인 우회를 해 볼 것이다.
앱을 다시 시작하면 PIN 번호를 입력하라는 창을 보여준다.
Sieve 앱이 백그라운드로 동작하기 때문에 [설정] - [애플리케이션] - [Sieve] - [강제 종료] 한다.
PIN을 입력하라는 메시지가 아닌 패스워드를 입력하라는 메시지를 보여준다. test 문자를 입력 후 로그인을 시도했다.
패스워드가 옳지 않는다는 메시지를 확인할 수 있다.
Jadx에서 Text search를 이용해 incorrect 문구를 찾아 MainActivity로 들어가 본다.
error_incorrect_password 문자열로 다시 한번 찾았다.
package = "com.mwr.example.sieve"에서 MainActivity를 찾을 수 있다.
로그인의 성공과 실패 부분을 발견할 수 있다. checkKeyResult가 어디서 호출되는지 찾아보았다.
MainLoginActivity와 ShortLoginActivity에서 호출하고 있다. ShortLoginActivity로 들어가 보았다.
클래스를 확인해 보면 submint 버튼을 클릭했을 때 PIN 관련된 것을 알 수 있다.
checkKeyResult 메서드를 재작성하여 무조건 로그인이 성공될 수 있도록 한다. 이 유형은 Frida 기본 연습문제 4번과 유사하다.
Sieve 프로세스 패키지 이름을 확인했다.
해당 스크립트를 입력해 실행했다.
test를 입력 해 로그인이 우회되는 것을 알 수 있다.
'모바일 > Frida' 카테고리의 다른 글
SSL Pinning 우회 (0) | 2020.12.24 |
---|---|
Frida - sieve.apk BruteForce PIN (0) | 2020.12.21 |
Uncrackable1 - 암호화 (0) | 2020.12.18 |
UnCrackable - Level1 (0) | 2020.12.17 |
FridaLab - Change 'check' button's text value to 'Confirm' (0) | 2020.12.16 |