본문 바로가기

안드로이드 해킹5

diva.apk 취약점 분석 (3) 이번 글에서는 diva의 3번 취약점을 분석하겠습니다. id: lemon_soju, pw: 1q2w3e4r5% 로 설정해줍니다. 다음으로 안드로이드 쉘에서 diva.apk 디렉토리로 이동합니다. 아래와 같이 databases 폴더와 shared_prefs 폴더가 보입니다. databases에는 앱에서 필요한 데이터들이 있습니다. shared_prefs에는 설정파일이 있습니다. 그리고 shared_prefs에는 세션 유지를 위한 데이터들이 들어있기 때문에 중요한 데이터가 있을 가능성이 높습니다. shared_prefs 디렉토리에 있는 xml 파일을 열람하면 아래와 같이 방금전 입력한 아이디와 패스워드 값이 평문으로 노출됩니다. 대응방안으로는 해당 패스워드 값을 해시를 이용해 암호화해서 xml 파일에 저장하.. 2021. 7. 24.
diva.apk 취약점 분석 (1)~(2) 이번 글에서는 diva.apk(Damn Insecure and vulnerable App for Android)라는 취약한 앱을 분석하겠습니다. Diva는 github에서 다운로드할 수 있으며 취약하게 만들어진 앱입니다. 녹스에서 앱을 실행하면 아래와 같이 13가지의 취약점을 실험할 수 있습니다. 13가지 메뉴 중에서 1번 Insecure Logging에 접근하면 위와 같이 카드 번호를 입력하는 입력 창이 있습니다. 해당 칸에 1234를 입력하고 logcat을 확인하면 카드 번호가 평문으로 노출되는 취약점을 확인할 수 있습니다. 다음으로 jadx-gui를 통해 apk 파일을 분석하겠습니다. logcat에서 Error while processing transaction with credit card: 12.. 2021. 7. 24.
APK 파일 디컴파일하기 안드로이드 APK 파일 디컴파일 과정은 아래와 같습니다. APK 파일 -> dex+리소스+권한 -> smali -> class -> Java 파일 APK 파일에서 바로 Java 파일로 디컴파일도 가능하지만 smali 코드를 수정하는 것이 더 쉬운 경우가 많기 때문에 여러가지 디컴파일에 대해서 알아보겠습니다. 첫번째로 smali 코드로 디코딩하는법에 대해서 알아보겠습니다. APK 파일은 압축파일입니다. APK 파일의 확장자를 zip으로 변경하고 압축을 해제하면 위와 같은 파일들로 분해됩니다. 핵심 코드는 dex 파일입니다. dex 파일을 smali 파일로 디코딩하는 방법은 apktool 디코딩 도구를 사용하는 방법이 있습니다. 위와 같이 툴을 사용하면 dex 파일이 smali 코드로 디코딩됩니다. 원래 d.. 2021. 7. 24.
안드로이드 내부/외부 저장소 이번 글에서는 녹스 내부/외부 저장소에 대해서 알아보겠습니다. 안드로이드는 리눅스 커널을 사용하므로 리눅스와 명령어도 거의 동일하고 유사합니다. 따라서 PC에서 리눅스를 사용하듯이 안드로이드도 쉘을 이용해 쉽게 조작할 수 있습니다. 안드로이드 데이터 저장 방식은 다음과 같습니다. 안드로이드에 설치된 모든 응용 프로그램은 설치 시에 자신의 고유한 사용자 ID를 할당받아 해당 ID를 사용하게 되고 일반 사용자 권한으로 실행됩니다. 따라서 모든 응용 프로그램은 샌드박스 형식으로 서로에 대해 접근할 권한이 없습니다. 요약하면 응용 프로그램들은 각자 허용된 구역에서만 동작합니다. 아래의 쉘 화면을 보면 nox의 /data/data 디렉토리에 접근하면 각각 고유한 사용자 ID와 같이 응용 프로그램들이 각자의 폴더에.. 2021. 7. 24.
미래 IoT시대 보안 안녕하세요 이번 글에서는 IoT 시대 보안의 앞으로의 추이 대해서 알아보겠습니다. 현재 4차 산업혁명이 진행중이고 IoT 시대가 곧 올 것입니다. IoT는 사물인터넷으로 가전제품들에 인터넷이 내장되어있는 형태입니다. IoT 시대가 오게 되면 모바일은 더욱 더 중요해집니다. 그 이유는 사물인터넷을 조작할때 모바일로 하는 것이 가장 쉽고 간편할 것으로 예상되기 때문입니다. 하지만 모바일로 할 수 있는 것들이 많아짐에 따라 보안적인 부분도 중요해지고 있습니다. 첫번째로 사물인터넷 자체에 취약점이 있는 경우입니다. 예를 들어서 집 보일러가 인터넷으로 동작하는 경우 상대방이 보일러 온도를 조작할 수 있다면 심각한 취약점으로 동작할 수 있습니다. 자율주행 자동차도 마찬가지로 사람의 목숨이 달려있기 때문에 보안이 더.. 2021. 7. 24.