
Android 악성코드에서 "활용 가능한" 데이터(C&C, 전화번호 등)를 추출하는 간단한 프레임워크
Android 멀웨어에서 "실행 가능한" 데이터(C&C, 전화번호 등)를 추출하는 간단한 프레임워크입니다.
이 프로젝트를 사용하기 전에 다음 패키지를 설치해야 합니다:
git clone https://github.com/androguard/androguard; cd androguard; sudo python setup.py install)easy_install pycrypto)easy_install pyelftools)easy_install yara)아이디어는 정말 간단하고 모듈식입니다. 이 프로젝트에는 정적 분석 또는 출력 처리를 위한 장소를 제공하는 몇 개의 디렉터리가 있습니다:
plugins - 멀웨어 식별 및 데이터 추출을 담당하는 코드가 있는 곳입니다. 모든 클래스는 templates의 Plugin 클래스를 상속해야 합니다.recon 메서드는 멀웨어를 식별합니다. 데이터를 추출할 수 있는지 확인하는 데 필요한 모든 코드를 여기에 넣으세요.extract 메서드는 일반적인 추출을 수행합니다. 추출된 데이터에 대한 특정 형식은 없지만, 출력 프로세서가 균일한 방식으로 읽을 수 있도록 Python 딕셔너리로 유지하는 것이 좋습니다.processing - OutputProcessor 클래스를 상속하는 클래스를 넣는 곳입니다. 데이터 추출 후 호출되어 추출된 정보를 전달받습니다.process 메서드는 데이터를 가져와 어떤 종류의 결과를 생성합니다(예: 파일이나 C&C를 데이터베이스에 추가, C&C가 활성 상태인지 확인 등).기여하고 싶다면 새로운 멀웨어 군을 디코딩하는 플러그인을 작성하세요. 쉽습니다. 기존 플러그인만 살펴보면 됩니다.
APK 샘플이 있는데 그것이 무엇인지, C&C가 어디에 있는지 모르겠다면 다음과 같이 입력하세요:
python maldrolyzer.py [sample_path]
maldrolyzer가 멀웨어 군을 알고 있다면 다음과 같은 유용한 정보를 표시합니다:
{'c2': ['http://esaphapss.net/bn/save_message.php'],
'malware': 'xbot007',
'md5': 'ce17e4b04536deac4672b98fbee905e0',
'sha1': 'a48a2b8a5e1cae168ea42bd271f5b5a0c65f59a9',
'sha256': 'c3a24d1df11baf2614d7b934afba897ce282f961e2988ac7fa85e270e3b3ea7d',
'sha512': 'a47f3db765bff9a8d794031632a3cf98bffb3e833f90639b18be7e4642845da2ee106a8947338b9244f50b918a32f1a6a952bb18a1f86f8c176e81c2cb4862b9'}
그리고 http://amtrckr.info를 사용하여 여러 멀웨어 군의 C&C를 추적할 수 있습니다.