Malwarehouse is a warehouse for your malware. Malwarehouse is a useful command line utility for storing, tagging, storing, and searching for malware. This is intended to help analyst manage their workflow by conducting basic triage and making it easy to look up past samples.
- Python 3.9+
Install dependencies using pip:
pip install -r requirements.txt- SQLAlchemy - Database ORM
- python-magic - File type identification (requires libmagic)
- ppdeep - Fuzzy hashing
- requests - HTTP library for API integrations
- yara-python (optional) - YARA rule matching
For initial DB setup, run python setup_db.py
Using sqlalchecmy, Malwarehouse can now support a wider variety of database engines.
- You simply need to create the database and a user account with sufficient read/write privileges.
- Once created, setup the database section of the malwarehouse.cfg file accordingly.
- EXAMPLE: postgresql://USER:PASSWORD@SERVER/DB
For more information, refer to http://docs.sqlalchemy.org/en/rel_0_8/core/engines.html#database-urls
Malwarehouse now uses Google Fire for a more intuitive CLI interface. Commands are simple method calls:
# Display help
python malwarehouse.py --help
# Display the 5 most recent samples (default)
python malwarehouse.py recent
# Display the 10 most recent samples
python malwarehouse.py recent 10
# Find a sample by name, md5, or sha256
python malwarehouse.py find <hash_or_name>
# Load a new sample for analysis
python malwarehouse.py load <file_path>
# Load a sample with metadata
python malwarehouse.py load <file_path> --source="malware_bazaar" --notes="Suspicious dropper" --tags="trojan,dropper"
# Delete a sample (not yet implemented)
python malwarehouse.py delete <hash_or_name># Load a sample from a file
python malwarehouse.py load /path/to/malware.exe
# Load with additional context
python malwarehouse.py load /path/to/malware.exe --source="email_attachment" --notes="Phishing campaign 2024-01" --tags="phishing,ransomware"
# Find a specific sample
python malwarehouse.py find d41d8cd98f00b204e9800998ecf8427e
# View recent 20 samples
python malwarehouse.py recent 20Malwarehouse now allows you to seamlessly integrate your own plugins to automagically run during analysis. For now, please see the virus total plugin for reference.
See LICENSE for more information
- Jonathan Hencinski
- Chris St.Myers
- @Xen0ph0n