Clonar Discos con Clonezilla

Para utilizarlo primero debemos descargar la ultima versión para Live CD desde su pagina web: http://clonezilla.org/downloads.php

Después de descargarlo debemos grabar la imagen descargada en un CD o DVD utilizando cualquier software de grabación.
Después debemos bootear el CD desde la BIOS al encender el ordenador, podremos ver algo así:
clonezilla live 3
En este caso debemos seleccionar la primera opción llamada “Clonezilla Live”. La segunda opción da acceso a otros modos de compatibilidad para arrancar, la tercera llamada “Local operating system in harddrive” permite arrancar desde el sistema operativo instalado en el disco duro si existiera, y las ultimas dos opciones “Memtest & Freedos” y “Network boot via iPXE” permiten arrancar el análisis de memoria y el arranque por red respectivamente.

Seleccionando la primera opción si todo carga bien debemos ver la siguiente pantalla que nos permite seleccionar el idioma en el que se cargara Clonezilla Live:

Clonezilla live 4
Después de seleccionar el idioma debemos seleccionar la distribución de teclado que se cargara:
Clonezilla live 5
Al acabar de seleccionar la distribución de teclado la carga continuara hasta esta pantalla donde debemos elegir si iniciar Clonezilla Live o iniciar la consola de comandos. En este caso, seleccionamos “Start_Clonezilla Iniciar Clonezilla”.
Clonezilla live 6
Clonezilla puede funcionar de dos formas, puede crear clonados de disco a imagen o de disco/partición a disco/partición. En este caso para la prueba vamos a seleccionar “device-image Disco/Partición a Imagen” es decir, de disco a una imagen exactamente igual al disco, si seleccionamos la otra opción la configuración es mas o menos igual, solo que la copia se hará de disco a disco.
Clonezilla live 7
Después tendremos que elegir a donde copiar la imagen creada, existen varias opciones: un dispositivo de almacenamiento local, un servidor SSH, un servidor SAMBA, un servidor NFS o en el propio disco, aunque no es recomendable. En este caso vamos a copiarlo a USB. Para eso seleccionamos la opción ”local_dev   Usar dispositivo local”.
Clonezilla live 8
Con el dispositivo previamente conectado le damos a Enter cuando nos lo pida y si todo funciona correctamente y reconoce el soporte podremos ver la siguiente pantalla para seleccionar que dispositivo utilizar para guardar la imagen:
Clonezilla live 9
En este caso seleccionamos SDB1 que es el Pendrive que utilizaremos para guardar la imagen. Después de seleccionarlo y darle a Enter nos pedirá en que carpeta crear la imagen, en este caso en la raiz.
Clonezilla live 10
Pulsamos Enter cuando lo requiera (si no lo requiere puede haber un problema) y nos saldrá una pantalla donde tendremos que elegir en que modo queremos iniciar el asistente de clonado, el modo principiante no tiene ninguna complicación ya que acepta todas las opciones por defecto, así que en este caso elegimos el modo “Expert Modo Experto: Selecciona tus propias opciones”.
Clonezilla live 11
Ahora nos pedirá si queremos clonar un disco entero o simplemente una partición. En este caso vamos a clonar el disco completo, así que seleccionamos la primera opción ”savedisk Guardar_disco_local_como_imagen” y pulsamos Enter para continuar.
Clonezilla live 12
Nos pedirá el nombre que queremos ponerle a la imagen:
Clonezilla live 13
Lo escribimos o lo dejamos por defecto, pulsamos Enter y seleccionamos la parte mas importante, el disco que queremos clonar. En este caso solo hay uno virtual, así que lo seleccionamos.
Clonezilla live 14
Al pasar al siguiente paso nos saldrá una pantalla donde se configuran los parámetros avanzados de Clonezilla Live, si no sabemos a que se refiere debemos dejar la opción marcada por defecto, ya que no tendría porque dar problemas. En total debemos aceptar sin tocar nada en las tres pantallas mostradas a continuación.
Clonezilla live 15
Clonezilla Live 16
Clonezilla Live 17
En la ultima parte de parámetros avanzados que podemos ver abajo si que tendremos que tocar para indicarle a Clonezilla si partir la imagen en varias partes, para que no la tenga que partir tenemos que poner una cifra alta, pero con cuidado y siguiendo las indicaciones de Clonezilla que podemos ver en la pantalla.
Clonezilla live 18
Después de avanzar la siguiente pantalla la podemos omitir, por eso seleccionamos la primera opción ”Omitir la comprobación/reparación del sistema”. Sirve para comprobar si hay errores en el sistema de archivos antes de realizar el clonado, solo tendremos que ejecutar esto si hay problemas en el clonado.
Clonezilla live 19
Elegimos si Clonezilla Live verificara la imagen al final o no, por seguridad es recomendable que si, así que seleccionamos “Si, comprobar la imagen grabada”.
Clonezilla live 20
Por ultimo saldrá la pantalla de abajo donde elegimos que hará Clonezilla Live al acabar de crear la imagen, en este caso seleccionamos que se apague el sistema al acabar de crear la imagen.
Clonezilla Live 21
Por ultimo, aceptamos cuando lo requiera el asistente y comenzara la creación de la imagen de clonado con la pantalla de estado como la imagen de abajo:
Clonezilla Live 22
Al terminar si hemos seleccionado la opción de que se apague el sistema, el sistema se apagara.
La pagina web oficial de Clonezilla es: http://clonezilla.org/

Clonezilla es software completamente gratuito liberado bajo licencia GPL,

Recopilatorio de Sistemas Operativos de Pen Test

Saludos a todos los lectores.

Hoy les dejamos un recopilatorio de Sistemas Operativos para hacer Pentesting.

¿Que es el pentest?

Pen Test es como comunmente se denomina a los "Test de penetracion" o en inglés "Penetration Tests", y son en conjunto la forma de denominar a una serie de técnicas utilizadas para evaluar la seguridad de redes, sistemas de computación y aplicaciones involucradas en los mismos.

Un Pen Test, no es tarea fácil y requiere de un conocimiento sólido y profundo de las tecnologías involucradas en los sistemas, aplicaciones y servicios, además de una óptica y experiencia amplia en el comportamiento de varios sistemas operativos. Mediante estas técnicas, el Black, White o Ethical Hacker puede descubrir vulnerabilidades en el sistema estudiado, y usarlas para obtener acceso al mismo, por lo que está técnica se diferencia entre otras cosas del "análisis de vulnerabilidades" en  que en este último una vez detectadas las vulnerabilidades no son usadas para penetrar el sistema.

Ahora bien, déjeme aclararle un punto importante: Sus sistemas o aplicaciones, por muy bien o mal protegidos que usted crea que se encuentren, pueden ser objeto de un Pen Test con o sin su consentimiento en cualquier momento, por lo que es importante entender que descubrir las fallas de los mismos mediante el uso de las herramientas para ello, puede ser una gran ventaja a la hora de la defenderse de futuros intentos de penetración.

Las herramientas disponibles para efectuar estas pruebas de penetración pasan por varios grados de complejidad, y el manejo de algunas de ellas puede ser todo un reto a la inteligencia y sagacidad del atacante o "pen-tester". Entre ellas se incluyen desde scanners de puertos, complejos algoritmos para descifrar claves, sistemas de intrusión por fuerza bruta, herramientas de sniffing de redes y penetración de firewalls, así como también herramientas de escaneo de vulnerabilidades de aplicaciones web y mucho más. Todo un mundo de aplicaciones en su mayoría desarrolladas para entorno Linux (el entorno preferido para este tipo de trabajo) con las cuales el proceso de intento de penetración se hace mucho más "simple". Estas herramientas suelen estar agrupadas en lo que se conoce como "Toolkits" o juegos de herramientas.

Algunos "toolkits" son muy famosos en el medio por la eficiencia de sus herramientas y por haber sido utilizados en penetraciones de alto nivel a sistemas que se consideraron es su tiempo fortalezas impenetrables. Todos los S.O en formato de LIVE CD o ISO, de forma que las herramientas ya están integradas e instaladas en un CD de arranque del sistema operativo con el que trabajan y son portátiles.

Kali Linux:
kali home large slider2 500x342 Kali Linux, nueva distribución dirigida a la auditoria profesional
De los creadores de la popular distibución GNU/Linux BackTrack llego sistema operativo, Kali Linux, dirigido igualmente a realizar auditorías de seguridad pero enfocado en el sector profesional, siendo como es software libre y totalmente gratuito, que no es lo mismo.

Al igual que sucede con BackTrack, Kali Linux dispone de una amplia variedad de herramientas dedicadas -más de 300-, y de hecho Offensive Security, el equipo tras el desarrollo de la distribución, se ha unido con Rapid7, desarrolladores a su vez del conocido tolokit de penetración Metasploit.

Una diferencia básica entre BackTrack y Kali Linux es que la segunda pasa a utilizar Debian como base, mientras que la primera hace lo propio con Ubuntu. Según sus desarrolladores, “Kali es una completa re-construcción de BackTrack Linux desde la base hacia arriba, y se adhiere completamente a los estándares de desarrollo de Debian”.

Puedes encontrar más información sobre Kali Linux en la documentación del proyecto (en español), donde se explican los conceptos básicos de la distribución, así como se incluyen guías de introducción y por supuesto los enlaces para descargar la primera versión de esta distro -disponible también para arquitectura ARM- que tiene pinta de convertirse en herramienta indispensable para los expertos en materia de seguridad informática.

Descarga:
http://www.kali.org/downloads/‎ 

BackTrack 5 

File:Backtrack 5 R2.png

BackTrack es una distribución GNU/Linux en formato LiveCD pensada y diseñada para la auditoría de seguridad y relacionada con la seguridad informática en general. Actualmente tiene una gran popularidad y aceptación en la comunidad que se mueve en torno a la seguridad informática.

Se deriva de la unión de dos grandes distribuciones orientadas a la seguridad, el Auditor + WHAX. WHAX es la evolución del Whoppix (WhiteHat Knoppix), el cual pasó a basarse en la distribución Linux SLAX en lugar de Knoppix. La última versión de esta distribución cambió el sistema base, antes basado en Slax y ahora en Ubuntu.

Incluye una larga lista de herramientas de seguridad listas para usar, entre las que destacan numerosos scanners de puertos y vulnerabilidades, archivos de exploits, sniffers, herramientas de análisis forense y herramientas para la auditoría Wireless. Fue incluida en el puesto 7 de la famosa lista "Top 100

Descargar: http://www.backtrack-linux.org/downloads/

BugTraq Team



Bugtraq sistema ofrece la distribución más amplia, óptima y estable con el administrador de servicios automatizados en tiempo real. Esta distribución basada en el PAE 3.2 y 3.4 del núcleo tiene una amplia gama de penetración, forense y herramientas de laboratorio. Bugtraq está disponible con XFCE, Gnome y KDE basada en Ubuntu, Debian y openSUSE. Los sistemas están disponibles en 11 idiomas diferentes.

Herramientas

Las novedades que nos trae bugtraq son una amplia gama de herramientas en diferentes ramas. Podemos encontrar móviles de las herramientas forenses, laboratorios de pruebas de malware, herramientas de la comunidad de Bugtraq, herramientas de auditoría para GSM, Wifi, Bluetooth y RFID integradas y herramientas de Windows, herramientas centradas en IPv6, y las típicas pentesting y herramientas forenses que no deben faltar en Bugtraq -II.

Referencias del Team - Bugtraq

Bugtraq-Team fue fundada en 2011 y se consolidó en 2012, desde entonces ha evolucionado exponencialmente y hoy todavía hambre de explorar nuevas fronteras. Somos un grupo innovador con diferentes cualificaciones y los conocimientos de seguridad informática ..... Desde nuestros inicios nuestro grupo vivido y aprendido con otros grupos de piratas informáticos conocidos a nivel internacional. También contamos con años de experiencia trabajando en consultoría de seguridad, administración de sistemas Unix, el gesto de incidentes, servicio técnico, y los sitios de redes sociales.

Descargar: http://bugtraq-team.com/downloads.html 

PHLAK

 

PHLAK es un sistema modular de seguridad en vivo distribución Linux. Es un derivado de Morphix. PHLAK espera desarrollar el conjunto de herramientas perfecto para todos los profesionales de la seguridad. Hay dos tipos: Fatman-grande basada en CD iso, Littleboy adelgazado-USB versión pendrive.

Descargar: http://sourceforge.net/projects/phlakproject/

Matriux

 

Es una distribución de seguridad que consiste en un poderoso conjunto, de herramientas libres y de código abierto que pueden ser utilizadas para varios propósitos incluyendo, pero no limitado a penetration testing, hacking ético, administración de sistemas y redes, investigaciones forenses, pruebas de seguridad, análisis de seguridad, y mucho más. Esta es una distribución diseñada para entusiastas y profesionales de la seguridad, aunque puede utilizarse normalmente como sistema de escritorio.

Descargar: http://www.matriux.com/index.php?page=download

BACKBOX

 

Pro-activamente proteger su infraestructura de TI con la caja de montaje. Es la solución perfecta seguridad, proporcionando pruebas de lápiz, herramientas de recopilación de respuesta a incidentes, informática forense y la inteligencia. La versión más actual de BackBox Linux incluye las últimas soluciones de software para el análisis de vulnerabilidad / evaluación de las pruebas y de la pluma. Es uno de los más ligeros más rápido / distribuciones de Linux disponibles en Internet.

Descargar: http://www.backbox.org/downloads

WEAKERTH4N

 

Todavía está en su versión beta, pero el desarrollador ha hecho un buen trabajo para este proyecto que algunas herramientas interesantes Pentesting incluido en esta distro. Se construye a partir de Debian Squeeze y utiliza Fluxbox como entorno de escritorio. Puede instalar esta distro live pentesting utilizando Remastersys instalador personalizado. Tiene una gran cantidad de herramientas inalámbricas a diferencia de BackTrack 5. Tambien tiene las viejas características de Android hacking

Descargarhttp://weaknetlabs.com/main/?page_id=479

UbnHD2 

 

Una distribución para realizar pruebas de penetración en dispositivos móviles un SO basado en Ubuntu/Debian para pentesting que se ejecuta de forma nativa en un dispositivo HTC HD2. La distribución de momento está en fase beta y todavía hay algunas opciones que no funcionan.

Descargar: http://sourceforge.net/projects/ubnhd2/?source=dlp

Proximamente mas S.O que estan en desarollo!

Que Sistema Operativo para realizar Pen Test Usas?

¿CUAL ES TU FAVORITO?

Comenta Explicanos tus Conocimientos y experiencias ^^


Un Saludo!

Atentamente  @Anonymous_w3c

Montando Fake AP

En este post vamos a ver como podríamos crear un punto de acceso WIFI falso aprovechándonos de otra conexión desde Backtrack.

Para ello necesitamos tener instalados una serie de programas como “dhcpd3″ para poder configurar en nuestro equipo el servidor DHCP de la red que vamos a montar.

Lo primero que tenemos que hacer es tener una conexión a internet ya sea por cable o por WIFI (Se recomienda por cable ya que en todas las pruebas realizadas a ido siempre mejor), será esta conexión la que utilizaremos para montar el Fake AP y dar internet a la gente que se conecte a nuestro AP (Access Point), lo cual como veremos al final del post podría dar lugar a un sin fin de posibles ataques…

Una vez tenemos la conexion a internet y el servidor dhcp instalado vamos a ver como montar la WIFI…
Vamos a abrir el programa “Gerix Wifi Cracker” que se encuentra en: “Applications –> Backtrack –> Explotation tools –> Wireless Explotation tools –> WLAN Explotation –> gerix-wifi-cracker-ng”

fake_ap_1

Nos vamos a la pestaña de “Configuration” y realizamos lo siguiente:
Seleccionamos la interfaz que tenemos (wlan0) y le damos a “Enable/Disable Monitor Mode”. Una vez echo vemos que nos sale una nueva interfaz que es la que nos a creado en modo monitor…

fake_ap_2 fake_ap_3

Después de esto seleccionamos la interfaz nueva (mon0) y le damos a “Set random MAC address” para asignarle un dirección MAC aleatoria…
fake_ap_4 fake_ap_5

Una vez echo esto pulsamos en “Reload wireless interfaces” y por ultimo en “Clean old session files”…
Ahora que ya tenemos lista la interfaz que vamos a utilizar nos vamos a la pestaña “Fake AP”
(Es importante que la interfaz que dejemos seleccionada en la configuración sea mon0 que es la que utilizaremos para el Fake AP) y dejamos una configuración como la siguiente (En caso de no querer poner contraseña, sino habría que seleccionar la opción que quisiéramos en “Cryptography tags” y asignarle la contraseña a la derecha).
fake_ap_6

Una vez tenemos la configuración puesta de forma correcta pulsamos sobre “Start Fake Access Point” y vemos que nos aparece lo siguiente…
fake_ap_7

Una vez echo esto ya tendríamos  un punto de acceso montado, y si miramos desde otro dispositivo vemos que la red ya esta creada, pero ahora lo que nos falta es configurar de forma correcta nuestro PC para que haga de router y dhcp. Para ello podemos utilizar el siguiente script que nos automatiza la tarea…
 
# Crear la interfaz virtual y configurar el DHCP:
ifconfig at0 up
ifconfig at0 192.168.2.129 netmask 255.255.255.128
route add -net 192.168.2.128 netmask 255.255.255.128 gw 192.168.2.129
dhcpd3 -cf /etc/dhcp3/dhcpd.conf -pf /var/run/dhcp3-server/dhcpd.pid at0
/etc/init.d/dhcp3-server start 
 
# Configurando iptables siendo eth0 la red utilizada actualmente por nosotros 
para acceder a internet:
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface at0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables --flush && iptables --table nat --flush && iptables --delete-chain && iptables 
--table nat --delete-chain && iptables --table nat --append POSTROUTING --out-interface eth0 
-j MASQUERADE && iptables --append FORWARD --in-interface at0 -j ACCEPT && echo 1 > 
/proc/sys/net/ipv4/ip_forward
fake_ap_8

Tras ejecutar el script ya tendríamos el Fake AP listo (En caso de que utilizáramos eth0 como conexión a internet para montar el Fake AP, en otro caso tendríamos que modificar el script de eth0 por wlan0), permitiendo que la gente se pudiera conectar con nosotros y pudiendo realizar todos los posibles ataques que pudiéramos pensar como analizar todo el trafico que pasa por nosotros (Que es todo) para obtener credenciales de redes sociales, correos, etc…

Podríamos montar una pagina falsa haciendo una copia de cualquier otra como por ejemplo un banco o una red social y hacer que las personas fueran redirigidas montando también un DNS en nuestro ordenador e indicando a las victimas en la configuración del DHCP que ese es el DNS correcto, podríamos intentar explotar algún tipo de vulnerabilidad al estar dentro de la misma red, etc…

Restaurar capacidad almacenamiento del PENDRIVE

Hoy les venimos a traer 2 programas de gran utilidad para formatear un pendrive que este corrupto o se haya encogido la memoria de almacenamiento por X movitivos.

1.HP USB Disk Storage Format Tool

HP USB Disk Storage Format Tool, es una herramienta destinada al formateo de los discos rigidos. Con ella podrás formatear tus memorias o discos USB en formato FAT32 o NTFS .

A diferencia del asistente de Windows, HPv USB Disk Storage Format Tool puede formatear discos de tamaño superior a 32 gigabytes como es el caso del FAT32.

Si dispones de una instalación de MS-DOS o de sus ficheros de instalación, con HP USB Disk Storage Format Tool también podrás formatear la unidad con opción de arranque, como si fuera un CD.


Descargar HP USB Disk Storage Format Tool (Opcion 1)

Descargar HP USB Disk Storage Format Tool (Opcion 2)

Descargar HP USB Disk Storage Format Tool (Opcion 3)

2.HDD Low Level Format Tool

"HDD Low Level Format Tool", lo he instalado (funciona en Windows7) y ejecutado.



Selecciono el USB en cuestión y pulso en "Continue". Me aparece la siguiente ventana:



Pulso en la segunda pestaña "Low-Level Format" y pulso en el botón "FORMAT THIS DEVICE":



Me pide confirmación y acepto. Una vez haya formateado el pendrive me aparece una ventana que el formateo se ha realizado y que tendré que crear una partición y formatear la unidad:



Yo he tenido que sacar y volver a introducir el pendrive en la unidad USB para que me reconozca los 8Gb, además, automáticamente me pide que le de formato:



Le digo que sí y lo formateo:



..y listo, ya tengo preparado mi pendrive para ser usado como antes.

Descargar HDD Low Level Format Tool Opcion 1

Descargar HDD Low Level Format Tool Opcion 2

Descargar HDD Low Level Format Tool  Opcion 3

Espero que sirva de algo.

Kali Linux > Password Attacks > Offline Atacks

Kali Linux >  Password Attacks  >  Offline Atacks

hashcat

Recuperación de contraseñas basada en CPU

Hashcat es la herramienta de recuperación de contraseñas más rápida del mundo basada en CPU. No tan rápida como sus contrapartes Oclhashcat-plus,oclhashcat-lite, largas listas pueden ser reducidas a la mitad con un buen diccionario y con un poco de familiaridad con los vectores de ataque. El objetivo de esta sección es presentarle todo lo que tiene que saber para poder para comenzar a correr de manera exitosa hashcat.

Usando las herramientas suministradas en hashcat hagamos una prueba rápida:



Aquí le hemos dicho a hashcat cargar la lista de hashes A0.M500.hash y usar el diccionario de ejemplos A0.M500.word. Esto debería de darnos un 100% de éxito ya que los hashes UNIX fueron encriptados de las cadenas de texto en el diccionario de ejemplo. Si usted está usando Windows asegúrese de correr hashcat-cli(32/64).exe y omita él “./”.



Éxito total: D. Todos los hashes recuperados!!! Sencillo no? Pues se pondrá mejor.........


OPCIONES

Hashcatcli tiene una gran cantidad de opciones que puede usar para afinar sus ataques.



Si, lo sabemos el número de opciones puede parecer intimidante al inicio, pero esto es solo impacto visual, una vez que usted se acostumbre, serán fáciles de recordar. Muchas de las opciones se explican por sí mismas, así que tómese el tiempo de leer cada una.

Explicaremos las opciones vitales para poder correr hashcat y el resto las explicaremos mas adelante con más detalle.

--hash-type=NUM O –m: El tipo de algoritmo a usar que puede ser MD5, SHA-1 etc.

--hash-type=0 (MD5) O –m 0

--attack-mode=NUM O -a: El tipo de ataque a usar en contra de un hash. Usando los diferentes vectores de ataque aumentaran las probabilidades de recuperar la contraseña. Los modos son los siguientes:

 0 = Straight- simplemente corre todas las palabras del diccionario en contra de la lista de hashes, teniendo un buen diccionario aumentara las probabilidades de recuperar tu hash.
 1 = Combination – combina las palabras del diccionario dado.
 2 = Toggle-Case –Cambia todas las letras minúsculas a mayúsculas y viceversa. Dígitos y caracteres especiales son ignorados.
 3 = Brute-force – Fuerza bruta debe ser usado como último recurso, no es efectivo contra contraseñas largas y puede consumir mucho tiempo.
 4 = Permutation – Toma las letras de una palabra y las reordena. Ejemplo abc se vuelve abc, acb, bca, bac.
 5 = Table-Lookup –Rompe una cadena en caracteres individuales y aplica una regla a cada uno que coincida con la regla en la tabla.
Por defecto el modo 0.

--attack-mode=0 O –a 0 para un simple ataque de diccionario.

--seperator=CHAR O -p: Algunas listas de hashes se pueden dar junto con el usuario y su pass encriptado user:33c2a20e201110df4cc723c0a994b4ff en este caso el : es nuestro separador, pueden usarse otros pero por defecto se usa siempre “:”.

--output-file O –o: especifica donde los hashes rotos serán escritos. Esto debe ser usado si usted planea conservar estos hashes o no desea copiar/pegar desde la terminal. Trabaje inteligente y no más complicado. Por defecto no usado.

--output-file=/user/Desktop/hashes.txt O –o /user/Desktop/hashes.txt

--output-format=NUM : NUM puede ser 0, 1 o 2. Generalmente no se necesita pero si en el texto plano hay caracteres en hexadecimal esto necesita ser especificado para prevenir “malos” textos planos. Por defecto Modo: 0.

--output-format=0

--remove : Con esta opción se borrara el hash de la lista una vez que sea crackeado. Esto le ayudara a prevenirle de atacar el mismo hash dos veces. Por defecto no usado.

--stdout : En lugar de tratar de recuperar las contraseñas hashcat simplemente les dará salida en la terminal.

--disable-potfile : Previene que hashcat escriba los hashes rotos en hashcat.pot . Por defecto no usado.

--debug-file=FILE : especifica el archivo en donde la información de depurado será escrita. Por defecto no usado.

--debug-file=/user/Desktop/debug.txt

--debug-mode=NUM : Escribe bien la norma de búsqueda, la palabra original, o la palabra mutada que fue exitosa en contra del hash usado en –debug-file=. Por defecto no usado.

--salt-file=FILE O –e: Especifica una lista de “salts” pre-generados para ser usados en una sesión. Esto se usa cuando en un hash con “salt” el “salt” esta ausente. Por defecto no usado.

--segment-size=NUM O –c : Especifica la cantidad de memoria en MB que se permitirá en el almacenamiento en cache para el diccionario. Si usted trabaja con una cantidad limitada de memoria deberá ser usado para no interferir con los otros servicios. Con la siguiente opción solo se permitirán 10MB de palabras en cache. Por defecto 32 MB

-c 10

--threads O –n : Para uso en procesadores “multi-threaded”. Casi todos los procesadores contienen múltiples núcleos. Si usted tiene un procesador “quad” o de cuatro núcleos entonces, ajuste a –n 4 o –n 6 para uno de seis núcleos. Si usted corre un sistema multi-procesadores, ajuste –n al número de núcleos * numero de procesadores físicos. Por ejemplo un sistema Dual hexacore seria 6 (núcleos) * 2 (procesadores)= 12 (numero de threads) por defecto: 8.

-n 12

--words-skip=NUM O –s : Salta el numero provisto de palabras cuando se resume una sesión detenida. Esto previene de correr palabras contra una lista de hashes de nuevo con lo cual se incrementaría la cantidad de tiempo en un instancia podría tomar. La siguiente opción brincara las primeras 100000 palabras. Por defecto no usado.

-s 100000

--words-limit=NUM O –l : especifica el numero de palabras que serán procesadas. Esto es útil cuando se recupera la misma lista de hashes en diferentes computadoras así la misma computadora no corre palabras que están siendo procesadas por otra. La siguiente opción solo usara las primeras 20000 palabras. Por defecto no usado.

-l 20000

--rules-file=FILE O –r : Especifica el directorio donde se encuentran los archivo de reglas(más adelante se explicara a detalle)

-r /user/Desktop/1.rule

--generate-rules=NUM O –g : Le dice a hashcat que genere un numero de reglas para aplicarse en cada intento, la opción –g 50 le dirá a hashcat crear aleatoriamente 50 reglas sobre la marcha para ser usadas en esa sesión. Esto puede eliminar la necesidad de largos archivos de reglas, aunque un buen archivo de reglas bien creado puede aumentar las probabilidades de recuperar la contraseña. Por defecto no usado.

-g 50

--generate-rules-func-min/max=NUM : Especifica el numero de funciones que deben ser usadas. Este número puede ser ilimitado pero largas cantidades no se recomiendan. Cuando se usa en conjunto con –g, cualquier regla fuera de este ajuste será ignorada. Por ejemplo –g 50 genera 1 r, 1^f y sa@ todas estas son reglas validas sin embargo 1^f sa@ r $3 será ignorado porque contiene 5 funciones. Por defecto min=1 max=4.

--custom-charset1,2,3,4=CS O -1,-2,-3,-4 : Este es un mapa de caracteres a medida, todos lo derivados de hashcat tienen 4 para crear tu mapa de caracteres a medida. Estos nos sirven en el modo 3 o bruteforce. Si no queremos pasar por todo el mapa de caracteres a-z podemos ajustarlo así -1 abcdef -2 12345 de tal modo al hacer nuestra mascara ?1?1?1?1?2?2 solo abarcara los caracteres indicados y no todo el abecedario y números del 0 al 9.

?1?1?1?1?2?2 – aaaa11- ffff55

--toggle-min/max=NUM : ajustando esta opción le diremos a hashcat esperar un mínimo/máximo de X y Y en el plano. Se puede reducir el tiempo de ejecución al no tomar en cuenta los valores que se encuentran fuera de los requisitos de la contraseña. Por defecto min=1 max=16.

--toggle-min=3 --toggle-max=5

--pw-min/max=NUM :Esto especificara el mínimo y máximo numero de espacio de caracteres cuando se hace el Brute-force o Mass-attack. El siguiente comando intentara todas las combinaciones de caracteres desde 1 a 8 espacios. Solo los espacios comenzando con min y terminando con max serán tomados en cuenta. Por defecto min=1 max=16.

--pw-min =1 –pw-max=8

--table-file=FILE : Especifica que tabla usar con –a 5. Las tablas pueden ser ubicadas en la carpeta Tables o puede crear unas por sí mismo. Por defecto no usado.

--table-min/max=NUM: Cualquier palabra fuera del rango especificado sera ignorada. Por defecto 10.

--perm-min/max=NUM : Cualquier palabra fuera del rango definido sera ignorada. Por defecto min=2 y max=10.


VECTORES DE ATAQUE

Straight. (Directo).Este ataque simplemente corre una lista de palabras y prueba todas las cadenas contra cada hash. Este es un vector extremadamente efectivo para una primera pasada, asumiendo que usted tiene un buen diccionario como el famoso Rockyou Very Happy

Combination. Junta dos palabras del diccionario dado e intenta con ellas. Puede ser útil en contra de contraseñas largas, la gente trata de añadir complejidad a sus contraseñas escribiéndolas dos veces o personas que usan su primer y segundo apellido. Por ejemplo atom usa su apellido derp para hacer una contraseña, si atom y derp existen en el diccionario, atomderp será usado y también derpatom.

Toggle-case. Simplemente cambia las letras minúsculas por mayúsculas y viceversa. PasS se volvería pASs.

Brute-force. Extremadamente util en GPU, Fuerza bruta con CPU puede tardar para siempre. Este vector tratara cada combinación --pw-min/max. Esencialmente trata cada combinación por incrementos hasta que encuentra el texto plano requerido. Altamente poco inteligente y usado como último recurso, excepto en maquinas con un alto poder en GPU.

Permutation. Este vector reordena todas las letras suministradas en el diccionario que coinciden en min/max. Por ejemplo min=1 y max=3 tomara las palabras con una longitud de 1 a 3 y las reacomodara en todas las posiciones posibles. Puede ser efectivo contra generadores aleatorios de contraseñas. por defecto min=2 y max=10.

Table-lookup. Esta función a cambiado un poco con respecto a su antecesor hashcat 0.40 pero aun así es un altamente avanzado vector de ataque que rompe una cadena en caracteres individuales y aplica una regla definida en table-file=FILE a cada uno. Por ejemplo password es roto en cada carácter: p a s s w o r d. Entonces hashcat mira en la tabla por las reglas que deben ser aplicadas en cada carácter. En este caso nuestra tabla tendría

a=a
a=A
p=p
p=P
o=o
o=O
o=0 (cero)

Ahora cada caracter que coincida será cambiado y probado. Así que por cada a, a y A será probada, por cada p, p y P será probado y por cada o, o, O y 0 será probado. Para aquellos que están familiarizado con las mascaras sería algo así -1 pP -2 aA -3 oO0 ?1?2ssw?3rd. Luce algo extraño quizás para usted pero o se preocupe esto será explicado en oclhashcat donde es altamente usado.


EJEMPLOS

STRAIGHT

Supongamos que tenemos una lista de aproximadamente unos 10000 hashes D: parece algo imposible. Pero nuestro amigo hashcat nos ayudara en esta difícil mission



El comando en la terminal fue ./hashcat-cli32.bin -a 0 -m 0 /root/Desktop/hash.txt /root/Desktop/dicejemplo.txt --output-file=/root/Desktop/founded.txt --remove

Lo que le dijimos a hashcat fue que usara el modo –a 0 de ataque directo con diccionario con el tipo de algoritmo –m 0 que corresponde a MD5 usando la lista de hashes y el diccionario de ejemplo en los directorios especificados y reescribiendo los hashes recuperados en el archivo indicado. Ahora veamos el resultado.

Un éxito casi total Very Happy el ataque directo recupero 9878 hashes. Esto depende totalmente del diccionario si la palabra no se encuentra el hash no podrá ser recuperado. Como vemos en el diccionario solo hay 9910 palabras y teníamos 10682 hashes. Como haremos para recuperar el resto? Con la demás opciones podremos mutar las palabras y ver si eso nos trae algún resultado.



COMBINATION

Probemos ahora con la lista restante el ataque de –a 1 o de combinación, como antes explicamos si hay contraseñas que coincidan o que sean palabras duplicadas, las encontrara



En general lo único que cambio en el comando fue –a 1 lo demás quedo intacto, como ves manejar hashcat no resulta difícil después de todo, el comando escrito queda de la sig. Manera : ./hashcat-cli32.bin -a 1 -m 0 /root/Desktop/hash.txt /root/Desktop/dicejemplo.txt --output-file=/root/Desktop/founded.txt --remove

Ejecutaremos de nuevo hashcat con los nuevos ajustes y veremos qué resultados tendremos



Como podemos ver recuperamos 368 hashes mas y eso con un mismo diccionario, pero aun nos quedan más hashes por recuperar, intentemos otro tipo de ataque con el mismo diccionario y esperemos tener algo de suerte.

TOGGLE-CASE

Usemos ahora el modo –a 2 en el cual las minúsculas son cambiada a mayúsculas y viceversa los parámetros son iguales solo cambiaremos el modo de ataque.

El comando es básicamente el mismo solo con –a 2 de diferencia: ./hashcat-cli32.bin -a 2 -m 0 /root/Desktop/hash.txt /root/Desktop/dicejemplo.txt --output-file=/root/Desktop/founded.txt --remove



Ejecutamos de nuevo hashcat y vemos que nos traerá a la salida.



Ahora podemos observar que recuperamos cada vez menos contraseñas, en total 91, esto es algo común, las contraseñas seguras son las que quedan a lo último, o en el peor de los casos, no pueden ser recuperadas XD. Algo más que podemos diferenciar es la cantidad de palabras en el diccionario como no especificamos un máximo --toggle-max hashcat tomo por defecto 16, entonces las palabras mayores de 16 no fueron tomadas en cuenta, en este caso fueron 10 palabras excluidas.

Aun quedaron contraseñas sin recuperar, intentaremos con los vectores de ataque restantes.

BRUTE-FORCE


Como se menciono antes la fuerza bruta en cpu es lo último a lo que debemos recurrir a menos que sepamos que la lista tiene un patrón, este puede ser una mayúscula al inicio, tres o dos números al final etc. En este caso no sabemos nada acerca de la lista y probaremos con algo sencillo ya que largas cadenas pueden tomar horas.



Podemos apreciar la diferencia de que ahora no estamos usando el diccionario sino una “mascara” que emulara al diccionario e intentara en un espacio de 5 todas las letras del abecedario. De otra manera la máscara ?l?l?l?l?l hará combinaciones desde aaaaa hasta zzzzz.

El comando en la terminal fue ./hashcat-cli32.bin -a 3 -m 0 /root/Desktop/hash.txt ?l?l?l?l?l --output-file=/root/Desktop/founded.txt –remove



Como resultado solo recuperamos dos contraseñas no fue mucho, ya que si la cadena de texto es menos de 5 o más 5 no podrá ser recuperada. Es una de las limitantes de usar fuerza bruta. Podríamos aumentar la complejidad añadiendo caracteres a medida como -1 ?d?l?s para probar todas las combinaciones de minúsculas, mayúsculas y números pero eso podría tardar una eternidad usando CPU.

PERMUTATION

Este vector lo que hará ser reacomodar las palabras en nuestro diccionario, si tenemos por ejemplo ABC lo convertirá en:
ABC
ACB
BAC
BCA
CAB
CBA



Regresamos a nuestro primer diccionario y usamos el ataque –a 4. El comando escrito fue ./hashcat-cli32.bin -a 4 -m 0 /root/Desktop/hash.txt '/root/Desktop/dicejemplo.txt' --output-file=/root/Desktop/founded.txt –remove

Veamos el resultado más abajo.



Comparado con los demás ataques que realizamos este tomo un poco más de tiempo, pero recuperamos mas hashes que usando el ataque de fuerza bruta, en total 26. Vemos también que la cantidad de palabras usadas fue de 9247 menos que la cantidad total ya que no especificamos el largo máximo, por defecto hashcat toma la cantidad de max=10.

TABLE-LOOKUP

Probemos el ultimo de nuestros vectores de ataque, para este ataque usamos el modo –a 5 y añadimos la opción --table-file='/root/Desktop/tablas.table' donde se encuentran nuestras reglas para la tabla.

a=a
a=A
a=4
@=a
@=@
o=o
o=O
o=0
i=1
i=I
s=S
s=5
s=s

Usamos algo sencillo ya que esto en ocasiones puede llegar a tomar un par horas, usted puede configurar sus reglas de la tabla como más le guste, en este caso usamos algo que la gente usa para escribir sus contraseñas. Sustituir letras por números, mayúsculas y caracteres especiales.



El comando escrito fue ./hashcat-cli32.bin -a 5 -m 0 /root/Desktop/hash.txt '/root/Desktop/dicejemplo.txt' --output-file=/root/Desktop/founded.txt --remove --table-file=/root/Desktop/tablas.table --table-min=1 --table-max=20

Añadimos las opciones --table-min=1 --table-max=20 para aumentar nuestras probabilidades, ya que no sabemos el largo de todas las palabras en nuestro diccionario y hashcat toma por defecto max=10

Ejecutemos y veamos.



Como podemos ver recuperamos una buena cantidad, en total 32 más. Pero observamos que las contraseñas bien pensadas y seguras son las restantes, podrían ser rotas usando otro diccionario y aplicando los vectores anteriores o usando reglas pero eso lo veremos en oclhashcat. En la cantidad de palabras vemos que siguen siendo menor a la cantidad original del diccionario, por distintas razones, hay palabras de más de 30 caracteres, o algunas no encajaron con las reglas que escribimos en la tabla.

En total quedaron 285 hashes sin romper, pero de una cantidad de 10682 a 285 es una buena cantidad

Demos una mirada a nuestro archivo de contraseñas recuperadas.



Si hacemos matemáticas 10682-285=10397.


ESPECIFICOS HASHCAT

Hascat es especialmente bueno para reducir largar listas de hashes usando métodos rápidos como el ataque de diccionario (–a 0) O el toggle-case( –a 2) y el resto. Aunque es la herramienta de recuperación basada en CPU mas rápida del mundo, a hashcat le tomaría años romper un hash con una larga cadena de texto usando Brute-force (-a 3). Aqui es donde oclhashcat entra en juego. Los usuarios con una tarjeta grafica con posibilidades GPGPU (General-Purpose Computing on Graphics Processing Units) pueden además usas hashcat.


OCLHASHCAT-PLUS(CUDAHASHCAT-PLUS)

La ultima versión de hashcat está disponible para su descarga desde http://hashcat.net/oclhashcat-plus/ . 7zip es un requerido para descomprimir el archivo. Oclhashcat es la herramienta de recuperación de contraseñas basada en GPU más rápida del mundo, codeada por Atom para ambas plataformas GUN/Linux y Windows de 32 y 64 bits. Este es un gran avance desde las soluciones basadas en CPU debido a la gran cantidad de dato que se pueden procesar usando las plataformas de CUDA (NVIDIA), Stream (AMD) y OpenCL.

Lo que tomaría horas en un CPU ahora puede tomar minutos en un GPU y aquí tenemos como hacerlo

El proceso de instalación es el mismo, si tienen dudas dirígete de nuevo a la sección 1.1

Unas ves descomprimidas veremos unos archivos y unas carpetas, daremos una explicación rápida y después iremos de lleno a oclhashcat.



Una nota rápida: Atom ha divido oclhashcat en 2 ejecutables, el primero es oclhashcat para usuarios con tarjetas AMD(ATI). Esto requerirá que tengan los drivers y el SDK instalado. Aquí no veremos cómo instalar los drivers daremos hecho que ya lo tienen instalados. Para instalarlos les daremos los links de referencia:

http://www.backtrack-linux.org/wiki/index.php/Install_OpenCL
http://ati.amd.com

Los otros dos principales ejecutables son cudahascat que es para lo usuarios con NVIDIA. Para NVIDIA solo necesitamos el forceware driver.

http://www.backtrack-linux.org/wiki/index.php/CUDA_On_BackTrack

Por simplicidad nos referiremos a ambos ejecutables como oclhashcat y los ejemplos serán corridos todos usando oclhashcat. Para los usuarios Nvidia, tienen que correr cudahashcat o tendrán un error. Tampoco hay diferencia entre los ejemplos corridos en oclhashcat y cuda hashcat así que no tienen de que preocuparse.

oclHashcat(32/64).(bin/exe)- es el ejecutable principal

oclExample.(sh/cmd)- es un archivo de ejemplo para actuar como un inicio rápido para oclhashcat, será usado como ejemplo, pero después de leer un poco mas no lo necesitara.

example.dict – un diccionario de ejemplo de hashcat

example.hash – son las cadenas de texto encriptadas de el diccionario de ejemplo

doc/ - son los documentos que pertenecen a oclhashcat

kernels/ - es el directorio donde los kernel del hardware son almacenados. Esto no debe ser tocado a menos que seas un miembro autorizado de la comunidad hashcat, de otro modo, puedes dañar el ejecutable.

Usando los ejemplos suministrados corramos rápidamente hashcat.



Como vemos, tenemos muchos datos a la salida, lo importante aquí esta marcado con el punto blanco que es el hash recuperado, en este caso es solo uno, pero se imaginan una lista de unos 1000 y apareciendo todos en la terminal? Sería algo fastidioso, por eso en los ejemplos, preferimos no mostrarlos a la salida.


OPCIONES

Hascat viene con un gran repertorio de opciones veamos que tiene:

Para eso en la terminal tecleamos ./oclHashcat-plus32.bin --help

Oclhashcat funciona un poco diferente a hashcat, oclhashcat usa dos mascaras, izquierda y derecha, lo mismo sucede en el ataque de combinación usa dos diccionarios diferentes, uno derecho y uno izquierdo.

Hay ciertas opciones que son idénticas en hashcat y oclhashcat así que no las repetiremos todas.

./oclHashcat64.bin hashlist dictizquierdo dictderecho
Es algo confuso quizás pero no te preocupes más adelante en los vectores de ataque lo explicaremos mas a detalle.

Ahora pasemos a las opciones que tenemos disponibles.

--quiet : suprime la salida hacia el “STDOUT” es decir, en tu terminal de Linux, no serás floodeado con texto, hashes recuperados y errores de programa. Por defecto no usado.

--remove : Igual que en hashcat, una vez que el hash es recuperado, es borrado de la lista de hashes, así previniendo que oclhashcat lo ataque de nuevo. Por defecto no usado.

--output-file=FILE O –o :Especifica donde los hashes serán escritos. Esto debe ser usado si usted planea preservar los hashes, o no desea copiarlos y pegarlos desde la terminal. Por defecto no usado.

--output-file=/user/Desktop/founded.txt O –o /user/Desktop/founded.txt

--output-format=NUM : NUM puede ser 0, 1 o 2. Normalmente no se necesita pero si un texto plano contiene caracteres en hexadecimal esto necesita ser especificado para evitar textos planos erróneos. Por defecto modo 0.

--output-format=0

--salt-file=FILE O –e : Suministra los “salt” para los hashes que lo tienen ausente. útil para los hashes vbull o xtcommerce . Por defecto no usado.

--gpu-devices=STR O –d : Esto es usado para especificar el número de GPU (en orden) para usar, si usted tiene una instalación multi-GPU. Esto es útil si usted trabaja con ventanas, como Windows, Gnome o KDE. Debido a la gran cantidad de datos que se procesan, el escritorio tendrá algo de lag. Usted puede omitir su primer GPU para asegurar una buena operación de su escritorio mientras recupera los hashes. Por defecto todas las tarjetas son usadas.

-d 2,3,4

--gpu-accel=NUM O –n: Define el ajuste de la carga de trabajo. Mientras más alto es el valor la tarjeta grafica trabajara más. Valores altos pueden ser útiles en ataques de fuerza bruta mientras que valores bajos pueden ser útiles con ataques de diccionario. No hay un valor que se pueda decir

-n 400

--runtime=NUM : este operador, solo le da un límite de tiempo de ejecución a hashcat. Por defecto no usado.

--runtime=60 (60 segundos)

--hex-salt : Asume que el “salt” esta dado en hexadecimal. Por defecto no usado.

--hex-charset : Asume que el mapa de caracteres esta dado en hexadecimal. Por defecto no usado

--username: Ignora los nombres de usuario en las listas de hashes, si tenemos user:hash, para evitar la molestia de editar largas listas, usamos este operador, para ahorrarnos tiempo. Por defecto no usado.

--force: Ignora las advertencias que arroje hashcat, en ciertos algoritmos como sha-1 te pedirá usar oclhashcat-lite si es un solo hash. Con este operador ignorara la advertencia. Por defecto no usado.

--gpu-async: Es ayuda a los Gpus de baja Gama, Solo para Nvidia.

--cpu-affinity=STR :Especifica el número de unidades cpu que se usaran, si su procesador de multi-nucleo. Por defecto no usado.

--cpu-affinity=2,3,4

--gpu-loops=NUM: esto es usado para ajustar mas la carga de trabajo. Mas específicamente, el numero de palabras por unidad de trabajo. Provee más trabajo a la máscara de la izquierda. Por defecto 128.

--gpu-loops=1024

--gpu-temp-disable : Deshabilita las lecturas de los disparadores temperatura y el ventilador. Úselo bajo su propio riesgo. Por defecto no usado.

--gpu-temp-abort=NUM: Establece la temperatura del GPU con la que oclhashcat abortara la sesión para evitar daños al GPU. Por defecto 90 grados Celsius.

--gpu-temp-abort=90

--gpu-temp-retain=NUM : establece la temperatura que oclhashcat tratara de mantener para evitar un sobre calentamiento del GPU. Por defecto 80 grados Celsius.

--gpu-temp-retain=80

--rule-left=RULE O –j and –rule-right=RULE O –k: Son reglas que se aplican a los diccionarios de la derecha o la izquierda cuando se usa el ataque de combinación y/o hibrido. La teoría puede ser un poco confusa, pueden visitar el siguiente sitio http://ob-security.info/?p=31%20. Y mas adelante en los vectores de ataque explicaremos un poco más. Por defecto no usado.

--increment O –i : incrementa la máscara con +1 en cada posición. Por ejemplo ?l?l?l?l?l al inicio correrá
?1
?1?1
?1?1?1
?1?1?1?1
?1?1?1?1?1

Por defecto no usado.

--increment-min=NUM : comienza a incrementar posiciones en la posición dada si tenemos una máscara de ?l?l?l?l?l?l?l y le decimos a oclhashcat que comience en 3.
?1?1?1
?1?1?1?1
?1?1?1?1?1
?1?1?1?1?1?1
?1?1?1?1?1?1?1

Esto se hace para ahorrar tiempo, si uno ya sabe que la contraseña no es de 3 caracteres. Se puede usar cualquier mascara o carácter a medida que uno especifique. Por defecto no usado

--increment-max=NUM : Lo mismo que el anterior solo que este le dará el limite a oclhashcat de detenerse en la posición que le especifiquemos. Por defecto no usado.

increment-max=12

Los operadores Markov son una nueva mejora a la versión 0.9 de oclhashcat, la teoría es algo confusa trataremos de explicarla

El ataque markov es un ataque parecido al de fuerza bruta pero basado en estadísticas, en lugar de especificar una máscara o un mapa de caracteres, especificamos un archivo.

Una vez que el archivo es creado en un paso previo este contiene información estadística, que lleva a cabo un análisis automatizado de un diccionario dado.

Para hacer este análisis usamos una herramienta nueva llamada "hcstatgen" la cual es parte de las nuevas utilerías hashcat “hashcat-utils package”.

http://www.hashcat.net/files/hashcat-utils-0.9-32.7z
http://www.hashcat.net/files/hashcat-utils-0.9-64.7z

La utilería hcstatgen genera un archivo .hcstat, el cual es procesado con otra de las nuevas utilerías "statprocessor" que genera las palabras basadas en un orden estadístico del archivo .hcstat .

En versiones anteriores esto no estaba en las funciones de oclhashcat en la versión 0.9 viene integrado, y se usa automáticamente al usar cualquier mascara tales como ?d?d?lu . el archivo por defecto es hashcat.hcstat el cual fue hecho usando la lista rockyou.txt

Como funciona?

Trataremos de explicarlo un poco mas a fondo.

En el ataque Brute-force o Mass-attack nosotros podemos especificar un limite del “keyspace” estableciendo un mapa de caracteres menor para reducir el tiempo de ataque. En el ataque markov tenemos algo parecido llamado "threshold". Todo lo que se tiene que hacer es especificar un número. Mientras mas alto el número más alto será el "threshold" para sumar otro enlace entre dos caracteres en la tabla de dos niveles en la que se basa el ataque markov.

No es tan necesario saberlo todo a fondo según las notas de Atom, solo tenemos que recordar que mientras más alto el valor mas alto será el “keyspace” así que el ataque será mas profundo y tardara mas. Si usamos un --markov-threshold=0 estaremos usando ataque puro de fuerza bruta pero con cadenas markov.

Más adelante les explicaremos como crear el .hcstat ahora les explicaremos los operadores markov

Markov:

--markov-hcstat: especifica el directorio donde se encuentra el archivo .hcstat . Por defecto es hashcat.hcstat

--markov-hcstat /user/Desktop/markov.hcstat

--markov-disable : Deshabilita el uso de cadenas markov y hacemos un ataque puro de fuerza bruta

--markov-classic: habilita el uso clásico de cadenas markov, no hay un realce por cada posición, según notas de Atom, el modo classic es un 29 % menos eficiente. Úselo según le convenga.

--markov-threshold=NUM O –t: especificamos cuando oclhashcat deja de aceptar más cadenas markov.

Pongámoslo así

Un threshold de 3 y un largo de 6 caracteres = =729

Un threshold de 10 y un largo de 8 caracteres = =100000000

A menos que especifiquemos lo contrario con –t 0 o –t 10, al usar una máscara cómo ?l?l?l?l?l hashcat intentara con todo el keyspace, puesto de otra manera (# de caracteres)^(largo).

--attack-mode=NUM O –a: El tipo de ataque a usar en contra de un hash. Usando los diferentes vectores de ataque aumentaran las probabilidades de recuperar la contraseña. Los modos son los siguientes:

 0 = Straight- simplemente corre todas las palabras del diccionario en contra de la lista de hashes, teniendo un buen diccionario aumentara las probabilidades de recuperar tu hash.
 1 = Combination – combina las palabras de los diccionarios dados, recuerda que Oclhashcat usa un diccionario izquierdo y uno derecho.
 3 = Brute-force – Fuerza bruta o también conocido como Mask Attack. A diferencia de hashcatcli que es usado como un paso desesperado, con oclhashcat puede ser realizado en minutos u horas con la ayuda del GPU, y usando el ataque markov.
 6 = Hybrid dict + mask – es un ataque hibrido, fácil especificamos en la izquierda un diccionario y en la derecha una mascara como si fuésemos a usar un mass attack. Por ejemplo /user/Desktop/diccionario.txt ?d?d?d lo que hará Oclhashcat será añadir la mascara en la parte del frente de la palabra del diccionario. Si tenemos en el diccionario “aaaaa” la palabra seria “aaaaa000 hasta aaaaa999 “
 7 = Hybrid mask + dict – lo mismo descrito anteriormente pero al revés, tendríamos de “000aaaaa hasta 999aaaaa”.
Nota: para los modos 0, 1, 6, 7 el uso de reglas puede ser usado, lo explicaremos más adelante.

VECTORES DE ATAQUE

Straight. (Directo).Este ataque simplemente corre una lista de palabras y prueba todas las cadenas contra cada hash. Este vector ya lo hemos estudiado en la versión cpu de hascat. La versión GPU tiene una manera particular de cargar los diccionarios, cada palabra del diccionario será puesta en un buffer especial por el largo de la cadena de caracteres, es decir el largo de cada palabra tiene un buffer único, las palabras de 8 letras serán almacenadas en el buffer numero 8 y así sucesivamente, pero como sucede normalmente los diccionarios no están ordenados, así que para optimizar la carga del diccionario te sugerimos, si usas Linux usar http://hashcat.net/wiki/doku.php?id=hashcat_utils la herramienta splitlen junto con el comando “sort”

Sort –u dicc.txt > diccordenado.txt

Esta es una de las razones por la que es difícil en Oclhashcat restaurar la sesión como su contraparte basada en CPU.

Combination. Junta dos palabras del diccionario dado e intenta con ellas. Puede ser útil en contra de contraseñas largas, la gente trata de añadir complejidad a sus contraseñas escribiéndolas dos veces o personas que usan su primer y segundo apellido. Por ejemplo Atom usa su apellido derp para hacer una contraseña, si Atom y derp existen en el diccionario, atomderp será usado y también derpatom. Lo especial de este ataque en oclhascat es que podemos aplicar reglas a los diccionarios de izquierda y derecha.

Brute force (Mask attack)- con este ataque probamos todas las combinaciones de un espacio dado pero más especifico, igual que en un ataque de fuerza bruta. La razón de esto es para no apegarse al tradicional ataque de fuerza bruta es para reducir los candidatos de contraseñas. Convirtiéndolo en un ataque más especifico y eficiente. Por cada posición tenemos que configurar un marcador, si nuestra contraseña a crackear tiene 8 espacios usaremos 8 marcadores.

 ?l = abcdefghijklmnopqrstuvwxyz
 ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
 ?d = 0123456789
 ?s = !”#$%&'()*+,-./:;⇔?@[\]^_`{|}~
 ?h = 8 bit characters from 0xc0 - 0xff
 ?D = 8 bit characters from german alphabet
 ?F = 8 bit characters from french alphabet
 ?R = 8 bit characters from russian alphabet

Si queremos solo letras minúsculas usaríamos ?l?l?l?l?l?l?l?l así nuestra mascara probara desde” aaaaaaaa” hasta “zzzzzzzz”

Pero y si queremos solo numero y letras? Qué tal si el pass es geyepn123 ? pues fácil, en Oclhashcat tenemos los caracteres a medida entonces configuraríamos así:

--custom-charset1=?l?d O de manera análoga -1 ?l?d

Nuestra mascara seria ?1?1?1?1?1?1?d?d?d

Ahora calculemos el tiempo, digamos que es un algoritmo rápido como el MD5 y nuestro GPU tiene una velocidad con el MD5 de 100 millones de contraseñas por segundo o 100M/s

36*36*36*36*36*36*10*10*10= 366 *103 =2176782336000/100000000=21767.82 seg.
21767.82/60=362.79 minutos
362.79/60= 6.04 horas

Parecerá mucho tiempo, pero comparado con CPU esto podría tomar años. Hay GPU más poderosos donde podemos llegar hasta a 1000M/s y con multi-gpu unos 8000M/s

Hybrid. “ dict + mask” y “mask + dict” básicamente es solo un ataque de combinación, de un lado tienes un diccionario y del otro simplemente un ataque de fuerza bruta, en otras palabras los caracteres de fuerza bruta son usados como prefijo o sufijo en cada una de las palabras del diccionario, es por eso que se llama Hibrido. Como alternativa se puede usar el modo 3 o mask attack o el ataque basado en reglas.

RULE-BASED ATTACK

El ataque basado en reglas es uno de los ataques más complicados que existen en la familia hashcat. La razón de esto es muy simple, el ataque basado en reglas es como un lenguaje de programación, diseñado para generación de candidatos de contraseñas. Tiene funciones para modificar, cortar o extender palabras y tiene operadores condicionales etc. Esto lo hace un ataque más flexible, seguro y eficiente.

El motor de las reglas fue hecho paraqué pueda ser compatible con otros programas de recuperación de contraseñas como John the ripper y Passwordspro, que no veremos en este manual.

Lo más importante al escribir reglas es sabiendo que es lo que queremos escribir, esto significa que tendría que analizar docenas de contraseñas en texto plano para poder definir un patrón en ellas. Por ejemplo sabemos que comúnmente las personas añaden un digito a sus contraseñas, con esto ya tenemos dos parámetros.

*queremos añadir algo
* El valor que queremos añadir es un digito

Las siguiente funciones son 100 % compatibles con John the ripper y passwordspro.



* indica que N inicia en 0. Para posiciones de caracteres diferentes que 0-9 use A-Z (A=11)
+ indica que esta regla es implementada en hashcat únicamente.


Las siguientes funciones no están disponibles en John the ripper y Passwordspro



* indica que N inicia en 0. Para posiciones de caracteres diferentes que 0-9 use A-Z (A=11)


Bueno y dirá, quizás, wtfck? Que son esas tablas? Pues fácil son los comandos que usaremos en las reglas, usaremos lo que está en la segunda columna donde dice “Function”, no nos molestaremos en traducir estas tablas a español, así que si no sabe ingles pues use google para traducir XD.

Estas reglas las podemos guardar en un archivo .txt o si quiere cambiarle la extensión a .rule para no confundirse no hay problema, esto no afecta en nada.

Supongamos que ya creamos nuestro archivo donde guardaremos nuestras reglas

Como mencionamos antes si queremos añadir una cifra a nuestras palabras del diccionario en el archivo escribiremos

Así que si tenemos en nuestro diccionario:

putoepn

A la palabra le será añadida la cifra 1 y tendremos

putoepn1

Si lo que queremos es añadir todos los números del 0 al 9 para eso tenemos el ataque hibrido.

Si queremos hacer más complejo el ataque podemos añadir

:

r

ru

Con eso le dijimos a hashcat que primero no haga nada, solo comparar la palabra, en la segunda línea le dijimos que invierta la palabra y en la tercera línea le dijimos que invierta la palabra y que además la palabra la pase toda a mayúsculas.

Otra característica especial de hashcat es que con hashcat puedes generar reglar aleatorias sobre la marcha en una sesión. Esto es de mucha utilidad cuando estas totalmente sin ideas.

--generate-rules=NUM – con esto le decimos a hashcat que genere el numero de reglas indicadas a aplicar en cada intento.

--generate-rules-func-min=NUM
--generate-rules-func-max=NUM

Estos operadores especifican el número de funciones que deben ser usadas. Si ponemos como mínimo 1 y máximo 3 el resto de las funciones serán ignoradas. Por ejemplo digamos que hashcat genero las funciones

:
]]]]
ru

lo que pasara entonces es que la segunda función “]]]]’ será ignorada.

Esto es de manera general, si quieres saber mas entra a la web del autor
Volver arriba Ir abajo