티스토리 뷰

[정적분석]


정적 분석을 진행 하겠습니다.


문자 메시지로 청첩장이 왔길래 바로 뜯어봤습니다.


청첩장 폴더를 평상시처럼 풀고 열어보니일반 안드로이드 파일이 보이네요.


classes.dex 파일을 jar 파일로 변형 하겠습니다. 그래야 자바 소스를 확인할 수 있기 때문입니다.

[dex2jar classes.dex]


classes_dex2jar 파일이 생성되었습니다.


Java Decompiler로 열어본 결과 4개의 패키지가 보입니다. 대량소스가 있을 불안한 기분이 드네요.


원본 apk파일을 apktool로 smali 코드로 확인할 수 있도록 풀어보겠습니다.


apktool d [청 첩 장.apk] 을 이용해서 해당 apk파일을 풀어줍니다.


smali코드로 풀어진 폴더가 하나 생성되었습니다.


apktool로 푼 폴더안에 아까 위 Java_Decompiler에서 다른 이름으로 소스를 전체 저장합니다. 확장자가 .src로 저장이 됩니다.


.src로 저장이된 폴더를 들어가보면 class 들이 있는 것을 볼 수가 있습니다. 다른 폴더에 class들이 엄청 많습니다..


AndroidManifest.xml 파일을 들여다 보겠습니다. <uses-permission> 태그가 권한을 설정하는 건데, 여기서 보이는 권한들은 솔직히 많아봤자 가운데 있는 INTERNET 권한이 없으면 쓸모가 없게됩니다. INTERNET 권한을 요청한 것을 보면 인터넷을 이용해서 악성행위를 할 것으로 예상합니다. 물론, 다른 권한들도 사용 용도가 있겠지만, INTERNET 권한없이 이 목록의 권한만 요청이 되있다? 그러면 별로 취약하지 않은 앱입니다.


<activity> 태그에서 android:name을 보시면 실행할 클래스의 이름을 볼 수가 있습니다. 이처럼 AndroidManifest.xml은 앱의 중요한 정보들이 있기 때문에 유심히 보는 것을 권장합니다.


꼭 필요한 폴더 res(리소스, 이미지),  src(class),  AndroidManifest.xml을 제외하고 삭제합니다. 이렇게 만들어 둬야 Eclipse에서 파일을 Import하고 소스를 볼 때 깔끔하게 나옵니다.


Eclipse에서 Import로 불러오겠습니다.


불러들인 모습입니다. MainActt라는 프로젝트 네임으로 패키지들이 쫙 나열되있네요. 물론, 패키지 안에는 클래스들이 무수히 많겠죠? 


이 앱의 service 부분입니다. 뒤에서도 보실텐데 백그라운드로 서비스를 실행하는 것을 볼 수가 있습니다. 제거하지 않는 이상 서비스가 계속 돌아갑니다.


보아하니, 이름, 계좌, 계좌 비밀번호, 보안카드 번호 등 이 resources 파일을 참조해서 불러와 입력을 하게끔 하는 코드를 예상해 볼 수가 있습니다.


string 값을 둘러본 결과 보안강화를 핑계대면서 패스워드를 유도하고 있네요.


보안 카드번호를 완벽히 알아내기 위해서 사진 촬영을 통해 전송하는 문자열도 있습니다.


개인 신상정보, 계좌번호, 비밀번호 등 입력 폼


보안카드 번호 모든 숫자 입력 폼


발급자, 발급일, 만료일 등 입력 폼


ARS전화승인 안내 폼


사진촬영 유도 폼


인증서 암호 폼


위와 같이 보안카드를 빠짐없이 다 입력하라고 했을 때 연세가 많으신 분들은 아무것도 모르고 다 입력하시고 사기를 당하시는 사례가 많은데, 정말 주의해야 할 것 같습니다.


[동적분석]


동적 분석을 진행 하겠습니다.


adb devices 명령으로 기기가 작동하고 있는지 확인합니다. '192.168.56.102:5555"로 동작하는 가상 앱입니다.


adb install 명령으로 청첩장의 apk 파일을 가상 앱에 설치합니다.


앱에 설치를 하고 버튼을 누르면 앱을 설치하기 전에 주의를 뜻하는 배너가 나옵니다. 

악성 앱 이름은 "Google App Play"로써 기존의 구글 앱스토어를 사칭했네요.


계속 설치를 누르면 밑의 사진과 같이 "Lock the screen"권한을 체크합니다. 하지만, 가상 환경에서는 Activate를 눌러도 설치가 되지 않고 바로 아이콘을 삭제합니다. 하지만 완전 삭제가 아닌, 바로가기만 삭제한 것으로 보입니다.


삭제가 된 줄 알고 Apps에 들어가보니 삭제는 커녕 그대로 있네요. 2.12MB 사이즈인 것을 확인 가능합니다. 소스가 많아서 그런지 2.12MB라는 거대 용량이 나오네요. 아이콘은 기존 구글 앱 스토어랑 똑같아서 낚일만 하네요.


동적 분석용 툴을 이용해서 프록시와 포트를 잡아서 지켜봤습니다. 근데, 'eruktfrhk.iego.net'의 URL이 다량 검출이 되는 것을 볼 수가 있습니다. "대상 컴퓨터에서 연결을 거부했으므로------ 127.0.0.1:80"를 볼 수가 있는데, 프록시를 해놔서 인터넷 연결이 안되기 때문에 아래의 문자를 출력한 것을 볼 수가 있습니다.


아래의 url로 GetMessage 부분을 계속 띄우고, 오류가 나는데 중요 정보를 가져오는 것으로 예상이 됩니다.


이 악성앱은 백그라운드로 서비스가 계속 돌고 있는 것을 확인 가능합니다.


Google App Play 악성 앱의 서비스로 "AutBann" 서비스 확인.


Google App Play 악성 앱의 서비스로 "Intee", "SMM" 서비스 확인.


Google App Play 악성 앱의 서비스로 "Hear" 서비스 확인.

프로세스로는 Google App Play의 com.a 패키지가 돌고 있습니다.




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함