Security ★ Development/안드로이드 모바일 보안(35)
-
안드로이드 해킹대회 어플 문제 4
문제 http://codeengn.com/challenges/smartapp/04 서명을 하고 설치를 하면 키를 입력하는 에디트 부분이 나오고 확인 버튼이 있습니다.androlyze로 확인해보면 zFindKey와 MainActivity가 보입니다. zFindKey 부분은 지금 별 쓸모가 없는 것 같습니다. MainActivity를 보면 버튼에대한 클릭 메소드가 없습니다. 특별히 암호화된 문자열도 보이지 않습니다. 잘못된 입력을 쳤을 때 Wrong!! try~ 문자열을 보여주는데 이 문자열도 찾을 수 없습니다.strings 명령어로 classes.dex 파일을 살펴봅니다. 리눅스의 strings는 파일에 사용된 문자열을 보여줍니다.그럼 긴 문자열 2개가 보입니다. @0c9e...과 6a4989... 그 위..
2014.11.03 -
안드로이드 해킹대회 어플 문제 3
문제 : http://codeengn.com/challenges/smartapp/02 그냥 설치하려고하면 역시 안됩니다. zip파일로 만들어서 압축을 풀면 파일명은 정상인데 META-INF 폴더가 없습니다. 서명을 한 후 설치하면 FindKey :) 라는 화면만 보입니다. dex2jar, jd-gui로 디컴파일을 해보려고해도 확인이 안됩니다. androlyze를 이용합니다.볼만한게 MainActivity밖에 없습니다. keyString 메소드를 보면 또 긴 문자열이 Decrypt된다는걸 쉽게 알 수 있고 이는 onCreate에서 호출되고 있습니다.날짜와 볼륨이 맞을 때 실행하라고 되어있는데... 날짜는 맞을리가 없고 Volume메소드를 보면 return 33;이라고 되어있습니다.smali수정으로 고쳐줍니..
2014.10.30 -
smali 로그 코드 추가
* 틀린 내용이 있을 시 지적 부탁드립니다. 자바 코드로 디버깅 시 활용할 수 있는 로그를 작성할 때는 Log.v()메소드를 활용합니다. smali 코드를 수정하여 저 메소드를 추가할 때는 추가하고 싶은 부분에invoket-static {v1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I를 추가하면 됩니다. 마지막은 영대문자 i입니다. v1,과 v0는 변수로 const-string v1, "aaaa"const-string v0, "10.26"invoke-static {v1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I과 같이 사용하면 됩니다.
2014.10.29 -
안드로이드 해킹대회 어플 문제 2
* 틀린 내용이 있을 시 지적 부탁드립니다. 문제 : http://codeengn.com/challenges/smartapp/03 그냥 설치하려고하면 역시 안됩니다. zip파일로 만들어서 압축을 풀면 파일명들은 제대로 되어있지만 서명이 되어있지 않습니다. 서명을 해주고 설치하면 남은계단과 버튼이 하나 있습니다. 버튼을 눌러 계단을 모두 올라가면 키 값을 확인할 수 있습니다.... 소스를 살펴봅니다.androlyze를 이용합니다.a, d, dx=AnalyzeAPK('./apk/SmartAppL03.apk', decompiler="dad")* androlyze 버전이 낮아 decompiler 예약어가 안되는 분들은 are에서 androguard, androlyze를 업데이트 하는 것 보다 다른 리눅스에 새로..
2014.10.27 -
안드로이드 해킹대회 어플 문제 1
* 틀린 내용이 있을 시 지적 부탁드립니다. http://codeengn.com/challenges/smartapp/01이걸 풀어보겠습니다. 파일을 다운받아 설치하려고하면 설치가 안됩니다. dex2jar로 jar를 만들어 jd-gui로 소스를 보려고했으나 jd-gui가 jar를 열지 못합니다.apk를 zip파일로 바꾸어 압축을 풀어줍니다. 이름이 비정상적인 파일이 3가지 있습니다. AndroidManlfests.xml class.dex resource.arsc또한 어플리케이션을 서명한 후 생기는 META-INF 폴더가 없습니다. 파일명들을 수정하고 서명을 해줍니다.서명을 하기위해서 signapk.jar를 이용할건데 개인 키로 서명된 인증서가 필요합니다. openssl을 이용하여 인증서를 생성하기위해 우분..
2014.10.14 -
안드로이드 진단 도구
* 틀린 내용이 있을 시 지적 부탁드립니다. 안드로이드 진단에 유용한 도구를 잠깐 살펴보겠습니다. 1. Drozer 프레임워크Drozer는 안드로이드 디바이스 시스템에 접근해 어플을 점검할 수 있는 모바일 진단 프레임워크입니다. https://www.mwrinfosecurity.com/products/drozer/community-edition/window installer를 받아 setup파일로 윈도우pc에 설치해주고 apk파일은 폰에 설치합니다.adb를 이용해 port를 맞춰줍니다. pc의 tcp 상태를 보면 drozer는 31415 포트에서 실해오디고 있습니다.adb forward tcp:31415 tcp:31415drozer실행은 다음 명령어로 합니다.drozer.bat console connec..
2014.10.05