sherlocked - Transforma cualquier script en un ejecutable ELF protegido, cifrado con anti-debugging
Básicamente Sherlocked toma el script, lo cifra y lo guarda como un fichero ejecutable ELF x86_64 junto con código anti-debugging (inicialmente stripea de la tabla de símbolos y comprime con UPX) .
En runtime dicho ejecutable descifra el script y temporalmente lo escribe en un fichero aleatorio en /tmp. Luego pasa el script y argumentos en línea de comandos al interprete para que se lance y finalmente borra el script.
El único "pero" si utilizamos un fichero con contraseña (opción -r) es que no soporta argumentos en cmdline, aunque se podría implementar.
Y ya que estamos, para mejorarlo también se podría usar un cifrado de stream real como SALSA20 en lugar del simple XOR y, para los molestos AV, modificar el stub con gen_shellcode.c para convertir el ./stub compilado a un fichero stub_shellcode.h.
Compilar:
make
Uso:
./sherlocked [-r]
Opciones:
<infile> <-> The script file
<outfile> <-> The protected output file
<key> <-> The key string used to encrypt the script
[-r] <-> Require the user who runs the protected executable supplies the key for it to run I.E ./script.elf <key>
Ejemplo de uso protegiendo un script en Python:
ryan@elfmaster:~/git/sherlocked$ ./script.py
hello I am a python script
ryan@elfmaster:~/git/sherlocked$ ./sherlocked script.py script.elf p4ssw0rd /usr/bin/python -r
[+] The user who executes script.elf must supply password: p4ssw0rd
[+] Encoding payload data
[+] Encoding payload struct
[+] Building msg program
[+] utils/stripx exists, so using it to strip section headers off of DRM archive
[+] /usr/bin/upx exists, so using it to compress script.elf
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2013
UPX 3.91 Markus Oberhumer, Laszlo Molnar & John Reiser Sep 30th 2013
File size Ratio Format Name
-------------------- ------ ----------- -----------
5003224 -> 324236 6.48% linux/ElfAMD script.elf
Packed 1 file.
Successfully created script.elf
ryan@elfmaster:~/git/sherlocked$ ./script.elf
This message requires that you supply a key to decrypt
ryan@elfmaster:~/git/sherlocked$ ./script.elf p4ssw0rd
hello I am a python script
ryan@elfmaster:~/git/sherlocked$
Github: https://github.com/elfmaster/sherlocked
No os perdáis: http://www.bitlackeys.org/
Via: www.hackplayers.com
sherlocked - Transforma cualquier script en un ejecutable ELF protegido, cifrado con anti-debugging
Reviewed by Zion3R
on
19:46
Rating: