martes, 30 de abril de 2013

Securizando terminales iOS para evitar su uso.

¿Se puede securizar un dispositivo iOS para evitar su uso? la respuesta es, sí.
Existen determinadas ocasiones en las que se requiere tener un dispositivo expuesto a todo tipo de personas, conllevando el riesgo de que lo pueden dejar inutilizable o inoperativo.
Solemos ver más a menudo sitios en los que se dispone de un iPad para que éste sea utilizado por las personas que pasan por ese local. Ya bien sea para una desmostración del terminal, o para simple entretenimiento de quien pasa por allí.
Sin embargo con esto corremos el riego de que un usuario malintencionado bloquee nuestro dispositivo, elimine aplicaciones, se descargue software con nuestra cuenta de appsote, o cualquier otra cosa...
Se sabe que hay medidas de seguridad que pueden impedir algunos usos del dipositivo. Como puede ser la limitación de aplicaciones, o el bloqueo de nuestra cuenta de la appstore.

Esto sigue dejando muchas puertas abierta para que dicho dispositivo acabe inutilizable como ya he dicho antes, por culpa de algún gracioso.

Es cierto, que bastaría con restaurar el iOS para volver a dejarlo como nuevo, pero esto ya es mucho inconveniente, casi mejor habilitamos solo y exclusivamente aquello que queremos que puedan hacer los usuarios.

Para ello existe un manera de hacerlo mediante el asistente de accesibilidad que trae el propio iOS. Con él podemos limitar el usu a una sola aplicación.

Para que todos entendamos como funciona esto, sería algo así como tener nuestro Windows capado completamente y que cuando quisieramos hacer algo más de la cuenta, nos pidiera permisos de Administrador.

Os dejo el Link donde explican pasa a paso como hacerlo.

Acerca del Acceso Guiado

lunes, 29 de abril de 2013

Pequeño Bug en Lumension permite saltarse la protección del USB con un iPhone

Lumension es un software que se utiliza y sirve para poder habilitar o deshabilitar cualquier dispositivo de E/S de un PC. Suele ser instalado por los administradores para evitar que los usuarios puedan utilizar cosas como el CD, los USB o hasta incluso el Bluetooh o el Wifi.

Esto nos ayuda a tener un grado más de seguridad en nuestra red. Sin embargo existen algunas pequeñas debilidades en cuanto al software y su configuración que nos permiten saltarnos sus protecciones.

Una de ellas es la opción de poder saltarnos los bloqueos del ordenador mediante una máquina virtual. Si tuviéramos la posibilidad de tener una máquina virtual en nuestro equipo los dispositivos como los USB podrían ser conectados directamente a la máquina virtual sin pasar por el host físico. Esto es posible gracias a los porpios drivers virtuales que se instalan con VMWare o Virtualbox, por ejemplo.

Esta se puede solucionar capando también los dispositivos de las máquinas virtuales dentro de la configuración de Lumension.

Por otra parte en existe un pequeño fallo que permite que, aunque Lumnesion esté configurado para no permitir las conexiones de E/S de USB, se reconazca un dispositivo con una versión iOS superior a la establecida oficialmente.

Esto es lo siguiente, Lumension  capa los dispositivos iOS en función de su versión. Por lo tanto si en tenemos una versión Beta instalada en un iPhone el ordenador podrá saltarse el bloque que se aplica con Lumension.

Luego ya dependería de la imaginación de cada uno para utilizar el teléfono como dispositivo de almacenamiento para poder extraer información o traspasar programas y documentos al equipo.

miércoles, 24 de abril de 2013

ParameterFuzz v1.5 de la mano de Germán Sánchez

Ya ha salido la versión de esta nueva herramienta, que permite hacer entre otras cosas inyecciones de XSS, SQL, etcétera.
Voy a explicar de una manera muy elemental qué es, y para qué sirve.

Qué es:

ParameterFuzz es una herramienta que te ayuda parametrizar las peticiones que se hacen a una web. Esto significa que nos ayuda a no tener que escribir ni sabernos un gran número de parámetros para sacar una password, descubrir directorios, o hacer ataques de cross site scripting.

Esta herrmienta viene ya cargada con muchos de los parámetros más utilizados a la hora de encontrar vulnerabilidades web. esto nos ayuda a ahorrarnos la molestia de tener que buscar en Google cuales era, por ejemplo, la cadena de caracteres que se hacían para una inyección SQL.
También nos permite poder controlar dichos parámetros pudiendo nosotros mismo poner los que más nuestro gusto estén.

Trae consigo un navegador para ver el resultado de nuestro ataque.

Ataque+facebook
Img 1: ParameterFuzz mostrando sus múltiples opciones

Para que sirve:

Básicamente nos permite automatizar y agilizar una auditoría web. Está pensada trabajar sobre PHP, HTML, .ASP, SQLi, etc.
En un futuro no se descarta la idea de poder ofrecer un apartado de fuerza bruta mediante diceccionarios o cadena de caracteres.
Ya que podría utilizarse de la misma manera que lo hace Burpsuit a la hora de capturar el Login de una página.

Descarga
www.enelpc.com

martes, 23 de abril de 2013

Hackers & Developers Magazine


Una joven revista con origen Argentino nació a finales del 2012. Ya han lanzado 6 números de su megazine. Se distribuye bajo la licencia Creative Commons Atribución NoComercial CompartirIgual 3.0.
Y será así para siempre. Su financiación son las donaciones que aportan los propios lectores.

Gracia al trabajo de sus autores tenemos de nuevo una revista en el mundo Hacker en habla hispana.
Aunque en sus primeros números tienen más parte de programación que de seguridad informática, esta revista promete, y mucho.
El diseño de la misma está bien acabado, y su lectura se hace bastante fácil, gracias al tipod e letra que han elegido para redactarla.

En sus artículos no faltan detalles para describir el proceso de lo que quieren explicar, para que cada uno pueda seguir los pasos sin perderse.

Al estilo de Hacking9, podemos encontrar artícluos con contenido de un nivel muy alto.

Nosotros sabemos de su existencia desde hace un par de meses, y tenemos bien claro que está revista será leída y descargada por muchísimas personas. Así lo indicas sus estadísticas de descargas, que con el primer número ya han conseguido cerca de las 50.000 descargas.

Hackers & Developers Magazine

lunes, 22 de abril de 2013

Craso error en las altas de nuevos usuarios.

Todas las medidas de seguridad que se deben de tomar en una empresa siempre son pocas para evitar que un Hacker encuentre una puerta por la que acceder a sus sistemas.
En cualquier Libro de seguridad, de hacker, de pentesting, o en cualquier Security Baseline encontraremos con que sus autores hacen mucho inca pié en securizar un sistema por innecesario que parezca.
El más mínimo detalle puede ocasionar una brecha de seguridad.
Cuando una persona entra a formar parte de una empresa es habitual encontrar que los administradores de sistemas faciliten una primera contraseña al usuario, siendo ésta genérica, para poder acceder por primera vez a su Windows. Posteriormente el propio sistema le pudrirá que cambie su contraseña de manera obligatoria.

Los administradores de sistemas suelen pensar que esto es una buena medida de seguridad, ya que alguien solo podrá utilizar esa cuenta nueva sabiendo la contraseña que ellos facilitan y accediendo en el trascurso en el que ellos mismo le mandan la contraseña al usuario, y el usuario accede a su ordenador.
Para ellos es casi impensable que alguien pueda utilizar esto para entrar en sus sistemas.

Sin embargo llevado a la práctica es mucho más peligroso. Sabiendo la contraseña inicial que se asigna por defecto, utilizando como ejemplo la ingeniería social, se podría preparar una ataque por fuerza bruta.

Veamos una prueba de concepto (PoC):
Se han omitido algunos detalles para evitar su reproducción total.

Como primer paso buscamos los posibles  puertos que tenga abierto.

Nmap
Img 1: Puerto 25 (SMTP) localizado con nmap.
Como ya tenemos la contraseña que previamente hemos obtenido mediante ingeniería social. Solo nos faltaría los nombres de usuario para preparar la herramienta que se encargará de hacer el trabajo por nosotros.

Para ello podemos utilizar varias formar de encontrar el nombre de usuario. La más rápida suele ser utilizando fuerza bruta mediante un diccionario.

Esto puede ser tan fácil como descargarse un buen diccionario de SkullSecurity
y cargarlo en la herramienta que hemos comentado antes.

Como norma general los nombres de usuario de una empresa suelen componerse de la siguiente manera:

  • inicial del nombre + primer apellido
  • Inicial del nombre + primer apellido + inicial del segundo apellido
  • nombre + inicial de primer y segundo apellido
  • nombre + "punto" + primer apellido
Img 2: Obtención de usuario y password válidos con xHydra.
 Al final obtenemos un gran numero de usuarios con esa contraseña por defecto. Estos usuarios pueden ser nuevas incorporaciones o simplemente incorporaciones que en su día se dieron de baja, el usuario no cambio las password, y como descuido final el administrador no lo dio de baja.
Al final esto provoca un enorme agujero de seguridad.

miércoles, 17 de abril de 2013

Hackear con MAC OS X también es posible

Mucho de nosotros cuando empezamos a indagar en los sistemas de Apple nos llevamos una gran sorpresa al descubrir que la gran mayoría de las aplicaciones que existen para otras plataformas, también las hay para Mac. Y en ocasiones son mucho mejores las versiones de Mac que la de otros sistemas.
Por defecto Mac OS X viene con una herramienta para analizar nuestra red. Una utilidad de red que está muy bien para un usuario sin conocimientos en redes.

Network utility
Img 1: Utilidad de Red de Mac OS X. Instalada por defecto.


Sin embargo esto se nos queda algo corto. Como suele pasar con Apple cuanto más vamos investigando sobre él, más descubrimos. el por qué digo esto es sencillo, en la mayoría de las ocasiones Apple intenta hacer sus productos intuitivos y práticos para que el usuario tenga una experiencia muy grata. Sin embargo debajo de todo esto existe una gran máquina con un gran potencial.

En este caso voy hacer referencia a TCPDump, el famosísimo Sniffer que ya viene por defecto con Mac OS X. Éste ya no se nos quedaba tan corto como la simple aplicación de usuario que os comentaba antes.

Por otra parte, y siguiendo por la rama de los sniffer podemos descargarnos Wireshark. Es totalmente compatible para todos los sistemas y funciona igual de bien. No echarás nada de menos que no tengas los otros sistemas.
Una buena herramienta que podemos utilizar junto con con wireshark es Nmap, tanto en entorno gráfico como por terminal. Y 100% funcional.

Hasta aquí ya llevamos 3 herramientas las cueles son bastante potentes y que la gran mayoría de la gente no saben que también existen para todos los entornos.

Si buscamos un escaner de vulnerabilidades semejante a w3af o a SSS (Shadow Security Scanner) una buena alternativa a ellos para Mac OS X es Vega. Para todo el que no lo conozca, se lo recomiendo.

Además si aun así queremos tener algo un poco más "avanzado" podemos ir directamente a la página de Nessus y descargarnos su software para realizar los escaneos con Nessus desde nuestro Mac.

De momento ya tendríamos lo que sería lo básico. Para la gente que tenga ganas de currarselo y qeu sea más atrevida, tiene la posibilidad de instalar Metasploit, peor éste es más complejo de instalar. Aunque no imposible.

Como herramientas adicionales a los test de intrusión es bueno tener un cliente de LDAP como Apache Directory Studio, o xampp para poder instalar nuestro propio entorno web y buscar fallos de seguridad o clonar toda una web, etc.

Otra herramienta que se me olvidaba es SQLite Manager: un complemento de FireFox para poder leer archivos tipo, sqlite, como los que generan las aplicaciones de los móviles, y con la que puedes leer las conversaciones del whatsapp, etc.

Seguramente haya bastantes más aplicaicones interesantes que no conozcamos, pero de momento estas son algunas de las cuales te pueden servir para hacer un primer análisis.

ACTUALIZADO:
Finalmente se creó K0SASP, una herramienta que incluye todo el sofware disponible y compatible para hackear con OS X. Toda la info sobre qué es, cómo usarlo, y que herramientas trae en http://k0sasp.kontrol0.com/

sábado, 13 de abril de 2013

Hacker Épico Capítulo I: Blog

Alex Rodrigo
Img 1: Alejandro Ramos y Rodrigo Yepe. Presentación oficial.
Después de leer el libro de Hacker Épico todo el mundo se quedó con ganas de más. El final del libro te deja a medias queriendo saber como termina la historia.
Todo el mundo se esperaba, y se espera aún, una segunda parte del libro. Pero los autores anunciaron en su día que no había segunda parte, a cambio tendríamos un Comic que continuaría la historia. Supongo que ese Comic está en marcha... de momento desde su página oficial ya han publicado otras 20 hojas que continua donde se quedó.

La verdad es que esta novela engancha tanto, que la parte en la que se explican las técnicas de cada parte toman un segundo plano. Hace que queramos saber más y más sobre que pasará después de.

Yo ya he sacado algo de tiempo para leerme la continuación, pero casi me he quedado peor que estaba antes. ahora quiero saber que le pasa a Marcos y como Ángel investiga en el favor que su amigo le ha pedido.
Desde luego, Alex y Rodrigo deberían plantearse hacer la segunda parte de libro de manera oficial.
Esto tiene pinta de el Caso Bourne siendo una trilogía o quien sabe.

Como amí, le habrá pasado a mucha gente. y hasta puedes imaginarte una película del libro.
Aun que no descarto esta idea, un poco descabella por mi parte, estaría genial poder ver a todos los protagonistas en la pantalla grande.

Tal y como ya os recomendé anteriormente animo a todo el mundo a que se lea tanto el libro como la continuación. Tanto para personas de la informática y del mundo hacker, como para personas que simplemente les guste leer, o les guste las películas de accesión. Te mantendrá enganchado en todo momento. Tanto es así que su lectura se puede hacer en unos días, sin llegar a ser una lectura pesada.

viernes, 12 de abril de 2013

Sin password en la BIOS estás perdido en Mac OS X

Por temas de trabajo me tocó hacer un curso de Mac OS X para implementar los sistemas de Apple con los servidores de Windows. Uno de los puntos fuertes para implementar estos sistemas con los de Windows es que tenían que cumplir con una Security Baseline lo más parecida a las políticas de la empresa que estaban establecidas para los equipos de Windows.
 Por las características de mi trabajo los equipos tienen unas medidas de seguridad bastante elevadas. Cifrado de disco, una sola cuenta con permisos de administrador, Carpeta de Aplicaciones restringida, unidades externas capadas, terminal sin acceso, etc, etc ...

Entre una de estas medidas de seguridad teníamos que establecer la password de la BIOS, que en cualquier otro equipo con arquitectura de PC no puede parecer tan importante tener contraseña en la BIOS ya que para poder "romper" la contraseña de la cuenta administrador, un usuario tendría que disponer de una herramienta tipo Live CD que se encargara de ello. Y eso ya es una tarea más "engorrosa" para llevar acabo, a parte de que es mucho más escandaloso ver a un usuario arrancando Kali Linux o Ophcrack en su ordenador.

¿Por qué digo esto? Sencillo, por defecto en las últimas versiones de Mac OS X (creo que es a partir de la 10.7) se implementa un sistema de Recovery. Un "mini" Mac OS X con algunas aplicaciones para poder particiones el disco, repararlo, añadir particioes, o descargar desde los propios servidores de Apple el sistema completo en caso de que el que tenemos instalado se ha haya dañado.
Pues bien,  si arrancamos el Mac en modo Recovery tenemos la posibilidad de abrir un terminal y escribiendo un comando que no recuerdo muy bien, pero creo que era algo así como "passwordreset" se abrirá una ventana en las que nos ofrecerá la posibilidad de elegir las cuentas de usuario que tiene el equipo y cambiar su password sin necesidad de se admin ni nada por el estilo. Simplemente elegimos la cuenta que queramos y le cambiamos la contraseña.

Hack & Security
Img 1: Menú para elegir el usuario al que queremos resetear la password
Por eso es de suma importancia en equipos con Mac OS X (sobre todo en entornos de empresa) que la BIOS tenga una password. Ya que sino cualquier usuario sabiendo esto podría tener cambiar la password del admin local casi sin darnos cuenta.

jueves, 11 de abril de 2013

Daniel Koox

Seguridad SEO

¿Quién es Daniel Koox? Fundador de numerosos proyectos, emprendedor y carismático. Pero ante todo es un gran amigo del que os vengo hablar. Alejado del mundo de la informática y de la seguridad se ha decidido a tener su propio Blog personal en el que nos contará sus experiencias personales y profesionales.
Una de sus virtudes y que más podemos destacar de él es su imanación y su forma de entender y ver las cosas. Siempre desde otro punto de vista.
Quizás esto le haya servido para llevar acabo uno de los proyectos que a mí personalmente más me gusta <<Relatos de...>>. Un blog donde se van publicando pequeñas historias para pasar el rato. Una especie de diario de entretenimiento. Un sitio donde descansar los pensamientos acumulados de todo el día o un empujón para arrancar con fuerza por las mañanas.

Después de lanzar este y otros proyectos decidió que tal vez sería hora de tomarse las cosas enserio ya que hasta ahora todo lo que se había planteado no se llevó acabo como si de una empresa propia se tratara. Para ello ha decidido empezar a aprender un poco sobre el mundo digital. Tal y como os comentaba Daniel Koox no viene del mundo de la informática. sin embargo sus experiencias le han obligado en cierta parte a coger los ordenadores de la mano.

SEO y Marketing Online es lo que encontraremos en su Blog además de pequeñas pincelas de su día a día.

Al igual que a mí con la seguridad, a él también le sedujo la importancia de tener una página bien posicionada en Google o Bing, o de como un factor de imagen puede ser tan importante para vender tu producto.

Ahora él ha decidido compartir con todos nosotros sus  conocimientos y desde aquí queremos también compartir su blog.

Es importante tener en cuenta que además de tener un sistema bien posicionado en los buscadores y con una táctica de marketing inigualable no podemos dejar de lado la seguridad.

Aquí es donde entra la parte informática de Kontrol0. Para tener una buena imagen de nuestra empresa en internet necesitamos de, ya bien sea un dominio, un servidor, perfiles en redes sociales, etc.
A esto hay que añadirle la cantidad de configuraciones que nos conllevará todo. Como ya se comentó en otras entradas, el disponer de tanta información disponible para todo el mundo puede ser un gran agujero de seguridad, sobre todo para realizar una técnica como la Ingeniería Social.

Por ello queremos tanto por la parte de Daniel Koox como por mi parte, que tengáis vuestra página bien visible pero también segura.

Daniel Koox

martes, 9 de abril de 2013

Bypass a los equipos de Media Markt

Si hay algo que destaca entre los hacker es precisamente que les gusta probarlo todo antes antes de pagar por ello. aun que esto es más cosa de cracker por aquello de "try before buy"...
Hace tiempo estaba paseando por uno de los centros comerciales de la ciudad y como es habitual suelo entrar en toda tienda que tenga aparatos electrónicos, entre ellas fui a parar a la tienda de Media Markt.
Me impresionó ver unos equipos que por sus características parecían ser bastantes buenos y a muy buen precio. Llevado por mi curiosidad me acerqué a uno de ellos para probarlo, pero... ¡WTF!
El ordenador tiene una "especie" de salvapantallas con publicidad del propio ordenador, mostrando las especificaciones. Especificaciones que por cierto dejan mucho que desear, ya que no detallan mucho sobre los componentes ni las características de cada componente.

Me puse ha investigar a ver si había alguna tecla para salí de esa pantalla. Tenía pinta de ser un programa configurado para que siempre estuviera en primer plano. La única combinación de teclas que funcionaba el CTRL+ALT+SUPR. Esto me ayudó a ver el escritorio, sin embargo cuando intentaba abrir alguna carpeta o ver las propiedades del equipo inmediatamente se sobreponía de nuevo la publicidad del Media Markt.

Miré alrededor, a los otros equipos, y todos estaban exactamente igual no había ninguno cara al cliente para poder probarlo. -Yo supongo que esto lo harían por temas de seguridad ... -

Supuse que aquellos equipos no habrían sido configurados "a mano" uno a uno, sino que vendrían ya instalados con una imagen desde los propios almacenes (o algo así) ...las típicas maquetas.

La verdad que en aquel momento me sentí un poco decepcionado como cliente por no poder ver el producto antes de comprar, en caso de que quisiera comprarlo.

Es por eso que se me vino a la cabeza los técnicos, los técnicos que se dedicaron a realizar la maqueta del equipo. Estoy seguro que pensaron en cargar una maqueta con la configuración mínima para ahorrarse tiempo, y decidieron poner tan solo ese programa con esa configuración específica para que estuviera siempre la ventana en primer plano.

Eso les ahorraría tener que volver a maquetar un equipo en caso de que algún personaje hiciera de las suyas y dejara el equipo con una foto propia del susodicho poniendo caras extraña y guardándola como fondo de escritorio, por ejemplo.

La solución es fácil. Si los clientes no pueden tocar, tampoco pueden romper.
Y como comentaba antes, se les escapó un pequeño detalle. Cuando presioné el botón de apagado forzando a la máquina a apagarse, volví a arrancarla y como todo windows tiene un "Modo a prueba de fallos" por si algo falla ...
La sorpresa es que estos señores que se encargar de poner unos programas con publicidad muy chula del producto pasaron por alto poner contraseña al administrador del sistema.

Por lo tanto una vez que arrancó el ordenado en Modo a prueba de fallos, bastó con iniciar sesión con la cuenta de Administrador y sin contraseña.
Ahora sí podía probar el equipo a mis anchas. Aunque solo miré un par de cosas. No quería que nadie me mirara raro al ver en el escritorio un aspecto "raro" (windows clásico, fondo negro e iconos grandes)

Tipos de escaneo

Half Scan

Este tipo de escaneo consiste en realizar el procedimiento thre-way handshake sin concluir por completo para no crear una conexión. En otras palabras, el emisor envía un SYN para iniciar la conexión, si el receptor envía un SYN+ACK significa que el puerto se encuentra abierto, entonces el emisor envía un RST+ACK para finalizar la conexión, en vez de un ACK que sería lo normal para crear la conexión.

ACK Scan

La finalidad de este escaneo es distinta, no es determinar si un puerto se encuentra abierto o no, si no si un equipo de la red escucha las peticiones a través de un firewall. El emisor envía un paquete con un ACK activo, el receptor debe  responder con un RST esté el puerto abierto o no, si no existe respuesta es que hay un cortafuegos en medio de la comunicación.

Null Scan

Este tipo de escaneo tiene una característica curiosa  es que el paquete que se envía no contiene ningún bit activo. El emisor envía este tipo de paquetes y si el puerto se encuentra abierto no se recibirá nada, si por el contrario el puerto se encuentra cerrado se envía un RST+ACK. Es por ello que normalmente se puede encontrar en otros libros este tipo de escaneo tiene como fin averiguar cuales son los puertos TCP cerrados.

Xmas Scan

Este tipo de escaneo tiene en sus paquetes los bits de control activos. Windows, por defecto, no responde a este tipo de paquetes, pero antiguamente la pila TCP/IP, respondía con un paquete RST+ACK cuando el puerto se encontraba cerrado, mientras que si el puerto se encontraba abierto no se respondía.

FIN Scan

Este tipo de escaneo consiste en la creación de un paquete TCP con el bit de FIN activo. El emisor envía el paquete y si el puerto se encuentra abierto no se obtendrá respuesta, sin embargo, si el puerto se encuentra cerrado se recibirá un RST+ACK. El objetivo o finalidad de este tipo de escaneo es idéntico al null scan y xmas scan, incluso algunos autores los agrupan como escaneos de detección de puertos cerrados.

Idle Scan

Este escaneo es uno de los más complejos y su eficacia depende de la máquina elegida como zombie.
En este escenario habrá al menos 3 máquinas, un es la del atacante, otra será la zombie o intermediaria y la última la víctima. La máquina del atacante debe chequear que el zombie utilice un algoritmo predecible para marcar los paquetes IP. Para averiguar este detalle el emisor o atacante envía varios paquetes con SYN+ACK para iniciar una conexión. El objetivo es obtener RST y chequear que los ID de las respuestas sean sucesibles o predecibles. También se debe verificar que la máquina zombie no esté teniendo tráfico, ya que sino el proceso sería inviable.

Cuando el atacante haya encontrado un máquina zombie que pueda ser utilizada, el atacante enviará paquetes SYN a la máquina víctima haciendo IP Spoofing. Los paquetes enviados desde la máquina atacante, con la dirección IP de la máquina zombie, a la víctima son en realidad un scan normal. La diferencia se encuentra en que las respuestas de la víctima irán destinadas a la máquina zombie, por la suplantación de IP realizada por el atacante.

Cuando la víctima conteste a la petición SYN, devolverá un SYN+ACK si el puerto se encuentra abierto o un RST+ACK si el puerto se encuentra cerrado. Cuando la máquina zombie reciba un SYN+ACK enviará un RST a la máquina víctima. Si la máquina zombie recibe un RST+ACK se declararan como tráfico nulo y se descartará.

Tras esperar un corto periodo de tiempo el atacante preguntará por el ID de los paquetes de la máquina zombie y pueden ocurrir 2 situaciones concretas, en primer lugar el ID se ha incrementado en uno, enconces el puerto en la máquina víctima está abierto, o por el contrario si el ID no se ha incrementado, el puerto se encuentra cerrado.

Nmap

Nota: Este artículo es un fragmento del libro Metasploit para pentesters de Pablo González Pérez con la colaboración de Chema Alonso.
El motivo de añadir dicho fragmento de texto extraído directamente del libro es porque no he encontrado nada mejor que defina tan bien los tipos de escaneo.
El libro lo puedes adquirir directamente desde la página de informática64.

jueves, 4 de abril de 2013

Conceptos básicos de una conexión TCP. Parte III

Fin de la conexión

(negociación en cuatro pasos)

La fase de cierre de la conexión lleva a una negociación en cuatro pasos, terminando de manera independiente la conexión en ambas partes.
Cuando una de las partes desea terminar la comunicación envía un paquete con el flag FIN activo y el cual responderá con un ACK. Es posible que en este estado la comunicación por la parte que envió el fin de la comunicación esté terminada, pero queden aun pendientes envíos por parte del receptor, por ello, en este punto, el sistema que envió el paquete FIN deja de poder enviar pero sigue pudiendo recibir, hasta que el otro le envía un segmento de FIN, enviando primero el ACK.

La biblia Hacker
Img 1. Conexión establecida y terminada.
 

Nota: Esta información está extraida del libro La biblia Hacker 2009.

miércoles, 3 de abril de 2013

Conceptos básicos de una conexión TCP. Parte II

Transferencia de datos

Durante la transferencia de los datos hay una serie de campos de la cabecera que nos ayuda a asegurar la robustez de la comunicación.
A lo largo de la transmisión se van a utilizar como números de secuencia los que se han pactado durante el establecimiento de la conexión. En toda la conexión estarían presentes un par de números de secuencia que son los que van a servir para ordenar los paquetes, evitar duplicados y asegurar la recepción del envío, estos son los campos Número de secuencia y Número de confirmación. Con el Número de secuencia el emisor e refiere a su propio número de secuencia y con el Número de confirmación al número de secuencia del receptor.
Otro de los campos que utilizaremos con este propósito es el checksum, la función de este campo es asegurar que los datos recibidos no están corruptos, descartando los que si lo están.
Para el cálculo de este valor se utiliza la totalidad del paquete TCP(sumando el valor de cabecera más el valor de datos), al que además hay que añadir una pseudo cabecera IP, que incluye la dirección IP fuente, la dirección IP destino, el campo de protocolo de cabecera de IP y la longitud del paquete (TCP o UDP). Esta pseudo cabecera proporciona protección adicional contra paquetes recibidos erróneamentepor problemas de enrutado.
El checksum es el complemento a uno de 16 bits de la suma en completo a uno de todas las palabras de 16 bits de la pseudo-cabecera, cabecera y texto del paquete (TCP o UDP). Si el paquete contiene un número impar de octetos, el número octeto del paquete se rellena con ceros por la derecha hasta obtener una palabra de 16 bits con propósito de calcular el chuecksum.

Cabecera TCP
Img 1. Cálculo de checksum en TCP. 
Para asegurar el envío completo de los datos, el protocolo TCP utiliza asentamientos junto con temporizadores, de manera que el emisor está al tanto de los paquetes recibidos por el receptor procediendo a reenviar los que, pasado un cierto tiempo, no ha recibido confirmación. Para la optimización de todo este proceso el protocolo TCP utiliza una serie de mecanismos:

  • Uso de ventana deslizante.
  • Algoritmo de comienzo lento.
  • Algoritmo de control de congestión.
  • Retransmisión rápida.
  • Recuperación rápida.


Nota: Esta información está extraída del libro La biblia Hacker 2009.

lunes, 1 de abril de 2013

Conceptos básicos de una conexión TCP. Parte I

Funcionamiento del protocolo TCP

El protocolo TCP está orientado a la conexión. La vida de una conexión TCP se compone de tres fases:

  • Establecimiento de la conexión (negociación en tres pasos).
  • Transferencia de datos.
  • Negociación de la desconexión (negociación en cuatro pasos).

Para la transferencia de datos el protocolo TCP va utilizar el principio de ventana para el envío de datagramas y la recepción de las confirmaciones de entrega.


Establecimiento de la conexión

(negociación en tres pasos) 

Para poder iniciar una comunicación entre dos máquinas primero tenemos que establecer una conexión, para ello la máquina que va a dar servicio abre un socket pasivo, de manera que el servidor se queda a la escucha en un determinado puerto. Por el lado del cliente, cuando este quiere iniciar una conexión abre un socket activo sobre el puerto del servidor enviando un segmento SYN inicial (flag SYN activo) con su número de secuencia indicando en el campo Número de secuencia de la cabecera TCP.

A esta petición el servidor responderá con un datagrama SYN/ACK, enviando, por un lado su propio número de activación de secuencia en el campo Número de secuencia de la cabecera y activando el flag SYN, y por otro enviando la confirmación marcando el flag ACK y enviando en el campo Número de confirmación el número de secuencia del cliente. cuando el cliente recibe este paquete de confirmación en vía al servidor un tercer segmento confirmando que lo ha recibido incluyendo en el campo Número de confirmación el número de inicio de la secuencia del servidor y con el flag ACK activo. A partir de este momento la conexión queda establecida y comienza la transmisión de datos.


three way handshake
Img.1 Conexión establecida en tres pasos.



Nota: Esta información está extraida del libro La biblia Hacker 2009.