Maldroid: Simple Framework To Extract Actionable Data From Android Malware (C&Cs, phone numbers etc.) .
Simple framework to extract "actionable" data from Android malware (C&Cs, phone numbers etc.)
You have to install the following packets before you start using this project:
PyCrypto (easy_install pycrypto)
pyelftools (easy_install pyelftools)
yara (easy_install yara)
Idea is really simple and modular. The project has couple of directories, which host a place for you static analysis or output processing:
plugins - this is were the code responsible for the malware identification and data extraction is. Every class has to inherit from Plugin class from templates.
Method recon identifies the malware - put there all of the code you need to make sure you can extract the data. Method extract does the usual extraction. There is no specific format for the extracted data, but it's good to keep it in Python dictionary, so that the output processors could read it in a uniform way.
processing - this is were you put classes that inherit from Output Processor class. They are invoked after the data extraction and get the extracted info.
process method takes the data and produces some kind of a result (i.e. adds a file or C&C to you database, checks if the C&C is live etc.)
If you want to contribute, write a plugin that decodes some new malware family. It's easy, just look at the existing plugins.
So, you have an APK sample and you don't know what it is and where is the C&C? Type:
python maldrolyzer.py [sample_path]
If maldrolyzer knows the malware family it will display some useful information like: