miércoles, 24 de diciembre de 2014

Cuidado con lo que imprmís en tu lan! (siempre hay alguien espiando)



A modo de regalo de Navidad, hoy quiero contarles algo que llamó mi atención ayer en el trabajo (se termina el año y uno empieza a dispersarse). Estaba capturando tráfico para ver que comandos eran enviados a la impresora, con el fin de "codear" algo en python que me permita imprimir desde la consola (si si, esas cosas locas que se nos cruzan a veces por la cabeza. Cualquier cosa con tal de no trabajar jeje), y entonces me topé con algo interesante...era posible leer en texto plano un archivo word e incluso un mail! Quizás digan, es algo obvio, si ya lo sé, pero cuantos de ustedes se pusieron a pensar en algo así? Que tal si el texto a enviar contiene información sensible? Bueno, ya se imaginan la respuesta...

Nuestra compañera, Konica Minolta (AKA "Matilda")


Esta impresora (también fotocopiadora/scanner), permite que la configuremos asignándole una dirección de red con lo cual se ve como un host mas:


También nos permite asignarle un código de acceso para evitar que cualquier persona pueda sacar copias:



Este mismo código se debe ingresar en las propiedades de impresora para poder imprimir.

Una pequeña prueba

Lo primero que hice fué imprimir un documento en Word desde mi pc  y luego comencé a mirar el tráfico con Wireshark:


Ahí podemos ver una porción del texto enviado.

Una vez hecho esto quise ir mas lejos y probar interceptando el tráfico que enviaba otra pc a la impresora.

Que empiece la acción!

Para comenzar hice un Man In The Middle utilizando Cain , con el fin de capturar el tráfico entre la pc de un compañero y la impresora: 

Envenenamiento ARP con Cain
Esquema del ataque

Luego le pedí a mi compañero que imprima un documento en Word con la frase "Do not read please" y comencé a mirar el tráfico:

Texto plano capturado de un documento Word
Como podemos ver en la imagen el texto se lee perfectamente.

No tengo el código para imprimir :( , no importa, capturo el tráfico y listo! :)

Al realizar la captura incluso pude ver el código que se utiliza para poder imprimir:


Después le pedí que imprima un correo (a esta altura mi compañero ya se estaba enojando un poco) para ver que sucedía:


Podemos ver la cuenta de correo del remitente y del destinatario


Después, lo sorprendí un poco leyendo lo que había en el cuerpo del mail:


Conclusión

Con esto intento mostrar las posibilidades que tiene un atacante una vez obtenido el acceso a un equipo de la organización. Puede encontrar información sensible, usuarios de correos, aplicaciones que se utilizan y muchas cosas mas. Todo lo que se imprima corre riesgo de ser espiado.

A la hora de protegernos de estos ataques (y de otros), una buena práctica sería detectar ataques de Man In The Middle ---> http://mamaquieroserpentester.blogspot.com.ar/2014/11/man-in-middle-y-sus-consecuencias.html

Bueno, eso es todo por ahora, nos vemos en la próxima entrada.

Saludos, buena Navidad para todos y...


@PJL SET= Happy (Christmas) Hacking!

miércoles, 10 de diciembre de 2014

Google Hacking (Siempre se trata de saber como preguntar...)

Fase: Information Gathering
Herramienta: Google


"Google es como un oráculo: Nos dará las respuestas que queremos, si sabemos como preguntar"

Como a esta altura ya todos sabemos, los servicios de nuestro amigo Google pueden ser utilizados para un sin fin de actividades y, entre ellas, está la posibilidad de recolectar información que puede ser muy útil a la hora de realizar un Penetration Test. Pero, a veces, sucede que esa información jugosa no aparece de un primer vistazo (morimos ante la famosa INFOXICACIÓN), y se vuelve imperioso valerse de algún método para encontrar lo que buscamos...

Google Dorks

Son consultas especiales que podemos realizar en el buscador para obtener resultados específicos. Estas consultas se arman con una o mas palabras clave (operadores). Aquí un listado de algunas palabras con las acciones que realizan:

SITE: Nos permite definir el dominio específico en el cual queremos buscar información.

INURL: Busca todas las URL´s donde aparezca el parámetro que le pasemos.

FILETYPE: Busca un tipo de archivo acorde al parámetro pasado. En este caso, el parámetro a pasar será la extensión del archivo.

ALLINTEXT: Busca la cadena de texto que le pasemos dentro de una pagina web y
no dentro de una URL. (No se puede utilizar junto a otros)

ALLINTITLE: Busca una cadena de texto solo dentro del titulo de una web. (No se puede utilizar junto a otros)

LINK:Este operador se utiliza para buscar enlaces que apunten a un determinado sitio web. (No se puede utilizar junto a otros)

Teniendo en cuenta lo visto, supongamos que quiero saber si en un sitio web X hay archivos en formato PDF publicados (esto puede ser util dado que podemos buscar luego metadatos en el archivo). Entonces armo la consulta de la siguiente manera:

SITE:DOMINIOX.COM FILETYPE:PDF

Veamos un ejemplo:

Resultados obtenidos al aplicar los "dorks"

Los Google Dorks no solo nos sirven para buscar información, también podemos utilizarlos para identificar vulnerabilidades en sitios web. Por ejemplo con los siguientes dorks podemos buscar páginas vulnerables a SQL Injection:

allinurl:*.php?txtCodiInfo=
inurl:read.php?=
inurl:”ViewerFrame?Mode=”
inurl:index.php?id=
inurl:trainers.php?id=
inurl:buy.php?category=
inurl:article.php?ID=
inurl:play_old.php?id=
inurl:declaration_more.php?decl_id=
inurl:pageid=
inurl:games.php?id=
inurl:page.php?file=
inurl:newsDetail.php?id=
inurl:gallery.php?id=
inurl:article.php?id=
inurl:show.php?id=
inurl:staff_id=
inurl:newsitem.php?num=
inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:historialeer.php?num=
inurl:reagir.php?num=
inurl:Stray-Questions-View.php?num=
inurl:forum_bds.php?num=
inurl:game.php?id=
inurl:view_product.php?id=
inurl:newsone.php?id=
inurl:sw_comment.php?id=
inurl:news.php?id=
inurl:avd_start.php?avd=
inurl:event.php?id=
inurl:product-item.php?id=
inurl:sql.php?id=
inurl:news_view.php?id=
inurl:select_biblio.php?id=
inurl:humor.php?id=
inurl:aboutbook.php?id=
inurl:ogl_inet.php?ogl_id=
inurl:fiche_spectacle.php?id=
inurl:communique_detail.php?id=
inurl:sem.php3?id=
inurl:kategorie.php4?id=
inurl:news.php?id=
inurl:index.php?id=
inurl:faq2.php?id=
inurl:show_an.php?id=
inurl:preview.php?id=
inurl:loadpsb.php?id=
inurl:opinions.php?id=
inurl:spr.php?id=
inurl:pages.php?id=
ENLACES PARA DIVERTIRNOS UN RATO:

En la página de exploit database podemos encontrar la sección de Google Hacking donde podemos filtrar sobre que queremos obtener información y el sitio se encarga de ejecutar los dorks por nosotros.

http://www.exploit-db.com/google-dorks/


Luego nos muestra cual sería el dork correspondiente de acuerdo a nuestra consulta:


Por último, en este sitio tenemos un listado impresionante de dorks para jugar un buen rato:

http://www.starthacking.net/google-dorks/

Como pueden ver tenemos miles de combinaciones posibles para obtener buenos resultados, una vez más, todo depende de como preguntemos...

Saludos y..

HAPPY (GOOGLE) HACKING!

jueves, 4 de diciembre de 2014

MALWARE Y ANTIMALWARE (en UTN FRLP) - PARTE II

Hola otra vez. En esta entrada voy a continuar con el resumen de la charla mencionada en el título. 

Sigamos con Troyanos y Backdoors:






Como es el proceso de creación un Troyano?


 Teniendo en cuenta lo que nos dice el programa del CEH, un troyano consta de tres partes:

1)DROPPER: Es el fragmento de código que instala el código malicioso en el equipo víctima.

2)CÓDIGO MALICIOSO: El código que permite la conexión remota y que realiza las distintas actividades en el sistema victima.

3)APLICACIÓN GENUINA: Cualquier programa legítimo. (El tetris ese que usabas a los 8 años por ejemplo).

Estas tres partes forman un WRAPPER (El lindo regalito para la víctima)





Cuando el Troyano llega a la victima y esta lo ejecuta, el DROPPER se encarga de liberar su código:

Proceso de troyanización y ejecución en el equipo víctima

Tipos de Troyanos:

Troyanos, hay de todos los gustos y colores.

Vamos a ver algunos de ellos:

CMD SHELL TROJAN:

No hace falta aclarar demasiado. Son aquellos que se conectan a través de shells (Si si, usando el famoso netcat por ejemplo)

DOCUMENT TROJAN:

Código malicioso embebido en documentos Word.



DEFACEMENT TROJAN:

Trojanos que se ocultan en programas gráficos como por ejemplo la calculadora de Windows (Hola si, cuanto es 2 + 2, mmm... Un troyano!)


FTP TROJAN:

Se instala una aplicación legítima y por detrás (background) un servidor FTP en el equipo víctima, el cual permite la transferencia de archivos a la máquina del atacante.


E-BANKING TROJAN:

Como se puede ver en la imagen, estos troyanos son mucho mas complejos en cuanto a procesos, pero obviamente son mas redituables para los atacantes.

El atacante sube un anuncio malicioso a un servidor, esos anuncios son publicados en sitios legítimos. El usuario se conecta al sitio infectado y es redirigido a un kit de exploits que terminan tomando control de su equipo. Luego, el troyano reporta a un servidor de control y comandos que tiene un nuevo equipo en la red bot y comienza a transmitir toda la actividad del usuario hacia el. Después, el servidor enviará instrucciones a realizar si el usuario se conecta a su home banking, y bueno...ya sabemos el resto.


EJEMPLOS DE TROYANOS:


-------------------------------------------------------------------------------------------------------------
También se denomina backdoor al código instalado en un equipo, (una vez que un atacante obtuvo acceso a él) para obtener accesos posteriores de forma mas sencilla, es decir sin tener que volver a realizar el trabajo de explotación en el equipo victima.

Los backdoors mas conocidos sin lugar a dudas son BackOrifice y NetBus, de los cuales podemos informarnos aquí:

http://es.wikipedia.org/wiki/Back_Orifice
 
http://www.iss.net/security_center/reference/vuln/NetBus.htm




Eso es todo por ahora

Espero que sea de utilidad, gracias por pasar!

Saludos y...

HAPPY HACKING!!!!!!!!!!!!


jueves, 20 de noviembre de 2014

Man in The Middle, y sus consecuencias...

Hola, como estan? Hace rato que no agregaba nada, con tantas tareas me habia olvidado que tenia blog jeje.

Dentro de esas tareas esta comprendido un TP para un curso de Auditoría de Sistemas que me encuentro realizando, el cual me gustaría compartir con ustedes:

"Riesgos de la TI: Man In The Middle, ataques consecuencia de esta técnica y formas de detección"

Si, ya sé, un poco largo el título pero quería que sea abarcativo.

https://sites.google.com/site/mamaquieroserpentester/pdf

En la próxima entrada continuaré con lo que tengo pendiente, la parte II de Malware y Antimalware

Saludos y...

Happy Hacking!

miércoles, 22 de octubre de 2014

MALWARE Y ANTIMALWARE (en UTN FRLP) - PARTE I

Hola a todos, perdón por la ausencia antes que nada. En esta nueva entrada quiero dejarles un resumen de lo que hablamos junto a MARIANO QUINTANA y ARIEL PEREIRA en la clase de Seguridad en Sistemas de Información de la UTN FRLP.



La charla abarcó los siguientes temas:

- Malware (definición y tipos)
- Métodos de infección
- Malware en dispositivos móviles
- Como nos protegemos del malware?

En varias entradas voy a ir comentando un poco sobre cada tema. Aquí vamos..

QUE ES EL MALWARE?

"Todo software desarrollado con fines maliciosos"

Malware es el acrónimo de Malicious Software y abarca todo tipo de software que es concebido con algún fin malicioso.

sin lugar a dudas la industria del malware va creciendo exponencialmente:



Tipos de Malware:

VIRUS
GUSANOS
TROYANOS
BACKDOORS
SPYWARE
ADWARE
RANSOMWARE

Ahhh, entonces no se le llama VIRUS a todo lo que puede dañar mi equipo?

Efectivamente. 

Los virus son una porción de todo el universo malware.

Entonces.... que son los virus?


Los virus actuan como los virus biologicos, buscan un huesped (la pc del usuario que hace el click devastador), infectan (programas), se protegen (realizan acciones para no ser detectados por los antivirus) y se propagan.

Comportamientos extraños de nuestros equipos gracias a los virus

Dentro de los virus tenemos una clasificación de acuerdo a su comportamiento, describiremos algunos:

- SYSTEM BOOT SECTOR: Este tipo de virus se instala en el sector de booteo del sistema operativo, con lo cual la BIOS primero carga el virus y luego el SO. Hay casos en los que el virus no permite que se cargue el sistema.

- FILE AND MULTIPARTITE: Virus que se particiona en varios archivos de distinto formato para protegerse de los antivirus.

- MACROS: Virus que trabajan con las macros de Visual Basic.

- STEALTH/TUNNELING VIRUS: Virus que se camufla en algun virus conocido haciendo que el antivirus detecte a ese virus y no al original.

- POLIMORFICO: Los virus polimórficos tratan de evadir la detección cambiando su patrón de byte con cada infección, así que no existe una secuencia de bytes constante que un programa antivirus pueda buscar. Algunos virus polimórficos utilizan distintas técnicas de cifrado para cada infección.
 
- METAMÓRFICO: Un virus metamórfico es aquel que puede transformarse según su capacidad de traducir, editar y reescribir su propio código. Se le considera el virus informático más infeccioso y, si no se detecta rápidamente, puede producir graves daños en un sistema.

- SHELL: Virus que inserta su código antes del código de la aplicación, de modo que, cada vez que se ejecuta la aplicación primero corre el virus.


El virus Melissa causó desastres allá por los 90, generando perdidas de mas de 70 millones de dolares. El virus, utilizando macros de office, modificaba extensiones de los archivos y luego se enviaba a los primeros 50 contactos de outlook. Sencillo pero letal.

El virus ILoveYou llegaba a través de correo electrónico, en el asunto decía ILoveU y adjunto venia un archivo llamado LoveLetterForYou.TXT.VBS (archivo VBScript). Este archivo, al ser ejecutado primero buscaba  archivos de extensión JS, .JSE, .CSS, .WSH, .SCT y .HTA, y creaba otros con el mismo nombre y extensión. Tambien modificaba los archivos JPG, .JPEG, .MP3 y .MP2, los eliminaba, y creaba otros donde el nuevo nombre estaba formado por el nombre y la extensión anterior más VBS como nueva extensión real. Tambien se enviaba por correo a traves de Outlook pero a todos los contactos.



Stuxnet es un gusano informático que afecta a equipos con Windows, descubierto en junio de 2010 por VirusBlokAda, una empresa de seguridad radicada en Bielorrusia. Es el primer gusano conocido que espía y reprograma sistemas industriales, en concreto sistemas SCADA de control y monitorización de procesos, pudiendo afectar a infraestructuras críticas como centrales nucleares. 

Esto es todo por ahora, en la próxima entrada, TROYANOS y BACKDOORS.

Hasta la próxima!

Saludos y...



HAPPY HACKING!

miércoles, 17 de septiembre de 2014

Playing with HOSTS file and... Pharming!

FASE: POST-EXPLOTACIÓN
ATAQUE: PHARMING

Hoy vamos a ver una de las formas de realizar Pharming (definición de Pharming aquí: http://searchsecurity.techtarget.com/definition/pharming) en la fase post-explotación, es decir una vez que hemos obtenido acceso al sistema victima. Para realizar el Pharming modificaremos un archivo del Sistema Operativo que contiene DNSs asociados a direcciones IP: El archivo HOSTS.

EL ARCHIVO HOSTS

Es una de las formas que tiene el SO para resolver nombres de dominios. Antiguamente, cuando no habia servidores DNS que resuelvan el nombre de dominio, el SO se ayudaba con este archivo. Es un archivo en texto plano que puede ser modificado por el administrador del equipo. A continuación veremos la ubicación de este archivo en distintos SSOO:


Para este ejemplo utilizaré un Windows XP, el cual ya se encuentra comprometido (tengo una sesión abierta de meterpreter en Kali).

Aquí la imagen con la ruta del archivo hosts:


El archivo luce así:


Supongamos que el pharming queremos hacerlo para obtener users y pass de hotmail, entonces,
procedemos a descargar la página de www.hotmail.com y a retocarla un poco con PHP y CSS. En la imagen siguiente se puede ver como he insertado un formulario para tener control sobre lo que ingresa el usuario:

Agregamos un formulario con campos de user y pass para luego enviar esa información a nuestra BBDD.

Para el usuario se verá así:


 
Linda no?

Luego creamos un archivo "hosts" o simplemente lo descargamos del equipo víctima (recuerden que ya tenemos acceso al sistema) y agregamos la ip de nuestro servidor (en mi caso 192.168.1.43) y la asociamos al dominio "hotmail.com".


Lo guardamos y luego subimos el archivo modificado:


Ponemos a correr nuestro servidor Apache donde tenemos alojada nuestra página falsa...

Ahora solo queda esperar que nuestra victima ingrese al sitio.

Cuando el usuario tipea hotmail.com es redirigido hacia nuestro servidor que lo recibe con una página muy similar a la de hotmail.

La victima coloca user y pass..



Mostramos un mensaje (un poco rudimentario) para informar que el servidor esta caído y que intente mas tarde. Como pueden ver, la URI "/Parametros/InsertarenMySQL.php" se nota algo sospechosa. Esto se puede mejorar de mil formas para que el usuario no sospeche, podemos armar una pagina mas elaborada (con una URI del tipo error.php) o incluso manejar sus credenciales para enviarlo al sitio legitimo de hotmail. Aquí lo muestro de esta forma dado que solo queremos ver el funcionamiento del ataque.

Bueno, solo queda comprobar en nuestra base de datos si el user y pass están ahí:


Como podemos ver, los datos han impactado en la base de datos, ya hemos cosechado algo jeje.

Cabe aclarar que para poder realizar este ataque y que funcione tenemos que tener en cuenta algunas cosas:

1- El usuario debe ingresar "sitiox.com" en lugar de "www.sitiox.com" porque sino será dirigido al sitio legítimo con el protocolo https correspondiente en lugar del sitio falso con http (la ventaja que tenemos hoy en día es que no hace falta agregar el www para navegar hacia un site y muchos usuarios ingresan de esa forma). Si queremos asegurarnos que el usuario ingrese a nuestro fake site podemos utilizar sslstrip (http://www.thoughtcrime.org/software/sslstrip/).

2- Otra cosa a importante es que nos conviene borrar la caché DNS del sistema victima para asegurarnos que el usuario ingrese a nuestro sitio falso apenas lo ingresa en el navegador. Estos podemos hacerlo desde la sesión de meterpreter pasando a la shell del SO y ejecutando el comando IPCONFIG /FLUSHDNS.

3- Hay que tener en cuenta que navegador utiliza la victima, porque si probamos hacer esto en Firefox, por su configuración predeterminada ocurre lo siguiente:


Podemos saber que browser utiliza la victima mirando los procesos que corren en su sistema a través del comando "ps" de meterpreter.

COMO PROTEGERSE DE ESTE TIPO DE PHARMING?

Es aconsejable tener algún tipo de protección para el archivo hosts, algún software que bloquee el archivo para su modificación o que nos informe si el archivo ha sido modificado. Los firewalls y algunos antivirus nos pueden brindar esta protección. Un ejemplo de firewall que nos permite esto es Tinywall (http://www.seguridadparatodos.es/2013/06/Firewall-windows-parte-2.html)

Como siempre la mejor protección será la capacitación. Instruir al usuario para que conozca cuales son los riesgos será la mejor medida preventiva que podemos adoptar para proteger nuestros sistemas.

Espero que haya sido de utilidad.

HAPPY HACKING!