brunch

You can make anything
by writing

C.S.Lewis

by 복지CEO 조정원 Jan 23. 2018

(모바일 앱 모의해킹) SUPER를 이용한 취약점 진단

보안프로젝트 매거진

※ 주의사항

아래 공격 코드는 연구 목적으로 작성된 것이며, 허가 받지 않은 공간에서는 테스트를 절대 금지합니다.

악의 적인 목적으로 이용할 시 발생할 수 있는 법적 책임은 자신한테 있습니다. 이는 해당 글을 열람할 때 동의하였다는 것을 의미합니다.

해당 문서의 저작권은 해당 저자들에게 모두 있습니다. 다른 목적으로 사용할 시 법적 조치가 가해질 수 있습니다.


https://github.com/SUPERAndroidAnalyzer/super


SUPER 오픈 소스 도구는 안드로이드 앱(apk) 파일의 취약점을 자동으로 분석 및 결과를 출력한다. 윈도우, MAC OS, 리눅스에서 모두 사용할 수 있는 콘솔 기반 진단 도구이다. 아래 다운로드 페이지에서 환경에 맞게 다운로드 받은 후에 압축 해제 후 바로 사용할 수 있다.

http://superanalyzer.rocks/download.html


안드로이드 앱을 자동으로 분석할 수 이쓴 MobSF, Qark, Androbugs 등의 도구들도 있지만, 환경에 따라 소스 코드 레벨로 빠르게 분석하기 원한다면 SUPER 도구도 충분히 활용성이 높다고 생각한다. 압축 해제하면 rules.json파일 내에 분석할 항목의 분석 규칙이 정의되어 있다. 후에 추가하거나 수정하면 분석할 때 즉시 반영된다.

 

rules.json 파일 내 루팅 체크 분석 파트

그림 2 7은 기본적인 옵션을 이용하여 인시큐어뱅크 앱을 분석한 결과이다. 분석 과정에서 볼 수 있듯이 앱을 자바 파일까지 디컴파일 한 후에 소스코드 레벨로 분석을 하게 된다.

 

콘솔 기반 결과 확인



C:\Users\home\Desktop\super>super.exe InsecureBankv2.apk


Starting analysis of [3mInsecureBankv2[0m.

Application decompressed.

Jar file generated.

Application decompiled.

Results struct created.

[1;33mWarning: [0m[33mSeems that the package in the AndroidManifest.xml is no

t the same as the application ID provided. Provided application id: InsecureBank

v2, manifest package: com.android.insecurebankv2[0m

If you need more information, try to run the program again with the [1m-v[0m f

lag.

Manifest analyzed.

Source code analyzed.


HTML report generated.



분석이 완료되면 HTML 페이지로 결과 출력이 되며 브라우저로 열어 확인하면, 취약점 요약과 취약점 상세 정보를 확인할 수 있다.

 

HTML 결과 확인


아래 그림들은 도출된 취약점을 나열한 것이며, 루팅 체크, 불필요한 권한 부여, 로그 출력 관리 미흡 등의 취약점을 설명한다.

 

루팅 확인 문자열 확인

 

시스템 명령어 문자열 확인(루팅 체크)

 

외부 저장소(External Storage) 저장 문자열 확인

 

로그캣 정보 출력 설정 미흡


불필요한 권한 확인




매거진의 이전글 (IT보안무료강의) OWASP-ZAP 규칙 추가 적용
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari