Skip to content

Chapter 0

Disclaimer : There is no such chapter in the actual Practical Malware Analysis book.

  • In the midst of working with a few malware samples, I realised that some of them have similar code structure, functions and imports despite difference in hash.
  • The purpose of this chapter is to prevent double work for malware analysis.
  • Whilst I understand the reason for using the same malware (lesson objectives) I am using the malware in this book as samples to practice on, build an analysis workflow and gain confidence hence the need to not do double work.
  • This will also has the added benefit of teaching how to identify variants of the same malware or when polymorphism techniques are used.

SSDEEP

  • A quick and dirty method employed here will be to use this tool SSDEEP which is a fuzzy hashing tool.
  • While there are other techniques used like ImpHash and section hash, SSDEEP is the only tool known to me that can do it at scale and automatically.
ssdeep -d -r -c ./Folder_with_malware

Results

File A File B Similarities (%)
/Chapter_15L/Lab15-01.exe /Chapter_7L/Lab07-02.exe 36
/Chapter_15L/Lab15-03.exe /Chapter_15L/Lab15-01.exe 24
/Chapter_15L/Lab15-02.exe /Chapter_15L/Lab15-01.exe 32
/Chapter_15L/Lab15-02.exe /Chapter_15L/Lab15-03.exe 29
/Chapter_1L/Lab01-01.dll /Chapter_7L/Lab07-03.dll 100
/Chapter_1L/Lab01-01.exe /Chapter_7L/Lab07-03.exe 100
/Chapter_18L/Lab18-02.exe /Chapter_1L/Lab01-03.exe 100
/Chapter_5L/Lab05-01.dll /Chapter_17L/Lab17-02.dll 93
/Chapter_12L/Lab12-02.exe /Chapter_17L/Lab17-03.exe 60
/Chapter_12L/Lab12-04.exe /Chapter_1L/Lab01-04.exe 99
/Chapter_3L/Lab03-03.exe /Chapter_17L/Lab17-03.exe 60
/Chapter_3L/Lab03-03.exe /Chapter_12L/Lab12-02.exe 100
/Chapter_3L/Lab03-04.exe /Chapter_9L/Lab09-01.exe 100