insecurebankv2를 분석해보면서 Content Provider SQL Injection 진단을 해보기 위해 drozer를 사용하고자 했다.
drozer도 마찬가지로 환경구축을 하는데 꽤나 많은 사람들이 어려움을 겪을거라 생각이 들어 쉬운 방법을 소개하고자 한다.
우선 https://github.com/WithSecureLabs/drozer/releases/tag/2.4.4 해당 링크에서 drozer-2.4.4.win32.msi를 찾아 다운로드 받는다. 이때, 윈도우에서 안전하지 않은 다운로드가 차단됨이라는 메세지가 뜨면, Windows 보안에서 바이러스 및 위협 방지에서의 실시간 보호를 끄고 다운받아보자, 이때 경고하는 메세지를 무시하고 다운과 실행을 하면 installer가 다운받아진다.
설치박스를 클릭하게 되면 Python from another location을 누르고 drozer를 설치할 경로를 지정할 수 있는데 이때, 그전 insecurebankv2에서 사용한 conda 가상환경인 py2 (drozer는 파이썬 2에서 사용가능하기 때문)의 경로를 해당 경로에 넣어준다. 아래와 같은 순서로 해주면 된다.
1)

2) python2의 아나콘다 가상환경의 경로를 넣어주고, Next를 누르면 설치가 된다. 그리고 Finish를 누르면 끝

3) 마지막으로 설치 경로에서의 anaconda3\envs\py2\Scripts에 drozer가 설치되어 있는지 확인해준다.

4) drozer를 입력해보면 아래와 같이 설치 확인을 할 수 있다.

이제 nox에 drozer apk를 설치하는 방법은 다음과 같다.
https://github.com/WithSecureLabs/drozer-agent/releases/tag/3.1.0에서 apk를 다운받고 했을때,, 이상하게 apk 버전의 문제인건지 되질 않아서
https://github.com/as0ler/Android-Tools/blob/master/drozer/drozer-agent-2.3.4.apk에서 2.3.4 버전의 apk를 다운받았다. 만약에 drozer console connect 를 했는데 local variable 'session' referenced before assignment 와 같은 메세지와 함께 connect가 안되는 사람은 꼭 참고하시길...
설치가 되면 아래와 같이 서버를 실행시켜주면 PC와 통신하기 위한 포트인 31415 포트가 활성화 된다.

drozer를 사용하기 전에 필요한 라이브러리들을 설치해주어야 에러 없이 진행이 되는데 필요한 설치는 아래와 같이 하면된다.
conda install protobuf pyOpenSSL twisted service_identity
그리고 이어서 아래 순서대로 진행하게 되면 연결된 것을 확인할 수 있다.

drozer 실행 후 간단하게 insecurebankv2를 대상으로 Content Provider의 URI 주소를 검색해 접근 가능한 목록들을 확인해보고, SQL Injection 점검 내용은 다음 글을 통해서 올려볼 예정이다.
'Hacker > APP' 카테고리의 다른 글
| Diva 풀이 7~8번 (Input Validation Issues Part 1~2) (0) | 2024.09.15 |
|---|---|
| Insecurebankv2 - Insecure Content Provider access (취약한 컨텐트 프로바이더 접근) (0) | 2024.08.21 |
| Insecurebankv2 - Local Encryption issues, Hardcoded secret, Weak Cryptography implementation (0) | 2024.08.12 |
| Diva 풀이 4~6번 (Insecure Data Storage - Part 2 ~ 4) (0) | 2024.08.09 |
| InsecureBankv2 환경 구축 (0) | 2024.08.09 |