awesome-malware-analysis/README.md

621 lines
30 KiB
Markdown
Raw Normal View History

# Awesome Malware Analysis
2015-08-05 17:17:51 -06:00
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
A curated list of awesome malware analysis tools and resources. Inspired by
[awesome-python](https://github.com/vinta/awesome-python) and
[awesome-php](https://github.com/ziadoz/awesome-php).
- [Awesome Malware Analysis](#awesome-malware-analysis)
- [Malware Collection](#malware-collection)
- [Anonymizers](#anonymizers)
- [Honeypots](#honeypots)
- [Malware Corpora](#malware-corpora)
2015-05-09 12:35:06 -06:00
- [Open Source Threat Intelligence](#open-source-threat-intelligence)
- [Tools](#tools)
- [Other Resources](#other-resources)
- [Detection and Classification](#detection-and-classification)
2015-05-08 22:35:17 -06:00
- [Online Scanners and Sandboxes](#online-scanners-and-sandboxes)
- [Domain Analysis](#domain-analysis)
2015-05-09 11:19:48 -06:00
- [Browser Malware](#browser-malware)
2015-05-09 09:25:59 -06:00
- [Documents and Shellcode](#documents-and-shellcode)
2015-05-09 10:05:04 -06:00
- [File Carving](#file-carving)
- [Deobfuscation](#deobfuscation)
2015-05-09 10:41:13 -06:00
- [Debugging and Reverse Engineering](#debugging-and-reverse-engineering)
2015-05-09 10:05:04 -06:00
- [Network](#network)
2015-05-08 22:41:41 -06:00
- [Memory Forensics](#memory-forensics)
2015-05-09 16:30:52 -06:00
- [Windows Artifacts](#windows-artifacts)
- [Storage and Workflow](#storage-and-workflow)
2015-05-08 22:31:31 -06:00
- [Miscellaneous](#miscellaneous)
- [Resources](#resources)
- [Books](#books)
- [Twitter](#twitter)
2015-05-08 21:51:11 -06:00
- [Other](#other)
- [Related Awesome Lists](#related-awesome-lists)
- [Contributing](#contributing)
2015-05-14 20:01:44 -06:00
- [Thanks](#thanks)
---
## Malware Collection
### Anonymizers
*Web traffic anonymizers for analysts.*
2015-05-08 22:23:12 -06:00
* [Anonymouse.org](http://anonymouse.org/) - A free, web based anonymizer.
* [OpenVPN](https://openvpn.net/) - VPN software and hosting solutions.
* [Privoxy](http://www.privoxy.org/) - An open source proxy server with some
privacy features.
* [Tor](https://www.torproject.org/) - The Onion Router, for browsing the web
without leaving traces of the client IP.
2015-05-08 21:51:11 -06:00
### Honeypots
2015-05-08 22:24:53 -06:00
*Trap and collect your own samples.*
2015-11-13 20:37:29 -07:00
* [Conpot](https://github.com/mushorg/conpot) - ICS/SCADA honeypot.
2016-01-20 17:34:18 -07:00
* [Cowrie](https://github.com/micheloosterhof/cowrie) - SSH honeypot, based
on Kippo.
2015-05-09 10:15:29 -06:00
* [Dionaea](http://dionaea.carnivore.it/) - Honeypot designed to trap
malware.
2015-05-09 10:07:52 -06:00
* [Glastopf](http://glastopf.org/) - Web application honeypot.
2015-12-29 02:58:43 -07:00
* [Honeyd](http://www.honeyd.org/) - Create a virtual honeynet.
* [HoneyDrive](http://bruteforce.gr/honeydrive) - Honeypot bundle Linux distro.
2015-05-09 15:57:21 -06:00
* [Mnemosyne](https://github.com/johnnykv/mnemosyne) - A normalizer for
honeypot data; supports Dionaea.
2015-05-09 10:06:09 -06:00
* [Thug](https://github.com/buffer/thug) - Low interaction honeyclient, for
investigating malicious websites.
2015-05-08 21:51:11 -06:00
### Malware Corpora
2015-05-08 22:24:53 -06:00
*Malware samples collected for analysis.*
2015-05-09 09:17:07 -06:00
* [Clean MX](http://support.clean-mx.de/clean-mx/viruses.php) - Realtime
database of malware and malicious domains.
2015-05-08 21:51:11 -06:00
* [Contagio](http://contagiodump.blogspot.com/) - A collection of recent
malware samples and analyses.
* [Exploit Database](https://www.exploit-db.com/) - Exploit and shellcode
samples.
2015-09-22 09:41:10 -06:00
* [Malshare](http://malshare.com) - Large repository of malware actively
scrapped from malicious sites.
2015-05-09 15:59:14 -06:00
* [maltrieve](https://github.com/krmaxwell/maltrieve) - Retrieve malware
samples directly from a number of online sources.
2015-09-22 09:41:56 -06:00
* [MalwareDB](http://malwaredb.malekal.com/) - Malware samples repository.
2015-09-22 09:41:10 -06:00
* [theZoo](https://github.com/ytisf/theZoo) - Live malware samples for
analysts.
* [ViruSign](http://www.virusign.com/) - Malware database that detected by
many anti malware programs except ClamAV.
* [VirusShare](http://virusshare.com/) - Malware repository, registration
2015-05-09 09:17:07 -06:00
* [Zeltser's Sources](https://zeltser.com/malware-sample-sources/) - A list
of malware sample sources put together by Lenny Zeltser.
2015-05-15 07:31:44 -06:00
* [Zeus Source Code](https://github.com/Visgean/Zeus) - Source for the Zeus
trojan leaked in 2011.
2015-09-22 09:40:19 -06:00
required.
2015-05-08 21:51:11 -06:00
2015-05-09 12:35:06 -06:00
## Open Source Threat Intelligence
### Tools
*Harvest and analyze IOCs.*
2015-05-17 13:25:47 -06:00
* [Combine](https://github.com/mlsecproject/combine) - Tool to gather Threat
Intelligence indicators from publicly available sources.
* [IntelMQ](https://www.enisa.europa.eu/activities/cert/support/incident-handling-automation) -
A tool for CERTs for processing incident data using a message queue.
2015-12-29 03:00:59 -07:00
* [IOC Editor](https://www.fireeye.com/services/freeware/ioc-editor.html) -
A free editor for XML IOC files.
* [ioc_writer](https://github.com/mandiant/ioc_writer) - Python library for
working with OpenIOC objects, from Mandiant.
* [Massive Octo Spice](https://github.com/csirtgadgets/massive-octo-spice) -
Previously known as CIF (Collective Intelligence Framework). Aggregates IOCs
from various lists. Curated by the [CSIRT Gadgets Foundation](http://csirtgadgets.org/collective-intelligence-framework).
2015-05-18 08:30:45 -06:00
* [MISP](https://github.com/MISP/MISP) - Malware Information Sharing
2015-05-20 02:40:16 -06:00
Platform curated by [The MISP Project](http://www.misp-project.org/).
2015-09-22 09:34:43 -06:00
* [PassiveTotal](https://www.passivetotal.org/) - Research, connect, tag and
share IPs and domains.
2015-12-29 03:17:15 -07:00
* [PyIOCe](https://github.com/pidydx/PyIOCe) - A Python OpenIOC editor.
* [threataggregator](https://github.com/jpsenior/threataggregator) -
Aggregates security threats from a number of sources, including some of
those listed below in [other resources](#other-resources).
2015-08-07 21:33:00 -06:00
* [ThreatCrowd](https://www.threatcrowd.org/) - A search engine for threats,
with graphical visualization.
2015-11-04 01:55:43 -07:00
* [ThreatTracker](https://github.com/jiachongzhi/ThreatTracker) - A Python
script to monitor and generate alerts based on IOCs indexed by a set of
Google Custom Search Engines.
2015-05-17 13:25:47 -06:00
* [TIQ-test](https://github.com/mlsecproject/tiq-test) - Data visualization
2015-05-14 20:21:35 -06:00
and statistical analysis of Threat Intelligence feeds.
### Other Resources
2015-05-09 12:35:06 -06:00
*Threat intelligence and IOC resources.*
2015-12-28 05:16:56 -07:00
* [Autoshun](http://autoshun.org/) ([list](http://autoshun.org/files/shunlist.csv)) -
Snort plugin and blocklist.
2015-12-29 02:56:08 -07:00
* [CI Army](http://cinsscore.com/) ([list](http://cinsscore.com/list/ci-badguys.txt)) -
2015-05-09 13:53:55 -06:00
Network security blocklists.
* [Critical Stack- Free Intel Market](https://intel.CriticalStack.com) - Free
intel aggregator with deduplication featuring 90+ feeds and over 1.2M indicators.
* [CRDF ThreatCenter](http://threatcenter.crdf.fr/) - List of new threats detected
by CRDF anti-malware.
2015-05-15 09:30:26 -06:00
* [FireEye IOCs](https://github.com/fireeye/iocs) - Indicators of Compromise
shared publicly by FireEye.
2015-05-09 13:49:07 -06:00
* [hpfeeds](https://github.com/rep/hpfeeds) - Honeypot feed protocol.
2015-05-09 13:09:30 -06:00
* [Internet Storm Center (DShield)](https://isc.sans.edu/) - Diary and
searchable incident database, with a web [API](https://dshield.org/api/)
([unofficial Python library](https://github.com/rshipp/python-dshield)).
* [malc0de](http://malc0de.com/database/) - Searchable incident database.
* [Malware Domain List](http://www.malwaredomainlist.com/) - Search and share
malicious URLs.
2015-05-09 12:35:06 -06:00
* [OpenIOC](http://openioc.org/) - Framework for sharing threat intelligence.
* [Palevo Blocklists](https://palevotracker.abuse.ch/blocklists.php) - Botnet
C&C blocklists.
* [PREDICT](https://predict.org/default.aspx?cs_Category=2) - Protected
Repository for the Defense of Infrastructure Against Cyber Threats (PREDICT)
can quickly and easily provide qualified developers and evaluators with
regularly updated network operations data they can use in their cyber security
research.
* [Proofpoint Threat Intelligence (formerly Emerging Threats)](https://www.proofpoint.com/us/threat-intelligence-overview) -
Rulesets and more.
* [STIX - Structured Threat Information eXpression](http://stixproject.github.io) -
2015-09-22 09:11:56 -06:00
Standardized language to represent and share cyber threat information.
Related efforts from [MITRE](http://www.mitre.org/):
2015-09-22 09:11:56 -06:00
- [CAPEC - Common Attack Pattern Enumeration and Classification](http://capec.mitre.org/)
- [CybOX - Cyber Observables eXpression](http://cyboxproject.github.io)
2015-09-22 09:11:56 -06:00
- [MAEC - Malware Attribute Enumeration and Characterization](http://maec.mitre.org/)
- [TAXII - Trusted Automated eXchange of Indicator Information](http://taxiiproject.github.io)
2015-09-22 09:30:15 -06:00
* [threatRECON](https://threatrecon.co/) - Search for indicators, up to 1000
free per month.
2015-09-22 09:12:37 -06:00
* [Yara rules](https://github.com/Yara-Rules/rules) - Yara rules repository.
* [ZeuS Tracker](https://zeustracker.abuse.ch/blocklist.php) - ZeuS
blocklists.
2015-05-09 12:35:06 -06:00
## Detection and Classification
*Antivirus and other malware identification tools*
2015-05-09 09:36:04 -06:00
* [AnalyzePE](https://github.com/hiddenillusion/AnalyzePE) - Wrapper for a
variety of tools for reporting on Windows PE files.
2015-05-09 11:35:33 -06:00
* [chkrootkit](http://www.chkrootkit.org/) - Local Linux rootkit detection.
2015-11-13 20:37:29 -07:00
* [ClamAV](http://www.clamav.net/) - Open source antivirus engine.
2015-05-09 10:38:12 -06:00
* [ExifTool](http://www.sno.phy.queensu.ca/~phil/exiftool/) - Read, write and
edit file metadata.
2015-05-09 11:11:57 -06:00
* [hashdeep](https://github.com/jessek/hashdeep) - Compute digest hashes with
a variety of algorithms.
2015-09-22 09:46:17 -06:00
* [Loki](https://github.com/Neo23x0/Loki) - Host based scanner for IOCs.
2015-10-02 10:28:37 -06:00
* [Malfunction](https://github.com/Dynetics/Malfunction) - Catalog and
compare malware at a function level.
2015-05-15 13:55:38 -06:00
* [MASTIFF](https://github.com/KoreLogicSecurity/mastiff) - Static analysis
framework.
2015-09-22 07:48:14 -06:00
* [MultiScanner](https://github.com/MITRECND/multiscanner) - Modular file
2015-05-20 12:35:54 -06:00
scanning/analysis framework
2015-05-09 11:14:18 -06:00
* [nsrllookup](https://github.com/rjhansen/nsrllookup) - A tool for looking
up hashes in NIST's National Software Reference Library database.
2015-05-09 10:48:29 -06:00
* [packerid](http://handlers.sans.org/jclausing/packerid.py) - A cross-platform
Python alternative to PEiD.
2015-05-09 12:01:36 -06:00
* [PEiD](http://woodmann.com/BobSoft/Pages/Programs/PEiD) - Packer identifier
for Windows binaries.
2015-05-17 13:00:43 -06:00
* [PEV](http://pev.sourceforge.net/) - A multiplatform toolkit to work with PE
files, providing feature-rich tools for proper analysis of suspicious binaries.
2015-05-09 11:35:33 -06:00
* [Rootkit Hunter](http://rkhunter.sourceforge.net/) - Detect Linux rootkits.
2015-05-09 11:11:57 -06:00
* [ssdeep](http://ssdeep.sourceforge.net/) - Compute fuzzy hashes.
2015-05-09 11:23:18 -06:00
* [totalhash.py](https://gist.github.com/malc0de/10270150) - Python script
for easy searching of the [TotalHash.com](https://totalhash.cymru.com/) database.
2015-05-09 10:38:12 -06:00
* [TrID](http://mark0.net/soft-trid-e.html) - File identifier.
* [YARA](https://plusvic.github.io/yara/) - Pattern matching tool for
analysts.
* [Yara rules generator](https://github.com/Neo23x0/yarGen) - Generate
yara rules based on a set of malware samples. Also contains a good
strings DB to avoid false positives.
2015-05-08 22:35:17 -06:00
## Online Scanners and Sandboxes
2015-05-09 10:29:41 -06:00
*Web-based multi-AV scanners, and malware sandboxes for automated analysis.*
2015-10-12 23:23:16 -06:00
* [AndroTotal](https://andrototal.org/) - free online analysis of APKs
against multiple mobile antivirus apps.
* [Anubis](https://anubis.iseclab.org/) - Malware Analysis for Unknown Binaries
and Site Check.
2015-05-18 08:47:05 -06:00
* [AVCaesar](https://avcaesar.malware.lu/) - Malware.lu online scanner and
malware repository.
2015-09-22 09:25:30 -06:00
* [Cryptam](http://www.cryptam.com/) - Analyze suspicious office documents.
2016-01-14 11:20:59 -07:00
* [Cuckoo Sandbox](https://cuckoosandbox.org/) - Open source, self hosted
sandbox and automated analysis system.
* [cuckoo-modified](https://github.com/brad-accuvant/cuckoo-modified) - Modified
version of Cuckoo Sandbox released under the GPL. Not merged upstream due to
legal concerns by the author.
2015-11-13 22:13:24 -07:00
* [DeepViz](https://www.deepviz.com/) - Multi-format file analyzer with
machine-learning classification.
2015-05-15 13:51:46 -06:00
* [DRAKVUF](https://github.com/tklengyel/drakvuf) - Dynamic malware analysis
system.
* [Hybrid Analysis](https://www.hybrid-analysis.com/) - Online malware
analysis tool, powered by VxSandbox.
2015-09-22 09:38:56 -06:00
* [IRMA](http://irma.quarkslab.com/) - An asynchronous and customizable
analysis platform for suspicious files.
2015-11-13 20:37:29 -07:00
* [Jotti](https://virusscan.jotti.org/en) - Free online multi-AV scanner.
2015-05-15 14:16:58 -06:00
* [Malheur](https://github.com/rieck/malheur) - Automatic sandboxed analysis
of malware behavior.
2015-05-15 13:50:47 -06:00
* [Malwr](https://malwr.com/) - Free analysis with an online Cuckoo Sandbox
instance.
2015-05-15 13:55:38 -06:00
* [MASTIFF Online](https://mastiff-online.korelogic.com/) - Online static
analysis of malware.
2015-11-13 20:37:29 -07:00
* [Metascan Online](https://live.metascan-online.com/) - Free file scanning
with multiple antivirus engines.
2015-05-15 13:57:58 -06:00
* [Noriben](https://github.com/Rurik/Noriben) - Uses Sysinternals Procmon to
collect information about malware in a sandboxed environment.
2015-09-22 09:27:27 -06:00
* [PDF Examiner](http://www.pdfexaminer.com/) - Analyse suspicious PDF files.
2015-05-09 16:46:02 -06:00
* [Recomposer](https://github.com/secretsquirrel/recomposer) - A helper
script for safely uploading binaries to sandbox sites.
* [SEE](https://github.com/F-Secure/see) - Sandboxed Execution Environment (SEE)
2016-01-09 04:43:10 -07:00
is a framework for building test automation in secured Environments.
2015-05-08 22:35:53 -06:00
* [VirusTotal](https://www.virustotal.com/) - Free online analysis of malware
samples and URLs
* [Zeltser's List](https://zeltser.com/automated-malware-analysis/) - Free
automated sandboxes and services, compiled by Lenny Zeltser.
2015-05-08 22:35:17 -06:00
2015-05-09 09:26:12 -06:00
## Domain Analysis
*Inspect domains and IP addresses.*
* [Desenmascara.me](http://desenmascara.me) - One click tool to retrieve as
much metadata as possible for a website and to assess its good standing.
2015-05-09 09:26:12 -06:00
* [Dig](http://networking.ringofsaturn.com/) - Free online dig and other
network tools.
2015-05-09 09:36:04 -06:00
* [IPinfo](https://github.com/hiddenillusion/IPinfo) - Gather information
about an IP or domain by searching online resources.
2015-12-28 05:29:40 -07:00
* [MaltegoVT](https://github.com/jiachongzhi/MaltegoVT) - Maltego
transform for the VirusTotal API. Allows domain/IP research, and searching
for file hashes and scan reports.
2015-09-22 09:15:03 -06:00
* [SenderBase](http://www.senderbase.org/) - Search for IP, domain or network
owner.
2015-09-22 09:22:46 -06:00
* [SpamCop](https://www.spamcop.net/bl.shtml) - IP based spam block list.
* [SpamHaus](http://www.spamhaus.org/lookup/) - Block list based on
domains and IPs.
* [Sucuri SiteCheck](https://sitecheck.sucuri.net/) - Free Website Malware
and Security Scanner.
2015-05-09 11:17:09 -06:00
* [TekDefense Automator](http://www.tekdefense.com/automater/) - OSINT tool
for gatherig information about URLs, IPs, or hashes.
2015-11-04 01:58:57 -07:00
* [URLQuery](https://urlquery.net/) - Free URL Scanner.
2015-05-09 09:26:12 -06:00
* [Whois](http://whois.domaintools.com/) - DomainTools free online whois
search.
* [Zeltser's List](https://zeltser.com/lookup-malicious-websites/) - Free
online tools for researching malicious websites, compiled by Lenny Zeltser.
2015-11-04 01:58:57 -07:00
* [ZScalar Zulu](http://zulu.zscaler.com/#) - Zulu URL Risk Analyzer.
2015-05-09 09:26:12 -06:00
2015-05-09 11:19:48 -06:00
## Browser Malware
2015-05-09 11:20:38 -06:00
*Analyze malicious URLs. See also the [domain analysis](#domain-analysis) and
[documents and shellcode](#documents-and-shellcode) sections.*
2015-05-09 11:19:48 -06:00
2015-05-09 11:59:46 -06:00
* [Firebug](http://getfirebug.com/) - Firefox extension for web development.
2015-05-09 11:44:40 -06:00
* [Java Decompiler](http://jd.benow.ca/) - Decompile and inspect Java apps.
* [Java IDX Parser](https://github.com/Rurik/Java_IDX_Parser/) - Parses Java
IDX cache files.
* [JSDetox](http://www.relentless-coding.com/projects/jsdetox/) - JavaScript
malware analysis tool.
2015-11-13 20:37:29 -07:00
* [jsunpack-n](https://github.com/urule99/jsunpack-n) - A javascript
unpacker that emulates browser functionality.
2015-05-09 11:44:40 -06:00
* [Malzilla](http://malzilla.sourceforge.net/) - Analyze malicious web pages.
2015-05-09 11:41:24 -06:00
* [RABCDAsm](https://github.com/CyberShadow/RABCDAsm) - A "Robust
ActionScript Bytecode Disassembler."
2015-05-09 11:39:46 -06:00
* [swftools](http://www.swftools.org/) - Tools for working with Adobe Flash
files.
* [xxxswf](http://hooked-on-mnemonics.blogspot.com/2011/12/xxxswfpy.html) - A
Python script for analyzing Flash files.
## Documents and Shellcode
*Analyze malicious JS and shellcode from PDFs and Office documents. See also
the [browser malware](#browser-malware) section.*
2015-05-09 10:29:41 -06:00
2015-05-09 09:36:04 -06:00
* [AnalyzePDF](https://github.com/hiddenillusion/AnalyzePDF) - A tool for
analyzing PDFs and attempting to determine whether they are malicious.
* [diStorm](http://www.ragestorm.net/distorm/) - Disassembler for analyzing
malicious shellcode.
2015-05-09 10:34:53 -06:00
* [JS Beautifier](http://jsbeautifier.org/) - JavaScript unpacking and deobfuscation.
2015-12-28 05:32:38 -07:00
* [JS Deobfuscator](http://www.kahusecurity.com/2015/new-javascript-deobfuscator-tool/) -
Deobfuscate simple Javascript that use eval or document.write to conceal
its code.
* [libemu](http://libemu.carnivore.it/) - Library and tools for x86 shellcode
emulation.
2015-05-09 09:52:49 -06:00
* [malpdfobj](https://github.com/9b/malpdfobj) - Deconstruct malicious PDFs
into a JSON representation.
* [OfficeMalScanner](http://www.reconstructer.org/code.html) - Scan for
malicious traces in MS Office documents.
2015-05-09 15:03:32 -06:00
* [olevba](http://www.decalage.info/python/olevba) - A script for parsing OLE
and OpenXML documents and extracting useful information.
2015-05-09 09:57:05 -06:00
* [Origami PDF](https://code.google.com/p/origami-pdf/) - A tool for
analyzing malicious PDFs, and more.
2015-05-09 09:46:37 -06:00
* [PDF Tools](http://blog.didierstevens.com/programs/pdf-tools/) - pdfid,
pdf-parser, and more from Didier Stevens.
2015-05-09 09:57:26 -06:00
* [PDF X-Ray Lite](https://github.com/9b/pdfxray_lite) - A PDF analysis tool,
2015-05-09 09:52:49 -06:00
the backend-free version of PDF X-RAY.
2015-05-09 09:58:39 -06:00
* [peepdf](http://eternal-todo.com/tools/peepdf-pdf-analysis-tool) - Python
tool for exploring possibly malicious PDFs.
* [Spidermonkey](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey) -
Mozilla's JavaScript engine, for debugging malicious JS.
## File Carving
*For extracting files from inside disk and memory images.*
* [bulk_extractor](https://github.com/simsong/bulk_extractor) - Fast file
carving tool.
* [EVTXtract](https://github.com/williballenthin/EVTXtract) - Carve Windows
Event Log files from raw binary data.
* [Foremost](http://foremost.sourceforge.net/) - File carving tool designed
by the US Air Force.
* [Hachoir](https://bitbucket.org/haypo/hachoir) - A collection of Python
libraries for dealing with binary files.
* [Scalpel](https://github.com/sleuthkit/scalpel) - Another data carving
tool.
2015-05-09 11:07:39 -06:00
## Deobfuscation
*Reverse XOR and other code obfuscation methods.*
2015-05-09 11:07:39 -06:00
* [Balbuzard](https://bitbucket.org/decalage/balbuzard/wiki/Home) - A malware
analysis tool for reversing obfuscation (XOR, ROL, etc) and more.
2015-09-22 10:07:01 -06:00
* [de4dot](https://github.com/0xd4d/de4dot) - .NET deobfuscator and
unpacker.
2015-05-14 19:53:06 -06:00
* [ex_pe_xor](http://hooked-on-mnemonics.blogspot.com/2014/04/expexorpy.html)
& [iheartxor](http://hooked-on-mnemonics.blogspot.com/p/iheartxor.html) -
Two tools from Alexander Hanel for working with single-byte XOR encoded
files.
* [NoMoreXOR](https://github.com/hiddenillusion/NoMoreXOR) - Guess a 256 byte
XOR key using frequency analysis.
2015-11-04 02:02:54 -07:00
* [PackerAttacker](https://github.com/BromiumLabs/PackerAttacker) - A generic
hidden code extractor for Windows malware.
2015-05-14 19:47:34 -06:00
* [unxor](https://github.com/tomchop/unxor/) - Guess XOR keys using
known-plaintext attacks.
2015-11-04 01:54:07 -07:00
* [VirtualDeobfuscator](https://github.com/jnraber/VirtualDeobfuscator) -
Reverse engineering tool for virtualization wrappers.
2015-05-14 19:54:50 -06:00
* [XORBruteForcer](http://eternal-todo.com/var/scripts/xorbruteforcer) -
A Python script for brute forcing single-byte XOR keys.
2015-05-14 19:53:06 -06:00
* [XORSearch & XORStrings](http://blog.didierstevens.com/programs/xorsearch/) -
A couple programs from Didier Stevens for finding XORed data.
2015-05-14 19:46:08 -06:00
* [xortool](https://github.com/hellman/xortool) - Guess XOR key length, as
well as the key itself.
2015-05-09 10:41:13 -06:00
## Debugging and Reverse Engineering
2015-05-09 10:48:55 -06:00
*Disassemblers, debuggers, and other static and dynamic analysis tools.*
2015-11-04 01:47:37 -07:00
* [angr](https://github.com/angr/angr) - Platform-agnostic binary analysis
framework developed at UCSB's Seclab.
2015-11-04 01:48:58 -07:00
* [BARF](https://github.com/programa-stic/barf-project) - Multiplatform, open
source Binary Analysis and Reverse engineering Framework.
2015-11-04 01:42:57 -07:00
* [binnavi](https://github.com/google/binnavi) - Binary analysis IDE for
reverse engineering based on graph visualization.
2016-01-20 08:08:48 -07:00
* [Bokken](http://www.bokken.re/) - GUI for Pyew and Radare.
2015-11-04 01:50:31 -07:00
* [Capstone](https://github.com/aquynh/capstone) - Disassembly framework for
binary analysis and reversing, with support for many architectures and
bindings in several languages.
2015-11-04 01:46:31 -07:00
* [codebro](https://github.com/hugsy/codebro) - Web based code browser using
clang to provide basic code analysis.
2015-09-22 10:07:01 -06:00
* [dnSpy](https://github.com/0xd4d/dnSpy) - .NET assembly editor, decompiler
and debugger.
2015-05-09 10:57:48 -06:00
* [Evan's Debugger (EDB)](http://codef00.com/projects#debugger) - A
modular debugger with a Qt GUI.
* [GDB](http://www.sourceware.org/gdb/) - The GNU debugger.
2015-11-04 01:51:38 -07:00
* [GEF](https://github.com/hugsy/gef) - GDB Enhanced Features, for exploiters
and reverse engineers.
2015-09-22 10:02:36 -06:00
* [hackers-grep](https://github.com/codypierce/hackers-grep) - A utility to
search for strings in PE executables including imports, exports, and debug
2015-09-22 10:13:12 -06:00
symbols.
2015-05-09 10:48:55 -06:00
* [IDA Pro](https://www.hex-rays.com/products/ida/index.shtml) - Windows
disassembler and debugger, with a free evaluation version.
2015-05-09 13:48:03 -06:00
* [Immunity Debugger](http://debugger.immunityinc.com/) - Debugger for
malware analysis and more, with a Python API.
2015-05-09 10:57:48 -06:00
* [ltrace](http://ltrace.org/) - Dynamic analysis for Linux executables.
2015-05-09 10:51:23 -06:00
* [objdump](https://en.wikipedia.org/wiki/Objdump) - Part of GNU binutils,
for static analysis of Linux binaries.
2015-05-09 10:57:48 -06:00
* [OllyDbg](http://www.ollydbg.de/) - An assembly-level debugger for Windows
executables.
2016-01-09 04:35:02 -07:00
* [PANDA](https://github.com/moyix/panda) - Platform for Architecture-Neutral Dynamic Analysis
2015-11-04 01:53:00 -07:00
* [PEDA](https://github.com/longld/peda) - Python Exploit Development
Assistance for GDB, an enhanced display with added commands.
2015-05-18 10:20:28 -06:00
* [pestudio](https://winitor.com/) - Perform static analysis of Windows
executables.
2015-05-09 14:04:20 -06:00
* [Process Monitor](https://technet.microsoft.com/en-us/sysinternals/bb896645.aspx) -
Advanced monitoring tool for Windows programs.
2015-05-09 10:48:55 -06:00
* [Pyew](https://github.com/joxeankoret/pyew) - Python tool for malware
analysis.
2015-05-09 10:41:13 -06:00
* [Radare2](http://www.radare.org/r/) - Reverse engineering framework, with
debugger support.
2015-11-04 01:45:14 -07:00
* [SMRT](https://github.com/pidydx/SMRT) - Sublime Malware Research Tool, a
plugin for Sublime 3 to aid with malware analyis.
2015-11-13 20:37:29 -07:00
* [strace](http://sourceforge.net/projects/strace/) - Dynamic analysis for
2015-09-22 09:44:27 -06:00
Linux executables.
2015-05-09 10:51:23 -06:00
* [Udis86](https://github.com/vmt/udis86) - Disassembler library and tool
for x86 and x86_64.
2015-05-15 13:32:32 -06:00
* [Vivisect](https://github.com/vivisect/vivisect) - Python tool for
2015-05-09 10:57:48 -06:00
malware analysis.
2015-10-08 17:20:31 -06:00
* [X64dbg](https://github.com/x64dbg/) - An open-source x64/x32 debugger for windows.
2015-05-09 10:41:13 -06:00
2015-05-09 11:07:39 -06:00
## Network
*Analyze network interactions.*
2015-05-15 14:05:16 -06:00
* [Bro](https://www.bro.org) - Protocol analyzer that operates at incredible
scale; both file and network protocols.
2015-11-04 02:00:56 -07:00
* [BroYara](https://github.com/hempnall/broyara) - Use Yara rules from Bro.
2015-08-07 21:29:40 -06:00
* [CapTipper](https://github.com/omriher/CapTipper) - Malicious HTTP traffic
explorer.
2015-05-17 14:06:29 -06:00
* [chopshop](https://github.com/MITRECND/chopshop) - Protocol analysis and
decoding framework.
2015-05-15 09:23:29 -06:00
* [Fiddler](http://www.telerik.com/fiddler) - Intercepting web proxy designed
for "web debugging."
2015-05-15 09:21:53 -06:00
* [Hale](https://github.com/pjlantz/Hale) - Botnet C&C monitor.
2015-05-09 12:20:31 -06:00
* [INetSim](http://www.inetsim.org/) - Network service emulation, useful when
building a malware lab.
2015-05-09 15:50:03 -06:00
* [Malcom](https://github.com/tomchop/malcom) - Malware Communications
Analyzer.
* [Maltrail](https://github.com/stamparm/maltrail) - A malicious traffic
detection system, utilizing publicly available (black)lists containing
malicious and/or generally suspicious trails and featuring an reporting
and analysis interface.
2015-05-09 12:20:31 -06:00
* [mitmproxy](https://mitmproxy.org/) - Intercept network traffic on the fly.
* [Moloch](https://github.com/aol/moloch) - IPv4 traffic capturing, indexing
and database system.
2015-05-09 12:20:31 -06:00
* [NetworkMiner](http://www.netresec.com/?page=NetworkMiner) - Network
forensic analysis tool, with a free version.
* [ngrep](http://ngrep.sourceforge.net/) - Search through network traffic
like grep.
2016-01-07 00:41:01 -07:00
* [PcapViz](https://github.com/mateuszk87/PcapViz) - Network topology and traffic visualizer.
2015-05-09 12:20:31 -06:00
* [Tcpdump](http://www.tcpdump.org/) - Collect network traffic.
* [tcpick](http://tcpick.sourceforge.net/) - Trach and reassemble TCP streams
from network traffic.
* [tcpxtract](http://tcpxtract.sourceforge.net/) - Extract files from network
traffic.
* [Wireshark](https://www.wireshark.org/) - The network traffic analysis
tool.
2015-05-08 22:41:41 -06:00
## Memory Forensics
*Tools for dissecting malware in memory images or running systems.*
2015-05-09 15:51:31 -06:00
* [DAMM](https://github.com/504ensicsLabs/DAMM) - Differential Analysis of
Malware in Memory, built on Volatility
2015-11-13 20:37:29 -07:00
* [FindAES](http://jessekornblum.livejournal.com/269749.html) - Find AES
2015-05-08 22:41:41 -06:00
encryption keys in memory.
2015-05-09 15:53:25 -06:00
* [Muninn](https://github.com/ytisf/muninn) - A script to automate portions
of analysis using Volatility, and create a readable report.
2015-05-08 22:41:41 -06:00
* [Rekall](http://www.rekall-forensic.com/) - Memory analysis framework,
forked from Volatility in 2013.
* [TotalRecall](https://github.com/sketchymoose/TotalRecall) - Script based
on Volatility for automating various malware analysis tasks.
2015-05-18 10:19:02 -06:00
* [VolDiff](https://github.com/aim4r/VolDiff) - Run Volatility on memory
images before and after malware execution, and report changes.
2015-05-08 22:41:41 -06:00
* [Volatility](https://github.com/volatilityfoundation/volatility) - Advanced
memory forensics framework.
2015-05-08 22:42:55 -06:00
* [WinDbg](https://msdn.microsoft.com/en-us/windows/hardware/hh852365) - Live
memory inspection and kernel debugging for Windows systems.
2015-05-08 22:41:41 -06:00
2015-05-09 16:30:52 -06:00
## Windows Artifacts
2015-09-22 10:04:13 -06:00
* [AChoir](https://github.com/OMENScan/AChoir) - A live incident response
script for gathering Windows artifacts.
* [python-evt](https://github.com/williballenthin/python-evt) - Python
library for parsing Windows Event Logs.
* [python-registry](http://www.williballenthin.com/registry/) - Python
library for parsing registry files.
* [RegRipper](http://brettshavers.cc/index.php/brettsblog/tags/tag/regripper/)
2015-05-09 16:30:52 -06:00
([GitHub](https://github.com/keydet89/RegRipper2.8)) -
Plugin-based registry analysis tool.
## Storage and Workflow
2015-05-17 13:00:43 -06:00
* [Aleph](https://github.com/trendmicro/aleph) - OpenSource Malware Analysis
Pipeline System.
2015-05-17 14:08:50 -06:00
* [CRITs](https://crits.github.io/) - Collaborative Research Into Threats, a
malware and threat repository.
* [Malwarehouse](https://github.com/sroberts/malwarehouse) - Store, tag, and
search malware.
2015-05-09 16:02:53 -06:00
* [Viper](http://viper.li/) - A binary management and analysis framework for
analysts and researchers.
2015-05-08 22:31:31 -06:00
## Miscellaneous
2015-05-17 13:25:23 -06:00
* [DC3-MWCP](https://github.com/Defense-Cyber-Crime-Center/DC3-MWCP) -
The Defense Cyber Crime Center's Malware Configuration Parser framework.
2015-09-22 10:10:22 -06:00
* [Pafish](https://github.com/a0rtega/pafish) - Paranoid Fish, a demonstration
tool that employs several techniques to detect sandboxes and analysis
environments in the same way as malware families do.
2015-05-08 22:31:31 -06:00
* [REMnux](https://remnux.org/) - Linux distribution and docker images for
malware reverse engineering and analysis.
2015-05-15 14:20:11 -06:00
* [Santoku Linux](https://santoku-linux.com/) - Linux distribution for mobile
forensics, malware analysis, and security.
2015-05-08 22:31:31 -06:00
2015-05-08 21:51:11 -06:00
# Resources
## Books
2015-05-09 10:29:41 -06:00
*Essential malware analysis reading material.*
2015-05-09 10:25:31 -06:00
* [Malware Analyst's Cookbook and DVD](https://amzn.com/dp/0470613033) -
Tools and Techniques for Fighting Malicious Code.
* [Practical Malware Analysis](https://amzn.com/dp/1593272901) - The Hands-On Guide
to Dissecting Malicious Software.
* [The Art of Memory Forensics](https://amzn.com/dp/1118825098) - Detecting
Malware and Threats in Windows, Linux, and Mac Memory.
* [The IDA Pro Book](https://amzn.com/dp/1593272898) - The Unofficial Guide
to the World's Most Popular Disassembler.
2015-05-08 21:51:11 -06:00
## Twitter
2015-05-09 16:13:49 -06:00
*Some relevant Twitter accounts.*
2015-05-18 11:59:18 -06:00
* Adamb [@Hexacorn](https://twitter.com/Hexacorn)
2015-05-09 16:11:27 -06:00
* Andrew Case [@attrc](https://twitter.com/attrc)
* Claudio [@botherder](https://twitter.com/botherder)
2015-05-15 14:05:16 -06:00
* Dustin Webber [@mephux](https://twitter.com/mephux)
* Glenn [@hiddenillusion](https://twitter.com/hiddenillusion)
2015-05-09 16:11:27 -06:00
* jekil [@jekil](https://twitter.com/jekil)
* Jurriaan Bremer [@skier_t](https://twitter.com/skier_t)
2015-05-09 16:20:41 -06:00
* Lenny Zeltser [@lennyzeltser](https://twitter.com/lennyzeltser)
* Liam Randall [@hectaman](https://twitter.com/hectaman)
2015-05-09 16:11:27 -06:00
* Mark Schloesser [@repmovsb](https://twitter.com/repmovsb)
* Michael Ligh (MHL) [@iMHLv2](https://twitter.com/iMHLv2)
2015-09-22 10:57:17 -06:00
* Open Malware [@OpenMalware](https://twitter.com/OpenMalware)
2015-05-15 14:05:16 -06:00
* Richard Bejtlich [@taosecurity](https://twitter.com/taosecurity)
2015-05-09 16:15:26 -06:00
* Volatility [@volatility](https://twitter.com/volatility)
2015-05-09 16:11:27 -06:00
2015-05-08 21:51:11 -06:00
## Other
2015-10-02 10:25:51 -06:00
* [APT Notes](https://github.com/kbandla/APTnotes) - A collection of papers
and notes related to Advanced Persistent Threats.
2015-05-09 10:15:29 -06:00
* [Honeynet Project](http://honeynet.org/) - Honeypot tools, papers, and
other resources.
2015-05-09 09:17:07 -06:00
* [Malicious Software](https://zeltser.com/malicious-software/) - Malware
blog and resources by Lenny Zeltser.
2015-11-13 20:37:29 -07:00
* [Malware Analysis Search](https://cse.google.com/cse/home?cx=011750002002865445766%3Apc60zx1rliu) -
Custom Google search engine from [Corey Harrell](journeyintoir.blogspot.com/).
2016-01-22 07:26:02 -07:00
* [Malware Analysis Tutorials](http://fumalwareanalysis.blogspot.nl/p/malware-analysis-tutorials-reverse.html) - The Malware
Analysis Tutorials by Dr. Xiang Fu are a great resource for learning practical malware analysis.
* [Malware Samples and Traffic](http://malware-traffic-analysis.net/) - This
blog focuses on network traffic related to malware infections.
* [RPISEC Malware Analysis](https://github.com/RPISEC/Malware) - These are the
course materials used in the Malware Analysis course at at Rensselaer Polytechnic
Institute during Fall 2015.
2015-05-09 16:30:52 -06:00
* [WindowsIR: Malware](http://windowsir.blogspot.com/p/malware.html) - Harlan
Carvey's page on Malware.
2015-09-22 10:35:43 -06:00
* [/r/csirt_tools](https://www.reddit.com/r/csirt_tools/) - Subreddit for CSIRT
tools and resources, with a
[malware analysis](https://www.reddit.com/r/csirt_tools/search?q=flair%3A%22Malware%20analysis%22&sort=new&restrict_sr=on) flair.
2015-05-09 09:17:07 -06:00
* [/r/Malware](https://www.reddit.com/r/Malware) - The malware subreddit.
* [/r/ReverseEngineering](https://www.reddit.com/r/ReverseEngineering) -
Reverse engineering subreddit, not limited to just malware.
2016-01-22 07:26:02 -07:00
2015-05-09 09:17:07 -06:00
2015-05-08 21:51:11 -06:00
# Related Awesome Lists
* [Android Security](https://github.com/ashishb/android-security-awesome)
2015-10-01 08:14:43 -06:00
* [AppSec](https://github.com/paragonie/awesome-appsec)
2015-08-07 21:52:40 -06:00
* [CTFs](https://github.com/apsdehal/awesome-ctf)
* ["Hacking"](https://github.com/carpedm20/awesome-hacking)
2015-08-07 21:23:32 -06:00
* [Honeypots](https://github.com/paralax/awesome-honeypots)
2015-09-25 12:44:44 -06:00
* [Infosec](https://github.com/onlurking/awesome-infosec)
* [PCAP Tools](https://github.com/caesar0301/awesome-pcaptools)
2015-05-08 21:51:11 -06:00
* [Pentesting](https://github.com/enaqx/awesome-pentest)
* [Security](https://github.com/sbilly/awesome-security)
# [Contributing](CONTRIBUTING.md)
Pull requests and issues with suggestions are welcome!
2015-05-14 20:01:44 -06:00
# Thanks
This list was made possible by:
* Lenny Zeltser and other contributors for developing REMnux, where I
found many of the tools in this list;
* Michail Hale Ligh, Steven Adair, Blake Hartstein, and Mather Richard for
writing the *Malware Analyst's Cookbook*, which was a big inspiration for
creating the list;
* And everyone else who has sent pull requests or suggested links to add here!
Thanks!