보안/android 13

[앱][리버싱] 악성앱 분석 - InsecureBankv2 (5) ; Weak Authorization mechanism

Weak Authorization mechanism https://y0on-it.tistory.com/34 - drozer를 이용하여 전체적으로 공격 범위를 분석했었다. 그중에서 이번에 취약점은 activity에 대한 것이다. [1] exported activity 확인 run app.activity.info -a com.android.insecurebankv2 -> permission이 null인 액티비티는 다른 앱에서도 접근 가능하다. Manifest 파일에서도 확인 가능하다 (exported="true" 설정인 액티비티를 확인할 수 있다) => 마찬가지로 exported가 true로 설정되었으면 다른 액티비티에서 인증 없이 접근 가능하다. [2]인증없이 접근하기 run app.activity.sta..

보안/android 2021.11.12

[앱][리버싱] 악성앱 분석 - InsecureBankv2 (4) ; Intent Sniffing and Injection

Intent Sniffing and Injection intent ? Intent는 메시징 객체로, 다른 앱 구성 요소로부터 작업을 요청하는 데 사용할 수 있다. -> 안드로이드 네 가지 구성요소 (Activity, Service, Broadcast Receiver, Content Provider) 사이에서 작업 수행을 위해서 필요한 정보를 전달하는 역할! #기본적인 사용사례 - 액티비티 시작, 서비스 시작, 브로드캐스트 전달 #인텐트 유형 명시적 인텐트는 인텐트를 충족하는 애플리케이션이 무엇인지 지정한다. 이를 위해 대상 앱의 패키지 이름 또는 완전히 자격을 갖춘 구성 요소 클래스 이름을 제공한다 일반적으로 앱 안에서 구성 요소를 시작할 때 사용함 -> 시작하고자 하는 액티비티 또는 서비스의 클래스 이..

보안/android 2021.11.12

[앱][리버싱] 악성앱 분석 - InsecureBankv2 (3) ; Flawed Broadcast Receivers

Flawed Broadcast Receivers Broadcast Receiver란?? 안드로이드 4대 구성요소 중 하나. (정기적인 사용자 플로우 밖에서 = 디바이스에서) 시스템이(os) 이벤트를 앱에 전달하도록 지원하는 구성 요소. -> 이러한 브로드캐스트 신호를 받기 위해서는 AndroidManifest.xml에 receiver 선언 필요하다. [1] exported 설정 값 확인하기 ▣ https://y0on-it.tistory.com/34 에서 drozer을 이용해서 공격 범위에 대해 추출했을 때 broadcast receivers에는 1개가 존재했었다. ▣ AndroidManifest.xml 파일에서 receiver 선언 영역 살펴보기 -> exported 값이 true로 설정되어 있기 때문에..

보안/android 2021.11.12

[앱][리버싱] 악성앱 분석 - InsecureBankv2 (2)

frida를 이용한 rooting 탐지 우회하기 ( ※ frida 설치 과정 : https://y0on-it.tistory.com/28 ) 1. 환경구축, 구동 루트 권한 필요 디컴파일 도구 (apktool, dex2jar, bytecode-viewer, jd-gui, jadx 등) 테스트 대상 앱 *루트권한 설정하기 >adb root *환경구동 >adb devices >adb shell #./data/local/tmp/frida-server-15.1.3-android-x86 & # ps | grep frida-server frida 서버 구동 >frida-ps -U >frida-ls-devices //해당 명령어로 잘 연결되었는지 확인 +)루팅된 상태로 테스트 앱 열어봐도 탐지가 안된다.. 다른 앱은 ..

보안/android 2021.11.12

[앱][리버싱] 악성앱 분석 - InsecureBankv2 (1)

(각 취약점에 대해 잘 모르겠으니 일단 냅다 해보자) 먼저, drozer를 이용한 동적분석!! drozer 콘솔 환경 준비 하기 drozer agent 에뮬레이터에 설치 후에 server on -> port forwarding -> drozer console connect 자세한 과정은 문서 참고 : https://labs.f-secure.com/assets/BlogFiles/mwri-drozer-user-guide-2015-03-23.pdf [정보수집] @패키지명 추출하기 dz> run app.package.list -f InsecureBankv2 com.android.insecurebankv2 @패키지명으로 패키지 정보 추출 dz> run app.package.info -a com.android.in..

보안/android 2021.10.28

[앱][리버싱] 악성앱 분석 - InsecureBankv2 환경구축

환경구축 [1] >git clone https://github.com/dineshshetty/Android-InsecureBankv2.git [2] AnroLabServer폴더 이동해서 명령어 실행하기 ; 서버 구동 +) 한글경로 포함되어 있으면 정상 구동 안되니까 주의할 것, cmd 창에서 실행안되면 파워쉘에서 해보기 >python2 app.py 방화벽 허용 필요! -오류 해결- [3] import 필요함 -> C:\Users\[사용자명]\Downloads\Android-InsecureBankv2\AndroLabServer\requirements pip install -r requirements.txt +) 한글문제 https://itinerant.tistory.com/10 [Python][pip] U..

보안/android 2021.10.28

[앱][리버싱] 7주차 정리+과제 ; frida를 이용한 rooting 탐지 우회

7주차 앱 후킹 도구 frida 사용하여 rooting 탐지 우회하기 frida ? DBI(Dynamic Binary Instrumentation) 프레임워크(도구들의 집합) ; A -> B 함수 호출하는 시점에 어떤 코드를 실행하고 싶어..! (바이너리 실행 중에 분석, 수정함) 어디까지 탐색했는지 알아야 하니까 -> 보통 함수 사이사이에 실행 주소를 측정함 앱 실행되는 사이사이에 자바스크립트 삽입 가능 +) DBI에 대한 추가 자료 https://code13.tistory.com/267 DBI(Dynamic Binary Instrumentation) 겉핥기로 알아보기 DBI (Dynamic Binary Instrumentation) printf("test %s", buf); 등과 같이 특정 시점에서의..

보안/android 2021.10.28

[앱][리버싱] 앱 후킹 도구 frida 설치

https://frida.re/docs/installation/ Installation Inject JavaScript to explore native apps on Windows, macOS, GNU/Linux, iOS, Android, and QNX frida.re 1. 파이썬 설치 저번에 drozer 설치하느라 파이썬2.7로 재설치를 하였는데, 파이썬3이상 recommended라서 다시 재설치를 해준다. (혹시 몰라서 2.7버전은 삭제는 안했다) 파이썬 2.7 위치 - C:\Python27 파이썬 3.9 위치 - C:\Users\[사용자명]\AppData\Local\Programs\Python\Python39 파이썬 2.7 사용 명령어 >py -2.7 파이썬 3.9 사용 명령어 >py -3.9 2...

보안/android 2021.10.28

[앱][리버싱] 6주차 정리 ; drozer로 앱 분석

모바일 앱 리버싱 도구 drozer를 이용하여 앱 분석하기 ##Drozer? - android 공격 프레임워크 1) 동작 방식 Drozer Agent를 Android Emulator에서 실행 Drozer Console에 접속하여 command를 입력 command 실행 결과가 console 상애 출력됨 command 실행 결과에 대한 분석 진행 2) 특징 실제 기기와 Android Emulator에서 Android 보안 동적 테스트 실행 가능 테스트 자동화 및 추가 모듈 확장 가능 Android Public Exploits에 Test 가능 정적 테스트 기능은 없음! 3) 사용 오픈소스 도구 Tools - Android SDK (Emulator, ADB) JAVA Development Kit (JDK) 4..

보안/android 2021.10.28

[앱][리버싱] 4,5주차 정리 ; ADB로 앱 디버깅

(4주차) +) 지난주에 마무리 못한 리패키징, 키 생성 [1] 키 생성 keytool (cmd) 안드로이드 스튜디오 - sdk ; sofware delvop kit (안드로이드 도구들이 같이 설치됨) => 기본적으로 android studio -> File -> Project Structure -> SDK Location (SDK 경로!) build-tools + ~tools 라고 되어있는 것들 -> APK 버전별 폴더 있음 -> 각 도구들 있음! AVD manager - 에뮬레이터 생성 부분 [키 생성 명령어] $keytool -genkey -alias [별칭입력] -keyalg RSA -validity 20000 -keystore [keystore 이름].keystore [2] 리패키징 ##서명 -..

보안/android 2021.10.28