9. DIVA를 통한 모바일 취약점 정리(1)

2024. 12. 27. 09:00·프로젝트/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 insecure

DIVA (Damn insecure and vulnerable App) is an App intentionally designed to be insecure - 0xArab/diva-apk-file

github.com

 

1. Insecure Logging mechanism

출처 : https://www.pcloudy.com/android-logs-analysis/

○ 로그캣(Logcat) 정보 내에 중요 정보 평문 노출

○ 앱이 실행하는 과정 중 android.util.Log 및 liblog가 모두 모이는 곳이 logcat

 

Insecure Logging

○ 무엇이 어디에서/어떻게 로깅되고 있는지와 취약한 코드를 파악하라.

 

신용카드 번호 입력

 

nox_adb logcat을 이용해 신용카드 번호가 편문으로 로깅되는 것을 확인

 

jadx의 검색 기능을 이용해 해당 로그가 남는 장소를 확인할 수 있음

 

Log.e를 이용해 로그를 출력하고 있으며, 해당 부분을 제거할 경우 대응이 가능함

 

2. Hardcoding Issues PART1

○ 하드코딩은 소스 코드 내 중요 정보들이 평문으로 삽입되어 있는 것을 뜻함

○ 개인정보 암호화에 대해 키 값이 노출될 경우

○ 관리자 페이지(솔루션 등)와 관련된 정보가 노출될 경우

 

Hardcoding Issues

 

○ 하드코딩 된 정보를 찾아라.

 

vendor key 확인

○ vendor key를 찾아라. 힌트로 사용할 수 있을 것 같다.

 

jadx에서 vender 찾기

 

vendorsecretkey 문자열과 같ㅇ르 경우 참을 반환

 

ACCESS 완료

○ 중요한 내용이 하드코딩 되지 않도록 제거하여 대응이 가능함

 

 

3. Insecure data storage - PART1

○ 안드로이드 저장소 

    ● 내부 저장소 ( /data/data )

        - /data/data/<package>/databases  : 설정 파일, 컨텐츠 파일의 쿼리 정보가 포함된 SQLite 데이터베이스 파일

        - /data/data/<package>/cache  : 브라우저 캐시 같이 일시적인 사용자의 상태 정보가 포함

        - /data/data/<package>/shared_prefs : XML 파일로 저장되며, 앱에 공유되는 설정 파일

    ● 외부 저장소 ( /mnt/sdcart )

Insecure Data Storage - Part1

○ 신용 정보가 및  취약한 코드가 저장소 어디에/어떻게 존재하는지 찾아라.

 

계정/패스워드 입력

 

내부 저장소 폴더 확인(/data/data)

 

pull 옵션을 이용해 내부 저장소의 폴더를 불러옴

 

저장된 폴더 확인

 

xml 파일 확인 시 계정 정보 노출

○ <map>은 Android에서 SharedPreferences 데이터를 저장할 때 사용하는 XML 형식의 최상위 컨테이너 태그

○  키-값 쌍 데이터를 직렬화(serialize)하여 저장하는 데 사용

 

출처 : 개인정보의 안전성 확보 조치 기준 해설서

○ 저장 데이터가 노출될 우려가 있으므로  최소한의 정보만 저장

○ 중요 정보를 저장하는 경우 암호화하여 저장(위 그림 참조)

○ 대칭 키 값, 인증 값 등이 노출되지 않도록 안전하게 관리

○ 로컬 데이터베이스 암호화

 

4. Insecure data storage - PART2

Insecure Data Storage Part2

○ 신용 정보가 및  취약한 코드가 저장소 어디에/어떻게 존재하는지 찾아라.

 

계정/패스워드 입력

 

databases 디렉터리 내 ids2라는 파일 발견

 

아이디/계정 노출

 

jadx에서 myuser 검색

 

암호화 없이 데이터를 저장하고 있음

 

Sqlite 등과 같은 두구를 이용해 해당 데이터베이스의 정보를 암호화 또는 직접 암호화 모듈을 만들어서 데이터베이스 암호화 진행으로 대응

○ Sqlite 등과 같은 두구를 이용해 해당 데이터베이스의 정보를 암호화

○ 또는 직접 암호화 모듈을 만들어서 데이터베이스 암호화 진행으로 대응

 

pull을 이용해 databases 폴더 가져오기

 

DB Browser for SQLite를 이용해 저장된 데이터 확인

 

'프로젝트 > AOS 모바일 앱 모의해킹' 카테고리의 다른 글

11. 드로저(Drozer)를 통한 모바일 취약점 정리  (0) 2024.12.30
10. DIVA를 통한 모바일 취약점 정리(2)  (1) 2024.12.29
8. 취약한 브로드캐스트 리시버  (0) 2024.12.26
7. 취약한 콘텐츠 프로바이더 접근  (2) 2024.12.25
6. 취약한 인증 매커니즘 액티비티 노출 취약점  (0) 2024.12.24
'프로젝트/AOS 모바일 앱 모의해킹' 카테고리의 다른 글
  • 11. 드로저(Drozer)를 통한 모바일 취약점 정리
  • 10. DIVA를 통한 모바일 취약점 정리(2)
  • 8. 취약한 브로드캐스트 리시버
  • 7. 취약한 콘텐츠 프로바이더 접근
real-again
real-again
realagin 님의 블로그 입니다.
  • real-again
    또또, 다시
    real-again
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로젝트
        • AOS 모바일 앱 모의해킹
        • Spring Boot 웹 애플리케이션 구축
        • [ESXi]인프라 구축 및 모니터링
        • 인프라 취약점 진단 고도화
      • CVE 분석
      • 기반 지식
        • AWS
        • 인프라
        • 웹 어플리케이션
        • Android
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    android directory
    insecure authentication/authorization
    하드코드
    dvm
    aos정리
    콘텐츠 프로바이더
    tocken
    EC2
    pfsense
    AWS
    splunk #esm
    vlan
    diva
    app intsructure
    브로트캐스트
    spring boot
    owasp mobile top10
    Snort
    sd스토리지
    통신 과정 취약점 진단
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
real-again
9. DIVA를 통한 모바일 취약점 정리(1)
상단으로

티스토리툴바