jueves, 21 de febrero de 2013

HoneyPot Easy. Part XI

Vamos a terminar el post de la instalación de NOVA el décimo primer post sobre Honeypots...
He cambiado algunas instrucciones del proceso de la instalación que estaban dando problemas.
También he detectado que en un laboratorio basado en una virtual box, con una máquina virtual con Ubuntu y NOVA, hay que habilitar el modo promiscuo en el adaptador de red. En entornos "físicos" no he tenido ese problema, pero en virtualbox hay que hacer esto, imagino para que no bloquee el trafico ARP de Nova...
Vamos a configurar otra vez, una máquina emulada, sencilla, con unos puertos abiertos, para simular un equipo. De eso se trata !!!


Una vez creado el perfil de nuestra máquina, editamos el comportamiento de la misma. Como podéis ver creo un conjunto de reglas de puertos. Esto es útil para simular 20 máquinas con la misma configuración para emular una red, por ejemplo, de máquinas Windows...


También podéis ver como abrimos algunos puertos, y como vinculamos uno de ellos a un script, que no deja de ser un fichero .sh emulando un servicio. No tiene interacción, es decir, si hacemos un NetCat a ese puerto/ip solo tendremos el banner...


En la parte de nodes, tenemos las máquinas creadas.


Dentro del nodo o máquina, configuramos el resto de opciones.


Como se puede apreciar, asignamos la ip concreta de esta máquina emulada. Un poco más abajo podríamos cambiarle la dirección MAC.
 Vamos a probarlo con Nessus, herramienta de pago, blabalba


Evidentemente por la firma del servicio no se entera, pero prueba con el banner, y se queda tan pancho.


Poco más que añadir sobre Nova Project, pero es divertido realizar un scan a nuestra red corporativa, cambiarle la subred, y redirigir cierto tráfico desde wan hacia una vlan completa ficticia. De esta manera tendríamos una replica virtual, de nuestro entorno real xD con todas las peculiaridades de la misma.
Tengo que agradecer enormemente el trabajo y dedicación del señor Awaldow por ayudarme con algunos problemas, y me siento orgulloso de haber podido solventar otros, para vosotros !!! xD
Como siempre, gracias por leerme, espero que os guste, y os animéis a probar estas cosas !!!




lunes, 18 de febrero de 2013

HoneyPot Easy.Part.IX. GLASTOPF



Ya hemos hablado bastante bastante bastante en este blog de los HONEYPOTS.
HONEYPOTS 1, 2, 3, 4 ,5, 6 , 7 y 8
Para los que no habeis seguido la serie.
Un Honeypot es una emulación de un servicio( un servidor ssh que muestra un banner y permite un login),un sistema operativo ( cualquier s.o. con sus típicos puertos abiertos, respuesta de protocolos de red), una red (equipos en rangos ip´s distintos), una aplicación web(un CMS con unos google dorks, on fallos tipo SQLi), etc.  El objetivo de un Honeypot puede ser despistar a un atacante, entretener para tomar medidas, estudiar las amenazas que sufre una organización, incluso puede redirigir un supuesto ataque hacia el entorno emulado y así proteger el entorno de producción

En este ocasión vamos a hablar de GlastoPF desarrollado por el Sr.Lukas Rist (glaslos) Twitter.
Un honeypot del tipo aplicación/servidor-web que emula una web con fallos de SQLinyection.
Después de mil pruebas con los desarrolladores y demás expertos, no hemos podido instalarlo en Backtrack ni ubuntu server. Solo hemos sido capaces de hacerlo en Ubuntu desktop.

Empezamos por instalar ANTRL
cd /opt
sudo wget http://www.antlr3.org/download/antlr-3.1.3.tar.gz
sudo tar xzf antlr-3.1.3.tar.gz
cd antlr-3.1.3/runtime/Python
sudo python2.7 setup.py install
Instalamos SKLearn
cd /opt
git clone git://github.com/scikit-learn/scikit-learn.git
cd sc..
python2.7 setup.py install
Seguimos con EVNET.
cd /opt sudo git clone git://github.com/rep/evnet.git cd evnet/ sudo python2.7 setup.py install  
Para la instalación del honeypot...
cd /opt
sudo git clone git://github.com/glastopf/glastopf.git
Ahora instalamos APD, un sandbox de funciones especiales de PHP, básicamente esto es lá protección ante nuestro sistema.
cd /opt
sudo git clone git://github.com/glastopf/BFR.git
cd BFR
sudo phpize
sudo ./configure --enable-bfr sudo make && sudo make install

 
Escribimos en el fichero php.ini /Etc/php5/cli/ lo siguiente:


Comprobamos que anda con php5 --version y nos aparece algo tal que así.


Me muevo al directorio donde bajé Glastopf/Sandbox y ejecuto make. Me crea el fichero de configuración php para usar APD


Estamos calientes calientes !!! nos vamos al directorio de instalación de Glastopf y modificamos el fichero glastopf.cfg (renombrar para dejarlo así, sin dist) para asignarle la ip y puerto del adaptador que queremos usar para el servicio. Repasando ese fichero podemos ver como habilitar la bbdd que queremos usar, sea Mongo como es este caso, o un mysql, etc..

Vamos a ver una ejecución de Glastopf mientras está siendo auditado por Nessus.


Vamos a ver que me va diciendo Nessus sobre el equipo...


Dejamos esto corriendo, intentamos explicar un poco más como funciona este Honeypot en el tema de los SQLi que lo hace distinto, y probamos a realizar inyecciones manuales en otro momento, ya se ha hecho muy largo el post :-)
Como siempre, gracias por leerme, espero que os guste !!!

THANKS TO MISTER LUKAS RIST & JOHNNY VESTERGAARD







 

domingo, 17 de febrero de 2013

OWASP OWTF. Automatizando tareas

OWTF
Offensive Web Testing Framework. Abraham Aranguren Suena bien...
Como todos sabeís, en una auditoría web hay que realizar muchas fases, muchas "pasadas", usar varias herramientas, por supuesto el uso de la herramienta "humana" realizando las peticiones http a mano... También sabéis que hay un colectivo, OWASP, que intenta aglutinar todo el conocimiento sobre vectores de ataque, técnicas de explotación de fallos, y lo más interesante, un conjunto de herramientas para cada fase... También sabéis que para la parte más genérica de pentesting está PTES un conjunto de herramientas agrupadas por fases dentro de la realización de un test de intrusión.
Estaría interesante tener un framework, un conjunto de herramientas lo más automatizadas posibles, que nos facilitaran el trabajo con las distintas fases. Esto es OWTF. Vale... pero ya hay muchos scanners de vulnerabilidades web que realizan casi todas las pruebas a vectores conocidos... pues con OWTF tenemos un report no solo identificando los hallazgos, sino que me enlaza con la sección de la guia OWASP que trata sobre el tema. I love it !!!!
Este framework no instala ninguna herramienta nueva ( en el caso de que useis backtrack 5 ) pero con una sola ejecución podemos realizar cierto trabajo de golpe.
Vamos a probarlo porque siento que hoy me explico como el culete xD.


apt-get install owtf
cd /pentest/web/owtf/tools
./bt5_install.sh
cd /pentest/web/owtf/install
./install.sh

Ojo porque al final del proceso te propone un distro-upgrade, que en mi caso fueron unos 300 megas y un valioso rato.
Una vez instalado, podemos configurar, o ejecutar primero para ver que falta por configurar xD.
./owtf.py -t  quiet  http://demo.testfire.net
nos aparecerá una advertencia de todas las herramientas que va a intentar cargar, y que no tenemos instaladas o no están bien definidas las rutas.
Modificamos el fichero .cfg con las rutas y listo !!!.
Podemos volver a ejecutar  la prueba a ver que pasa.
Una vez terminado el "ataque", nos vamos a file:///pentest/web/owtf/owtf_review/index.html y podéis ver que tenemos con que jugar un poco para aprender a usar la herramienta.
Vamos a profundizar un poco más en esta herramienta.
Podeis ver la definición OWASP de la prueba, el script usado, y pinchando sobre Browse vemos el resultado, lo comprobamos !!!.
Cosas a saber de la herramienta...
OWTF clasifica los plugins de tres maneras, web, net y aux. Para url y analisis de web. Para equipos y redes, al mas puro estilo nmap( no implementado aún?). El resto de plugins que queramos usar no clasificables.
Aparte, se definen los plugins por el tipo, copio y pego:
  • passive: No traffic sent to target (analysis via third party services)
  • semi_passive: Only normal-looking traffic sent to target (no malicious traffic sent)
  • active: Direct vulnerability probing <= THIS REQUIRES PERMISSION
  • quiet: Convenience shortcut for passive + semi_passive
  • grep: Simply searches the HTTP transactions of the other plugins to look for vulnerabilities, etc
Interesante passive... vamos a probar con alguna web. Pasivo es sin tráfico !!! sin permiso. !!!
./owtf.py -t passive http://www.telepizza.es


 Veo salidas que me suenan mucho... pero... que estoy haciendo? Estoy lanzando búsquedas sin saber como, menos mal que son pasivas. ./owtf.py -l web

[*] **************************************** Passive Plugins ****************************************
        [*]  passive: Application_Discovery_____________________________(OWASP-IG-005)________Third party discovery resources
        [*]  passive: HTTP_Methods_and_XST______________________________(OWASP-CM-008)________Third party resources
        [*]  passive: Old_Backup_and_Unreferenced_Files_________________(OWASP-CM-006)________Google Hacking for juicy files
        [*]  passive: Search_engine_discovery_reconnaissance____________(OWASP-IG-002)________General Google Hacking/Email harvesting, etc
        [*]  passive: Spiders_Robots_and_Crawlers_______________________(OWASP-IG-001)________robots.txt analysis through third party sites
        [*]  passive: Testing_for_Admin_Interfaces______________________(OWASP-CM-007)________Google Hacking for Admin interfaces
        [*]  passive: Testing_for_Captcha_______________________________(OWASP-AT-008)________Google Hacking for CAPTCHA
        [*]  passive: Testing_for_Cross_site_flashing___________________(OWASP-DV-004)________Google Hacking for Cross Site Flashing
        [*]  passive: Testing_for_Error_Code____________________________(OWASP-IG-006)________Google Hacking for Error codes
        [*]  passive: Testing_for_SQL_Injection_________________________(OWASP-DV-005)________Google Hacking for SQLi
        [*]  passive: Testing_for_SSL-TLS_______________________________(OWASP-CM-001)________Third party resources
        [*]  passive: Web_Application_Fingerprint_______________________(OWASP-IG-004)________Third party resources and fingerprinting suggestions
        [*]  passive: WS_Information_Gathering__________________________(OWASP-WS-001)________Google Hacking/Third party sites for Web Services


Os recomiendo usar la ayuda del programa para lanzar tanto plugins individualmente, como por grupo o por tipo.
Bueno, voy a lanzar algún scaneo pasivo más y ver si encuentro algo real.


Con razón no encuentro nunca yo mis ofertas favoritas :-).

Esto es todo sobre OWTF. Como siempre espero que os haya gustado esta simple herramienta.
Solo pretendo dar a conocer un poco la herramienta, y animar a los menos iniciados a probar estas cosas. Si quereis tener una buena info para profundizar podeis mirar en http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012

 Como comentaba el SR. Lorenzo Martinez hace unos días, no uséis este tipo de reports como material entregable a un cliente, ya que esto hay que trabajarlo, y puede que esteis solo "viendo" un pequeño parte del problema, y engañando al cliente.

Saludossssss.

viernes, 15 de febrero de 2013

Security Onion Parte 2

Empezamos el año hablando de la distro. Security Onion, y un mes y pico después consigo sentarme para escribir estas líneas xD.
Vamos a ponernos a trabajar. No voy a documentar el proceso de instalación... de una máquina virtual preconfigurada :-)
Una vez arrancada, usamos el SETUP para configurar los interfaces de red y el networking.
Yo recomendaría usar un sistema con dos interfaces, para conectar "el sensor" por un lado, y el interface de administración por otro, con el fin de poder aplicar reglas de firewall entre zonas. Tener el sistema de monitorización y de gestión en la misma ip es darle pistas a un atacante, a atacarte el propio sistema de control xD
Es importante, o recomendable usar la función avanzada del wizard, para poder seleccionar los motores IDS snort o suricata.
Algunas instantáneas del "complicado" proceso de configuración...



Interesante me parece está opción.
Montamos todo en uno? Standalone. Montamos solo el server encargado de gestionar las incidencias? Server. o instalamos solo el sensor?
Creamos un usuario para los sistemas de reporting.
Para Snorby.
Y la clave para todo xD.

Con esto y un breve resumen de la ubicación de los ficheros de logs y configuración tenemos el bizcocho preparado.
Vamos a actualizar la distro.
sudo apt-get update && sudo apt-get dist-upgrade.

Y después de estos dos post, vamos a ver "cosas" simpáticas xD. Arrancamos Snorby, logueamos con el usuario ( el que creamos unos pasos antes, con forma de correo) y la clave.
Y si te creías que estabas a salvo, mira los indicadores que tienes, del rato que has tardado entre la configuración, y entrar a revisar.

En los próximos post, intentaré configurar un poco más las opciones, tunning y hardenning de la distro. Intercalaré información puntual de los sistemas de log´s, para hacerlo más ameno, ya que se que a los lectores os gusta ver máquinas comprometidas, amenazas, símbolos en rojo y tías/tíos desnudos :-P.

Como siempre, espero que os guste, y gracias por leerme.






jueves, 14 de febrero de 2013

1º Cumpleaños Inseguros. Gracias a todos !!

Puedo ser romántico xD
El día 14 de febrero de 2012, conocido en el mundo por el dia de San Valentín, empecé este blog escribiendo:Voy a empezar mi andanza por el mundo de los blog´s, y en concreto con este intento de documentar mis escasos conocimientos de seguridad con un antivirus.
Tengo que empezar este post agradeciendo a todas las personas, a mis personas !!! su labor en este blog. Vosotros pagáis cada "euro" que cuesta este blog con creces. Gracias. GRACIAS. GRACIAS.

Como todos sabéis, tengo en marcha los dos recopilatorios de blog´s en castellano, uno orientado a la parte de test de instrusión, y otro orientado a las medidas de seguridad. El bien y el mal xD. Tengo que decir que solo me han recomendado 2 o 3 artículos para incluir, y que estoy deseando que me enviéis sugerencias de vuestros post´s favoritos, pero en castellano. Si alguien quiere trabajar más con esto, montar un repositorio de enlaces fuera de mi blog... en fin, que estamos en ON.

SOBRE EL BLOG.

He publicado 105 entradas. Cada 3 días y medio teneis un post más o menos bueno de Inseguros xD.
Es curioso que las entradas que mas "gustan" o tienen más visitas no coinciden con mis favoritas, pero el "mass media" es así.
 
 
 
 
 
La estadística de navegadores es curiosa.
Globalmente tengo esto:
Firefox
18553 (38%)
Chrome
16992 (35%)
Internet Explorer
5114 (10%)

Pero el último més revela esto:
Chrome
3314 (42%)
Firefox
2606 (33%)
Safari
757 (9%)
Internet Explorer
653 (8%)
 

Personalmente me gustaron los post sobre TOR y su uso a nivel de sockets, y no solo navegación, los artículos de HONEYPOTS 1, 2, 3, 4 ,5, 6 Y 7. y el último, el 8 sobre NOVA Project.
También me gustó como quedó el post sobre SET y bypass AV , me reí yo solo escribiendo una anecdota de uso de IKAT. Detectar WAF y una introducción a los NLB y su análisis con la ayuda del entrevistado Alejandro Nolla.  Otros entrevistados fueron mi amigo LONGINOX y el Sr ADASTRA, gracias a ambos !!!

Bueno, espero que el año que viene celebremos juntos el segundo cumpleaños de Inseguros.
Tengo mil ideas en la cabeza, varias de ellas en borrador, espero poder sacar tiempo para compartirlas.


UN ABRAZO A TODOS.

jueves, 7 de febrero de 2013

HoneyPot Easy.Part.VIII. NOVA Anti-Reconnaissence.

NOVA, Network Obfuscation and Virtualized Anti-Reconnaissence, suena bien. Un sistema basado en Honeyd según ellos, con una versión mejorada. Personalmente, sería como un frontend de configuración de honeyd al estilo de Honeywall, pero NOVA no usa la monitorización de paquetes, sino que basa su inteligencia en las reglas básicas de IP origen, destino, puerto, tamaño paquete etc. Algo que lo hace muy agil y sencillo de implementar.
Para los que no hayais seguido la serie de post sobre HONEYPOTS 1, 2, 3, 4 ,5, 6 Y 7., aclarar que este sistema nos sirve para ocultar, o mejor dicho, camuflar nuestros sistemas legítimos en una entorno virtual de máquinas y redes simuladas.

Para bajar el instalador basta con un : wget https://raw.github.com/DataSoft/Nova/master/debian/novaInstallHelper.sh

y ejecutarlo: sudo bash novaInstallHelper.sh.
En ocasiones ( siiii, lo he instalado mil veces xD) hay que modificar ciertas cositas en el script de instalación. Recuerdo quitar -Y en el apt-get de dependencias inicial para que rule.

Mas fácil imposible.

Podemos hacerlo manualmente...

sudo apt-get install git build-essential libcap2-bin libann-dev libpcap0.8-dev libboost-program-options-dev libboost-serialization-dev libnotify-dev sqlite3 libsqlite3-dev libcurl3 libcurl4-gnutls-dev iptables libxml2-dev libboost-system-dev libboost-filesystem-dev 

aunque en un Ubuntu Server 12.04 no hace falta instalar ninguna de estas.
Mismo caso para las dependencias de Honeyd.

sudo apt-get install libevent-dev libdumbnet-dev libpcap-dev libpcre3-dev libedit-dev bison flex libtool automake
Instalamos Quasar WEb UI para la entrada y salida de ficheros en javascript ejecutando el script que baja y compila.

sudo bash Quasar/getDependencies.sh

Nos movemos al directorio de Honeyd y compilamos con un sencillo:
./autogen.sh
automake
./configure
make
sudo make install

Lo mismo para Nova.

autoconf
./configure
make
sudo make install
Para arrancar los servicios al inicio copiamos el contenido de /Installer/miscFiles/upstart/* en /etc/init
Vamos a empezar a jugar. Iniciamos Quasar (simplemente tipeando eso) y en un navegador entramos https://ip:8080 usuario nova contraseña toor (mmm....)


Hacemos caso y ejecutamos el asistente para el nuevo uso ( siguiente siguiente siguiente en linux... i love it !!).
La primera opción es crear un usuario y clave distinto a la instalación (nova/toor said bye bye).
A continuación los datos básicos para configurar alertas mediante SMTP.
Después pasamos a configurar manualmente Haystacks, la lista de máquinas emuladas mediante honeyd. Añadimos un grupo de máquinas nuevo.


 Pulsamos arriba en Nodes, y creamos una máquina.

 Tiramos un nmap a esa ip a ver que pasa.


Vamos a ver que detecta el sistema.

 Vamos a crear un nuevo grupo de máquinas, mediante el descubrimiento de equipos en nuestra red.


Le indicamos la subred a escanear y el número de máquinas que queremos usar.


 El resultado de la red del laboratorio.


En la pestaña nodes editamos algún profile para configurarle algún dato.


Desde la pestaña de profiles modificamos la configuración propia del honeyd para esa emulación.


 Y configuramos el banner del servidor ssh con una versión concreta.

No quereis ver el resultado? no quereis ver como configurar más opciones en modo texto? añadir banners a los scripts? saber como puntua la "peligrosidad" de la actividad detectada?Próximas entradas...

Como siempre, gracias por leerme.

Por otro lado aprovecho la ocasión para comentar que he habilitado una nueva página dentro del blog, denominada Community Protección Project para recopilar artículos en castellano sobre medidas de seguridad para nuestros sistemas. Tenemos pués un recopilatorio para realizar nuestros test de intrusión, y por otro lado para "evitar" estos test de intrusión. Quien ganará? espero que todos xD y no solo los fabricantes de soluciones :-). Actualizado constantemente.
Google +