본문 바로가기

모바일 해킹/안드로이드

(11)
취약한 콘텐츠 프로바이더 접근 안녕하세요 이번에는 취약한 콘텐츠 프로바이더 접근에 대해 실습을 해보겠습니다. adb와 drozer을 이용할 테니 nox 키시고 adb 연결하시고 drozer서버 키고 drozer 연결하시고 insecurebank 서버 키시면 됩니다. -콘텐츠 프로바이더(Content Provider)? 콘텐츠 프로바이더는 다른 앱에서 DB나 파일에 접근 가능하게 해주는 인터페이스 제공합니다. 콘텐츠 프로바이더에 접근하기 위해 URI와 ContentResolver 필요합니다. 앱은 ContentResolver를 이용해 콘텐츠 프로바이더에 접근 가능하며 URI를 이용합니다. 만약 콘텐츠 프로바이더가 노출된 경우 외부에서 접근해 데이터를 조회해 번경이 가능합니다. 한 마디로 연동되는 다른 앱의 DB나 파일와 연결시켜주는 거..
취약한 인증 메커니즘 액티비티 노출 취약점 분석 - Drozer 이용 안녕하세요 전 포스팅에 설치한 Drozer 이용해 실습을 해보겠습니다. 전 포스팅인 drozer을 꼭 설치하시고 오셔야 됩니다! 시작하겠습니다. -취약한 인증 메커니즘 액티비티 노출 취약점 분석 정상적인 인증 절차를 우회하여 비정상적으로 인증 권한 획득 -적절하지 않은 앱 퍼미션 설정 여부 -서비스 권한 상승 행위에 대한 통제 여부 -기능에 대한 제판 또는 우회 금지 여부 -불필요하거나 사용하지 않는 액티비티 제거 여부 -인텐트 사용에 대한 안정성 여부 -마스터 키 취약점 대응 여부 저희가 앱의 manifest파일을 보시면 activity 관련 태그 안에 exported 속성이 있습니다. 위 그림은 insecurebankv2.apk를 jadx 통해 열고 manifest파일 본 겁니다. exported 함..
Drozer (설치) 안녕하세요 이번에는 모바일 앱 취약점을 찾을 수 있는 Drozer 프로그램을 이용해 보겠습니다. (python2 환경에서만 돌아갑니다. 그러니 파이썬3이시면 2로 바꾸시던가 아니면 다른 프로그램 이용하는 게 스트레스 안 받습니다!) -드로저(Drozer) 모바일 앱 취약점 진단 프레임워크이고 가상 디바이스뿐만 아니라 실제 안드로이드 디바이스에 테스트가 가능해 자동화된 테스팅이 가능합니다. 안드로이드 익스플로잇을 통한 취약점 진단이 가능하기 때문에 다양한 시나리오를 통해 취약점 점검이 가능합니다. 그냥.. 쉽게 말해 모바일 앱 취약점 찾아주는 프로그램이라고 아시면 됩니다. . . . . . . 그럼 빠르게 설치를 해보겠습니다. 구글에 Drozer github 치시면 사이트가 나올겁니다! https://gi..
파라미터 조작 - 버프스위트 안녕하세요 이번에는 저번 포스팅에서 간단하게 조작을 해봤었는데요. 이번에 한 번 제대로 조작을 해서 저희가 원하는 공격을 해보겠습니다. 버프 스위트와 녹스 키시고 연결하시고 python app.py로 인스큐어 뱅크 키고 난 뒤에 실습 진행하시면 됩니다. 행여나 버프 스위트와 녹스랑 연결 안 하신 분들은 전 포스팅을 참고해서 연결 하고 오셔야만 합니다! -계좌로 금액을 보낼 때 금액 조작해서 보내보기 저번 포스팅에서 해보았죠? 이번에는 부연 설명도 붙여가면서 실습을 해보겠습니다. 버프스위트에 intercept on으로 하시고 인스큐어 뱅크 로그인 하시고 Transfer 메뉴에서 한 번 금액을 적어서 보내보겠습니다. 그럼 버프 스위트에서 요청을 볼 수 있습니다. 그럼 10000원 말고 1000000원으로 수..
암호화 통신 여부 확인 - 버프 스위트, 와이어샤크 안녕하세요 이번에는 안드로이드가 통신을 할 때 중간에 데이터를 보고 관리 할 수 있는 버프 스위트를 이용해 실습해보겠습니다. 우선 저희가 설정을 해야 되는 게 있습니다. 녹스가 있으면 녹스 통신할 때 프록시 툴 통해 보내지고 받을 수 있게 설정을 해야 합니다. 버프 스위트 설치는 간단합니다. 구글에서 burp suite 검색한 후 editon이 무료 버젼 pro가 유료 버젼입니다. 아무거나 깔으셔도 되요! 버프 스위트를 깔으시고 실행하시면 이런 화면이 보이실 겁니다. 그 다음에 Proxy 태그로 갑니다. Proxy setting 보이시나요? WebSockets history 옆에 있습니다. 그거 클릭하시면 여기에 Proxt listeners 부분에 Edit을 클릭합니다. 그리고 Loopback only ..
취약한 로깅 메커니즘 - 로그캣(logcat) 안녕하세요 이번에는 안드로이드 취약한 로깅 메커니즘에 대해 알아보겠습니다. -로깅 메커니즘? 로그 메커니즘이 많이 생소하실 수 있습니다. 간단하게 말씀드리면 서버 로그는 아시죠? 서버에서 하는 행동들이 기록에 남는 게 서버 로그입니다. 그 로그 기록 안에 노출되면 안 되는 중요한 데이터가 남는 경우가 있습니다. 예를 들어 로그인을 하는데 아이디와 비밀번호가 그대로 로그에 남는 경우라 던가 거래하는 기록이 전부 남아 있을 때 이 취약점이 있는 거죠. 그리고 이번 포스팅에는 안드로이드 로그를 볼 때 logcat을 이용해서 봐보는 겁니다. 주제는 로그캣 정보 내에 중요 정보 평문 노출이라고 볼 수 있겠네요. _________________________________________________________..
앱 해킹 외부 저장소 진단 이번에는 외부 저장소를 봐보겠습니다. 거실을 가보는 겁니다. 매우 짧습니다 위치는 /mnt/sdcard에 있습니다. 저기에 파일 다운로드한 정보 혹은 음악 혹은 사진들이 있네요. 게다가 저희가 인스큐어 앱에서 한 로그 정보도 있습니다. 맨 아래에 보시면 Statements_dinesh.html이 있죠? 저기에 저희가 방금 한 정보가 담겨 있습니다. 봐보겠습니다. 이렇게 저희가 한 행동이 담겨져 있는 경우도 있습니다. 이거는 앱이 잘 못된 거죠. 앱에서 행한 행동이 외부 저장소에 저장하게 되는 것은 매우 위험한 겁니다. 마치 거실에 제 소중한 컴퓨터를 놓는 거죠. 또 저렇게 앱 안에서 행한 행동들이 평문으로 저장되어 있으니 취약점이라고 잡을 수 있습니다. 암호 없는 제 소중한 컴퓨터를 거실에 두면 누구나 ..
앱 해킹 내부 저장소 진단 - 2 (SQLite로 db 파일 보기) 안녕하세요 바로 안드로이드 앱 해킹 내부 저장소 진단 시작하겠습니다. 일단 전 포스트와 마찬가지로 윈도우 터미널와 nox을 연결하겠습니다. cd [adb.exe 있는 디렉터리] adb.exe connect 127.0.0.1:62001 adb shell 내부 저장소 봐볼 거니 내부저장소로 가봅니다. cd /data/data 지난 포스팅에는 간단하게 설정 파일 XML 파일을 봤었죠. 그럼 이번에는 데이터가 담긴 데이터베이스 파일을 봐보겠습니다. SQLite로 작성된 db 파일을 보는 거죠. 인스큐어 뱅크 디렉터리 찾고 들어가서 db 파일을 가져와 보겠습니다. cd com.android.insecurebankv2 그 전에 이 앱 통해 아무 데이터 값을 넣어 보겠습니다. 저번에 인스큐어뱅크 앱을 깔기만 했지 앱..