12. AOS 진단 도구 정리
·
프로젝트/AOS 모바일 앱 모의해킹
컴파일/디컴파일을 위한 도구 목록설명ADB● 에뮬레이터 혹은 안드로이드 단말과 통신을 위한 명령 수행 콘솔●  패키지 설치, 삭제, 쉘 명령 등이 가능Apktool● APK 파일 디컴파일 및 리빌드를 위한 도구Dex2jar● Dex 파일을 자바 클래스 파일로 변환Jd-gui● Java Decopiler 도구Keytool● APK 파일 서명을 위한 키 생성 도구Jarsigner● 리빌ㄹ드 된 APK 파일에 코드 서명을 위한 도구 Android Debug Bridge(ADB) 명령어설명adb devices● PC와 연결된 디바이스 및 에물레이터 목록 확인adb install .apk● 연결된 디바이스에 apk 파일 설치adb uninstall ● 연결된 디바이스에 설치된 패키지 삭제adb push ● PC..
11. 드로저(Drozer)를 통한 모바일 취약점 정리
·
프로젝트/AOS 모바일 앱 모의해킹
항목설명1. 액티비티 확인   패키지에 포함된 액티비티 확인 run app.activity.info --filter run app.activity.info -a 페이지로 바로 이동 run app.activity.start --component 데이터 삽입 run app.activity.start --component --extra string uname jack  --extra uname jack 2. 콘텐츠 프로바이더 확인   콘텐츠 프로바이더 확인 run  app.provider info -a 프로바이더 찾기 run scanner.provider.findeuris -a 프로바이더 내용 확인run app.provider.query  3. 브로드캐스트 리시버   브로드캐스트 정보 확인 run ..
10. DIVA를 통한 모바일 취약점 정리(2)
·
프로젝트/AOS 모바일 앱 모의해킹
1. Insecure data storage - PART3○ 안드로이드 저장소     ● 내부 저장소 ( /data/data )        - /data/data//databases  : 설정 파일, 컨텐츠 파일의 쿼리 정보가 포함된 SQLite 데이터베이스 파일        - /data/data//cache  : 브라우저 캐시 같이 일시적인 사용자의 상태 정보가 포함        - /data/data//shared_prefs : XML 파일로 저장되며, 앱에 공유되는 설정 파일    ● 외부 저장소 ( /mnt/sdcart ) ○ 신용 정보가 및  취약한 코드가 저장소 어디에/어떻게 존재하는지 찾아라.  ○ 임시 파일 내 계정/패스워드가 존재하지 않거나, 임시 파일이 생성되지 않도록 대응해야 함 ..
9. DIVA를 통한 모바일 취약점 정리(1)
·
프로젝트/AOS 모바일 앱 모의해킹
DIVA 설치 주소 : https://github.com/0xArab/diva-apk-file GitHub - 0xArab/diva-apk-file: DIVA (Damn insecure and vulnerable App) is an App intentionally designed to be insecureDIVA (Damn insecure and vulnerable App) is an App intentionally designed to be insecure - 0xArab/diva-apk-filegithub.com 1. Insecure Logging mechanism○ 로그캣(Logcat) 정보 내에 중요 정보 평문 노출○ 앱이 실행하는 과정 중 android.util.Log 및 liblog가 모두 모..
8. 취약한 브로드캐스트 리시버
·
프로젝트/AOS 모바일 앱 모의해킹
1. 취약한 브로드캐스트 리시버○ 브로드캐스트 리시버는 디바이스에서 발생하는 이벤트 신호를 받아 처리하는 역할○ 애플리케이션의 브로드캐스트 리시버에서 신호를 받아 정해진 작성 수행○ Androidmaniffest.xml의 항목에 정의○ 공격자는 임으의 브로드캐스트 신호를 생성해 사용자가 받는 알림(메시지 등)을 가로챌 수 있음○ 특정 상황에서 발생하는 작업을 위회하며 수행 가능○ 이것을 통해 악의적인 행위는 어렵지만, 취약점 항목에 존재하므로 진단 2. 브로드캐스트 리시버 확인○ Androidmanifest.xml에 선언된 브로드캐스트 리시버 확인    ● 브로드캐스트 리시버 클래스 : .MyBroadCastReceiver    ● 브로드캐스트 이름 : theBroadcast    ● android:e..
7. 취약한 콘텐츠 프로바이더 접근
·
프로젝트/AOS 모바일 앱 모의해킹
1. 취약점 설명○ 콘텐츠 프로바이더는 다른 애플리케이션에서 데ㅣ터베이스, 파일에 접근 가능하도록 인터페이스 제공○ 콘텐츠 프로바이더에 접근하기 위해 URL과 ContentResolver 필요○ 애플리케이션은 ContentResolver를 이용해 콘텐츠 프로바이더 접근 가능하면 URL 이용○ 콘텐츠 프로바이더가 외부에 노출된 경우 외부에서 접근하여 데이터를 조회하거나 변경 가능 ○ 애플리케이션의 콘텐츠 프로바이더는 Androidmanifest.xml의  요소에서 정의○  콘텐프 츠로바이더는 주소인 URI는 "content://authority/path"와 같은 형식으로 구성○  Authority는 콘텐츠 프로바이더의 주소, path는 데이터 위치에 대한 정보를 의미    ● 제공자 클래스 이름(andro..
6. 취약한 인증 매커니즘 액티비티 노출 취약점
·
프로젝트/AOS 모바일 앱 모의해킹
1. 취약점 소개○ 정상적인 인증 절차를 우회하여 비정상적으로 인증 권한 획득○ OWASP Mobile Top 10 2024-M3: Insecure Authentication/Authorization 에 해당    ● 적절하지 않은 앱 퍼미션 설정 여부    ● 서비스 권한 상승 행위에 대한 통제 여부     ● 기능에 대한 제한 또는 우회 금지 여부     ● 불필요하거나 사용하지 않는 액티비티 제거 여부    ● 인텐트 사용에 대한 안정성 여부    ● 마스터 키 취약점 대응 여부  ○ android:exported는 다른 어플에 의해서 현재 만들고 있는 앱의 액티비티 실행 여부를 설정○ exported의 값이 true인 경우에는 모든 앱에서 접근이 가능○ false인 경우에는 모든 앱에서 접근이 불..
5. 통신 과정 취약점 진단
·
프로젝트/AOS 모바일 앱 모의해킹
1. 통신 과정 파라미터 조작을 통한 인증 우회○ 클라이언트와 서버가 통신할 때 중간에 패킷을 가로채서 파라미터를 변조하는 취약점○ 정상적인 요청 값을 공격자가 변조하여 정보 유출 등의 피해가 발생○ 또한, 파라미터 조작을 통해 인증 우회도 가능     2. 통신 과정 암호화 여부 확인  3. 대응방안○ 파라미터 값을 암호화하여 조작 불가능하도록 해야 함○ 세션 값 검증을 통해 다른 사용자 계정에 대한 조작이 불가능하도록 해야 함○ 파라미터 조작을 통한 입력 값에 대한 유효성 검증은 서버에서 검증하도록 해야 함○ 비밀번호 변경 기능을 사용할 때 아이디로만 인증하는 것이 아닌, 이전 비밀번호도 포함해 인증하도록 강화○ 또한, 비밀번호 변경 시 통신은 HTTP가 아닌 HTTPS로 통신하도록 암호화 적용 필수
4. 취약한 로깅 메커니즘
·
프로젝트/AOS 모바일 앱 모의해킹
1. 로그캣(Logcat) 메시지 유형 및 설명○ 로그는 실행 중에 발생하는 프로그램의 이벤트, 통신 기록 등을 나타냄○ 로그를 사용하여 장애 원인 분석이나, 프로그램을 개발 또는 유지보수 하는데 유용하게 사용 됨○ 취약한 로깅 메커니즘은 로그 기록에 노출되면 안되는 중요한 데이터가 기록되는 경우가 발생○ 안드로이드 스튜디오에서 제공하는 logcat을 사용해 진단 메시지 유형설명V● Verbos (중요하지 않은 정보)D● Debug ( 디버그 정보 )I● Information ( 일반 정보 )W● Warning ( 경고 정보 )E● Error ( 에러 정보 )F● Fatal ( 중요한 정보 )S● Silent ( 가장 높은 우선 순위 정보 ) 옵션설명-s● 모든 태그의 우선 순위를 'silent'로 설정..
3. 앱 내부/외부 저장소 취약점 진단
·
프로젝트/AOS 모바일 앱 모의해킹
1. 응용 프로그램의 권한 관리○ 안드로이드에 설치된 모든 응용 프로그램은 일반 사용자 권한으로 실행됨○ 응용 프로그램이 사용자의 데이터에 접근할 때 모든 사항을 응용프로그램사양에 명시○ 접근 시 사용자의 동의를 받도록 하고 있음(응용 프로그램 설치 시 동의 절차)○ 모든 응용 프로그램은 설치 시 자신의 고유한 사용자 ID를 할당 받아서 동작함 ○ 개인방 : /data/data    ● Interal storage (내부 저장소)    ● 중요한 정보가 포함이 된 것은 정상    ● 대신 강한 암호를 이용해 암호화가 이뤄져야 함 (SHA 256 이상) 디렉터리설명/data/data/● 설치 앱 패키지 경로, 루트 권한으로 접근 가능/data/data//files● 애플리케이션이 소유한 데이터 또는 파일 ..