martes, 20 de mayo de 2014

ExplainShell (Qué significa cada comando linux online)

ExplainShell es una base de datos online que te permite encontrar información detallada sobre casi todos los comandos principales de Linux existentes.

Básicamente funciona analizando las típicas páginas de manual (manpages) que utilizan los sistemas operativos basados ​​en Unix para encontrar el texto de ayuda relevante asociado con un comando (y sus argumentos incluidos, si los hubiera). Para ello, ExplainShell mantiene un archivo de todo el repositorio de páginas de manuales de Ubuntu. Todo lo que tienes que hacer es buscar una órden concreta y ExplainShell devolverá inmediatamente el texto o textos de ayuda correspondientes.



http://explainshell.com/

Explainshell esta principalmente escrito en Python, pero también utiliza NLTK (para extraer las partes interesantes de los manuales), un poco de d3.js (para la parte gráfica) y Flask (como framework de Python). Su autor es Idan Kamara que finalmente ha publicado el código bajo licencia GPL en GitHub, con el cual podremos utilizar nuestro propio servidor de forma local.


Fuente: http://www.hackplayers.com/2014/05/explainshell-que-significa-este-comando.html

lunes, 19 de mayo de 2014

Port forwading en Windows con netsh interface portproxy

Por necesidades puntuales necesitaba hacer un reenvío de puertos o port forwarding en un servidor Windows 2008. En concreto tenía que habilitar temporalmente cierta consulta LDAP desde un servidor en la Nube contra el Directorio Activo corporativo, pero para ello debía pivotar a través de un servidor en la DMZ hacia un controlador de dominio interno:



Después de gastar algún tiempo en buscar alguna herramienta, c*garme varias veces en el fuck^ng Güindous y añorar repetidas veces mis iptables, resulta que es posible hacerlo en Windows simplemente con el comando netsh interface portproxy (¡vivan las Builting tools!):

C:\Users\pruebas>netsh interface portproxy add v4tov4 listenport=6688 listen address=192.168.12.25 connectport=389 connectaddress=172.20.58.12

C:\Users\pruebas>netsh interface portproxy show v4tov4

Listen on ipv4:             Connect to ipv4:

Address         Port        Address         Port
--------------- ----------  --------------- ----------
192.168.12.25     6688        172.20.58.12    389


Así de sencillo. Tenéis más información y posibilidades en http://technet.microsoft.com/en-us/library/cc731068%28v=ws.10%29.aspx#BKMK_15
Tener en cuenta que netsh portproxy necesita las librerías ipv6 aunque sólo uses v4tov4...

pd. "Nunca la subestimes porque no te gusta o porque creas que ya la conoces, podrías no conocerla tanto e incluso podría llegar a gustarte (aunque sea un poquito)" - Lección VI. Decálogo del buen informático.


Fuente: http://www.hackplayers.com/2014/05/port-forwading-en-windows-con-netsh.html

viernes, 16 de mayo de 2014

SSLstrip : Cómo descifrar todo el tráfico HTTPS

El siguiente es un post muy bueno realizado por Jalths para RedesZone.net.

Cabe anotar que en los links dejo la fuente y otras referencias al mismo y otros métodos como hamster que tambien es muy bueno para estas pruebas de serguridad.

SSLSTrip es una aplicación para sistemas operativos Linux capaz de “descifrar todo el tráfico HTTPS” que viaja a través de la red y sniffar el tráfico (usuarios y claves) que viaja a través de la red en “HTTPS (cifrado)”. En este tutorial os vamos a enseñar un poco más a fondo cómo funciona.
Para lograr nuestro objetivo, haremos un ataque Man In The Middle, que consiste en ponernos a “escuchar” las comunicaciones entre el servidor y el propio cliente.
¿SSLStrip descifra el protocolo SSL?, la respuesta es no. Lo que hace realmente SSLStrip es engañar al servidor y convertir todo el HTTPS de una web en HTTP (sin cifrar) . El script solo puede “engañar” cuando la víctima llega a la web en cuestión mediante una redirección o un LINK.
En la página web oficial podéis encontrar el enlace de descarga y un breve manual para empezar a utilizar SSLSTRIP.
Antes de empezar, debemos aclarar que el manual es básicamente un ataque simulado, no se va a explicar todo en detalle, simplemente os mostraremos como funciona SSLStrip haciendo una demostración en un tipo de ataque simulado.
Para este ataque simulado vamos a usar 2 máquinas conectadas a una misma red (1 máquina física y una máquina virtual), los roles desempeñados por cada máquina van a ser los siguientes:
Máquina física : Kubuntu 11.04 – Víctima.
Máquina virtual: Backtack 5 – Atacante.
Herramientas necesarias para el atacante:
SSLStrip
Sniffer(Wireshark,Ettercap..)
Arpspoof
Iptables
Nmap (opcional, no es necesario si sabemos la IP de la víctima, o si usamos otra técnica para detectarla)
Empezamos el ataque:
Lo primero que debe conocer el atacante es la IP privada de la víctima (nosotros para este ataque simulado hemos optado por usar Nmap para descubrir la IP) en nuestro caso es bastante fácil ya que solo hay 3 Host activos (el propio atacante, la víctima y el router).
Para realizar este proceso de detección lo que haremos será escanear toda la red local en busca de Host activos (seguramente se os ocurrirán más maneras, no obstante por nuestra parte pensamos que ésta es la más utilizada).
Primero averiguamos nuestra IP privada en la red con ifconfig. Típicamente los routers empiezan a agregar IPs, manteniendo los tres primeros grupos de cifras por ejemplo:192.168.0.* donde * es el número que varía y el resto se mantiene igual.
Por supuesto, el router puede estar configurado de otra forma, y puede que tengamos que sacar la IP como podamos, por ejemplo, por medios de ingeniería social si tenemos contacto con la persona que maneja el PC víctima.

Como podéis ver, está activa la IP del atacante. Si hubiese más Host activos el atacante tendría que ir tirando de técnicas de fingerprinting e ir contrastando los resultados de estas con las cosas que ya sabe de la víctima por ejemplo, si el atacante supiese que la víctima utiliza Windows 7, podría hacer un OS Fingerprint(flag -O en Nmap) para saber el OS que utilizan los Host que están activos, descartando así todos los que no utilicen Windows 7 ya que no serían la víctima.
Llegados a este punto el atacante deberá configurar el enrutamiento de su PC (también podría haberlo hecho antes). Si no se activase el enrutamiento el ataque podría ser un desastre, ya que la víctima técnicamente se quedaría sin internet, porque sus peticiones jamas llegarían a su destino, se quedarían en el PC del atacante y por tanto no habría respuestas.

A continuación, el atacante deberá configurar una IPTABLE para redirigir todo el trafico del puerto 80 a otro puerto. El atacante podría omitir este paso y poner directamente a escuchar el SSLStrip directamente al puerto 80 pero esto obligaría a la víctima a aceptar un certificado falso, cosa que ya era capaz de hacer otras herramientas.
iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port

Siguiendo con el ataque, una vez que el atacante tiene la IP de la víctima, este deberá proceder a realizar un ataque MITM. Para esto usará ARPSpoof:

Ahora es el momento en el que empieza la parte complicada del ataque, hasta ahora hemos hecho lo siguiente:
Por ahora el atacante ha obtenido la IP de la víctima y tiene todo su trafico redireccionado hacia sí mismo (ataque MITM), y ahora mismo se dispone a conseguir en texto planto todo lo que pase cifrado en SSL.
El proceso es simple deberemos lanzar SSLStrip y ponerlo a escuchar en el puerto al que hemos redireccionado el trafico.

Ya esta todo listo ahora solo necesitamos que pase algo como esto:
Pantalla de la víctima entrando en por ejemplo a www.paypal.com ; con las siguientes credenciales: Correo = Correodeprueba ; Contraseña: Contraseñadeprueba
Pantalla del atacante monitorizando el trafico y obteniendo la contraseña mediante Wireshark

Aquí finaliza nuestro ataque simulado, esperamos que os haya gustado.
Cómo detectar el ataque MITM y SSLStrip:
-Fijándonos en la única diferencia que se presenta al visitar una web que use SSL cuando estamos bajo este ataque, que la dirección en vez de ser https es http.
Como protegerse de estos ataques:
-Escribiendo siempre en la barra de direcciones del navegador https:// cuando entremos a web que sabemos que usan SSL(o lo sospechamos).
Antes de despedirnos, os dejamos también con una de las conferencias (en inglés) que dio el autor del script Moxie:

Y el repositorio del autor donde tiene el código del script y todo el changelog desde que fue liberado:
SSLStrip

Fuente:
http://www.redeszone.net/seguridad-informatica/sslstrip/

Links de interés:
https://www.youtube.com/watch?v=ZSdQESKGyzY --> Sidejaking con hamster
http://www.alcancelibre.org/article.php/ssltrip-evidencia-vulnerabilidades-ssl
http://www.securitynull.net/punto-de-acceso-wifi-falso-ssltrip-backtrack-5/comment-page-1/ --> ssltrip mas ap falso.
https://hakin9.org/hijacking-ssl-sslstrip-on-windows/ --En windows
http://www.unsysadminenapuros.com/2013/08/ataque-mitm-con-ettercap-sslstrip.html --Con ettercap
http://sectools.org/tool/sslstrip/
http://www.pentester.es/2009/07/sslstrip-02.html
http://foro.elhacker.net/hacking_avanzado/sslstrip_para_windows-t338315.0.html
http://resources.infosecinstitute.com/ssl-attacks/
https://scotthelme.co.uk/advanced-session-hijacking/
http://thehackernews.com/2012/09/crime-new-ssltls-attack-for-hijacking.html





miércoles, 14 de mayo de 2014

Hacer el seguimiento de un log en UNIX

Una buena costumbre en todo programa informático es la creación de un buen log del sistema que estás creando. Cuanto más detallado sea, más fácil será encontrar un error inesperado o una incidencia compleja.
El problema viene a veces que sumergirse en el log de un sistema que está en continuo uso puede ser algo tedioso. Más de una vez me he encontrado a un compañero bajándose todo el fichero de log (de varios megas) para revisar una traza de algo que acaba de probar.

Realizar esa acción una vez… bueno, pero hacerlo constantemente con cada prueba que se realiza, puede ser algo desesperante.

Bueno, pues como el conocimiento se comparte, aquí va un comando que ejecutaremos en un terminal remoto (PUTTY o similar) que facilita mucho el seguimiento en vivo de un log en un sistema UNIX (y derivados):

tail -F nombre_fichero.log

Con esta instrucción veremos en tiempo real el fichero que le 
indiquemos, haciendo scroll automático con las nuevas trazas que vayan 
apareciendo. Y si estamos buscando una palabra o identificador en 
concreto y queremos obviar  el resto de trazas, utilizaremos el 
siguiente comando:

tail -F nombre_fichero.log | grep palabra

Al igual que la anterior, veremos el contenido del fichero en tiempo real, pero únicamente aparecerán las líneas que contengan la palabra que indiques.


En ambos casos, para detener la instrucción y volvamos a la línea de comando, pulsaremos Ctrl-C

Fuente:
http://fsandin.wordpress.com/2010/12/29/hacer-el-seguimiento-de-un-log-en-unix/

Documentos de apoyo:
http://www.ubuntu-es.org/node/137747
http://www.marioalberto.com.mx/linux/linux.php

iRET: un toolkit para la ingeniería inversa de aplicaciones en iOS

iRET es un toolkit de código abierto que se puede utilizar para analizar y evaluar las aplicaciones de iOS. El kit de herramientas incluye las siguientes características:

- Análisis binario donde se puede comprobar el cifrado, la arquitectura de la aplicación y si se ha habilitado stack-smashing.
- Análisis del contenido del keychain, incluyendo contraseñas, claves, certificados o cualquier información confidencial en la aplicación.
- Análisis para mostrar todas las bases de datos dentro de la aplicación y también el contenido de la base de datos.
- Visor de logs para mostrar todos los registros syslog almacenados y visualización de los logs la aplicación.
- Visor Plist para mostrar una lista de archivos dentro de la aplicación y facilitar al usuario ver la propiedades de cada archivo.
- Visor de pantallazos de la aplicación que se está investigando.

El conjunto de herramientas está organizado de tal manera que el analista forense o pentester tendrá un informe completo que incluye toda la información necesaria relacionada con la seguridad de la aplicación iOS. 


Puedes ver más información y descargar la herramienta desde este enlace: http://blog.veracode.com/2014/03/introducing-the-ios-reverse-engineering-toolkit/

Fuente:
http://www.hackplayers.com/2014/05/iret-un-toolkit-para-analisis-apps-ios.html