468x60 Ads


viernes, 17 de enero de 2014

OWASP SQLiX


OWASP SQLiX

SQLiX, programado en  Perl, es un scaner de inyección SQL, scanea, detecta vectores de la inyección de SQL, identifica los resultados back-end de la función call/UDF de la base de datos y del gancho agarrador (incluso ejecuta los comandos del sistema para MS-SQL). Los conceptos funcionando son diferentes que el que está usado en otros scannerss de inyección de SQL.

SQLiX puede encontrar vectores normales y ocultos de inyección de SQL y no necesita invertir a ingeniero la petición original del SQL (que usa solamente llamadas de función).

SQLiX es un scanner de inyección de SQL que procura llenar el boquete entre qué software comercial disponible en el mercado puede hacer y qué se puede realmente hacer para detectar y para identificar la inyección de SQL.

Los métodos actuales de la inyección usados por el software comercial del gravamen de la tela se basan en inyecciones de la generación o de la declaración del error.

La documentación y los ejemplos están en OWASP SQLiX Project

OWASP SQLiX v1.0
 
Mirror 1 | Mirror 2


jueves, 16 de enero de 2014

DLL Hijacking: Otra Forma De Explotar Aplicaciones en Windows


DLL Hijacking: Otra Forma De Explotar Aplicaciones en Windows

De qué trata DLL Hijacking y por qué afecta a tantas aplicaciones? Realmente es algo muy simple. DLL Hijacking se aprovecha de la forma en que se buscan las librerías dinámicas (DLL) en el filesystem cuando un programa intenta cargarlas utilizando la función LoadLibrary. Lo que hace un atacante es crear una librería dinámica propia, que se llame igual a alguna de las que carga un dado programa cuando intenta abrir un determinado tipo de archivo. Como al momento de abrir el archivo (por ejemplo un pps) el directorio de trabajo es el del archivo, si el atacante planta su librería ahí, el programa cargará esa en lugar de la original.

Este ataque tiene sentido cuando tenemos archivos compartidos. Supongamos que tenemos un servidor de archivos basado en CIFS (o SMB, los clásicos shares de Windows) donde distintas personas pueden leer y escribir. Ahora supongamos que Malicioso crea un pps en el servidor y le dice a Josesito "mira la presentación que puse en tal directorio". A su vez, Malicioso crea una librería dinámica que sabe que Power Point intentará cargar al abrir el pps. Si Josesito no es desconfiado y es lo suficientemente curioso, abrirá la presentación directamente desde el servidor de archivos (por experiencia, todos hacen eso, nadie copia las cosas a su disco). Al hacer esto, el Power Point de Josesito cargará la librería creada por Malicioso en lugar de la original, permitiendo a Malicioso ejecutar lo que quiera con los permisos de Josesito!

Descarguen alguno de los exploits que figuran en la sección Local Exploit de Exploit Database. Muchos traen la explicación de cómo compilar las librerías, pero les comento que pueden hacerlo con el gcc para Windows de la siguiente forma:

gcc -shared -o .dll .c

Entonces, es un problema de Windows? no, esta vez Windows se salva. El problema es de las aplicaciones que no especifican correctamente el path a sus librerías. Como pueden ver en el manual de la función Load Library, ésta toma como parámetro el nombre de una librería y la carga en memoria. Si no se especifica path a la misma, la función realiza una búsqueda estándar, es decir, se busca la librería en directorios predeterminados. El orden de búsqueda depende de si "Safe DLL search mode" está activo o no. La clave de registro que activa/desactiva el modo safe se encuentra en HKLM\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode (en XP y 2000 SP 4 viene deshabilitado por default).

Si SafeDllSearchMode está habilitado, el orden de búsqueda es el siguiente:

    1. El directorio desde donde se carga la aplicación.
    2. El directorio de sistema.
    3. El directorio de sistema de 16-bit.
    4. El directorio de Windows
    5. Los directorios que están listados en la variable de entorno PATH.

Si SafeDllSearchMode está deshabilitado, el orden es el siguiente:

    1. El directorio desde donde se carga la aplicación.
    2. El directorio actual.
    3. El directorio de sistema.
    4. El directorio de sistema de 16-bit.
    5. El directorio de Windows
    6. Los directorios que están listados en la variable de entorno PATH.

Este orden de búsqueda estándar se puede alterar utilizando la función LoadLibraryEx o bien con SetDllDirectory, con las cuales especificamos dónde buscar primero.

Como se darán cuenta, esta vulnerabilidad afecta a toda aplicación que no explicite el path a sus librerías, y por ello es que debe haber cientos o miles de aplicaciones perjudicadas.

Ahora, si es algo tan simple, cómo es que nadie lo descubrió antes? Bueno, si lo hicieron, en F-Secure dicen que se publicó sobre esta vulnerabilidad hace como 10 años, pero ahora surgió el revuelo porque HD Moore publicó un kit que permite encontrar rápidamente aplicaciones vulnerables. Pueden leer y descargar el kit en Exploiting DLL Hijacking Flaws y Better, Faster, Stronger: DLLHijaAuditKit v2.

Si bien mencioné que el exploit tiene sentido desde shares de Windows, otras formas de utilizarlo es desde archivos comprimidos, pen-drives, y WebDav (extensión de MS para HTTP en IIS).

MS publicó hace unos días un advisory para administradores donde explican algunas medidas a tomar para minimizar los riesgos. Entre las soluciones provisionales proponen:

    - Deshabilitar la carga de librerías desde WebDAV y shares remotos.
    - Deshabilitar el servicio WebClient.
    - Bloquear los puertos 139 y 445 usando firewall. Claro que esto los dejará sin los shares...

Por supuesto que deberán estar atentos a los parches que publiquen los distintos proveedores para solucionar este problema.

También publicaron una guía para programadores sobre lo que pueden hacer para proteger sus aplicaciones contra el DLL Hijacking. Básicamente las recomendaciones son:

    - Especificar el path completo a la librería siempre que sea posible.
    - Usar DLL Redirection o un manifest para asegurarse de que están utilizando la DLL correcta.
    - Asegurarse de que "safe DLL search mode" esté habilitado.
    - Eliminar el directorio actual del path de búsqueda llamando la función SetDllDirectory con un string vacío ("").
    - No usar la función SearchPath para obtener el path de una librería a menos que "safe process search mode" esté habilitado.
    - No asumir versión de sistema operativo basados en lo retornado por LoadLibrary.


miércoles, 15 de enero de 2014

Anubis - Herramienta de FootPrinting


Anubis es una aplicación desarrollada por Juan Antonio Calles en colaboración con Pablo González, del Flu Project Team, diseñada para anexionar gran parte de las herramientas necesarias para los procesos de las Auditorías de Seguridad y Test de Intrusión dedicados a la búsqueda de información, denominados Footprinting y Fingerprinting, en una única herramienta. Con ésta herramienta el auditor no solo conseguirá ahorrar tiempo durante la auditoría, sino que descubrirá nueva información que de manera manual no podría gracias a las automatizaciones que lleva Anubis incorporadas. Entre otras funcionalidades, Anubis permite buscar dominios mediante técnicas basadas en Google Hacking, Bing Hacking, ataques de fuerza bruta contra el DNS, transferencias de zona, etc. 

Permite identificar el sistema operativo de las máquinas que hay tras los dominios mediante análisis del banner, búsqueda de errores y la integración de la herramienta nmap. Por otro lado contiene otras herramientas útiles como un fuzzer Web, la búsqueda del registrador de un dominio mediante consultas Whois, o la identificación de software utilizado en la organización y personal existente en la misma mediante el análisis de metadatos en los ficheros PDF.

Si quieres saber más de Anubis y de otras técnicas de recolección de información en Auditoría de seguridad es recomendable leer La Biblia del FootPrinting

Requiere Windows XP, Windows Vista o Windows 7 y .Net Framework 





martes, 14 de enero de 2014

Informática Forense


Informática Forense

La disciplina forense adaptada al ámbito de las nuevas tecnologías, surge como respuesta al auge delincuencial que utiliza como apoyo o medio cualesquiera soportes electrónicos.

En el momento actual son muchos los casos en los que se obtienen distintos medios de prueba, vitales para el éxito de una investigación, de discos duros, teléfonos móviles, PDAs y sistemas GPS.

No olvidemos que la finalidad de las técnicas forenses aplicadas al medio digital, no es otra que contribuir a detener y judicializar a los culpables de un hecho y contar con las pruebas de cargo apropiadas que resulten en una sentencia condenatoria, o, en el caso contrario, exculpar a un inocente.

Una definición apropiada, podría ser “La preservación, recuperación y análisis de la información almacenada en las computadoras u otros medios electrónicos”

Para ello, el investigador cuenta con distintas herramientas que le facilitarán la tarea, es preciso tener presente la ingente cantidad de datos a examinar y el reto que supone, más aún en una especialidad relativamente reciente, que carece de un estándar consensuado en cuanto a medios y técnicas.

Por lo tanto, por regla general, depende del interés, tesón y capacidades del investigador el éxito del proceso.

¿Qué se puede lograr mediante el uso de la informática forense?

1-Recuperación de archivos ocultos, borrados o dañados
2-Identificación de rutas, modificaciones y autoría de documentos y datos
3-Acceso a información protegida o cifrada, revelado de contraseñas
4-Seguimiento de transferencias de archivos, correos electrónicos, sesiones de chat, comunicaciones vía red (Internet) y VoIP
5-Identificación de origen y destino. Rastreo de archivos en Cloud computing
6-Posicionamiento e historial de dispositivos dotados de GPS
7-Auditoría de actividad en computadores y dispositivos electrónicos.
8-Pruebas de penetración y certificación de seguridad de redes y sistemas
9-Estudio de virus, troyanos... back orifice, rootkits. Ingeniería inversa

¿Aplicaciones prácticas ?

Las técnicas forenses en el entorno digital, cuentan con un amplio horizonte de aplicación, desde la recuperación de información en soportes informáticos intervenidos, por ejemplo en casos de terrorismo, fraude fiscal, malversación de fondos, espionaje industrial o civil. Hasta la geolocalización y seguimiento del historial de dispositivos GPS, móvil y VoIP, que pueden resultar decisivos en cualquier investigación policial.

Principales herramientas

Forensics Toolkit.-
Vale la pena mencionar esta suite, creación de Farmer y Venema, pioneros de la informática forense, enfocada fundamentalmente al tratamiento de soportes sólidos, en cuanto a la recuperación de información.

Microsoft Coffee.-
Microsoft, ha desarrollado y puesto a disposición de las distintas agencias de seguridad, el programa Coffee. Se trata de una utilidad ligera, que puede portarse en un dispositivo USB con más de 150 funciones automatizadas, que facilitan la toma de evidencias in-situ de forma rápida y eficaz.

EnCase.-
Lider del sector, Guidance Software, comercializa distintas soluciones integradas bajo la denominación EnCase; Enterprise, eDiscovery, Cybersecurity. Que cubren todo el espectro posible en el ámbito pericial y de seguridad corporativa, desde el estudio de soportes y memorias temporales, hasta la investigación de paquetes de red, ruteados y cadenas de datos.

OSForensics.
Actualmente en fase Beta y de distribución gratuita, se trata de una completa suite, con la que realizar la mayoría de las tareas habituales; Clonado DD, Comparación de cadenas, cálculo de hashes... Incorpora un potente gestor que discrimina eficazmente los archivos no relacionados, facilitando al investigador su labor.

Helix.
Se trata de un liveCD basado en la distribución de Linux Ubuntu, modificada para su uso como herramienta forense, incorpora una gran variedad de programas útiles.

Estas son solo algunas de las aplicaciones disponibles para la práctica forense, si, por ejemplo, nuestra intención es realizar una auditoría de seguridad, podemos usar la distribución de Linux BlackUbuntu, especialmente preparada para llevar a cabo acciones de penetración.

Con el auge de las redes P2P y el uso malicioso de su soporte para la distribución de archivos susceptibles de ser considerados como pornografía infantil, se plantea un nuevo reto, principalmente a la hora de identificar y rastrear archivos o partes de los mismos. El programa Disector puede ser de gran ayuda para lograrlo, ya que permite decodificar cualquier trama de datos parcial capturada.

También son muy necesarias aplicaciones que faciliten el seguimiento de correos electrónicos, Emailtracker y Visualware son algunos de las más destacados, se encargarán de rastrear el origen de cualquier email con sorprendente eficacia.

Por último, resulta imprescindible contar con uno o varios programas de recuperación y descodificación de contraseñas, su utilidad es más que evidente, John the Ripper, SnadBoy's Revelation y Cain son algunos de los más conocidos.

Sin embargo, si en lugar de a las típicas contraseñas de Windows, Bios, aplicaciones comerciales y archivos del tipo Officce, nos enfrentamos a un nivel de seguridad superior, con hashes MD4, MD5 y NTLM1, será preciso recurrir a herramientas más especializadas como MDcrack o la suite PenTBox (RIPemd-160).

Conclusiones
Es esta una disciplina en ebullición, cada día, cada minuto, surgen nuevas formas de vulnerar los sistemas de seguridad, logaritmos de encriptación más potentes y medios para evitar el seguimiento por parte de los investigadores forenses.

Un buen ejemplo de ello, sobre todo por su implicación en la situación social actual en determinados países de oriente medio, es el programa multiplataforma TOR.

TOR, protege la identidad del usuario, evitando que sus comunicaciones y actividad en la red pueda ser supervisada o rastreada por cualquier medio, se trata de una de las aplicaciones más eficaces en este sentido.

Su uso en combinación con las técnicas tradicionales de ocultación, camuflaje de MACs, saltos múltiples de proxy, conexiones mediante redes públicas o intervenidas, convierte el rastreo del origen y la identificación plena del autor en una utopía.

El especialista en seguridad o investigador perito forense, debe dedicar gran parte de su tiempo al aprendizaje, reciclaje y a la experimentación con toda nueva herramienta que caiga en sus manos.

En el momento actual no existe ningún tipo de formación reglada, que pueda servirle de base para su actividad, sin embargo, gracias a la red, es posible obtener información actualizada constante, en los distintos grupos dedicados a la materia, principalmente a nivel internacional. 


lunes, 13 de enero de 2014

Zmap - The Internet Scanner


Zmap

Creada por investigadores de la Universidad de Michigan y cuyo objetivo es encontrar vulnerabilidades en las redes, para posteriormente desarrollar mecanismos de defensa e impedir que dichas deficiencias sean explotadas con propósitos negativos. Zmap no es la primera herramienta de este tipo pero destaca su velocidad, ya que es capaz de escanear toda la red en cuestión de 45 minutos.s.

Para escanear todas las direcciones IP de Internet la herramienta envía solicitudes codificadas pero no espera la respuesta de cada dirección ni guarda una lista de peticiones pendientes, sino que en un proceso alterno va decodificando cada señal recibida de vuelta, lo cual hace que sea hasta 1,000 veces más veloz que Nmap, otra herramienta para el escaneo de la red.

Caracteristicas:

- Testing optimizado: envía conexiones tan rápido como soporte la tarjeta de red, saltando la pila TCP/IP
-No necesita guardar el estado de conexión: selecciona las direcciones de acuerdo a una permutación aleatoria generada por un grupo multiplicativo cíclico.

Zmap VideoTutorial


Descarga Zmap

git clone https://github.com/zmap/zmap



viernes, 10 de enero de 2014

Evil Foca


Evil Foca

Es una herramienta para pentesters y auditores de seguridad que tiene como finalidad poner a prueba la seguridad en redes de datos IPv4 / IPv6.

La herramienta es capaz de realizar distintos ataques como:
MITM sobre redes IPv4 con ARP Spoofing y DHCP ACK Injection.
MITM sobre redes IPv6 con Neighbor Advertisement Spoofing, Ataque SLAAC, fake DHCPv6.
DoS (Denegación de Servicio) sobre redes IPv4 con ARP Spoofing.
DoS (Denegación de Servicio) sobre redes IPv6 con SLAAC DoS.
DNS Hijacking.

Automáticamente se encarga de escanear la red e identificar todos los dispositivos y sus respectivas interfaces de red, especificando sus direcciones IPv4 e IPv6 y las direcciones físicas a través de una interfaz cómoda e intuitiva.


Ataque de hombre en el medio (MITM)

El conocido “Man In The Middle” es un ataque, en el que un malhechor crea la posibilidad de leer, inyectar o modificar información que hay en un canal entre 2 equipos sin que ninguno de ellos se entere. Dentro de los ataques de MITM en IPv4 e IPv6 Evil Foca contempla las siguientes técnicas:
ARP Spoofing

Consiste en enviar mensajes ARP a la red Ethernet, normalmente la finalidad es asociar la dirección MAC del atacante con la dirección IP de otro equipo. Cualquier tráfico dirigido a la dirección IP de la puerta de enlace predeterminada será erróneamente enviado al atacante, en lugar de a su destino real.
 
DHCP ACK Injection

Consiste en que un atacante monitoriza los intercambios DHCP y en un determinado punto de la comunicación envía un paquete para modificar su comportamiento. Evil Foca se encargará de convertir el equipo en un servidor DHCP falso en la red.
 
Neighbor Adverticement Spoofing

El principio de este ataque es el mismo que el de ARP Spoofing, la diferencia radica en que IPv6 no trabaja con el protocolo ARP, sino que toda la información se transmite a través de paquetes ICMPv6. Existen 5 tipos de paquetes ICMPv6 utilizados en el protocolo de descubrimiento y Evil Foca se encarga de generar ese tipo de paquetes, colocándose entre el gateway y la víctima.
Ataque SLAAC

El objetivo de este ataque es poder hacer un MITM cuando un usuario se conecta a Internet a un servidor que no tiene soporte para IPv6 y que por lo tanto es necesario conectarse usando IPv4. Este ataque es posible debido a que Evil Foca se encarga de la resolución de nombres de dominio una vez situada en el medio de la comunicación, y es capaz de transformar las direcciones IPv4 en direcciones IPv6.
Falso DHCPv6 server

Este ataque consiste en que el atacante se hace pasar por el servidor DCHPv6, respondiendo a todas las solicitudes de la red, repartiendo direcciones IPv6 y un DNS falso para manipular el destino de los usuarios o denegar el servicio.

Ataque de denegación de servicio (DoS)

El ataque DoS es un ataque a un sistema de equipos o red que causa que un servicio o recurso sea inaccesible para sus usuarios. Normalmente provoca la pérdida de la conectividad de la red por el consumo del ancho de banda de la red de la víctima o sobrecarga de los recursos computacionales del sistema de la víctima.

Ataque DoS en IPv4 con ARP Spoofing

Este tipo de ataque DoS consiste en asociar una dirección MAC inexistente en la tabla ARP de una víctima, con esto se consigue queel equipo en el cual se ha modificado la tabla ARP sea incapaz de conectarse a la dirección IP asociada a la MAC inexistente.
  
Ataque DoS en IPv6 con ataque SLAAC

En este tipo de ataque se genera una gran cantidad de paquetes “router advertisement” destinados a uno o varios equipos, anunciando falsos routers y asignando una dirección IPv6 y puerta de enlace diferente para cada router, colapsando el sistema y haciendo que los equipos no respondan.
 
DNS Hijacking

El ataque de DNS Hijacking o secuestro de DNS consiste en alterar la resolución del sistema de nombres de dominio (DNS). Esto se puede lograr por malware que invalide la configuración de un equipo TCP / IP para que apunte a un servidor pirata DNS bajo el control de un atacante, o por medio de un ataque MITM, siendo el atacante el que reciba las peticiones DNS, y encargándose él de dar respuesta a una consulta DNS específica para dirigir a la víctima a un destino específico seleccionado por el atacante.

Presentación Evil FOCA - DEFCON 21



jueves, 9 de enero de 2014

Weevely


Weevely - Php Backdoor

Es una herramienta esencial para la explotación posterior de aplicaciones web, y se puede utilizar como puerta trasera o como una shell web para gestionar las cuentas web.

Más de 30 módulos:

    Ejecutar comandos y navegue sistema de archivos remoto, incluso con restricción de seguridad de    PHP.
    Auditoría de errores de configuración de servidor comunes.
    Ejecutar consola SQL pivotante en la máquina de destino.
    Abrir proxy HTTP para hacer un túnel a través de su tráfico de destino.
    Fácil transferencia de archivos desde y hacia el objetivo.
    Engendro conchas TCP inversa y directa.
    Fuerza bruta las contraseñas de los usuarios del sistema de destino.
    Ejecutar escaneo de puertos de equipo de destino.
    Comunicaciones de puerta trasera se ocultan en las cookies HTTP.
    Las comunicaciones son ofuscado para eludir la detección NIDS firma.
    Backdoor código polimórfico PHP se ofusca para evitar HIDS detección AV.
    Y muchos mas....

Descarga Weevely

git clone https://github.com/epinna/Weevely

Weevely Video Tutorial:



miércoles, 8 de enero de 2014

Wi-fEye


Wi-fEye

Está diseñado para ayudar al pentesting wireless. Permite al usuario realizar una serie de ataques poderosos automáticamente incluyendo crackeo WEP/WPA, secuestro de sesión y más.

Instalación de Wi-fEye

wget http://wi-feye.za1d.com/releases/Wi-fEye-v1.0-beta.tar.gz
tar xvfz Wi-fEye-v1.0-beta.tar.gz -C Wi-fEye
cd Wi-fEye-v1.0-beta

Requisitos:

Aircrack-ng
Ettercap
Hamseter
Scapy 
Evilgrade y Pexpect

Luego de haber instalado los programas ejecutamos en consola:

root@stuxnet:/media/Stuxnet/Pentesting/Wi-fEye-v1.0-beta# python install.py

root@stuxnet:/media/Stuxnet/Pentesting/Wi-fEye-v1.0-beta# python Wi-fEye.py

Wi-fEye Video Tutoriales

Make a fake access point


Software Hijacking


HTTPS/SSL bypass using Wi-fEye

  
DNS spoofing



martes, 7 de enero de 2014

Metasploit Penetration Testing Cookbook


Metasploit Penetration Testing Cookbook

Contenido Temático:

Chapter 1: Metasploit Quick Tips for Security Professionals

- Introduction
- Configuring Metasploit on Windows
- Configuring Metasploit on Ubuntu
- Metasploit with BackTrack 5 – the ultimate combination
- Setting up the penetration testing lab on a single machine
- Setting up Metasploit on a virtual machine with SSH connectivity
- Beginning with the interfaces – the "Hello World" of Metasploit
- Setting up the database in Metasploit
- Using the database to store penetration testing results
- Analyzing the stored results of the database

Chapter 2: Information Gathering and Scanning

- Introduction
- Passive information gathering 1.0 – the traditional way
- Passive information gathering 2.0 – the next level
- Port scanning – the Nmap way
- Exploring auxiliary modules for scanning
- Target service scanning with auxiliary modules
- Vulnerability scanning with Nessus
- Scanning with NeXpose
- Sharing information with the Dradis framework

Chapter 3: Operating System-based Vulnerability Assessment and Exploitation

- Introduction
- Exploit usage quick tips
- Penetration testing on a Windows XP SP2 machine
- Binding a shell to the target for remote access
- Penetration testing on the Windows 2003 Server
- Windows 7/Server 2008 R2 SMB client infinite loop
- Exploiting a Linux (Ubuntu) machine
- Understanding the Windows DLL injection flaws

Chapter 4: Client-side Exploitation and Antivirus Bypass


- Introduction
- Internet Explorer unsafe scripting misconfiguration vulnerability
- Internet Explorer CSS recursive call memory corruption
- Microsoft Word RTF stack buffer overflow
- Adobe Reader util.printf() buffer overflow
- Generating binary and shellcode from msfpayload
- Bypassing client-side antivirus protection using msfencode
- Using the killav.rb script to disable antivirus programs
- A deeper look into the killav.rb script
- Killing antivirus services from the command line

Chapter 5: Using Meterpreter to Explore the Compromised Target

- Introduction
- Analyzing meterpreter system commands
- Privilege escalation and process migration
- Setting up multiple communication channels with the target
- Meterpreter filesystem commands
- Changing file attributes using timestomp
- Using meterpreter networking commands
- The getdesktop and keystroke sniffing
- Using a scraper meterpreter script

Chapter 6: Advanced Meterpreter Scripting

- Introduction
- Passing the hash
- Setting up a persistent connection with backdoors
- Pivoting with meterpreter
- Port forwarding with meterpreter
- Meterpreter API and mixins
- Railgun – converting Ruby into a weapon
- Adding DLL and function definition to Railgun
- Building a "Windows Firewall De-activator" meterpreter script
- Analyzing an existing meterpreter script

Chapter 7: Working with Modules for Penetration Testing

- Introduction
- Working with scanner auxiliary modules
- Working with auxiliary admin modules
- SQL injection and DOS attack modules
- Post-exploitation modules
- Understanding the basics of module building
- Analyzing an existing module
- Building your own post-exploitation module

Chapter 8: Working with Exploits

- Introduction
- Exploiting the module structure
- Common exploit mixins
- Working with msfvenom
- Converting exploit to a Metasploit module
- Porting and testing the new exploit module
- Fuzzing with Metasploit
- Writing a simple FileZilla FTP fuzzer

Chapter 9: Working with Armitage

- Introduction
- Getting started with Armitage
- Scanning and information gathering
- Finding vulnerabilities and attacking targets
- Handling multiple targets using the tab switch
- Post-exploitation with Armitage
- Client-side exploitation with Armitage

Chapter 10: Social Engineer Toolkit

Introduction
Getting started with Social Engineer Toolkit (SET)
Working with the SET config file
Spear-phishing attack vector
Website attack vectors
Multi-attack web method
Infectious media generator

Descarga:

MEGA
Formato: PDF
Peso: 3.64 MB
Paginas: 269
Idioma: Ingles
Estilo: Imágenes & Letras


lunes, 6 de enero de 2014

FBPwn – Facebook Social Engineering Framework


FBPwn – Facebook Social Engineering Framework

Es una plataforma basada en Java de para realizar ingeniería social a Facebook y sacar toda la información necesaria de un usuario, esta herramienta se puede utilizar para intentar descargar o atacar cuentas de usuario en Facebook directamente desde un Framework este puede realizar lo siguiente:

·         Volcar lista de amigos.
·         Agregar todos los amigos de la víctima.
·         Volcar todas las imágenes del álbumes de usuarios.
·         Volcado de la información del perfil.
·         Volcado de Fotos de perfil (Imágenes de perfil).
·         Comprobar solicitud de amigos.
·         Volcado los datos del muro de la víctima.
·         Clon de los perfiles.

Para poder realizar el volcado de datos agregue un usuario valido con su nombre y contraseña.


Este se autenticara y le permitirá agregar a un usuario víctima y realizar todos lo que se muestra en la imagen siguiente y descrito anteriormente.




jueves, 2 de enero de 2014

Ataques mas comunes en redes y servidores


Ataques mas comunes en Redes y Servidores

Entre Ataques mas comunes en redes y servidores se pueden mencionar los siguiente


SCANNING (Búsqueda)

El Scaneo, como método de descubrir canales de comunicación susceptibles de ser explotados, lleva en uso mucho tiempo. La idea es recorrer (scanear) tantos puertos de escucha como sea posible, y guardar información de aquellos que sean receptivos o de utilidad para cada necesidad en particular. Muchas utilidades de auditoría también se basan en este paradigma.

El Scaneo de puertos pertenece a la Seguridad Informática desde que era utilizado en los sistemas de telefonía. Dado que actualmente existen millones de números de teléfono a los que se pueden acceder con una simple llamada, la solución lógica (para encontrar números que puedan interesar) es intentar conectarlos a todos.

La idea básica es simple: llamar a un número y si el módem devuelve un mensaje de conectado, grabar el número. En otro caso, la computadora cuelga el teléfono y llama al siguiente número. Scanear puertos implica las mismas técnicas de fuerza bruta. Se envía una serie de paquetes para varios protocolos y se deduce que servicios están “escuchando” por las respuestas recibidas o no recibidas.

Existen diversos tipos de Scanning según las técnicas, puertos y protocolos explotados:

TCP Connect() Scanning

Esta es la forma básica del scaneo de puertos TCP. Si el puerto está escuchando, devolverá una respuesta de éxito; cualquier otro caso significará que el puerto no está abierto o que no se puede establecer conexión con a él.

Las ventajas que caracterizan esta técnica es que no necesita de privilegios especiales y su gran velocidad.

Su principal desventaja es que este método es fácilmente detectable por el Administrador del sistema. Se verá un gran número de conexiones y mensajes de error para los servicios en los que se ha conseguido conectar la máquina que lanza el scanner e inmediatamente se ha desconectado.

TCP SYN Scanning


Cuando dos procesos establecen una comunicación usan el modelo Cliente/Servidor para establecer la conexión. La aplicación del Servidor “escucha” todo lo que ingresa por los puertos. La identificación del Servidor se efectúa a través de la dirección IP del sistema en el que se ejecuta y del número de puerto del que depende para la conexión. El Cliente establece la conexión con el Servidor a través del puerto disponible para luego intercambiar datos.

La información de control llamada HandShake (saludo) se intercambia entre el Cliente y el Servidor para establecer un dialogo antes de transmitir datos.

Los “paquetes” o segmentos TCP tienen banderas que indican el estado del mismo.

El protocolo TCP de Internet, sobre el que se basa la mayoría de los servicios (incluyendo el correo electrónico, el web y el IRC) implica esta conexión entre dos máquinas. El establecimiento de dicha conexión se realiza mediante lo que se llama Three-Way Handshake (“conexión en tres pasos”) ya intercambian tres segmentos. En forma esquemática se tiene:

1.      El programa Cliente (C) pide conexión al Servidor (S) enviandole un segmento SYN (Synchronize Sequence Number). Este segmento le dice a S que C desea establecer una conexión.

2.      Si (si está abierto y escuchando) al recibir este segmento SYN (activa su indicador SYN) y envía una autentificación ACK de manera de acuse de recibo a C. Si S está cerrado envía un indicador RST.

3.      C entonces ACKea (autentifica) a S. Ahora ya puede tener lugar la transferencia de datos.

Cuando las aplicaciones conectadas terminan la transferencia, realizaran otra negociación a tres bandas con segmentos FIN en vez SYN.

La técnica TCP SYN Scanning, se implementa un scaneo de “media-apertura”, dado que nunca se abre una sesión TCP completa. Se envía un paquete SYN (como si se fuera a usar una conexión real) y se espera por la respuesta. Al recibir un SYN/ACK se envía, inmediatamente, un RST para terminar la conexión y se registra este puerto como abierto.

La principal ventaja de esta técnica de escaneo es que pocos sitios están preparados para registrarlos. La desventaja es que en algunos sistemas Unix, se necesitan privilegios de Administrador para construir estos paquetes SYN.

TCP FIN Scanning- Stealth Port Scanning

Hay veces en que incluso el scaneo SYN no es lo suficientemente “clandestino” o limpio. Algunos sistemas (Firewalls y filtros de paquetes) monitorizan la red en busca de paquetes SYN a puertos restringidos. Para subsanar este inconveniente los paquetes FIN, en cambio, podrían ser capaces de pasar sin ser advertidos. Este tipo de Scaneo está basado en la idea de que los puertos cerrados tienden a responder a los paquetes FIN con el RST correspondiente. Los puertos abiertos, en cambio, suelen ignorar el paquete en cuestión.

Este es un comportamiento correcto del protocolo TCP, aunque algunos sistemas (entre los que se hallan los de Microsoft(r)) no cumplen con este requerimiento, enviando paquetes RST siempre, independientemente de si el puerto está abierto o cerrado. Como resultado, no son vulnerables a este tipo de scaneo. Sin embargo, es posible realizarlo en otros sistemas Unix.

Este último es un ejemplo en el que se puede apreciar que algunas vulnerabilidades se presentan en las aplicación de tecnologías (en este caso el protocolo TCP nacido en los años ´70) y no sobre sus implementaciones. Es más, se observa que una implementación incorrecta (la de Microsoft(r)) soluciona el problema. “Muchos de los problemas globales de vulnerabilidades son inherentes al disño original de algunos protocolos”.

Fragmentation Scanning


Esta no es una nueva técnica de scaneo como tal, sino una modificación de las anteriores. En lugar de enviar paquetes completos de sondeo, los mismos se particionan en un par de pequeños fragmentos IP. Así, se logra partir una cabecera IP en distintos paquetes para hacerlo más difícil de monitorizar por los filtros que pudieran estar ejecutándose en la máquina objetivo.

Sin embargo, algunas implementaciones de estas técnicas tienen problemas con la gestión de este tipo de paquetes tan pequeños, causando una caída de rendimiento en el sistema del intruso o en el de la víctima. Problemas de esta índole convierte en detectables a este tipo de ataque.

Eavesdropping-Packet Sniffing

Muchas redes son vulnerables al Eavesdropping, o a la pasiva intercepción (sin modificación) del tráfico de red. Esto se realiza con Packet Sniffers, los cuales son programas que monitorean los paquetes que circulan por la red. Los Sniffers pueden ser colocado tanto en una estación de trabajo conectada a la red, como a un equipo Router o a un Gateway de Internet, y esto puede ser realizado por un usuario con legítimo acceso, o por un intruso que ha ingresado por otras vías.

En la cabecera de los paquetes enviados a través de una red, entre otros datos, se tiene, la dirección del emisor y la del destinatario. De esta forma, independientemente de protocolo usado, las tramas llegan a su destino. Cada maquina conectada a la red (mediante una placa con una dirección única) verifica la dirección destino del paquete. Si estas direcciones son iguales asume que el paquete enviado es para ella, caso contrario libera el paquete para que otras placas lo analicen.

Un Sniffers consiste en colocar a la placa de red en un modo llamado promiscuo, el cual desactiva el filtro de verificación de direcciones y por lo tanto todos los paquetes enviados a la red llegan a esta placa (computadora donde está instalado el Sniffer).Inicialmente este tipo de software, era únicamente utilizado por los Administradores de redes locales, aunque con el tiempo llegó a convertirse en una herramienta muy usada por los intrusos.

Actualmente existen Sniffers para capturar cualquier tipo de información específica. Por ejemplo passwords de un recurso compartido o de acceso a una cuenta, que generalmente viajan sin encriptar al ingresar a sistemas de acceso remoto. También son utilizados para capturar números de tarjetas de crédito y direcciones de e-mails entrantes y salientes. El análisis de tráfico puede ser utilizado también para determinar relaciones entre organizaciones e individuos.Para realizar estas funciones se analizan las tramas de un segmento de red, y presentan al usuario sólo las que interesan.

Normalmente, los buenos Sniffers, no se pueden detectar, aunque la inmensa mayoría, y debido a que están demasiado relacionados con el protocolo TCP/IP, si pueden ser detectados con algunos trucos.

Snooping-Downloading

Los ataques de esta categoría tienen el mismo objetivo que el Sniffing: obtener la información sin modificarla.

Sin embargo los métodos son diferentes. Aquí, además de interceptar el tráfico de red, el atacante ingresa a los documentos, mensajes de correo electrónico y otra información guardada, realizando en la mayoría de los casos un downloading (copia de documentos) de esa información a su propia computadora, para luego hacer un análisis exhaustivo de la misma.

El Snooping puede ser realizado por simple curiosidad, pero también es realizado con fines de espionaje y robo de información o software. Los casos mas resonantes de este tipo de ataques fueron: el robo de un archivo con mas de 1700 números de tarjetas de crédito desde una compañía de música mundialmente famosa, y la difusión ilegal de reportes oficiales reservados de las Naciones Unidas, acerca de la violación de derechos humanos en algunos países europeos en estado de guerra.

ATAQUES DE AUTENTIFICACIÓN

Este tipo de ataque tiene como objetivo engañar al sistema de la víctima para ingresar al mismo. Generalmente este engaño se realiza tomando las sesiones ya establecidas por la víctima u obteniendo su nombre de usuario y password.

Spoofing-Looping

Spoofing puede traducirse como “hacerse pasar por otro” y el objetivo de esta técnica, justamente, es actuar en nombre de otros usuarios, usualmente para realizar tareas de Snooping o Tampering (ver a continuación Ataques de Modificación y Daño). Una forma común de Spoofing es conseguir el nombre y password de un usuario legítimo para, una vez ingresado al sistema, tomar acciones en nombre de él.

El intruso usualmente utiliza un sistema para obtener información e ingresar en otro, y luego utiliza este para entrar en otro, y así sucesivamente. Este proceso, llamado Looping, y tiene la finalidad de “evaporar” la identificación y la ubicación del atacante.

El camino tomado desde el origen hasta el destino puede tener muchas estaciones, que exceden obviamente los límites de un país. Otra consecuencia del Looping es que una compañía o gobierno pueden suponer que están siendo atacados por un competidor o una agencia de gobierno extranjera, cuando en realidad están seguramente siendo atacado por un Insider, o por un estudiante a miles de Km de distancia, pero que ha tomado la identidad de otros.

La investigación de procedencia de un Looping es casi imposible, ya que el investigador debe contar con la colaboración de cada Administrador de cada red utilizada en la ruta. El envío de falsos e-mails es otra forma de Spoofing que las redes permiten. Aquí el atacante envía E-Mails a nombre de otra persona con cualquier motivo y objetivo. Tal fue el caso de una universidad en EE.UU. que en 1998, que debió reprogramar una fecha completa de exámenes ya que alguien en nombre de la secretaría había cancelado la fecha verdadera y enviado el mensaje a toda la nómina de estudiantes.

Muchos ataques de este tipo comienzan con Ingeniería Social y los usuarios, por falta de cultura, facilitan a extraños sus identificaciones dentro del sistema usualmente través de una simple llamada telefónica.

Spoofing


Este tipo de ataques (sobre protolocos) suele implicar un buen conocimiento del protocolo en el que se va a basar el ataque. Los ataques tipo Spoofing bastante conocidos son el IP Spoofing, el DNS Spoofing y el Web Spoofing IP Spoofing

Con el IP Spoofing, el atacante genera paquetes de Internet con una dirección de red falsa en el campo From, pero que es aceptada por el destinatario del paquete. Su utilización más común es enviar los paquetes con la dirección de un tercero, de forma que la víctima “ve” un ataque proveniente de esa tercera red, y no la dirección real del intruso. El esquema con dos puentes es el siguiente:

Nótese que si la Victima descubre el ataque verá a la PC 3 como su atacante y no el verdadero origen. Este ataque se hizo famoso al usarlo Kevin Mitnick (ver Anexo II).

DNS Spoofing

Este ataque se consigue mediante la manipulación de paquetes UDP pudiéndose comprometer el servidor de nombres de dominios (Domain Name Server-DNS) de Windows NT(c). Si se permite el método de recursión en la resolución de “Nombre”Dirección IP” en el DNS, es posible controlar algunos aspectos del DNS remoto. La recursión consiste en la capacidad de un servidor de nombres para resolver una petición de dirección IP a partir de un nombre que no figura en su base de datos. Este es el método típico (y por defecto) de funcionamiento.

Web Spoofing

En el caso Web Spoofing el atacante crea un sitio web completo (falso) similar al que la víctima desea entrar. Los accesos a este sitio están dirigidos por el atacante, permitiéndole monitorizar todas las acciones de la víctima, desde sus datos hasta las passwords, números de tarjeta de créditos, etc. El atacante también es libre de modificar cualquier dato que se esté transmitiendo entre el servidor original y la víctima o viceversa.

IP Splicing-Hijacking

Se produce cuando un atacante consigue interceptar una sesión ya establecida. El atacante espera a que la victima se identifique ante el sistema y tras ello le suplanta como usuario autorizado.

Utilización de BackDoors


“Las puertas traseras son trozos de código en un programa que permiten a quien las conoce saltarse los métodos usuales de autentificación para realizar ciertas tareas. Habitualmente son insertados por los programadores del sistema para agilizar la tarea de probar código durante la fase de desarrollo”.

Esta situación se convierte en una falla de seguridad si se mantiene, involuntaria o intencionalmente, una vez terminado el producto ya que cualquiera que conozca el agujero o lo encuentre en su código podrá saltarse los mecanismos de control normales.

Utilización de Exploits


Es muy frecuente ingresar a un sistema explotando agujeros en los algoritmos de encriptación utilizados, en la administración de las claves por parte la empresa, o simplemente encontrado un error en los programas utilizados.

Los programas para explotar estos “agujeros” reciben el nombre de Exploits y lo que realizan es aprovechar la debilidad, fallo o error hallado en el sistema (hardware o software) para ingresar al mismo. Nuevos Exploits (explotando nuevos errores en los sistemas) se publican cada día por lo que mantenerse informado de los mismos y de las herramientas para combatirlos es de vital importancia.

Obtención de Passwords


Este método comprende la obtención por “Fuerza Bruta” de aquellas claves que permiten ingresar a los sistemas, aplicaciones, cuentas, etc. atacados. Muchas passwords de acceso son obtenidas fácilmente porque involucran el nombre u otro dato familiar del usuario y, además, esta nunca (o rara vez) se cambia. En esta caso el ataque se simplifica e involucra algún tiempo de prueba y error. Otras veces se realizan ataques sistemáticos (incluso con varias computadoras a la vez) con la ayuda de programas especiales y “diccionarios” que prueban millones de posibles claves hasta encontrar la password correcta. La política de administración de password será discutida en capítulos posteriores.

Uso de Diccionarios

Los Diccionarios son archivos con millones de palabras, las cuales pueden ser passwords utilizadas por los usuarios. Este archivo es utilizado para descubrir dicha password en pruebas de fuerza bruta. El programa encargado de probar cada una de las palabras encripta cada una de ellas (mediante el algoritmo utilizado por el sistema atacado) y compara la palabra encriptada contra el archivo de passwords del sistema atacado (previamente obtenido). Si coinciden se ha encontrado la clave de acceso al sistema mediante el usuario correspondiente a la clave hallada. Actualmente es posible encontrar diccionarios de gran tamaño orientados, incluso, a un área específico de acuerdo al tipo de organización que se este atacando.

En la siguiente tabla podemos observar el tiempo de búsqueda de una clave de acuerdo a su longitud y tipo de caracteres utilizados. La velocidad de búsqueda se supone en 100.000 passwords por segundo (este número suele ser mucho mayor dependiendo del programa utilizado). Aquí puede observarse la importancia e la utilización de passwords con 8 caracteres de longitud (al menos) y con todos los caracteres disponibles.

DENIAL OF SERVICE (DOS)

Los protocolos existentes actualmente fueron diseñados para ser empleados en una comunidad abierta y con una relación de confianza mutua. La realidad indica que es más fácil desorganizar el funcionamiento de un sistema que acceder al mismo; así los ataques de Negación de Servicio tienen como objetivo saturar los recursos de la víctima de forma tal que se inhabilita los servicios brindados por la misma.

Jamming o Flooding


Este tipo de ataques desactivan o saturan los recursos del sistema. Por ejemplo, un atacante puede consumir toda la memoria o espacio en disco disponible, así como enviar tanto tráfico a la red que nadie más pueda utilizarla.

Aquí el atacante satura el sistema con mensajes que requieren establecer conexión. Sin embargo, en vez de proveer la dirección IP del emisor, el mensaje contiene falsas direcciones IP (usando Spoofing y Looping). El sistema responde al mensaje, pero como no recibe respuesta, acumula buffers con información de las conexiones abiertas, no dejando lugar a las conexiones legítimas. Muchos ISPs (proveedores de Internet) han sufrido bajas temporales del servicio por ataques que explotan el protocolo TCP. Muchos Hosts de Internet han sido dados de baja por el “ping de la muerte” (una versión-trampa del comando ping). Mientras que el ping normal simplemente verifica si un sistema esta enlazado a la red, el ping de la muerte causa el bloqueo instantáneo del equipo. Esta vulnerabilidad ha sido ampliamente utilizada en el pasado pero, aún hoy pueden encontrarse sistemas vulnerables. Otra acción común es la de enviar millares de e-mails sin sentido a todos los usuarios posibles en forma continua, saturando los sistemas destinos.

Syn Flood
Como ya se explicó en el TCP SYN Scanning el protocolo TCP se basa en una conexión en tres pasos. Si el paso final no llega a establecerse, la conexión permanece en un estado denominado “semiabierto”. El Syn Flood es el más famoso de los ataques del tipo Denial of Service, publicado por primera vez en la revista Phrack. Se basa en un “saludo” incompleto entre los dos hosts. El Cliente envía un paquete SYN pero no responde al paquete ACK ocasionando que la pila TCP/IP espere cierta cantidad de tiempo a que el host hostil responda antes de cerrar la conexión. Si se crean muchas peticiones incompletas de conexión (no se responde a ninguna), el Servidor estará inactivo mucho tiempo esperando respuesta. Esto ocasiona la lentitud en los demás servicios.

El problema es que muchos sistemas operativos tienen un límite muy bajo en el número de conexiones “semiabiertas” que pueden manejar en un momento determinado. Si se supera ese límite, el servidor sencillamente dejará de responder a las nuevas peticiones de conexión que le vayan llegando. Las conexiones “semiabiertas” van caducando tras un tiempo, liberando “huecos” para nuevas conexiones, pero mientras el atacante mantenga el Syn Flood, la probabilidad de que una conexión recién liberada sea capturada por un nuevo SYN malicioso es muy alta.

La potencia de este ataque reside en que muchos sistemas operativos fijan un límite del orden de 5 a 30 conexiones “semiabiertas”, y que éstas caducan alcabo de un par de minutos. Para mantener el servidor fuera de servicio, un atacante sólo necesita enviar un paquete SYN cada 4 segundos (algo al alcance de, incluso, un módem de 300 baudios). Este ataque suele combinarse también con el IP Spoofing, de forma de ocultar el origen del ataque.

Connection Flood

La mayoría de las empresas que brindan servicios de Internet (ISP) tienen un límite máximo en el número de conexiones simultaneas. Una vez que se alcanza ese límite, no se admitirán conexiones nuevas. Así, por ejemplo, un servidor Web puede tener, por ejemplo, capacidad para atender a mil usuarios simultáneos. Si un atacante establece mil conexiones y no realiza ninguna petición sobre ellas, monopolizará la capacidad del servidor. Las conexiones van caducando por inactividad poco a poco, pero el atacante sólo necesita intentar nuevas conexiones, (como ocurre con el caso del Syn Flood) para mantener fuera de servicio el servidor.

Net Flood

En estos casos, la red víctima no puede hacer nada. Aunque filtre el tráfico en sus sistemas, sus líneas estarán saturadas con tráfico malicioso, incapacitándolas para cursar tráfico útil. Un ejemplo habitual es el de un teléfono: si alguien quiere molestar, sólo tiene que llamar, de forma continua. Si se descuelga el teléfono (para que deje de molestar), tampoco se puede recibir llamadas de otras personas. Este problema es habitual, por ejemplo, cuando alguien intenta mandar un fax empleando el número de voz: el fax insiste durante horas y sin que el usuario llamado pueda hacer nada al respecto.

En el caso de Net Flooding ocurre algo similar. El atacante envía tantos paquetes de solicitud de conexión que las conexiones auténticas simplemente no pueden competir. En casos así el primer paso a realizar es el ponerse en contacto con el Proveedor del servicio para que intente determinar la fuente del ataque y, como medida provisional, filtre el ataque en su extremo de la línea. El siguiente paso consiste en localizar las fuentes del ataque e informar a sus Administradores, ya que seguramente se estarán usando sus recursos sin su conocimiento y consentimiento. Si el atacante emplea Ip Spoofing, esto puede ser casi imposible, ya que en muchos casos la fuente del ataque es, a su vez, víctima y el origen último puede ser prácticamente imposible de determinar.

Land Attack


Este ataque consiste en un Bug (error) en la implementación de la pila TCP/IP de las plataformas Windows(c). El ataque consiste en mandar a algún puerto abierto de un servidor (generalmente al 113 o al 139) un paquete, maliciosamente construido, con la dirección y puerto origen igual que la dirección y puerto destino. Por ejemplo se envían un mensaje desde la dirección 10.0.0.1:139 hacia ella misma. El resultado obtenido es que luego de cierta cantidad de mensajes enviados-recibidos la máquina termina colgándose.

Existen ciertas variantes a este método consistente, por ejemplo, en enviar el mensaje a una dirección específica sin especificar el puerto Smurf o Broadcast Storm. Este ataque es bastante simple y a su vez devastador. Consiste en recolectar una serie de direcciones para a continuación mandar una petición ICMP (simulando un Ping) a cada una de ellas en serie, varias veces, falsificando la dirección IP de origen. Este paquete maliciosamente manipulado, será repetido en Broadcast, y cientos ó miles de hosts (según la lista de direcciones de Broadcast disponible) mandarán una respuesta a la víctimacuya dirección IP figura en el paquete ICMP.

Supernuke o Winnuke

Un ataque característico (y quizás el más común) de los equipos con Windows(c) es el Nuke, que hace que los equipos que escuchan por el puerto UDP 137 a 139 (utilizados por los protocolos Netbios de Wins), queden fuera de servicio (o disminuyan su rendimientos) al enviarle paquetes UDP manipulados. Generalmente se envían fragmentos de paquetes, que la máquina víctima detecta como inválidos pasando a un estado inestable.

Teardrop I y II-Newtear-Bonk-Boink

Al igual que el Supernuke, los ataques Teardrop I y Teardrop II afectan a fragmentos de paquetes. Algunas implementaciones de colas IP no vuelven a armar correctamente los fragmentos que se superponen, haciendo que el sistema se cuelgue. Windows NT(c) 4.0 de Microsoft(r) es especialmente vulnerable a este ataque. Aunque existen Patchs (parches) que pueden aplicarse para solucionar el problema, muchas organizaciones no lo hacen, y las consecuencias pueden devastadoras.

Los ataque tipo Teardrop son especialmente peligrosos ya que existen multitud de implementaciones (algunas de ellas forman paquetes), que explotan esta debilidad. Las más conocidas son aquellas con el nombre Newtear, Bonk y Boink.

E-Mail Bombing-Spamming

El E-Mail Bombing consiste en enviar muchas veces un mensaje idéntico a una misma dirección, saturando así mailbox del destinatario.El Spamming, en cambio se refiere a enviar el e-mail miles de usuarios, hayan estos solicitados el mensaje o no. Es muy utilizado por las empresas para publicitar sus productos. El Spamming esta siendo actualmente tratado por las leyes europeas como una violación de los derechos de privacidad del usuario.

ATAQUES DE MODIFICACIÓN-DAÑO

Tampering o Data Diddling

Esta categoría se refiere a la modificación desautorizada de los datos o el software instalado en el sistema víctima (incluyendo borrado de archivos). Son particularmente serios cuando el que lo realiza ha obtenido derechos de Administrador o Supervisor, con la capacidad de disparar cualquier comando y por ende alterar o borrar cualquier información que puede incluso terminar en la baja total del sistema. Aún así, si no hubo intenciones de “bajar” el sistema por parte del atacante; el Administrador posiblemente necesite darlo de baja por horas o días hasta chequear y tratar de recuperar aquella información que ha sido alterada o borrada. Como siempre, esto puede ser realizado por Insiders o Outsiders, generalmente con el propósito de fraude o de dejar fuera de servicio a un competidor.

Son innumerables los casos de este tipo: empleados (o externos) bancarios que crean falsas cuentas para derivar fondos de otras cuentas, estudiantes que modifican calificaciones de exámenes, o contribuyentes que pagan para que se les anule una deuda impositiva. Múltiples Web Sites han sido víctimas del cambio en sus páginas por imágenes (o manifiestos) terroristas o humorísticos, como el ataque de The Mentor, ya visto, a la NASA. Otras veces se reemplazan versiones de software por otros con el mismo nombre pero que incorporan código malicioso (virus, troyanos, etc.). La utilización de programas troyanos y difusión de virus esta dentro de esta categoría, y se profundizará sobre el tema en otra sección el presente capítulo.

Borrado de Huellas

El borrado de huellas es una de las tareas mas importantes que debe realizar el intruso después de ingresar en un sistema, ya que si se detecta su ingreso el Administrador buscará como conseguir “tapar el hueco” de seguridad, evitar ataques futuros e incluso rastrear al atacante. Las Huellas son todas las tareas que realizó el intruso en el sistema y por lo general son almacenadas en Logs (archivo que guarda la información de lo que se realiza en el sistema) por el sistema operativo. Los archivos Logs son una de la principales herramientas (y el principal enemigo del atacante) con las que cuenta un Administrador para conocer los detalles de las tareas realizadas en el sistema y la detección de intrusos

Ataques Mediante Java Applets


Java es un lenguaje de programación interpretado desarrollado inicialmente por SUN. Su mayor popularidad la merece en su alto grado de seguridad. Los más usados navegadores actuales, implementan Máquinas Virtuales Java (MVJ) para ser capaces de ejecutar programas (Applets) de Java. Estos Applets, al fin y al cabo no son más que código ejecutable y como tal, susceptible de ser manipulado por intrusos. Sin embargo, partiendo del diseño, Java siempre ha pensado en la seguridad del sistema. Las restricciones a las que somete a los Applets son de tal envergadura (imposibilidad de trabajar con ficheros a no ser que el usuario especifique lo contrario, imposibilidad de acceso a zonas de memoria y disco directamente, firma digital, etc.) que es muy difícil lanzar ataques. Sin embargo, existe un grupo de expertos especializados en descubrir fallas de seguridad en las implementaciones de las MVJ.

Ataques Mediante JavaScript y VBScript

JavaScript (de empresa Netscape(r)) y VBScript (de Microsoft(r)) son dos lenguajes usados por los diseñadores de sitios Web evitando el uso de Java. Los programas realizados son interpretados por el navegador. Aunque los fallos son mucho más numerosos en versiones antiguas de JavaScript, se pueden encontrar algunos de los siguientes:

    Cuando apareció JavaScript, éste permitía el envío de mensajes de correo electrónico sin el reconocimiento del usuario, la lectura del historial de páginas visitadas, la lectura de directorios y de archivos. Estas fueron razón más que suficiente para que cientos de intrusos informáticos se aprovecharan de estas debilidades.
    El problema más importante apareció en Netscape 2.0 y fue bautizado como “Stuck On Load”. Lo que sucedía es que se podía crear una ventana de 1*1 pixeles, por la cual los intrusos podían seguir extrayendo información sin que el usuario se enterase y aún cuando éste hubiese salido de la página, ya que esta ventana (un simple punto en la pantalla) era imperceptible para el usuario.

Ataques Mediante ActiveX

ActiveX es una de las tecnologías más potentes que ha desarrollado Microsoft(r). Mediante ActiveX es posible reutilizar código, descargar código totalmente funcional de un sitio remoto, etc. Esta tecnología es considerada la respuesta de Microsoft(r) a Java. ActiveX soluciona los problemas de seguridad mediante certificados y firmas digitales. Una Autoridad Certificadora (AC) expende un certificado que acompaña a los controles activos y a una firma digital del programador. Cuando un usuario descarga una página con un control, se le preguntará si confía en la AC que expendió el certificado y/o en el control ActiveX. Si el usuario acepta el control, éste puede pasar a ejecutarse sin ningún tipo de restricciones (sólo las propias que tenga el usuario en el sistema operativo). Es decir, la responsabilidad de la seguridad del sistema se deja en manos del usuario, ya sea este un experto cibernauta consciente de los riesgos que puede acarrear la acción o un perfecto novato en la materia.

Esta última características es el mayor punto débil de los controles ActiveX ya que la mayoría de los usuarios aceptan el certificado sin siquiera leerlo, pudiendo ser esta la fuente de un ataque con un control dañino.

La filosofía ActiveX es que las Autoridades de Certificación se fían de la palabra del programador del control. Es decir, el programador se compromete a firmar un documento que asegura que el control no es nocivo. Evidentemente siempre hay programadores con pocos escrúpulos o con ganas de experimentar. Así, un conocido grupo de hackers alemanes, desarrolló un control ActiveX maligno que modificaba el programa de Gestión Bancaria Personal Quicken95(c) de tal manera que si un usuario aceptaba el control, éste realizaba la tarea que supuestamente tenía que hacer y además modificaba el Quicken, para que la próxima vez que la víctima se conectara a su banco, se iniciara automáticamente una transferencia a una cuenta del grupo alemán.

Otro control ActiveX muy especialmente “malévolo” es aquel que manipula el código de ciertos exploradores, para que éste no solicite confirmación al usuario a la hora de descargar otro control activo de la Web. Es decir, deja totalmente descubierto a ataques con tecnología ActiveX el sistema de la víctima. La autentificación de usuarios mediante Certificados y las Autoridades Certificadoras será abordada con profundidad en capítulos posteriores.

Ataques por Vulnerabilidades en los Navegadores

Generalmente los navegadores no fallan por fallos intrínsecos, sino que fallan las tecnologías que implementan, aunque en este punto analizaremos realmente fallos intrínsecos de los navegadores, como pueden ser los “Buffer Overflow”. Los “Buffer Overflows” consisten en explotar una debilidad relacionada con los buffers que la aplicación usa para almacenar las entradas de usuario. Por ejemplo, cuando el usuario escribe una dirección en formato URL ésta se guarda en un buffer para luego procesarla. Si no se realizan las oportunas operaciones de comprobación, un usuario podría manipular estas direcciones.

Los protocolo usado pueden ser HTTP, pero también otros menos conocidos, internos de cada explorador, como el “res:” o el “mk:”. Precisamente existen fallos de seguridad del tipo “Buffer Overflow” en la implementación de estos dos protocolos. Para poder lanzar este tipo de ataques hay que tener un buen conocimiento de lenguaje Assembler y de la estructura interna de la memoria del Sistema Operativo utilizado. También se puede citar el fallo de seguridad descubierto por Cybersnot Industries(r) relativo a los ficheros “.lnk” y “.url”de Windows 95(c) y NT(c) respectivamente. Algunas versiones de Microsoft Internet Explorer(c) podían ser utilizadas para ejecutar la aplicación que se deseara siempre que existiera en el ordenador de la víctima (por ejemplo el tan conocido y temido format.com).

Para más información relacionada con los ataques intrínsecos a los navegadores, se aconsejan las páginas no oficiales de seguridad tanto en Internet Explorer(c) como en Netscape Communicator(c).

EXPLOTACIÓN DE ERRORES DE DISEÑO, IMPLEMENTACIÓN Y OPERACIÓN

Muchos sistemas están expuestos a “agujeros” de seguridad que son explotados para acceder a archivos, obtener privilegios o realizar sabotaje. Estas vulnerabilidades ocurren por variadas razones, y miles de “puertas invisibles” son descubiertas (cada día) en sistemas operativos, aplicaciones de software, protocolos de red, browsers de Internet, correo electrónico y todas clase de servicios informático disponible.

Los Sistemas operativos abiertos (como Unix y Linux) tienen agujeros mas conocidos y controlados que aquellos que existen en sistemas operativos cerrados (como Windows(c)). La importancia (y ventaja) del código abierto radica en miles de usuarios analizan dicho código en busca de posibles bugs y ayudan a obtener soluciones en forma inmediata.

Constantemente encontramos en Internet avisos de nuevos descubrimientos de problemas de seguridad (y herramientas de Hacking que los explotan), por lo que hoy también se hace indispensable contar con productos que conocen esas debilidades, puedan diagnosticarlas y actualizar el programa afectado con el parche adecuado.


THC-Hydra


THC-Hydra

THC-Hydra es una aplicación con licencia GPL que funciona bajo cualquier distribución Linux/Unix, Windows (bajo Cygwin) y Mac, que soporta multitud de protocolos y que es extremadamente rápida a la hora de comprobar la robustez de cualquier contraseña. Entre los protocolos y servicios soportados destacan: FTP, Telnet, HTTP, HTTP Form, Imap, SMB, Ldap, VNC, POP3, SSH y un largo etcétera.

A modo de ejemplo, para analizar un sistema con el puerto de MySQL (TCP 3306) abierto el comando completo sería:

hydra -l root -p root 192.168.1.23 mysql

Sentencias Elementales THC-Hydra:

-l Es el nombre de usuario, si se usa en mayúscula (-L) se puede poner un diccionario (*.txt) con usuarios (muy práctico cuando no se sabe el usuario) [-l admin] [-L admin.txt].

-p Se pone el password, si se usa en mayúscula (-P) se puede poner un diccionario de passwords (es lo más lógico usar esta opción) [-p password] [-P diccionario.txt].

-v Es el verbose mode que imprime en pantalla los intentos de usarios-password, si se usa con mayúscula (-V) Hydra nos dará más detalles del proceso de crackeo [-v] [-vV].

192.168.1.23 Esto se remplaza por el IP de nuestro objetivo [IP/host].
 
mysql El protocolo al cual se ataca, puede ser todos los mensionados arriba (ftp, telnet, pop3, snmp, etc…) [protocolo].

Luego de eso empezaría el largo proceso de crackear una contraseña por fuerza bruta, y rezar para que el password se encuentre en el diccionario.txt o estamos perdidos.

Otras sentencias muy útiles de THC-Hydra:

-R esto restaura la sesión anterior que se nos haya caído (muy normal cuando nuestro pc no es muy bueno) o que hayamos abortado [-R].

-S se conecta por SSL [-S].

-s Se especifica un puerto por si no es el por defecto en el protocolo (ejemplo: telnet (23), ftp (21), smtp (25), etc…) [-s 4450].

-C Esta sentencia se usa eliminando -l/-L y -p/-P ya que aquí se especifica un diccionario combo, osea que tenga tanto usuario como contraseña con el formato user:pass [-C diccionario-combo.txt].

-o Esto es muy útil ya que nos ira dejando en un documento que nosotros especifiquemos todas las contraseñas y usuarios que vaya sacando [-o output.txt].

-f Se cierra Hydra después de encontrar el primer password [-f].

-w Con este se puede especificar el tiempo máximo (en segundos) que queramos que este crackeando passwords [-w 9999999].

-t Este es uno de los más útiles si es que cuentas con un computador con buenas características y buena banda ancha, ya que permite cambiar la cantidad de contraseñas/passwords que se crackean en paralelo que son 16 por defecto [-t 32].

Instalar hydra versión grafica en ubuntu y debian

Primero que nada debemos instalar las dependencias. Abrimos la terminal y escribimos los siguiente:

apt-get install pkg-config libgtk2.0-dev
apt-get install libssl-dev
apt-get install libpq-dev
apt-get install libsvn-dev libapr1-dev libaprutil1-dev
apt-get install firebird2.1-dev
apt-get install libmysqlclient-devsudo apt-get install libncp-dev
apt-get install libssh-dev

Luego en consola escribimos lo siguiente.

sudo apt-get install hydra

Luego escribimos xhydra



miércoles, 1 de enero de 2014

Owasp Xelenium - XSS Scanner


Owasp Xelenium - XSS Scanner

Owasp Xelenium - XSS Scanner es una herramienta de pruebas de seguridad que se puede utilizar para identificar las vulnerabilidades de seguridad presentes en la aplicación web.

Xelenium utiliza el código abierto de automatización de pruebas funcionales de herramientas "Selenium", como su motor y ha sido construido usando Java Swing.

Esta versión ayuda al usuario en la identificación de la vulnerabilidad Cross Site Scripting (XSS) y las amenazas presentes en la aplicación web. En la versión posterior, Xelenium se verá reforzada de tal manera que se podrían identificar las principales vulnerabilidades.
Para abrir la interfaz gráfica tecleamos: 
    java -jar Xelenium_v3.jar
    
La forma en que funciona esta herramienta es muy fácil, solo tenemos que colocar el sitio web que queramos auditar en "Enter URL", presionamos en "Capture Pages"  y esperamos a que la herramienta cargue los módulos del sitio web.

Terminado dicho proceso, presionamos click en "Perfom XSS Scan" por lo que la herramienta inyectara los códigos Javascript para encontrar las vulnerabilidades XSS.