
Modifie aléatoirement les fichiers PE Win32/64 pour un téléversement 'plus sûr' vers des sites de malwares et de sandbox.
Vous est-il déjà arrivé de ne pas vous sentir en sécurité en téléversant vos binaires malveillants sur VirusTotal ou d'autres sites antivirus parce qu'il est possible de rechercher des binaires par leurs empreintes ? (Exemple : https://github.com/mubix/vt-notify)
Vous vous sentirez un peu plus en sécurité avec Recomposer !*
Recomposer prendra votre binaire et effectuera aléatoirement les opérations suivantes :
Au fait, votre fichier continuera de s'exécuter, alors téléversez-le !*
Prend en charge les fichiers PE win32/64 !!
Deux modes :
Testé en créant 11200 échantillons à partir d'un seul binaire. Résultats :
./recomposer.py -f live.sysinternals.com/Tcpview.exe -a
Old file name: live.sysinternals.com/Tcpview.exe
New file name: zYmycO4NO2LYW.exe
[*] Checking if binary is supported
[*] Gathering file info
1 Section: .text | SectionFlags: 0x60000020
2 Section: .rdata | SectionFlags: 0x40000040
3 Section: .data | SectionFlags: 0xc0000040
4 Section: .rsrc | SectionFlags: 0x40000040
[*] Changing Section .text Name
[*] Changing Section .rdata Name
[*] Changing Section .data Flags
[*] Changing Section .data Name
[*] Changing Section .rsrc Name
Updated Binary:
updatedfile/zYmycO4NO2LYW.exe
[*] Checking if binary is supported
[*] Gathering file info
1 Section: .mhz | SectionFlags: 0x60000020
2 Section: .p1k | SectionFlags: 0x40000040
3 Section: .FSr0U | SectionFlags: 0xd0000443
4 Section: .q2X | SectionFlags: 0x40000040
Writing to log_recomposer.txt
Vous pourriez voir cet avertissement :
[!] Warning, .text section hash is not changed!
[!] No caves available for nop injection.
Ce qui signifie que l'empreinte de la section .text sera identique à celle du fichier d'origine et donc consultable (sur le web) une fois que Google aura indexé les résultats de VT (si vous téléversez le fichier bien sûr). Si cela se produit, un encodage UPX du fichier recomposé devrait résoudre ce problème (sauf si le fichier est déjà encodé en UPX).
Une fois Recomposer terminé, votre fichier se trouvera dans le répertoire updatedfile. N'hésitez pas à le téléverser vers votre service de bac à sable malware préféré !
Un simple éditeur PE :
./recomposer.py -f live.sysinternals.com/Tcpview.exe -m
[*] Checking if binary is supported
[*] Gathering file info
[?] What sections would you like to change:
1 Section: .text | SectionFlags: 0x60000020
2 Section: .rdata | SectionFlags: 0x40000040
3 Section: .data | SectionFlags: 0xc0000040
4 Section: .rsrc | SectionFlags: 0x40000040
Section number:1
[-] You picked the .text section.
[?] Would you like to (A) change the section name or (B) the section flags? b
[-] You picked: b
=========================
[*] Current attributes:
.text | 0x60000020
[-] IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_EXECUTE
[-] IMAGE_SCN_CNT_CODE
=========================
[*] Commands 'zero' out the flags, 'help', 'write', or ('exit', 'quit', 'q', 'done')
[*] Use 'write' to commit your changes or 'clear' to start over.
[?] Enter an attribute to add or type 'help' or 'exit':
[...]
Suivez simplement le menu et vos résultats se trouveront dans le répertoire updatedfile sous la forme change.filename.exe ou selon le nom de sortie que vous avez choisi avec l'option -o.
Si vous ne savez pas où sont vos fichiers, consultez log_recomposer.txt pour connaître l'emplacement et les empreintes des fichiers modifiés :
filename|filename_hash|changedfile|changedfile_hash
psinfo.exe|ae1554f2c1b1454a91c5610747603824|updatedfile/8dV5.exe|791ff4d4b2010accebc718afda58f83a
psexec.exe|d0df366711c8b296680002840336b6fd|updatedfile/udi6ieIVFi.exe|6fafa108d697a46a271a918436e60cd5
live.sysinternals.com/Tcpview.exe|9aa5a93712c584acdcaa7eef9d25ef4d|updatedfile/zYmycO4NO2LYW.exe|fd984b833443c457668a480a37cf9904
live.sysinternals.com/Tcpview.exe|9aa5a93712c584acdcaa7eef9d25ef4d|updatedfile/change.Tcpview.exe|c43eeec089a3e4f9e6fd0218a27ca4c2
*Recomposer n'empêche pas un malware de notifier son propriétaire que son binaire s'exécute en dehors de l'environnement attendu.**
**C'est-à-dire : votre environnement.***
***Mais si cela ne vous dérange pas, lancez-vous !***