45
Página 1 de 45 11 de enero de 2022 Ficha N° 26 HASHCAT CSIRT DE GOBIERNO Comando de la semana “HASHCATI. CONTEXTO Este documento, denominado en esta oportunidad, “HASHCAT", tiene como objetivo ilustrar sobre una herramienta que puede ser de utilidad para el lector, a objeto de ir potenciando las capacidades locales de autochequeo, detección simple de vulnerabilidades que están expuestas a internet en sus sitios o sistemas web y, a su vez, la obtención de una verificación de la subsanación de aquellas que se les han sido reportadas, facilitando la interacción con el CSIRT de Gobierno. El objetivo no es reemplazar una auditoria de código o evaluación de vulnerabilidades, sino que establecer capacidades básicas de chequeo y obtención de información de manera rápida para temas específicos, como por ejemplo la verificación de la subsanación de alertas o vulnerabilidades reportadas por “CSIRT GOB CL”. Todas estas herramientas, al contar con la posibilidad de ser usadas desde una línea de comando, permiten en algún grado la integración dentro de scripts o programas escritos en lenguajes que facilitan la automatización, tales como PERL, AWK, Shell Scripting 1 , Expect, Python, C, C#, C++, Golang, JavaScript, PowerShell, Ruby, Java, PHP, Elixir, Elm, Go, Dart, DLang, Pony, TypeScript, Kotlin, Nim, OCaml, Q# 2 , Reason, Rust (RustyBuer) y Swift, entre otros, con miras a automatizar estas actividades y así poder invertir el tiempo de los especialistas o analistas en el estudio e investigación de los datos, para encontrar los problemas relevantes y descartar los falsos positivos. Es importante que conozca al menos lo básico de los lenguajes más nuevos o no convencionales, pues se ha detectado que los desarrolladores de malware van incorporándolos como estrategia de ofuscación, para dificultar la detección y análisis que proveen las soluciones de seguridad. Solo a modo de curiosidad se comparte un gráfico en el que se muestra el resultado de una encuesta entre muchos desarrolladores, dejando ver que lenguajes son más queridos, temidos (primer gráfico) y luego cuales son los más preferidos 3 (segundo gráfico). 1 https://scis.uohyd.ac.in/~apcs/itw/UNIXProgrammingEnvironment.pdf 2 https://github.com/Microsoft/QuantumKatas/ 3 https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread

omando de la semana ^HASHCAT - ciberseguridad.gob.cl

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 1 de 45

11 de enero de 2022 Ficha N° 26 HASHCAT CSIRT DE GOBIERNO

Comando de la semana “HASHCAT”

I. CONTEXTO

Este documento, denominado en esta oportunidad, “HASHCAT", tiene como objetivo ilustrar sobre

una herramienta que puede ser de utilidad para el lector, a objeto de ir potenciando las

capacidades locales de autochequeo, detección simple de vulnerabilidades que están expuestas a

internet en sus sitios o sistemas web y, a su vez, la obtención de una verificación de la subsanación

de aquellas que se les han sido reportadas, facilitando la interacción con el CSIRT de Gobierno.

El objetivo no es reemplazar una auditoria de código o evaluación de vulnerabilidades, sino que

establecer capacidades básicas de chequeo y obtención de información de manera rápida para

temas específicos, como por ejemplo la verificación de la subsanación de alertas o vulnerabilidades

reportadas por “CSIRT GOB CL”.

Todas estas herramientas, al contar con la posibilidad de ser usadas desde una línea de comando,

permiten en algún grado la integración dentro de scripts o programas escritos en lenguajes que

facilitan la automatización, tales como PERL, AWK, Shell Scripting1, Expect, Python, C, C#, C++,

Golang, JavaScript, PowerShell, Ruby, Java, PHP, Elixir, Elm, Go, Dart, DLang, Pony, TypeScript,

Kotlin, Nim, OCaml, Q#2, Reason, Rust (RustyBuer) y Swift, entre otros, con miras a automatizar

estas actividades y así poder invertir el tiempo de los especialistas o analistas en el estudio e

investigación de los datos, para encontrar los problemas relevantes y descartar los falsos positivos.

Es importante que conozca al menos lo básico de los lenguajes más nuevos o no convencionales,

pues se ha detectado que los desarrolladores de malware van incorporándolos como estrategia de

ofuscación, para dificultar la detección y análisis que proveen las soluciones de seguridad.

Solo a modo de curiosidad se comparte un gráfico en el que se muestra el resultado de una

encuesta entre muchos desarrolladores, dejando ver que lenguajes son más queridos, temidos

(primer gráfico) y luego cuales son los más preferidos3 (segundo gráfico).

1 https://scis.uohyd.ac.in/~apcs/itw/UNIXProgrammingEnvironment.pdf 2 https://github.com/Microsoft/QuantumKatas/ 3 https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread

Page 2: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 2 de 45

Al final de este documento se presenta, a modo de curiosidad, el tradicional “Hola, Mundo” escrito

en algunos de estos lenguajes, con el objetivo de motivar al lector a conocerlos, estudiarlos y

aplicarlos a sus entornos de trabajo.

Page 3: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 3 de 45

Page 4: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 4 de 45

II. INTRODUCCIÓN

Una de las tareas regulares que un encargado de ciberseguridad debe realizar es el análisis de

contraseñas a través de su hash4. En este contexto puede verse enfrentado a la necesidad de

intentar obtener una contraseña por comparación contra diccionarios de hashs o algún mecanismo

de fuerza bruta. Esta tarea que parece simple, pero que exige un alto poder computacional para

poder obtener resultados en tiempos razonables. En esta línea, las herramientas que puedan

utilizar de mejor manera el poder de cómputo de las diferentes CPU5 que dispone un computador

(CPU de la tarjeta madre o GPU6) son las que resultan prácticas para nuestros analistas de

ciberseguridad. En esta oportunidad nos referiremos a Hashcat.

Conocer esta información es importante, pues es lo que un hacker está haciendo en sus primeros

pasos para llevar adelante un ataque en etapas posteriores.

En este sentido es importante tener en perspectiva el concepto de Cyber Kill Chain.

La Cyber Kill Chain es una secuencia de los pasos que en general siguen los ciberdelincuentes

cuando atacan nuestros sitios o sistemas expuestos en Internet:

1) Reconocimiento: El intruso selecciona el objetivo, lo investiga e intenta identificar las

vulnerabilidades en la red objetivo.

2) Armamento: El intruso crea un arma de malware de acceso remoto, como un virus o un

gusano, adaptada a una o más vulnerabilidades.

3) Entrega: El intruso transmite el arma al objetivo (por ejemplo, a través de archivos adjuntos

de correo electrónico, sitios web o unidades USB7).

4) Explotación: Se activa el código del programa del arma de malware, que toma medidas en

la red objetivo para aprovechar la vulnerabilidad.

5) Instalación: El arma de malware instala un punto de acceso (por ejemplo, "puerta trasera")

que puede utilizar un intruso.

6) Comando y control: El malware permite al intruso tener acceso persistente "con las manos

en el teclado" a la red de destino.

7) Acciones sobre el objetivo: El intruso toma medidas para lograr sus objetivos, como la

exfiltración de datos, la destrucción de datos o el cifrado para obtener un rescate. 4 https://es.wikipedia.org/wiki/Funci%C3%B3n_hash 5 https://es.wikipedia.org/wiki/Unidad_central_de_procesamiento 6 https://es.wikipedia.org/wiki/Unidad_de_procesamiento_gr%C3%A1fico 7 https://es.wikipedia.org/wiki/Universal_Serial_Bus

Page 5: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 5 de 45

En este contexto se inserta la herramienta que les presentamos en esta edición del “comando de la

semana”: BING-IP2HOSTS.

Ilustración 1 Cyber Kill Chain by Lockheed Martin

Page 6: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 6 de 45

¿Qué es HASHCAT?

HASHCAT es un “cracker” de contraseñas, que cuenta con al menos las siguientes características:

El descifrador de contraseñas más rápido del mundo

El primer y único motor de reglas en el núcleo del mundo

Gratuito

Código abierto (licencia MIT)

Multi-OS (Linux, Windows y macOS)

Multi-Plataforma (CPU, GPU, APU, etc., todo lo que viene con un tiempo de ejecución

OpenCL)

Multi-Hash (Descifrando múltiples hashes al mismo tiempo)

Multi-Devices (Utilización de múltiples dispositivos en el mismo sistema)

Multi-Device-Types (Utilizando tipos de dispositivos mixtos en el mismo sistema)

Admite la función de cerebro candidato a contraseña

Soporta redes de cracking distribuidas (usando overlay)

Admite la pausa/reanudación interactiva

Soporta sesiones

Soporta la restauración

Admite la lectura de candidatos a contraseña desde un archivo y desde la entrada estándar

Soporta hex-salt y hex-charset

Admite el ajuste automático del rendimiento

Admite cadenas de markov de ordenación automática del espacio de claves

Sistema de evaluación comparativa integrado

Vigilancia térmica integrada

Más de 350 tipos de hash implementados teniendo en cuenta el rendimiento

La suite de herramientas que componen hashcat incluye a las siguientes:

Hashcat: la utilidad de recuperación de contraseñas más rápida y avanzada del mundo.

Hashcat-utils: Pequeñas utilidades que son útiles en el descifrado avanzado de contraseñas.

Maskprocessor: Generador de palabras de alto rendimiento con un juego de caracteres

configurable por posición.

Statsprocessor - Generador de palabras basado en cadenas de markov por posición.

Princeprocessor: Generador de candidatos de contraseña independiente que utiliza el

algoritmo PRINCE.

Kwprocessor: Generador avanzado de teclado con recorridos, mapas de teclas y rutas

configurables.

Page 7: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 7 de 45

Soporta al menos los siguientes modos de ataque:

Ataque de diccionario: Probar todas las palabras de una lista; también llamado modo

"directo" (modo de ataque 0, -a 0).

Ataque combinador: Concatenación de palabras de varias listas de palabras (modo 1)

Ataque de fuerza bruta y ataques Máscara - tratar todos los caracteres de juegos de

caracteres dado, por posición (modo 3).

Ataque híbrido: Combinación de listas de palabras + máscaras (modo 6) y máscaras + listas

de palabras (modo 7); puede también ser hecho con reglas.

Ataque de asociación: Utilice un nombre de usuario, un nombre de archivo, una pista o

cualquier otra información que pueda haber influido en la generación de la contraseña para

atacar un hash específico.

Ataque basado en reglas: Aplicar reglas a palabras de listas de palabras; se combina con

ataques basados en listas de palabras (modos de ataque 0, 6 y 7).

Ataque de caso de alternancia - caso de alternancia de personajes; ahora cumplido con

reglas.

NOTA IMPORTANTE 1: Dado que es relevante un buen manejo de los comandos básicos de Linux, tanto para posteriores manejos de los datos o archivos como para usos de la información resultante de la ejecución de los comandos, es que el comité editorial decidió que se incluya en esta edición y en las subsiguientes un anexo de comandos Linux que son de utilidad para moverse en este sistema operativo. Se sugiere dominarlos todos para facilitar el acceso y manipulación de la información. En futuras ediciones se irán incorporando nociones más avanzadas sobre el uso de estos comandos para procesamiento de archivos, procesos, y de sus usos en scripting. Vea anexo I: Comandos básicos de Linux NOTA IMPORTANTE 2: Dado que un altísimo porcentaje de los equipos de usuarios y servidores operando en un entorno Windows, el comité editorial ha decidido ir incorporando “tips” para este entorno computacional. Vea anexo II: Comandos o aplicativos básicos para Windows: TCPView Bonus Track: Ejemplos muy básicos y simples del clásico “Hello, World!” escrito en diferentes lenguajes. El objetivo es despertar su curiosidad por estos lenguajes y ojalá se entusiasme y emprenda la cruzada de aprenderlo en profundidad, para luego aplicarlo en su quehacer cotidiano y dentro de lo posible comparta sus conocimientos con la comunidad.

Page 8: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 8 de 45

PASO A PASO

PASO 1: UN ENTORNO ADECUADO PARA TRABAJAR

Primero debe contar con una distribución de Kali8 Linux funcionando, ya sea en una máquina física

o en una máquina virtual910.

Instalación de Kali Linux

La instalación de Kali Linux (arranque único) en su computadora es un proceso sencillo. Esta guía

cubrirá la instalación básica (que se puede realizar en una máquina virtual invitada o sobre un

equipo entero), con la opción de cifrar la partición. En ocasiones, es posible que tenga datos

confidenciales que preferiría cifrar con Full Disk Encryption (FDE). Durante el proceso de instalación,

puede iniciar una instalación cifrada LVM en el disco duro o en las unidades USB.

Primero, necesitará hardware de computadora compatible. Kali Linux es compatible con

plataformas amd64 (x86_64 / 64-Bit) e i386 (x86 / 32-Bit). Siempre que sea posible, el fabricante

recomienda utilizar las imágenes amd64. Los requisitos de hardware son mínimos como se

enumeran en la sección siguiente, aunque un mejor hardware naturalmente proporcionará un

8 https://www.kali.org/downloads/ 9 https://my.vmware.com/en/web/vmware/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0 10 https://www.virtualbox.org/wiki/Downloads

Page 9: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 9 de 45

mejor rendimiento. Debería poder usar Kali Linux en hardware más nuevo con UEFI y sistemas más

antiguos con BIOS.

Las imágenes i386, de forma predeterminada, utilizan un kernel PAE, por lo que puede ejecutarlas

en sistemas con más de 4 GB de RAM.

En el ejemplo que se menciona más adelante, se instalará Kali Linux en una nueva máquina virtual

invitada, sin ningún sistema operativo existente preinstalado.

Requisitos del sistema

Los requisitos de instalación para Kali Linux variarán según lo que le gustaría instalar y su

configuración. Para conocer los requisitos del sistema:

- En el extremo inferior, puede configurar Kali Linux como un servidor Secure Shell (SSH)

básico sin escritorio, utilizando tan solo 128 MB de RAM (se recomiendan 512 MB) y 2 GB

de espacio en disco.

- En el extremo superior, si opta por instalar el escritorio Xfce4 predeterminado y el kali-

linux-default metapaquete, realmente debería apuntar a al menos 2 GB de RAM y 20 GB de

espacio en disco.

- Cuando se utilizan aplicaciones que consumen muchos recursos, como Burp Suite,

recomiendan al menos 8 GB de RAM (¡e incluso más si se trata de una aplicación web

grande!) o utilizar programas simultáneos al mismo tiempo.

Requisitos previos de instalación11

Esta la guía se harán las siguientes suposiciones al instalar Kali Linux:

Usando la imagen del instalador de amd64.

Unidad de CD/DVD/ soporte de arranque USB.

Disco único para instalar.

Conectado a una red (con DHCP y DNS habilitados) que tiene acceso a Internet saliente.

Preparación para la instalación

Descarge Kali Linux12 (el fabricante recomienda13 la imagen marcada como Instalador).

11 Dependiendo del tipo de instalación que seleccione, se pueden borrar todos los datos existentes en el disco duro, así que haga una copia de seguridad de la información importante del dispositivo en un medio externo. 12 https://www.kali.org/docs/introduction/download-official-kali-linux-images/ 13 https://www.kali.org/docs/introduction/what-image-to-download/#which-image-to-choose

Page 10: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 10 de 45

Grabe14 la ISO de Kali Linux en un DVD o una imagen de Kali Linux Live en una unidad

USB. (Si no puede, consulte la instalación en red15 de Kali Linux).

Realice una copia de seguridad de la información importante del dispositivo en un

medio externo.

Asegúrese de que su computadora esté configurada para arrancar desde CD/DVD/USB

en su BIOS/UEFI.

Un vez que tiene preparado todos los materiales y el entorno para comenzar la instalación siga los

pasos indicados en la sección “Kali Linux Installation Procedure” del siguiente enlace:

https://www.kali.org/docs/installation/hard-disk-install/

14 https://www.kali.org/docs/usb/live-usb-install-with-windows/ 15 https://www.kali.org/docs/installation/network-pxe/

Page 11: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 11 de 45

Otras distribuciones que puede considerar son las siguientes:

Nombre Link Descripción ARCHSTRIKE https://archstrike.org/ Distribución linux con foco en ciberseguridad.

BACKBOX https://www.backbox.org/ Distribución de Linux orientada a pruebas de penetración y evaluación de seguridad que proporciona un conjunto de herramientas de análisis de redes y sistemas.

BLACKARCH http://blackarch.org/ Herramientas para pruebas de penetración basada en Arch Linux.

BLACKBUNTU https://archiveos.org/blackbuntu/

Es una distribución GNU / Linux basada en Ubuntu y diseñada con Pentest, Seguridad y Desarrollo en mente para la mejor experiencia.

BUGTRAQ https://archiveos.org/bugtraq/

Distribución GNU / Linux destinada a análisis forense digital, pruebas de penetración, laboratorios de malware y análisis forense.

CAINE http://www.caine-live.net/ CAINE (Computer Aided INvestigative Environment) es una distribución GNU / Linux italiana creada como un proyecto de Digital Forensics.

CYBORG HAWK LINUX

https://archiveos.org/cyborg-hawk/

Distribución de Linux basada en la plataforma Ubuntu con el último kernel para profesionales de la seguridad cibernética.

DEFT LINUX http://www.deftlinux.net/ DEFT es un sistema operativo Linux creado especialmente para profesionales y expertos de seguridad que necesiten un ecosistema para analizar datos, redes y dispositivos y poder recopilar de ellos la mayor cantidad de información posible.

DRACOS LINUX https://dracos-linux.org/ Dracos Linux es un sistema operativo de código abierto que proporciona pruebas de penetración.

FEDORA SECURITY LAB

https://labs.fedoraproject.org/en/security/

Entorno de prueba seguro para trabajar en auditoría de seguridad, análisis forense, rescate de sistemas y enseñanza de metodologías de prueba de seguridad en universidades y otras organizaciones.

GNACK TRACK LINUX

https://archiveos.org/gnacktrack/

Distribución de Linux basada en Ubuntu que proporciona un conjunto de pruebas de penetración.

JONDO https://anonymous-proxy-servers.net/en/jondo-live-cd.html

Entorno seguro y preconfigurado para navegación anónima.

KALI https://www.kali.org/ Distribución de Linux de código abierto basada en Debian orientada a diversas tareas de seguridad de la información, como pruebas de penetración, investigación de seguridad, informática forense e ingeniería inversa.

LIVE HACKING DVD

http://www.livehacking.com/live-hacking-cd/download-live-hacking/

Distribución de Linux basada en Ubuntu que proporciona un conjunto de pruebas de penetración.

MATRIUX http://matriux.sourceforge.net/

Distribución de seguridad con todas las funciones que consta de un montón de herramientas poderosas, de código abierto y gratuitas que se pueden utilizar para varios propósitos, incluidos, entre otros, pruebas de

Page 12: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 12 de 45

penetración, piratería ética, administración de sistemas y redes, investigaciones forenses cibernéticas, pruebas de seguridad, análisis de vulnerabilidades y mucho más.

MOKI https://github.com/moki-ics/moki

Modificación de Kali para incorporar varias herramientas ICS / SCADA esparcidas por Internet, para crear un Kali Linux personalizado dirigido a profesionales de pentesting ICS / SCADA.

NETWORK SECURITY TOOLKIT (NST)

https://sourceforge.net/projects/nst/files/

Un kit de herramientas de monitoreo y análisis de seguridad de red para distribución de Linux.

NODEZERO https://sourceforge.net/projects/nodezero/

Linux basado en Ubuntu diseñado como un sistema completo que también se puede utilizar para pruebas de penetración.

PENTOO https://pentoo.org/ Live CD y Live USB diseñado para pruebas de penetración y evaluación de seguridad. Basado en Gentoo Linux, Pentoo se proporciona como livecd instalable de 32 y 64 bits.

PARROT SECURITY OS

https://www.parrotsec.org/

Distribución GNU / Linux basada en Debian y diseñada pensando en la seguridad y la privacidad.

SAMURAI WEB TESTING FRAMEWORK

https://www.samuraiwtf.org/

Linux completo para su uso en la formación de seguridad de aplicaciones. Es gratuito y de código abierto, distribuido como VM preconstruidas y como código fuente. La fuente consta de un Vagrantfile, activos estáticos y scripts de compilación. Durante el proceso de construcción, recupera una variedad de herramientas y objetivos de entrenamiento.

SECURITY ONION 2

https://securityonionsolutions.com/

Distribución de Linux de código abierto y gratuito para la búsqueda de amenazas, la supervisión de la seguridad empresarial y la gestión de registros. ¡El asistente de configuración fácil de usar le permite crear un ejército de sensores distribuidos para su empresa en minutos! Security Onion incluye Elasticsearch, Logstash, Kibana, Suricata, Zeek (antes conocido como Bro), Wazuh, Stenographer, TheHive, Cortex, CyberChef, NetworkMiner y muchas otras herramientas de seguridad.

TAILS https://tails.boum.org/ Sistema operativo portátil que protege la privacidad.

QUBES OS https://www.qubes-os.org/

Sistema operativo gratuito y de código abierto orientado a la seguridad para la informática de escritorio de un solo usuario. Qubes OS aprovecha la virtualización basada en Xen para permitir la creación y gestión de compartimentos aislados llamados qubes.

WIFISLAX https://www.wifislax.com/ Linux para auditorías Wireless.

DEMONLINUX https://demonlinux.com Distribución de Debian Linux con tema de prueba de penetración.

Page 13: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 13 de 45

KALI FOR WINDOWS

Alternativamente a los usuarios de Microsoft Windows 10 u 11, pueden optar por instalar KALI

como un subsistema dentro de Windows, lo que les permitirá utilizar toda la potencia de línea de

comando de KALI sin salirse de su ambiente Windows.

Para que esto funcione correctamente se debn instalar los siguientes módulos desde el “Microsoft

Store”:

Desde su Windows acceda al store de aplicaciones que ofrece Microsoft y busque primero WSL y

luego Kali Linux.

Page 14: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 14 de 45

Primero:

Instalar el “Microsoft Subsystem Linux Preview” (o equivalente si deja de se preview):

Segundo: Instalar “Kali Linux”:

Page 15: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 15 de 45

Una vez que se ha instalado Kali Linux, se debe configurar un usuario distinto a root en la primera

ejecución.

Luego de esto se debe actualizar con el siguiente comando, convirtiéndose en usuario root

previamente:

# sudo su - # apt update && apt full-upgrade

Luego de que se hayan actualizado los paquetes puede probar los comandos de kali-tools e

instalarlos caso a caso, como por ejemplo NMAP.

Page 16: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 16 de 45

Inicialmente NMAP no esta instalado:

Razón por la cual lo debe instalar con el siguiente comando (selecciones “Y” cuando se le pregunte):

# apt install nmap

Page 17: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 17 de 45

Una vez finalizada la instalación del comando especifico, puede comenzar a utilizarlo:

Explore que comandos están preinstalados y cuales debe ir agregando para que tenga su biblioteca

de comandos lista para sus análisis de vulnerabilidades y escaneos de ciberseguridad.

Por ejemplo para el caso del boletín presente, instale manualmente “masscan”:

Previamente instale pcaputils: “#apt install pcaputils”.

Page 18: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 18 de 45

Al finalizar la instalación estará en condiciones de utilizar “masscan” dentro de una consola que esta

siendo ejecutada dentro de “Microsoft Windows 10 o Microsoft Windows 11”.

Page 19: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 19 de 45

PASO 2: INSTALAR EL COMANDO

Una vez que se cuenta con este sistema operativo de manera funcional podemos instalar los

comandos; algunos ya vienen preinstalados en la distribución KALI16, pero si no fuere así puede

instalarlos con los siguientes comandos, previamente tomando privilegios de usuario “root”:

Si el comando no estuviere pre-instalado en la distribución KALI, proceda con la siguiente

instrucción:

# apt install hashcat Leyendo lista de paquetes... Hecho Creando árbol de dependencias... Hecho Leyendo la información de estado... Hecho hashcat ya está en su versión más reciente (6.1.1+ds1-1). fijado hashcat como instalado manualmente. Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios. baobab caribou cryptsetup-run folks-common gccgo-10 gir1.2-caribou-1.0 gir1.2-clutter-1.0 gir1.2-clutter-gst-3.0 gir1.2-cogl-1.0 gir1.2-coglpango-1.0 gir1.2-gtkclutter-1.0 gir1.2-handy-0.0 gir1.2-mutter-8 gnome-characters gnome-contacts gnome-core gnome-font-viewer gnome-logs gnome-online-miners gnome-tweak-tool golang-1.15-go golang-1.15-src golang-1.16-go golang-1.16-src gstreamer1.0-packagekit ksysguardd libamtk-5-0 libamtk-5-common libavif12 libavif9 libcamel-1.2-62 libcaribou-common libcaribou0 libdap27 libdapclient6v5 libdav1d4 libedataserver-1.2-25 libedataserverui-1.2-2 libepsilon1 libextutils-pkgconfig-perl libfolks-eds26 libfolks26 libgdal28 libgeos-3.9.0 libgeos-3.9.1 libgeos3.10.0 libgfbgraph-0.2-0 libgo-10-dev libgo16 libgupnp-1.2-0 libhandy-0.0-0 libidn11 libkdecorations2private7 libkdecorations2private8 libkf5sysguard-bin libksignalplotter9 libkwineffects12a libkwinglutils12 libkwinxrenderutils12 libmusicbrainz5-2 libmusicbrainz5cc2v5 libmutter-8-0 libnetcdf18 libntfs-3g883 libomp-11-dev libomp5-11 libpcre2-posix2 libplacebo72 libproj19 libqalculate20 libqalculate20-data libqt5script5 libquvi-0.9-0.9.3 libquvi-scripts-0.9 libstd-rust-1.48 libstd-rust-1.49 libstd-rust-1.50 libtepl-5-0 libtracker-control-2.0-0 libtracker-miner-2.0-0 libtracker-sparql-2.0-0 liburcu6 liburing1 libx265-192 libxmlb1 libyara4 libzapojit-0.0-0 lua-bitop lua-expat lua-json lua-socket

16 https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/

Page 20: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 20 de 45

python3-editor python3-exif python3-gevent python3-gevent-websocket python3-greenlet python3-ipython-genutils python3-jupyter-core python3-m2crypto python3-nbformat python3-parameterized python3-plotly python3-pylnk python3-stem python3-zope.event r-cran-freetypeharfbuzz r-cran-gdtools rust-gdb x11proto-xext-dev Utilice «apt autoremove» para eliminarlos. 0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados.

El proceso:

Page 21: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 21 de 45

PASO3: VERIFICAR SU INSTALACIÓN

Una vez que se ha instalado podemos verificar y explorar las múltiples opciones que ofrece para su

ejecución:

En una consola de su KALI, dentro del directorio donde quedó instalada la aplicación, ejecute el

comando para que muestre la ayuda: “dnsrecon -h”.

El despliegue total de la ayuda es la siguiente:

# hashcat -h

hashcat (v6.1.1) starting...

Usage: hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...

- [ Options ] -

Options Short / Long | Type | Description | Example

================================+======+======================================================+=======================

-m, --hash-type | Num | Hash-type, see references below | -m 1000

-a, --attack-mode | Num | Attack-mode, see references below | -a 3

-V, --version | | Print version |

-h, --help | | Print help |

--quiet | | Suppress output |

--hex-charset | | Assume charset is given in hex |

--hex-salt | | Assume salt is given in hex |

--hex-wordlist | | Assume words in wordlist are given in hex |

--force | | Ignore warnings |

--status | | Enable automatic update of the status screen |

--status-json | | Enable JSON format for status output |

--status-timer | Num | Sets seconds between status screen updates to X | --status-timer=1

--stdin-timeout-abort | Num | Abort if there is no input from stdin for X seconds | --stdin-timeout-

abort=300

Page 22: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 22 de 45

--machine-readable | | Display the status view in a machine-readable format |

--keep-guessing | | Keep guessing the hash after it has been cracked |

--self-test-disable | | Disable self-test functionality on startup |

--loopback | | Add new plains to induct directory |

--markov-hcstat2 | File | Specify hcstat2 file to use | --markov-

hcstat2=my.hcstat2

--markov-disable | | Disables markov-chains, emulates classic brute-force |

--markov-classic | | Enables classic markov-chains, no per-position |

-t, --markov-threshold | Num | Threshold X when to stop accepting new markov-chains | -t 50

--runtime | Num | Abort session after X seconds of runtime | --runtime=10

--session | Str | Define specific session name | --session=mysession

--restore | | Restore session from --session |

--restore-disable | | Do not write restore file |

--restore-file-path | File | Specific path to restore file | --restore-file-

path=x.restore

-o, --outfile | File | Define outfile for recovered hash | -o outfile.txt

--outfile-format | Str | Outfile format to use, separated with commas | --outfile-format=1,3

--outfile-autohex-disable | | Disable the use of $HEX[] in output plains |

--outfile-check-timer | Num | Sets seconds between outfile checks to X | --outfile-check=30

--wordlist-autohex-disable | | Disable the conversion of $HEX[] from the wordlist |

-p, --separator | Char | Separator char for hashlists and outfile | -p :

--stdout | | Do not crack a hash, instead print candidates only |

--show | | Compare hashlist with potfile; show cracked hashes |

--left | | Compare hashlist with potfile; show uncracked hashes |

--username | | Enable ignoring of usernames in hashfile |

--remove | | Enable removal of hashes once they are cracked |

--remove-timer | Num | Update input hash file each X seconds | --remove-timer=30

--potfile-disable | | Do not write potfile |

--potfile-path | File | Specific path to potfile | --potfile-path=my.pot

--encoding-from | Code | Force internal wordlist encoding from X | --encoding-from=iso-

8859-15

--encoding-to | Code | Force internal wordlist encoding to X | --encoding-to=utf-32le

--debug-mode | Num | Defines the debug mode (hybrid only by using rules) | --debug-mode=4

--debug-file | File | Output file for debugging rules | --debug-file=good.log

--induction-dir | Dir | Specify the induction directory to use for loopback | --induction=inducts

--outfile-check-dir | Dir | Specify the outfile directory to monitor for plains | --outfile-check-dir=x

--logfile-disable | | Disable the logfile |

--hccapx-message-pair | Num | Load only message pairs from hccapx matching X | --hccapx-message-pair=2

--nonce-error-corrections | Num | The BF size range to replace AP's nonce last bytes | --nonce-error-

corrections=16

--keyboard-layout-mapping | File | Keyboard layout mapping table for special hash-modes | --keyb=german.hckmap

--truecrypt-keyfiles | File | Keyfiles to use, separated with commas | --truecrypt-keyf=x.png

--veracrypt-keyfiles | File | Keyfiles to use, separated with commas | --veracrypt-keyf=x.txt

--veracrypt-pim-start | Num | VeraCrypt personal iterations multiplier start | --veracrypt-pim-

start=450

--veracrypt-pim-stop | Num | VeraCrypt personal iterations multiplier stop | --veracrypt-pim-stop=500

-b, --benchmark | | Run benchmark of selected hash-modes |

--benchmark-all | | Run benchmark of all hash-modes (requires -b) |

--speed-only | | Return expected speed of the attack, then quit |

--progress-only | | Return ideal progress step size and time to process |

-c, --segment-size | Num | Sets size in MB to cache from the wordfile to X | -c 32

--bitmap-min | Num | Sets minimum bits allowed for bitmaps to X | --bitmap-min=24

--bitmap-max | Num | Sets maximum bits allowed for bitmaps to X | --bitmap-max=24

--cpu-affinity | Str | Locks to CPU devices, separated with commas | --cpu-affinity=1,2,3

--hook-threads | Num | Sets number of threads for a hook (per compute unit) | --hook-threads=8

--example-hashes | | Show an example hash for each hash-mode |

--backend-ignore-cuda | | Do not try to open CUDA interface on startup |

--backend-ignore-opencl | | Do not try to open OpenCL interface on startup |

Page 23: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 23 de 45

-I, --backend-info | | Show info about detected backend API devices | -I

-d, --backend-devices | Str | Backend devices to use, separated with commas | -d 1

-D, --opencl-device-types | Str | OpenCL device-types to use, separated with commas | -D 1

-O, --optimized-kernel-enable | | Enable optimized kernels (limits password length) |

-w, --workload-profile | Num | Enable a specific workload profile, see pool below | -w 3

-n, --kernel-accel | Num | Manual workload tuning, set outerloop step size to X | -n 64

-u, --kernel-loops | Num | Manual workload tuning, set innerloop step size to X | -u 256

-T, --kernel-threads | Num | Manual workload tuning, set thread count to X | -T 64

--backend-vector-width | Num | Manually override backend vector-width to X | --backend-vector=4

--spin-damp | Num | Use CPU for device synchronization, in percent | --spin-damp=10

--hwmon-disable | | Disable temperature and fanspeed reads and triggers |

--hwmon-temp-abort | Num | Abort if temperature reaches X degrees Celsius | --hwmon-temp-abort=100

--scrypt-tmto | Num | Manually override TMTO value for scrypt to X | --scrypt-tmto=3

-s, --skip | Num | Skip X words from the start | -s 1000000

-l, --limit | Num | Limit X words from the start + skipped words | -l 1000000

--keyspace | | Show keyspace base:mod values and quit |

-j, --rule-left | Rule | Single rule applied to each word from left wordlist | -j 'c'

-k, --rule-right | Rule | Single rule applied to each word from right wordlist | -k '^-'

-r, --rules-file | File | Multiple rules applied to each word from wordlists | -r rules/best64.rule

-g, --generate-rules | Num | Generate X random rules | -g 10000

--generate-rules-func-min | Num | Force min X functions per rule |

--generate-rules-func-max | Num | Force max X functions per rule |

--generate-rules-seed | Num | Force RNG seed set to X |

-1, --custom-charset1 | CS | User-defined charset ?1 | -1 ?l?d?u

-2, --custom-charset2 | CS | User-defined charset ?2 | -2 ?l?d?s

-3, --custom-charset3 | CS | User-defined charset ?3 |

-4, --custom-charset4 | CS | User-defined charset ?4 |

-i, --increment | | Enable mask increment mode |

--increment-min | Num | Start mask incrementing at X | --increment-min=4

--increment-max | Num | Stop mask incrementing at X | --increment-max=8

-S, --slow-candidates | | Enable slower (but advanced) candidate generators |

--brain-server | | Enable brain server |

--brain-server-timer | Num | Update the brain server dump each X seconds (min:60) | --brain-server-timer=300

-z, --brain-client | | Enable brain client, activates -S |

--brain-client-features | Num | Define brain client features, see below | --brain-client-

features=3

--brain-host | Str | Brain server host (IP or domain) | --brain-host=127.0.0.1

--brain-port | Port | Brain server port | --brain-port=13743

--brain-password | Str | Brain server authentication password | --brain-

password=bZfhCvGUSjRq

--brain-session | Hex | Overrides automatically calculated brain session | --brain-

session=0x2ae611db

--brain-session-whitelist | Hex | Allow given sessions only, separated with commas | --brain-session-

whitelist=0x2ae611db

- [ Hash modes ] -

# | Name | Category

======+==================================================+======================================

900 | MD4 | Raw Hash

0 | MD5 | Raw Hash

100 | SHA1 | Raw Hash

1300 | SHA2-224 | Raw Hash

1400 | SHA2-256 | Raw Hash

10800 | SHA2-384 | Raw Hash

1700 | SHA2-512 | Raw Hash

17300 | SHA3-224 | Raw Hash

17400 | SHA3-256 | Raw Hash

Page 24: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 24 de 45

17500 | SHA3-384 | Raw Hash

17600 | SHA3-512 | Raw Hash

6000 | RIPEMD-160 | Raw Hash

600 | BLAKE2b-512 | Raw Hash

11700 | GOST R 34.11-2012 (Streebog) 256-bit, big-endian | Raw Hash

11800 | GOST R 34.11-2012 (Streebog) 512-bit, big-endian | Raw Hash

6900 | GOST R 34.11-94 | Raw Hash

5100 | Half MD5 | Raw Hash

18700 | Java Object hashCode() | Raw Hash

17700 | Keccak-224 | Raw Hash

17800 | Keccak-256 | Raw Hash

17900 | Keccak-384 | Raw Hash

18000 | Keccak-512 | Raw Hash

21400 | sha256(sha256_bin($pass)) | Raw Hash

6100 | Whirlpool | Raw Hash

10100 | SipHash | Raw Hash

21000 | BitShares v0.x - sha512(sha512_bin(pass)) | Raw Hash

10 | md5($pass.$salt) | Raw Hash, Salted and/or Iterated

20 | md5($salt.$pass) | Raw Hash, Salted and/or Iterated

3800 | md5($salt.$pass.$salt) | Raw Hash, Salted and/or Iterated

3710 | md5($salt.md5($pass)) | Raw Hash, Salted and/or Iterated

4110 | md5($salt.md5($pass.$salt)) | Raw Hash, Salted and/or Iterated

4010 | md5($salt.md5($salt.$pass)) | Raw Hash, Salted and/or Iterated

21300 | md5($salt.sha1($salt.$pass)) | Raw Hash, Salted and/or Iterated

40 | md5($salt.utf16le($pass)) | Raw Hash, Salted and/or Iterated

2600 | md5(md5($pass)) | Raw Hash, Salted and/or Iterated

3910 | md5(md5($pass).md5($salt)) | Raw Hash, Salted and/or Iterated

4400 | md5(sha1($pass)) | Raw Hash, Salted and/or Iterated

20900 | md5(sha1($pass).md5($pass).sha1($pass)) | Raw Hash, Salted and/or Iterated

21200 | md5(sha1($salt).md5($pass)) | Raw Hash, Salted and/or Iterated

4300 | md5(strtoupper(md5($pass))) | Raw Hash, Salted and/or Iterated

30 | md5(utf16le($pass).$salt) | Raw Hash, Salted and/or Iterated

110 | sha1($pass.$salt) | Raw Hash, Salted and/or Iterated

120 | sha1($salt.$pass) | Raw Hash, Salted and/or Iterated

4900 | sha1($salt.$pass.$salt) | Raw Hash, Salted and/or Iterated

4520 | sha1($salt.sha1($pass)) | Raw Hash, Salted and/or Iterated

140 | sha1($salt.utf16le($pass)) | Raw Hash, Salted and/or Iterated

19300 | sha1($salt1.$pass.$salt2) | Raw Hash, Salted and/or Iterated

14400 | sha1(CX) | Raw Hash, Salted and/or Iterated

4700 | sha1(md5($pass)) | Raw Hash, Salted and/or Iterated

4710 | sha1(md5($pass).$salt) | Raw Hash, Salted and/or Iterated

21100 | sha1(md5($pass.$salt)) | Raw Hash, Salted and/or Iterated

18500 | sha1(md5(md5($pass))) | Raw Hash, Salted and/or Iterated

4500 | sha1(sha1($pass)) | Raw Hash, Salted and/or Iterated

130 | sha1(utf16le($pass).$salt) | Raw Hash, Salted and/or Iterated

1410 | sha256($pass.$salt) | Raw Hash, Salted and/or Iterated

1420 | sha256($salt.$pass) | Raw Hash, Salted and/or Iterated

22300 | sha256($salt.$pass.$salt) | Raw Hash, Salted and/or Iterated

1440 | sha256($salt.utf16le($pass)) | Raw Hash, Salted and/or Iterated

20800 | sha256(md5($pass)) | Raw Hash, Salted and/or Iterated

20710 | sha256(sha256($pass).$salt) | Raw Hash, Salted and/or Iterated

1430 | sha256(utf16le($pass).$salt) | Raw Hash, Salted and/or Iterated

1710 | sha512($pass.$salt) | Raw Hash, Salted and/or Iterated

1720 | sha512($salt.$pass) | Raw Hash, Salted and/or Iterated

1740 | sha512($salt.utf16le($pass)) | Raw Hash, Salted and/or Iterated

1730 | sha512(utf16le($pass).$salt) | Raw Hash, Salted and/or Iterated

19500 | Ruby on Rails Restful-Authentication | Raw Hash, Salted and/or Iterated

50 | HMAC-MD5 (key = $pass) | Raw Hash, Authenticated

Page 25: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 25 de 45

60 | HMAC-MD5 (key = $salt) | Raw Hash, Authenticated

150 | HMAC-SHA1 (key = $pass) | Raw Hash, Authenticated

160 | HMAC-SHA1 (key = $salt) | Raw Hash, Authenticated

1450 | HMAC-SHA256 (key = $pass) | Raw Hash, Authenticated

1460 | HMAC-SHA256 (key = $salt) | Raw Hash, Authenticated

1750 | HMAC-SHA512 (key = $pass) | Raw Hash, Authenticated

1760 | HMAC-SHA512 (key = $salt) | Raw Hash, Authenticated

11750 | HMAC-Streebog-256 (key = $pass), big-endian | Raw Hash, Authenticated

11760 | HMAC-Streebog-256 (key = $salt), big-endian | Raw Hash, Authenticated

11850 | HMAC-Streebog-512 (key = $pass), big-endian | Raw Hash, Authenticated

11860 | HMAC-Streebog-512 (key = $salt), big-endian | Raw Hash, Authenticated

11500 | CRC32 | Raw Checksum

14100 | 3DES (PT = $salt, key = $pass) | Raw Cipher, Known-Plaintext attack

14000 | DES (PT = $salt, key = $pass) | Raw Cipher, Known-Plaintext attack

15400 | ChaCha20 | Raw Cipher, Known-Plaintext attack

14900 | Skip32 (PT = $salt, key = $pass) | Raw Cipher, Known-Plaintext attack

11900 | PBKDF2-HMAC-MD5 | Generic KDF

12000 | PBKDF2-HMAC-SHA1 | Generic KDF

10900 | PBKDF2-HMAC-SHA256 | Generic KDF

12100 | PBKDF2-HMAC-SHA512 | Generic KDF

8900 | scrypt | Generic KDF

400 | phpass | Generic KDF

16900 | Ansible Vault | Generic KDF

12001 | Atlassian (PBKDF2-HMAC-SHA1) | Generic KDF

20200 | Python passlib pbkdf2-sha512 | Generic KDF

20300 | Python passlib pbkdf2-sha256 | Generic KDF

20400 | Python passlib pbkdf2-sha1 | Generic KDF

16100 | TACACS+ | Network Protocols

11400 | SIP digest authentication (MD5) | Network Protocols

5300 | IKE-PSK MD5 | Network Protocols

5400 | IKE-PSK SHA1 | Network Protocols

23200 | XMPP SCRAM PBKDF2-SHA1 | Network Protocols

2500 | WPA-EAPOL-PBKDF2 | Network Protocols

2501 | WPA-EAPOL-PMK | Network Protocols

22000 | WPA-PBKDF2-PMKID+EAPOL | Network Protocols

22001 | WPA-PMK-PMKID+EAPOL | Network Protocols

16800 | WPA-PMKID-PBKDF2 | Network Protocols

16801 | WPA-PMKID-PMK | Network Protocols

7300 | IPMI2 RAKP HMAC-SHA1 | Network Protocols

10200 | CRAM-MD5 | Network Protocols

4800 | iSCSI CHAP authentication, MD5(CHAP) | Network Protocols

16500 | JWT (JSON Web Token) | Network Protocols

22600 | Telegram Desktop App Passcode (PBKDF2-HMAC-SHA1) | Network Protocols

22301 | Telegram Mobile App Passcode (SHA256) | Network Protocols

7500 | Kerberos 5, etype 23, AS-REQ Pre-Auth | Network Protocols

13100 | Kerberos 5, etype 23, TGS-REP | Network Protocols

18200 | Kerberos 5, etype 23, AS-REP | Network Protocols

19600 | Kerberos 5, etype 17, TGS-REP | Network Protocols

19700 | Kerberos 5, etype 18, TGS-REP | Network Protocols

19800 | Kerberos 5, etype 17, Pre-Auth | Network Protocols

19900 | Kerberos 5, etype 18, Pre-Auth | Network Protocols

5500 | NetNTLMv1 / NetNTLMv1+ESS | Network Protocols

5600 | NetNTLMv2 | Network Protocols

23 | Skype | Network Protocols

11100 | PostgreSQL CRAM (MD5) | Network Protocols

11200 | MySQL CRAM (SHA1) | Network Protocols

8500 | RACF | Operating System

6300 | AIX {smd5} | Operating System

Page 26: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 26 de 45

6700 | AIX {ssha1} | Operating System

6400 | AIX {ssha256} | Operating System

6500 | AIX {ssha512} | Operating System

3000 | LM | Operating System

19000 | QNX /etc/shadow (MD5) | Operating System

19100 | QNX /etc/shadow (SHA256) | Operating System

19200 | QNX /etc/shadow (SHA512) | Operating System

15300 | DPAPI masterkey file v1 | Operating System

15900 | DPAPI masterkey file v2 | Operating System

7200 | GRUB 2 | Operating System

12800 | MS-AzureSync PBKDF2-HMAC-SHA256 | Operating System

12400 | BSDi Crypt, Extended DES | Operating System

1000 | NTLM | Operating System

122 | macOS v10.4, macOS v10.5, MacOS v10.6 | Operating System

1722 | macOS v10.7 | Operating System

7100 | macOS v10.8+ (PBKDF2-SHA512) | Operating System

9900 | Radmin2 | Operating System

5800 | Samsung Android Password/PIN | Operating System

3200 | bcrypt $2*$, Blowfish (Unix) | Operating System

500 | md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5) | Operating System

1500 | descrypt, DES (Unix), Traditional DES | Operating System

7400 | sha256crypt $5$, SHA256 (Unix) | Operating System

1800 | sha512crypt $6$, SHA512 (Unix) | Operating System

13800 | Windows Phone 8+ PIN/password | Operating System

2410 | Cisco-ASA MD5 | Operating System

9200 | Cisco-IOS $8$ (PBKDF2-SHA256) | Operating System

9300 | Cisco-IOS $9$ (scrypt) | Operating System

5700 | Cisco-IOS type 4 (SHA256) | Operating System

2400 | Cisco-PIX MD5 | Operating System

8100 | Citrix NetScaler (SHA1) | Operating System

22200 | Citrix NetScaler (SHA512) | Operating System

1100 | Domain Cached Credentials (DCC), MS Cache | Operating System

2100 | Domain Cached Credentials 2 (DCC2), MS Cache 2 | Operating System

7000 | FortiGate (FortiOS) | Operating System

125 | ArubaOS | Operating System

501 | Juniper IVE | Operating System

22 | Juniper NetScreen/SSG (ScreenOS) | Operating System

15100 | Juniper/NetBSD sha1crypt | Operating System

131 | MSSQL (2000) | Database Server

132 | MSSQL (2005) | Database Server

1731 | MSSQL (2012, 2014) | Database Server

12 | PostgreSQL | Database Server

3100 | Oracle H: Type (Oracle 7+) | Database Server

112 | Oracle S: Type (Oracle 11+) | Database Server

12300 | Oracle T: Type (Oracle 12+) | Database Server

7401 | MySQL $A$ (sha256crypt) | Database Server

200 | MySQL323 | Database Server

300 | MySQL4.1/MySQL5 | Database Server

8000 | Sybase ASE | Database Server

1421 | hMailServer | FTP, HTTP, SMTP, LDAP Server

8300 | DNSSEC (NSEC3) | FTP, HTTP, SMTP, LDAP Server

16400 | CRAM-MD5 Dovecot | FTP, HTTP, SMTP, LDAP Server

1411 | SSHA-256(Base64), LDAP {SSHA256} | FTP, HTTP, SMTP, LDAP Server

1711 | SSHA-512(Base64), LDAP {SSHA512} | FTP, HTTP, SMTP, LDAP Server

10901 | RedHat 389-DS LDAP (PBKDF2-HMAC-SHA256) | FTP, HTTP, SMTP, LDAP Server

15000 | FileZilla Server >= 0.9.55 | FTP, HTTP, SMTP, LDAP Server

12600 | ColdFusion 10+ | FTP, HTTP, SMTP, LDAP Server

1600 | Apache $apr1$ MD5, md5apr1, MD5 (APR) | FTP, HTTP, SMTP, LDAP Server

Page 27: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 27 de 45

141 | Episerver 6.x < .NET 4 | FTP, HTTP, SMTP, LDAP Server

1441 | Episerver 6.x >= .NET 4 | FTP, HTTP, SMTP, LDAP Server

101 | nsldap, SHA-1(Base64), Netscape LDAP SHA | FTP, HTTP, SMTP, LDAP Server

111 | nsldaps, SSHA-1(Base64), Netscape LDAP SSHA | FTP, HTTP, SMTP, LDAP Server

7700 | SAP CODVN B (BCODE) | Enterprise Application Software (EAS)

7701 | SAP CODVN B (BCODE) from RFC_READ_TABLE | Enterprise Application Software (EAS)

7800 | SAP CODVN F/G (PASSCODE) | Enterprise Application Software (EAS)

7801 | SAP CODVN F/G (PASSCODE) from RFC_READ_TABLE | Enterprise Application Software (EAS)

10300 | SAP CODVN H (PWDSALTEDHASH) iSSHA-1 | Enterprise Application Software (EAS)

133 | PeopleSoft | Enterprise Application Software (EAS)

13500 | PeopleSoft PS_TOKEN | Enterprise Application Software (EAS)

21500 | SolarWinds Orion | Enterprise Application Software (EAS)

8600 | Lotus Notes/Domino 5 | Enterprise Application Software (EAS)

8700 | Lotus Notes/Domino 6 | Enterprise Application Software (EAS)

9100 | Lotus Notes/Domino 8 | Enterprise Application Software (EAS)

20600 | Oracle Transportation Management (SHA256) | Enterprise Application Software (EAS)

4711 | Huawei sha1(md5($pass).$salt) | Enterprise Application Software (EAS)

20711 | AuthMe sha256 | Enterprise Application Software (EAS)

12200 | eCryptfs | Full-Disk Encryption (FDE)

22400 | AES Crypt (SHA256) | Full-Disk Encryption (FDE)

14600 | LUKS | Full-Disk Encryption (FDE)

13711 | VeraCrypt RIPEMD160 + XTS 512 bit | Full-Disk Encryption (FDE)

13712 | VeraCrypt RIPEMD160 + XTS 1024 bit | Full-Disk Encryption (FDE)

13713 | VeraCrypt RIPEMD160 + XTS 1536 bit | Full-Disk Encryption (FDE)

13741 | VeraCrypt RIPEMD160 + XTS 512 bit + boot-mode | Full-Disk Encryption (FDE)

13742 | VeraCrypt RIPEMD160 + XTS 1024 bit + boot-mode | Full-Disk Encryption (FDE)

13743 | VeraCrypt RIPEMD160 + XTS 1536 bit + boot-mode | Full-Disk Encryption (FDE)

13751 | VeraCrypt SHA256 + XTS 512 bit | Full-Disk Encryption (FDE)

13752 | VeraCrypt SHA256 + XTS 1024 bit | Full-Disk Encryption (FDE)

13753 | VeraCrypt SHA256 + XTS 1536 bit | Full-Disk Encryption (FDE)

13761 | VeraCrypt SHA256 + XTS 512 bit + boot-mode | Full-Disk Encryption (FDE)

13762 | VeraCrypt SHA256 + XTS 1024 bit + boot-mode | Full-Disk Encryption (FDE)

13763 | VeraCrypt SHA256 + XTS 1536 bit + boot-mode | Full-Disk Encryption (FDE)

13721 | VeraCrypt SHA512 + XTS 512 bit | Full-Disk Encryption (FDE)

13722 | VeraCrypt SHA512 + XTS 1024 bit | Full-Disk Encryption (FDE)

13723 | VeraCrypt SHA512 + XTS 1536 bit | Full-Disk Encryption (FDE)

13771 | VeraCrypt Streebog-512 + XTS 512 bit | Full-Disk Encryption (FDE)

13772 | VeraCrypt Streebog-512 + XTS 1024 bit | Full-Disk Encryption (FDE)

13773 | VeraCrypt Streebog-512 + XTS 1536 bit | Full-Disk Encryption (FDE)

13731 | VeraCrypt Whirlpool + XTS 512 bit | Full-Disk Encryption (FDE)

13732 | VeraCrypt Whirlpool + XTS 1024 bit | Full-Disk Encryption (FDE)

13733 | VeraCrypt Whirlpool + XTS 1536 bit | Full-Disk Encryption (FDE)

16700 | FileVault 2 | Full-Disk Encryption (FDE)

20011 | DiskCryptor SHA512 + XTS 512 bit | Full-Disk Encryption (FDE)

20012 | DiskCryptor SHA512 + XTS 1024 bit | Full-Disk Encryption (FDE)

20013 | DiskCryptor SHA512 + XTS 1536 bit | Full-Disk Encryption (FDE)

22100 | BitLocker | Full-Disk Encryption (FDE)

12900 | Android FDE (Samsung DEK) | Full-Disk Encryption (FDE)

8800 | Android FDE <= 4.3 | Full-Disk Encryption (FDE)

18300 | Apple File System (APFS) | Full-Disk Encryption (FDE)

6211 | TrueCrypt RIPEMD160 + XTS 512 bit | Full-Disk Encryption (FDE)

6212 | TrueCrypt RIPEMD160 + XTS 1024 bit | Full-Disk Encryption (FDE)

6213 | TrueCrypt RIPEMD160 + XTS 1536 bit | Full-Disk Encryption (FDE)

6241 | TrueCrypt RIPEMD160 + XTS 512 bit + boot-mode | Full-Disk Encryption (FDE)

6242 | TrueCrypt RIPEMD160 + XTS 1024 bit + boot-mode | Full-Disk Encryption (FDE)

6243 | TrueCrypt RIPEMD160 + XTS 1536 bit + boot-mode | Full-Disk Encryption (FDE)

6221 | TrueCrypt SHA512 + XTS 512 bit | Full-Disk Encryption (FDE)

6222 | TrueCrypt SHA512 + XTS 1024 bit | Full-Disk Encryption (FDE)

Page 28: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 28 de 45

6223 | TrueCrypt SHA512 + XTS 1536 bit | Full-Disk Encryption (FDE)

6231 | TrueCrypt Whirlpool + XTS 512 bit | Full-Disk Encryption (FDE)

6232 | TrueCrypt Whirlpool + XTS 1024 bit | Full-Disk Encryption (FDE)

6233 | TrueCrypt Whirlpool + XTS 1536 bit | Full-Disk Encryption (FDE)

10400 | PDF 1.1 - 1.3 (Acrobat 2 - 4) | Documents

10410 | PDF 1.1 - 1.3 (Acrobat 2 - 4), collider #1 | Documents

10420 | PDF 1.1 - 1.3 (Acrobat 2 - 4), collider #2 | Documents

10500 | PDF 1.4 - 1.6 (Acrobat 5 - 8) | Documents

10600 | PDF 1.7 Level 3 (Acrobat 9) | Documents

10700 | PDF 1.7 Level 8 (Acrobat 10 - 11) | Documents

9400 | MS Office 2007 | Documents

9500 | MS Office 2010 | Documents

9600 | MS Office 2013 | Documents

9700 | MS Office <= 2003 $0/$1, MD5 + RC4 | Documents

9710 | MS Office <= 2003 $0/$1, MD5 + RC4, collider #1 | Documents

9720 | MS Office <= 2003 $0/$1, MD5 + RC4, collider #2 | Documents

9800 | MS Office <= 2003 $3/$4, SHA1 + RC4 | Documents

9810 | MS Office <= 2003 $3, SHA1 + RC4, collider #1 | Documents

9820 | MS Office <= 2003 $3, SHA1 + RC4, collider #2 | Documents

18400 | Open Document Format (ODF) 1.2 (SHA-256, AES) | Documents

18600 | Open Document Format (ODF) 1.1 (SHA-1, Blowfish) | Documents

16200 | Apple Secure Notes | Documents

15500 | JKS Java Key Store Private Keys (SHA1) | Password Managers

6600 | 1Password, agilekeychain | Password Managers

8200 | 1Password, cloudkeychain | Password Managers

9000 | Password Safe v2 | Password Managers

5200 | Password Safe v3 | Password Managers

6800 | LastPass + LastPass sniffed | Password Managers

13400 | KeePass 1 (AES/Twofish) and KeePass 2 (AES) | Password Managers

11300 | Bitcoin/Litecoin wallet.dat | Password Managers

16600 | Electrum Wallet (Salt-Type 1-3) | Password Managers

21700 | Electrum Wallet (Salt-Type 4) | Password Managers

21800 | Electrum Wallet (Salt-Type 5) | Password Managers

12700 | Blockchain, My Wallet | Password Managers

15200 | Blockchain, My Wallet, V2 | Password Managers

18800 | Blockchain, My Wallet, Second Password (SHA256) | Password Managers

23100 | Apple Keychain | Password Managers

16300 | Ethereum Pre-Sale Wallet, PBKDF2-HMAC-SHA256 | Password Managers

15600 | Ethereum Wallet, PBKDF2-HMAC-SHA256 | Password Managers

15700 | Ethereum Wallet, SCRYPT | Password Managers

22500 | MultiBit Classic .key (MD5) | Password Managers

22700 | MultiBit HD (scrypt) | Password Managers

11600 | 7-Zip | Archives

12500 | RAR3-hp | Archives

13000 | RAR5 | Archives

17200 | PKZIP (Compressed) | Archives

17220 | PKZIP (Compressed Multi-File) | Archives

17225 | PKZIP (Mixed Multi-File) | Archives

17230 | PKZIP (Mixed Multi-File Checksum-Only) | Archives

17210 | PKZIP (Uncompressed) | Archives

20500 | PKZIP Master Key | Archives

20510 | PKZIP Master Key (6 byte optimization) | Archives

14700 | iTunes backup < 10.0 | Archives

14800 | iTunes backup >= 10.0 | Archives

23001 | SecureZIP AES-128 | Archives

23002 | SecureZIP AES-192 | Archives

23003 | SecureZIP AES-256 | Archives

13600 | WinZip | Archives

Page 29: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 29 de 45

18900 | Android Backup | Archives

13200 | AxCrypt | Archives

13300 | AxCrypt in-memory SHA1 | Archives

8400 | WBB3 (Woltlab Burning Board) | Forums, CMS, E-Commerce

2611 | vBulletin < v3.8.5 | Forums, CMS, E-Commerce

2711 | vBulletin >= v3.8.5 | Forums, CMS, E-Commerce

2612 | PHPS | Forums, CMS, E-Commerce

121 | SMF (Simple Machines Forum) > v1.1 | Forums, CMS, E-Commerce

3711 | MediaWiki B type | Forums, CMS, E-Commerce

4521 | Redmine | Forums, CMS, E-Commerce

11 | Joomla < 2.5.18 | Forums, CMS, E-Commerce

13900 | OpenCart | Forums, CMS, E-Commerce

11000 | PrestaShop | Forums, CMS, E-Commerce

16000 | Tripcode | Forums, CMS, E-Commerce

7900 | Drupal7 | Forums, CMS, E-Commerce

21 | osCommerce, xt:Commerce | Forums, CMS, E-Commerce

4522 | PunBB | Forums, CMS, E-Commerce

2811 | MyBB 1.2+, IPB2+ (Invision Power Board) | Forums, CMS, E-Commerce

18100 | TOTP (HMAC-SHA1) | One-Time Passwords

2000 | STDOUT | Plaintext

99999 | Plaintext | Plaintext

21600 | Web2py pbkdf2-sha512 | Framework

10000 | Django (PBKDF2-SHA256) | Framework

124 | Django (SHA-1) | Framework

- [ Brain Client Features ] -

# | Features

===+========

1 | Send hashed passwords

2 | Send attack positions

3 | Send hashed passwords and attack positions

- [ Outfile Formats ] -

# | Format

===+========

1 | hash[:salt]

2 | plain

3 | hex_plain

4 | crack_pos

5 | timestamp absolute

6 | timestamp relative

- [ Rule Debugging Modes ] -

# | Format

===+========

1 | Finding-Rule

2 | Original-Word

3 | Original-Word:Finding-Rule

4 | Original-Word:Finding-Rule:Processed-Word

- [ Attack Modes ] -

# | Mode

===+======

0 | Straight

Page 30: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 30 de 45

1 | Combination

3 | Brute-force

6 | Hybrid Wordlist + Mask

7 | Hybrid Mask + Wordlist

- [ Built-in Charsets ] -

? | Charset

===+=========

l | abcdefghijklmnopqrstuvwxyz

u | ABCDEFGHIJKLMNOPQRSTUVWXYZ

d | 0123456789

h | 0123456789abcdef

H | 0123456789ABCDEF

s | !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

a | ?l?u?d?s

b | 0x00 - 0xff

- [ OpenCL Device Types ] -

# | Device Type

===+=============

1 | CPU

2 | GPU

3 | FPGA, DSP, Co-Processor

- [ Workload Profiles ] -

# | Performance | Runtime | Power Consumption | Desktop Impact

===+=============+=========+===================+=================

1 | Low | 2 ms | Low | Minimal

2 | Default | 12 ms | Economic | Noticeable

3 | High | 96 ms | High | Unresponsive

4 | Nightmare | 480 ms | Insane | Headless

- [ Basic Examples ] -

Attack- | Hash- |

Mode | Type | Example command

==================+=======+==================================================================

Wordlist | $P$ | hashcat -a 0 -m 400 example400.hash example.dict

Wordlist + Rules | MD5 | hashcat -a 0 -m 0 example0.hash example.dict -r rules/best64.rule

Brute-Force | MD5 | hashcat -a 3 -m 0 example0.hash ?a?a?a?a?a?a

Combinator | MD5 | hashcat -a 1 -m 0 example0.hash example.dict example.dict

Page 31: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 31 de 45

PASO 4: PONERLO EN MARCHA PARA VERIFICAR NUESTRA INFRAESTRUCTURA

Un ejemplo de ejecución básica para nuestros primeros pasos:

Probaremos el comando con nuestro KALI en un ataque a un sitio web determinado:

EJEMPLO 1

Decodificar el siguiente hash de la lista de ejemplos:

https://hashcat.net/wiki/doku.php?id=example_hashes

Es importante analizar el hash y utilizar el modo adecuado.

Usaremos el caso:

Hash-mode: 0

Hash: 8743b52063cd84097a65d1633f5c74f5

Puede crear el archivo con el hash de la siguiente manera:

# echo “8743b52063cd84097a65d1633f5c74f5” > crack1.hash

Previamente descargamos el diicionario “rockyou2021.txt” desde internet. Si no

lo tiene disponible puede utilizar otros diccionarios que tenga a la mano:

# find / -name wordlists

/usr/bin/wordlists

/usr/lib/python3/dist-packages/theHarvester/wordlists

/usr/share/metasploit-framework/data/wordlists

/usr/share/doc/wordlists

/usr/share/legion/wordlists

/usr/share/wordlists

/usr/share/amass/wordlists

/usr/share/fern-wifi-cracker/extras/wordlists

/usr/share/dirbuster/wordlists

/usr/share/dirb/wordlists

/etc/theHarvester/wordlists

Ahora está en condiciones de lanzar el ataque:

# hashcat -m 0 -a 0 -o cracked.txt crack1.hash

/root/RockYou2021/rockyou2021.txt

Al finalizar la carga de hashes indica algunos parámetros:

Dictionary cache built:

* Filename..: /root/RockYou2021/rockyou2021.txt

* Passwords.: 8459060239

* Bytes.....: 98378212907

* Keyspace..: 8459060239

* Runtime...: 27 mins, 43 secs

[s]tatus [p]ause [b]ypass [c]heckpoint [q]uit =>

Si pedimos un status [s] indica lo siguiente:

[s]tatus [p]ause [b]ypass [c]heckpoint [q]uit => s

Page 32: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 32 de 45

Session..........: hashcat

Status...........: Running

Hash.Name........: MD5

Hash.Target......: 8743b52063cd84097a65d1633f5c74f5

Time.Started.....: Fri Nov 26 16:24:11 2021 (3 mins, 13 secs)

Time.Estimated...: Fri Nov 26 17:03:23 2021 (35 mins, 59 secs)

Guess.Base.......: File (/root/RockYou2021/rockyou2021.txt)

Guess.Queue......: 1/1 (100.00%)

Speed.#1.........: 3593.3 kH/s (0.46ms) @ Accel:1024 Loops:1 Thr:1 Vec:8

Recovered........: 0/1 (0.00%) Digests

Progress.........: 699244544/8459060239 (8.27%)

Rejected.........: 0/699244544 (0.00%)

Restore.Point....: 699244544/8459060239 (8.27%)

Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1

Candidates.#1....: 240466leila -> 240472senya

[s]tatus [p]ause [b]ypass [c]heckpoint [q]uit =>

Al finalizar el proceso:

Session..........: hashcat

Status...........: Cracked

Hash.Name........: MD5

Hash.Target......: 8743b52063cd84097a65d1633f5c74f5

Time.Started.....: Fri Nov 26 16:24:11 2021 (23 mins, 31 secs)

Time.Estimated...: Fri Nov 26 16:47:42 2021 (0 secs)

Guess.Base.......: File (/root/RockYou2021/rockyou2021.txt)

Guess.Queue......: 1/1 (100.00%)

Speed.#1.........: 3957.1 kH/s (0.40ms) @ Accel:1024 Loops:1 Thr:1 Vec:8

Recovered........: 1/1 (100.00%) Digests

Progress.........: 5542395904/8459060239 (65.52%)

Rejected.........: 0/5542395904 (0.00%)

Restore.Point....: 5542387712/8459060239 (65.52%)

Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1

Candidates.#1....: hashbrownie024 -> hasheem3393

Started: Fri Nov 26 15:55:53 2021

Stopped: Fri Nov 26 16:47:43 2021

(les destaco esto para que tengan noción de los tiempos involucrados)

En el archivo “cracked.txt” queda registrada la contraseña asociada al hash que

queríamos crackear:

# cat cracked.txt

8743b52063cd84097a65d1633f5c74f5:hashcat

En este caso la contraseña es “hashcat”.

Page 33: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 33 de 45

A continuación algunas imágenes del comando en acción:

Page 34: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 34 de 45

Al comenzar el proceso de búsqueda se activan multiples instancias de hashcat para trabajar

utilizando todo el poder de cómputo disponible:

Page 35: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 35 de 45

La interfaz de comando muestra los hallazgos que amplían la superficie de ataque, los que pueden

ser utilizados en subsecuentes análisis que van profundizando la información que está expuesta

respecto de nuestros sitios y sistemas en Internet.

Es importante tener en consideración que la seguridad debe estar presente en TODOS los activos,

pues los ciberdelincuentes buscarán aquellos más débiles para actuar y lograr sus objetivos:

exfiltrar datos, destruir los sistemas, encriptar información para cobrar un rescate posteriormente,

interceptar información confidencial, robar propiedad intelectual o propiedad industrial, introducir

ransomware, cryptojacking17, entre otras acciones delictivas posibles.

Tenga presente que es importante que estas pruebas deben ser coordinadas con el equipo de

operaciones y en ambientes que estén bajo supervisión.

Antes de proceder a aplicar estos comandos revise sus políticas de seguridad de la información

interna, sus códigos de ética, los NDA que haya suscrito y las cláusulas de confidencialidad de su

contrato de trabajo.

Defina horarios especiales o ambientes de “test o QA” equivalentes a los de “producción”, para

mitigar los posibles efectos perjudiciales en los dispositivos de seguridad, el sitio o el sistema web.

17 https://www.eset.com/es/caracteristicas/cryptojacking/

Page 36: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 36 de 45

Use la información obtenida para visualizar sus activos desde la perspectiva de un externo e

identifique vulnerabilidades a mitigar o datos/directorios a proteger.

Estudie las múltiples opciones de los comandos ilustrados en esta ficha, entienda el significado de

sus diferentes parámetros con el objetivo de obtener resultados específicos, para diferentes

escenarios de ataques o redirigir la salida a un archivo, para su inclusión en informes posteriores.

Tenga presente que para el procesamiento y análisis de los datos es relevante que vaya

perfeccionando su manejo de LINUX y comandos PowerShell18 (si es un usuario de windows).

En próximas ediciones se irán reforzando estos aspectos para facilitar el manejo de los datos y

resultados obtenidos, logrando así una mejor comunicación con sus equipos TIC y con el CSIRT de

Gobierno.

En caso de cualquier inquietud no dude en consultarnos a [email protected]

Si encuentra algún error en el documento también es importante que nos lo comunique para

introducir las correcciones pertinentes en las versiones futuras de esta ficha.

18 https://devblogs.microsoft.com/scripting/table-of-basic-powershell-commands/

Page 37: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 37 de 45

Anexo I: Comandos Básicos de Linux: GREP o EGREP

Grep es una de las herramientas más usadas en la línea de comandos de GNU/Linux. A pesar de ser

una herramienta muy simple, permite realizar gran cantidad de operaciones. Se usa especialmente

junto con las tuberías, para poder localizar puntos concretos en la salida de un comando previo, etc.

Pero también existe una herramienta conocida como egrep que equivale a ejecutar grep con la

opción -E.

La e proviene de «Extended regex», que es lo que activa la opción -E y lo que tiene en egrep por

defecto sin necesidad de usar esa opción. Es decir, que podrá usar las expresiones regulares

extendidas.

Puede buscar una línea o palabra concreta en uno o varios archivos, como también sucede con

grep. Por ejemplo, imagine que quiere buscar la palabra ubuntu en un archivo llamado snap.txt y

también en todos los .txt del directorio actual:

egrep ubuntu snap.txt

egrep ubuntu *.txt

La búsqueda puede ser también recursiva para buscar en todo el contenido del directorio actual:

egrep -r "hola mundo" *

Hasta aquí se buscaban palabras o cadenas exactas, es decir, teniendo en cuenta mayúsculas y

minúsculas (case-sensitive), pero si quiere hacerlo en modo case-insensitive, sin importar si son

mayúculas o minúsculas, puedes usar lo siguiente (si agrega w busca solo coincidencias completas):

egrep -i "ejemplo" documento.txt

egrep -iw "ejemplo" documento.txt

También puede mostrar, no las coincidencias, sino los nombres de archivos donde se han

encontrado esas coincidencias:

egrep -l hola *.txt

Mostrar solo el patrón o palabra buscada dentro de un documento:

egrep -o printf hola.c

Puede combinar varias de las opciones vistas anteriormente, o las puede complementar con otras

opciones como -A n y -B n, siendo n el número de líneas que quiere mostrar antes (Before) y

después (After) de la coincidencia o ambas a la vez (C), para que así pueda ver lo que rodea a dicha

coincidencia:

Page 38: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 38 de 45

egrep -A 2 "printf" hola.c

egrep -B 2 "printf" hola.c

egrep -C 2 printf hola.c

Suprimir las líneas que contienen una coincidencia y solo mostrar las que no coinciden:

egrep -v "dos" números.doc

O si lo prefiere, puede usar varias palabras o coincidencias con -e. Por ejemplo:

egrep -v -e "uno" -e "dos" -e "tres" números.txt

Si usa -c se pueden solo contar el número de coincidencias, o invertirlo con -v para que muestre el

número de líneas no coincidentes. Por ejemplo:

egrep -c "include" main.c

egrep -v -c "include" main.c

E incluso mostrar el número de línea donde se ha producido la coincidencia, y también la posición

que ocupa respectivamente:

egrep -n "void" hola.c

egrep -o -b "printf" hola.c

Y junto con las expresiones regulares se pueden ampliar sus capacidades. Por ejemplo, buscar una

línea que comience por Hola y termine por adios, o que comience por Hola seguida de lo que sea y

luego aparezca la coincidencia adiós respectivamente:

egrep '^Hola.*adiós$' ejemplo.txt

egrep "Hola.*adiós" ejemplo.txt

Puede también buscar rangos alfanuméricos, o valores concretos, como por ejemplo para localizar

ciertas IPs:

cat /etc/networks | egrep "192.168.1.[5-9]"

cat /etc/networks | egrep "192.168.[1-3].[5-9]"

cat /etc/networks | egrep "192.168.1.[0-3]|[5-9]"

egrep 192.168.4.[10,40] networks

Page 39: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 39 de 45

Si lo prefiere, puede usar otras expresiones regulares para hacer búsquedas más concretas. Por

ejemplo | para buscar una coincidencia o la otra:

egrep -i '^(printf|scanf)' hola.c

Incluso puede localizar mayúsculas, minúsculas, caracteres alfabéticos solo, o alfanuméricos, etc.,

usando otras expresiones como: [:alnum:], [:alpha:], [:digit:], [:lower:], [:print:], [:punct:], [:space:],

[:upper:], etc. Por ejemplo, para buscar mayúsculas:

egrep [[:upper:]] diccionario

Page 40: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 40 de 45

Anexo II: Comandos o aplicativos básicos para Windows: TCPView

En esta segunda versión de comandos o aplicativos para Windows mencionaremos el aplicativo

“TCPview de la suite SYSINTERNALS”.

TCPView es un programa de Windows que le mostrará listados detallados de todos los puntos

finales TCP y UDP en su sistema, incluidas las direcciones locales y remotas y el estado de las

conexiones TCP. En Windows Server 2008, Vista y XP, TCPView también informa el nombre del

proceso propietario del endpoint. TCPView proporciona un subconjunto más informativo y

convenientemente presentado del programa Netstat que se envía con Windows. La descarga de

TCPView incluye Tcpvcon, una versión de línea de comandos con la misma funcionalidad.

Este programa puede descargarlo desde:

https://download.sysinternals.com/files/TCPView.zip

Cuando inicie TCPView, enumerará todos los puntos finales TCP y UDP activos, resolviendo todas

las direcciones IP en sus versiones de nombre de dominio. Puede utilizar un botón de la barra de

herramientas o un elemento de menú para alternar la visualización de los nombres resueltos.

Page 41: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 41 de 45

TCPView muestra el nombre del proceso que posee cada punto final, incluido el nombre del

servicio (si corresponde).

De forma predeterminada, TCPView se actualiza cada segundo, pero puede utilizar el elemento de

menú Opciones | Frecuencia de actualización para cambiar la frecuencia. Los puntos finales que

cambian de estado de una actualización a la siguiente se resaltan en amarillo; los que se eliminan

se muestran en rojo y los nuevos puntos finales se muestran en verde.

Puede cerrar las conexiones TCP / IP establecidas (aquellas etiquetadas con un estado de

ESTABLECIDO) seleccionando Archivo | Cerrar conexiones, o haciendo clic con el botón derecho en

una conexión y eligiendo Cerrar conexiones en el menú contextual resultante.

Puede guardar la ventana de salida de TCPView en un archivo usando el elemento del menú

Guardar.

Nota adicional para “tcpvcon”:

Con estos tips básicos buscamos incentivarlo a explorar estas herramientas y sus múltiples usos

para ciberseguridad.

Page 42: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 42 de 45

“HOLA, MUNDO” EN OTROS LENGUAJES

RUST:

fn main() { println!("Hello World!"); }

CLOJURE

(ns clojure.examples.hello (:gen-class)) (defn hello-world [] (println "Hello, World!")) (hello-world)

TYPESCRIPT

let message: string = 'Hello, World!'; console.log(message);

ELIXIR

IO.puts("Hello, World!")

JULIA

print("Hello World!")

PYTHON:

print('Hello, world!')

DART

void main() { print('Hello, World!'); }

Page 43: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 43 de 45

SWIFT

import UIKit var str = "Hello, World!"

NODE JS

// server.js 'use strict'; const http = require('http'); const server = http.createServer(function (req, res) { res.writeHead(200, {'content-type': 'text/plain'}); res.end('Hello, World!'); }); server.listen(8000);

GO

package main import "fmt" func main() { fmt.Println("Hello, World!") }

F#

#light let main = printfn "Hello, World!" do main

C#

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

Page 44: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 44 de 45

namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); Console.ReadLine(); } } }

Kotlin

fun main(args: Array<String>) { println("Hello World") }

JavaScript

<!DOCTYPE HTML> <html> <body> <p>Before the script...</p> <script> alert( 'Hello, world!' ); </script> <p>...After the script.</p> </body> </html>

Crystal

puts "Hello World"

Page 45: omando de la semana ^HASHCAT - ciberseguridad.gob.cl

Página 45 de 45

BASH

#!/bin/bash echo "Hello World"

LISP

CL-USER> (defun hello () (format t "Hello, World!~%")) HELLO CL-USER> (hello) Hello, World! NIL CL-USER>

ERLANG

-module(primer). -export([hello_world/0]). hello_world() -> "hello world".

RUBY

ruby -e 'print "Hola Mundo\n"'