CyberSec Hacker

Tu fuente de Herramientas para Haking Etico

Herramienta 1
Herramienta 2
Herramienta 3
Herramienta 4
Herramienta 5
Herramienta 6
Herramienta 7
Herramienta 1

Kali Linux

Kali Linux es una distribución de Linux especializada en seguridad informática y pruebas de penetración. Está basada en Debian y es desarrollada y mantenida por Offensive Security, una empresa de seguridad informática.

Es importante destacar que el uso de herramientas de seguridad y pruebas de penetración debe ser ético y legal. Utilizar estas herramientas de manera irresponsable o sin el permiso adecuado puede resultar en consecuencias legales. Kali Linux se proporciona con la intención de ser utilizada para fines éticos y legales en pruebas de seguridad.




Kali Homepage
Herramienta 2

Nmap

Nmap (Network Mapper) es una herramienta de código abierto utilizada para explorar redes, descubrir dispositivos y servicios en una red, así como para analizar la seguridad de sistemas informáticos. Fue diseñado para ser una herramienta de escaneo de redes, pero también puede ser utilizado para tareas de descubrimiento de hosts y servicios, auditorías de seguridad y exploración de vulnerabilidades

Es importante destacar que el uso de Nmap debe cumplir con las leyes y regulaciones aplicables, y su utilización debe ser ética y legal. Además, Nmap es una herramienta poderosa que puede ser detectada por sistemas de seguridad, por lo que su uso en entornos controlados o con permisos adecuados es esencial.




Nmap Homepage
Herramienta 3

hydra

Hydra es una herramienta de prueba de penetración y de código abierto que se utiliza para realizar ataques de fuerza bruta y ataques de diccionario en sistemas y servicios. Es especialmente conocida por su capacidad para realizar ataques de fuerza bruta contra servicios que requieren autenticación, como servidores FTP, SSH, telnet, HTTP, entre otros.

Es importante destacar que el uso de herramientas como Hydra para realizar ataques de fuerza bruta o ataques de diccionario sin el permiso adecuado es ilegal y va en contra de las políticas éticas y de seguridad. Dichas herramientas deben utilizarse exclusivamente con permisos legales y para propósitos éticos, como pruebas de seguridad autorizadas y auditorías de penetración.




Hydra Homepage
Herramienta 4

Metasploit

Metasploit Framework es una plataforma de código abierto utilizada para el desarrollo, prueba y ejecución de exploits contra sistemas informáticos. Es una herramienta integral que proporciona un conjunto de utilidades y recursos para realizar pruebas de seguridad, pruebas de penetración y evaluaciones de vulnerabilidades.

Es importante señalar que el uso de Metasploit Framework debe realizarse de manera ética y legal. La herramienta debe utilizarse con el permiso adecuado y en entornos controlados para pruebas de seguridad y auditorías de penetración autorizadas. El uso indebido de Metasploit o la realización de actividades ilegales con la herramienta va en contra de sus principios éticos.




Metasploit-Framework Homepage
Herramienta 5

Netcat

La herramienta Netcat (también conocida como nc) es una utilidad de red que ha existido por mucho tiempo y se utiliza para la transferencia de datos a través de conexiones de red utilizando los protocolos TCP o UDP. Netcat es conocido por su simplicidad y versatilidad, y es utilizado para una variedad de propósitos, desde pruebas de red hasta transferencia de archivos y depuración de conexiones.

Ten en cuenta que la disponibilidad y características específicas de Netcat pueden variar según la implementación y la versión. Además, es posible que haya implementaciones mejoradas como ncat, que forma parte del conjunto de herramientas Nmap.




Netcat Homepage
Herramienta 6

hashcat

D Hashcat es una herramienta de código abierto utilizada para realizar ataques de fuerza bruta o de diccionario en hashes de contraseñas. Su objetivo principal es recuperar contraseñas olvidadas o descifrar contraseñas mediante la prueba de combinaciones posibles hasta encontrar la correcta. Hashcat es especialmente conocido por su capacidad de rendimiento y soporte para una amplia variedad de algoritmos de hash.

Es importante destacar que el uso de Hashcat debe realizarse de manera ética y legal. El descifrado de contraseñas sin el permiso explícito del propietario del sistema es ilegal y va en contra de las prácticas éticas y de seguridad. Hashcat se utiliza principalmente con fines de seguridad, como pruebas de penetración y auditorías de contraseñas en entornos controlados y con permisos adecuados.




Hashcat Homepage
Herramienta 7

Sqlmap

SQLMap es una herramienta de prueba de penetración de código abierto que automatiza la detección y explotación de vulnerabilidades de inyección SQL en aplicaciones web. Su objetivo principal es ayudar a los profesionales de seguridad y a los investigadores a identificar y aprovechar fallos de seguridad en bases de datos relacionales.

Es importante destacar que SQLMap debe utilizarse de manera ética y legal, con el permiso del propietario del sistema o aplicación web. Utilizar herramientas de prueba de penetración sin autorización explícita puede violar las leyes y reglamentaciones aplicables.




Sqlmap Homepage
            __           .__  .__  .__  .__                     
        |  | _______  |  | |__| |  | |__| ____  __ _____  ___
        |  |/ /\__  \ |  | |  | |  | |  |/    \|  |  \  \/  /
        |    <  / __ \|  |_|  | |  |_|  |   |  \  |  />    < 
        |__|_ \(____  /____/__| |____/__|___|  /____//__/\_ \
             \/     \/                       \/            \/
        

Haga su trabajo más fácil

Puede tomar cualquier Linux e instalar herramientas de pentesting en él, pero debe configurar las herramientas manualmente. Kali está optimizado para reducir la cantidad de trabajo, por lo que un profesional puede simplemente sentarse y empezar.

Kali en todas partes

Una versión de Kali siempre está cerca de usted, sin importar dónde la necesite. Están disponibles dispositivos móviles, contenedores, ARM, proveedores de nube, subsistema de Windows para Linux, máquinas virtuales prediseñadas, imágenes de instalador y otros.

Personalización

Con el uso de metapaquetes, optimizados para las tareas específicas de un profesional de seguridad, y un proceso de personalización ISO altamente accesible y bien documentado, siempre es fácil generar una versión optimizada de Kali para sus necesidades específicas.

Documentación

Ya sea que sea un veterano experimentado o un novato, nuestra documentación tendrá toda la información que necesita saber sobre Kali Linux. Hay varios consejos y “recetas” disponibles para ayudar a aliviar dudas o abordar cualquier problema. Toda la documentación está abierta, por lo que puedes contribuir fácilmente

Comunidad

Kali Linux, con su linaje BackTrack, tiene una comunidad vibrante y activa. Hay foros activos de Kali, canales IRC, listados de herramientas Kali, un sistema abierto de seguimiento de errores e incluso sugerencias de herramientas proporcionadas por la comunidad.

Elige el escritorio que prefieras

Bspwm

pensada en correr en maquinas virtuales de VMware
Buenas compañeros,
Espero les sirva este pequeño aporte
Hare algunas sugerencias que ya dependeran del gusto de cada quien

2.- Wallpaper
El wallpaper de nuestro queridisimo s4vitar esta alojado en una carpeta Wallpaper que se crea en nuestro HOME.
La configuración del mismo es al gusto.

3.- Nvim
Esta no esta incluida en el scripts

entorno_bspwm

Xfce

Xfce es un entorno de escritorio liviano para sistemas operativos tipo UNIX. Su objetivo es ser rápido y consumir pocos recursos del sistema, sin dejar de ser visualmente atractivo y fácil de usar.
Xfce consta de partes empaquetadas por separado que juntas proporcionan todas las funciones del entorno de escritorio, pero se pueden seleccionar en subconjuntos para satisfacer las necesidades y preferencias del usuario. Este es el entorno de escritorio predeterminado de Kali.

entorno_bspwm

GNOME Shell

Cada parte de GNOME Shell ha sido diseñada para que sea simple y fácil de usar. La descripción general de actividades es una manera fácil de acceder a todas sus tareas básicas. Pulsar un botón es todo lo que necesitas para ver las ventanas abiertas, iniciar aplicaciones o comprobar si tienes mensajes nuevos. Tener todo en un solo lugar es conveniente y significa que no tienes que aprender a abrirte camino a través de un laberinto de diferentes tecnologías.

entorno_bspwm
         _______      _____      _____ __________ 
         \      \    /     \    /  _  \\______   \
         /   |   \  /  \ /  \  /  /_\  \|     ___/
        /    |    \/    Y    \/    |    \    |    
        \____|__  /\____|__  /\____|__  /____|    
              \/         \/         \/        
        

Como funciona NMAP

Nmap es una utilidad completamente gratuita y de código abierto, nos permite descubrir redes y host, así como realizar auditoría de seguridad. Este programa es compatible con sistemas operativos Linux, Windows y también macOS, pero en todos ellos se utiliza a través de la línea de comandos, aunque tenemos la posibilidad de instalar ZenMap que es la utilidad gráfica de Nmap para hacer los escaneos de puertos a través de la interfaz gráfica de usuario. Si no quieres pelearte con comandos a través de consola, esta interfaz gráfica de usuario te podría ser útil para los primeros pasos con este gran programa, no obstante, cuando tengas más experiencia seguramente ejecutes todas las órdenes directamente desde terminal.

Nmap nos permite detectar hosts de una red local, y también a través de Internet, de esta forma, podremos saber si dichos hosts (ordenadores, servidores, routers, switches, dispositivos IoT) están actualmente conectados a Internet o a la red local. Esta herramienta también permite realizar un escaneo de puertos a los diferentes hosts, ver qué servicios tenemos activos en dichos hosts gracias a que nos dirá el estado de sus puertos, podremos saber qué sistema operativo está utilizando un determinado equipo, e incluso podremos automatizar diferentes pruebas de pentesting para comprobar la seguridad de los equipos.

Descarga e instalación de Nmap en cualquier sistema

Este programa, actualmente lo tenemos disponible en todos los repositorios de los sistemas operativos basados en Linux, por lo que su instalación es realmente sencilla.

Sudo apt install nmap

Escaneo rapido de puertos

Si quieres realizar un escaneo rápido de puertos a un determinado host, debemos teclear el siguiente comando. Este comando básico se encargará de escanear los principales puertos a la dirección IP privada o pública definida, un detalle muy importante es que no escaneará todos los puertos, sino los más utilizados habitualmente.

nmap [ip]
nmap 172.0.0.1

El programa nos devolverá los puertos que se encuentran abiertos en el equipo objetivo

En el caso de querer escanear todos y cada uno de los puertos, entonces tendremos que recurrir al siguiente comando, y poner un rango desde el puerto 1 hasta el 65535, de esta forma estaremos comprobando si todos y cada uno de los puertos están abiertos, cerrados o filtrados.

nmap -p [rango] [ip]

Si queremos realizar un escaneo de puertos desde el 20 TCP hasta el 200 TCP en la dirección IP 127.0.0.1, basta con ejecutar la siguiente orden:

nmap -p 20-200 127.0.0.1

El programa nos indicara dedntro de ese rango que puertos estan abiertos

Dependiendo de la latencia de la conexión entre nuestro equipo y el host remoto, y también el número de puertos a analizar, este proceso podría durar desde varios segundos hasta unos 10 minutos aproximadamente.

Detectar el sistema operativo y más datos del host

Podemos indicar a Nmap que detecte el sistema operativo. Esto lo realiza enviando paquetes y analizando la forma en que los devuelve, siendo en cada sistema totalmente diferente. Junto a esto, realizará una exploración de puertos y de los servicios en busca de vulnerabilidades. Asimismo, el escaneo devolverá información útil. Para ello debemos ejecutar:

nmap -A -v [ip]
nmap -A -v 127.0.0.1

Esta prueba de detección del sistema operativo no es del todo fiable porque depende de muchos parámetros, en algunos casos la exactitud es muy buena, sobre todo en diferenciar si es Windows o Linux, pero dentro del mundo Linux es realmente complicado conocer qué sistema operativo es en concreto.

Listados de todos los comandos

Este programa es realmente completo, hasta el momento hemos utilizado los comandos básicos para descubrir hosts y también para ver si tiene los puertos abiertos, sin embargo, esto no se queda así, y tenemos un gran listado de comandos para exprimir al máximo esta herramienta.

Duracion y ejecución

-T0 paranoico
-T1 sigiloso
-T2 sofisticado
-T3 normal
-T4 agresivo
-T5 locura
–min-hostgroup
–max-hostgroup
–min-rate
–max-rate
–min-parallelism
–max-parallelism
–min-rtt-timeout
–max-rtt-timeout
–initial-rtt-timeout
–max-retries
–host-timeout
–scan-delay

Evasion de Firewalls/IDS

-f fragmentar paquetes
-D d1,d2 encubrir análisis con señuelos
-S ip falsear dirección origen
–g source falsear puerto origen
–randomize-hosts orden
–spoof-mac mac cambiar MAC de origen

Comando help

nmap --help
          ___ ___ _____.___.________ __________    _____   
         /   |   \\__  |   |\______ \\______   \  /  _  \  
        /    ~    \/   |   | |    |  \|       _/ /  /_\  \ 
        \    Y    /\____   | |    `   \    |   \/    |    \
         \___|_  / / ______|/_______  /____|_  /\____|__  /
                \/  \/               \/       \/         \/  
        

Que es hydra

Hydra es una herramienta de auditoría de inicio de sesión que trabaja con múltiples tareas en paralelo, soporta una gran variedad de protocolos. Es muy rápido y flexible, y los nuevos módulos son fáciles de agregar. Esta herramienta permite a los investigadores y consultores de seguridad mostrar lo fácil que sería obtener acceso no autorizado a un sistema de forma remota.

Cuando un atacante quiere ganar acceso no autorizado a algún sistema, puede usar ataques de fuerza bruta o ataques de diccionario contra sistemas de inicio de sesión. En este artículo explicaremos ambos ataques y cómo obtener acceso a los sistemas usando la herramienta Hydra.


Instalacion

En sistemas operativos como Kali Linux o Parrot OS, la herramienta ya se encuentra instalada por defecto. Lo primero que tenemos que hacer es clonar el código fuente. Para ellos usaremos el siguiente comando:

git clone https://github.com/vanhauser-thc/thc-hydra.git

Para configurar, compilar e instalar hydra, simplemente escribimos:

./configure
make
sudo make install

Finalmente comprobamos su correcto funcionamiento con el comando:

./hydra -h

ATAQUE SSH

Hydra puede ser una herramienta realmente sencilla y efectiva, pero también cuenta con algunos parámetro interesantes que valen la pena investigar. Para realizar ataques por diccionarios a protocolos comunes usaremos la siguiente sintaxis.

Sintaxis basica

hydra -l o -L [usuario, lista] -p, -P [contraseña o diccionario] [diccionario IP] [protocolo]

Como podemos ver el ataque ha sido exitoso, y hemos obtenido la contraseña del usuario "sys"(batman).

parametros utilizados.

-l: especificamos el nombre del usuario
-P: ingresamos el diccionario a utilizar
-e nsr: esta opción nos permite ingresar una contraseña vacía (n), el nombre del usuario como contraseña (s), y el mismo usuario invirtiendo las letras (r)
-t: número de tareas en paralelo
ssh: especificamos el protocolo
:// | usamos la nomenclatura “://” para especificar la IP
-V: usamos el modo detallado
-f: termina los procesos si ha encontrado una combinación válida

ATAQUE FTP

En el siguiente ejemplo estaremos atacando un servicio ftp en Linux, usando la misma sintaxis básica, pero con algunos parámetros distintos. Logrando obtener una lista de credenciales válidas y guardar los resultados en un archivo de texto.

Como podemos observar, hemos encontrado dos credenciales válidas para el inicio de sesión y guardar los resultados en un fichero.

parametros Utilizados:

-L: ingresamos la lista de usuarios a utilizar
-P: usamos el mismo diccionario de contraseñas
IP: especificamos la dirección IP
ftp: protocolo a utilizar
-s: número de puerto especifico
-o: guardamos los resultados del ataque

ATAQUE A UN FORMULARIO WEB

Burp Suite puede ser la forma más fácil de ejecutar este tipo de ataques, pero la efectividad de la herramienta se reduce en gran medida cuando se usa la versión comunitaria gratuita. En lugar de lidiar con ataques lentos, podemos utilizar Hydra.

Nuestro siguiente objetivo será el aplicativo DVWA incorporado en la misma máquina de Metasploitable, que cuenta con formulario de inicio de sesión que se transmiten mediante peticiones post. Para poder realizar este tipo de ataque, necesitamos proporcionar la siguiente información:

Usuario o lista de usuarios.
Contraseña o diccionario de contraseñas.
Dirección IP.
Método de consulta (Get-Post).
Página de inicio de sesión.
Cuerpo de la solicitud.
Mensaje de error de inicio de sesión.


Para ello haremos uso de las herramientas de desarrollo que se encuentran en cualquier navegador web. Haciendo Clic Derecho y seleccionar “Inspeccionar elemento”. Posteriormente seleccionar la Opción de Red e ingresamos los datos en los campos de inicio de sesión. En la siguiente imagen se muestra los resultados, donde podemos ver el método de consulta (Post), la dirección IP, y la página de inicio de session (/dvwa/login.php)

Posteriormente dentro de la misma pestaña de Red, nos dirigimos a la sesión de “Request” donde se encuentran los datos de la petición, los cuales necesitamos copiar marcando la opción “raw”. Y para finalizar copiaremos el mensaje de error de la página, en nuestro caso “Login Failed”

Finalmente tendríamos que reunir todos los valores para realizar el ataque como se muestra en la siguiente imagen, para ellos necesitamos reemplazar el usuario por la nomenclatura “^USER^” y la contraseña por “^PASS^".

Nota

DESCARGO DE RESPONSABILIDAD: EL CONTENIDO EXPUESTO ES ÚNICAMENTE PARA FINES EDUCATIVOS, DIDÁCTICOS Y PREVENTIVOS.

           _____  ___________________________    ___________________.____    ________  .______________
          /     \ \_   _____/\__    ___/  _  \  /   _____/\______   \    |   \_____  \ |   \__    ___/
         /  \ /  \ |    __)_   |    | /  /_\  \ \_____  \  |     ___/    |    /   |   \|   | |    |   
        /    Y    \|        \  |    |/    |    \/        \ |    |   |    |___/    |    \   | |    |   
        \____|__  /_______  /  |____|\____|__  /_______  / |____|   |_______ \_______  /___| |____|   
             \/        \/                 \/        \/                   \/       \/            
        

Que es Metasploit

El framework Metasploit es una herramienta de código abierto desarrollada en ruby, podéis incluso añadir vuestros propios desarrollos en ella (si no sabes como apuntar a un curso de hacking ético). Esta herramienta es muy utilizada para realizar pentesting, tanto para comprometer sistemas como para obtener datos antes y después de comprometerlo.

Pero Metasploit tiene muchos comandos y como nuestra cabeza muchas veces no da para más (al menos la mía), necesitamos una chuleta para recordarlos, aquí os dejo una.



show exploits
Mostrar todos los exploits del Framework.
show payloads
Mostrar todos los payloads del Framework.
show auxiliary
Mostrar todos los módulos auxiliares del Framework.
search [cadena]
Búsqueda por cadena
search type:[exploit, payload, auxiliary, encoder, post] [cadena]
Búsqueda por tipo y cadena
info
Muestra información acerca de un exploit cargado.
use [cadena]
Carga el exploit indicado.
LHOST
Variable local host
RHOST
Variable host remoto
set [parámetro] [valor]
Graba en el parámetro el valor indicado.
setg[parámetro] [valor]
Graba en valor para el parámetro indicado de forma global.
show options
Muestra las opciones de un exploit.
show targets
Muestra las plataformas objetivo del exploit.
set target [número]
Especifica un objetivo concreto de los posibles.
set payload [payload]
Especifica un payload a usar..
show advanced
Muestra las opciones avanzadas.
set autorunscript migrate -f
Migra el proceso a un hilo independiente de forma automática.
check
Comprueba si un objetivo es vulnerable a un exploit.
exploit
Ejecuta un exploit
exploit -j
Ejecuta un exploit en background.
exploit -z
No interactúa con la sesión después de acceder con éxito
exploit -e encoder
Especifica el encoder a usar con el payload
exploit -h
Muestra la ayuda para el exploit especificado
sessions -l
Muestra la lista de sesiones disponibles
sessions -l -v
Muestra la lista de sesiones disponibles en modo verbose
sessions -s [script]
Ejecuta un script específico en todas las sesiones de meterpreter activas.
sessions -K
Mata todas las sesiones activas
sessions -c cmd
Ejecuta un comando en todas las sesiones activas
sessions -u sessionID
Actualiza una shell de Win32 a una consola de meterpreter
db_create [nombre]
Crea una base de datos
db_connect [nombre]
Crea y se conecta a una base de datos
db_nmap
Usa y carga los resultados de Nmap en una base de datos
db_autopwn -h
Muestra la ayuda para usar db_autopwn.
db_autopwn -p -r -e
Ejecuta db_autopwn contra todos los puertos encontrados, usa una shell reversa y los explota.
db_destroy
Elimina la actual base de datos
db_destroy [usuario]:[contraseña]@[host]:[puerto]/[base_de_datos]
Borra una base de datos concreta

Comandos de Meterpreter

help
Muestra la ayuda.
run [script]
Ejecuta un script de meterpreter
sysinfo
Muestra la información del sistema comprometido
ls
Muestra los ficheros y directorios del sistema comprometido
use priv
Carga librerías para elevar privilegios
ps
Muestra los procesos en ejecución
migrate PID
Migra un proceso específico.
use incognito
Carga las librerías de incógnito.
list_tokens -u
Muestra los tokens disponibles por usuario
list_tokens -g
Muestra los tokens disponibles por grupo
impersonate_token [dominio]\\[usuario]
Apropiación de un token disponible del objetivo.
steal_token PID
Apropiación de un token disponible de un proceso dado
drop_token
Deja de usar el token actual
getsystem
Intenta elevar los privilegios del usuario de acceso.
shell
Ejecuta una Shell interactiva
execute -f cmd.exe -i
Ejecuta cmd.exe e interactúa con él
execute -f cmd.exe -i -t
Ejecuta cmd.exe con todos los tokens disponibles
execute -f cmd.exe -i -H -t
Ejecuta cmd.exe con todos los tokens disponibles y lo convierte en un proceso oculto.
rev2self
Retorna al usuario original que comprometió el sistema
reg [comando]
Ejecuta comandos en el registro del sistema comprometido
setdesktop [número]
Cambia de pantalla
screenshot
Toma una captura de pantalla del objetivo
upload file
Carga un fichero en el objetivo
download file
Descarga un fichero del objetivo
keyscan_start
Comienza el sniffing del teclado.
keyscan_dump
Vuelca las teclas pulsadas del sistema objetivo.
keyscan_stop
Para el sniffing del teclado.
getprivs
Intenta elevar privilegios.
uictl enable keyboard/mouse
Toma el control del teclado o ratón.
background
Sale de meterpreter sin cerrar la sesión.
hashdump
Obtiene todos los hashes del objetivo.
use sniffer
Carga las librerías para esnifar.
sniffer_interfaces
Lista los interfaces disponibles.
sniffer_dump [interfaceID] pcapname
Comienza a esnifar un interfaz.
sniffer_start [interfaceID] packet-buffer
Comienza a esnifar un rango específico.
sniffer_stats [interfaceID]
Para obtener estadísticas de la interfaz.
sniffer_stop interfaceID
Detiene el sniffer.
add_user [usuario] [contraseña] -h [ip]
Añade un usuario en el sistema objetivo.
add_group_user "Domain Admins" [usuario] -h [ip]
Añade un usuario al grupo de administradores en el sistema objetivo.
clearev
Vacía el log de eventos del sistema comprometido
timestomp
Cambia los atributos de un fichero.
reboot
​Reinicia el sistema
         _______  _______________________________     ________________
         \      \ \_   _____/\__    ___/\_   ___ \   /  _  \__    ___/
         /   |   \ |    __)_   |    |   /    \  \/  /  /_\  \|    |   
        /    |    \|        \  |    |   \     \____/    |    \    |   
        \____|__  /_______  /  |____|    \______  /\____|__  /____|   
           \/        \/                    \/         \/    
        

Que es NC

El comando nc es un comando de sistemas Unix que se usa para llevar a cabo diversas tareas de red. Funciona en sistemas nix como Linux, BSD o macOS. Aunque el comando se usa abreviadamente como nc, su nombre completo es Netcat.

La sintaxis básica del comando Netcat es

nc [opciones] HOST PUERTO.

Mediante el comando nc puedes conectarte a los puertos TCP/UDP de un host. De este modo podrás conectarte otros servidores usando diferentes protocolos de red. Además, también es posible crear servidores que se mantengan a la escucha de peticiones entrantes. Los puertos se abrirán por defecto mediante el protocolo TCP, aunque también se acepta el protocolo UDP.

Opciones del comando NC

-l: Sirve para que Netcat abra un puerto y se mantenga ala escucha. Se aceptará una única conexión de un único cliente antes de cerrarse.

-k: Se usa junto con la opción -l con el objetivo de que el puerto ser mantenga abierto tras recibir una conexión, a la espera de más conexiones.

-u: Permite abrir puertos con el protocolo UDP en vez de abrirlos mediante el protocolo TCP.

-p: Esta opción permite especificar el puerto al que conectarse.

-v: Se usa para mostrar información acerca de la conexión.

-t: Respuestas compatibles con sesiones de Telnet.

Además, también podrás establecer retrasos entre los tiempos de envío y recepción de mensajes mediante estas opciones:

-q segundos: Tras leer los datos de entrada, se esperarán los segundos especificados antes de enviar una respuesta.

-i segundos: Se agregará un retraso según los segundos especificados tanto para el envío como para la recepción de líneas de texto.

Coneccion a un servidor

El uso básico de este comando sigue la sintaxis nc HOST PUERTO, permitiendo especificar tanto la IP o el dominio al que conectarte como el puerto. Por ejemplo, vamos a conectarnos a nuestro propio servidor local:

nc 127.0.0.1 2220

Una vez te hayas conectado al servidor, podrás enviar y recibir mensajes, mostrándose en la terminal la respuesta del servidor. De este modo, podrás trabajar a nivel de aplicación usando los protocolos HTTP, FTP, SMTP y muchos más.

En el siguiente ejemplo vamos a conectarnos a un servidor externo y a enviarle instrucciones. Por ejemplo, podrás usar este comando:

nc neoguiascom 80

Lugo puedes usar esta instrucción para obtener una respuesta al verbo GET:

GET HTTP/1.1

Dado que neoguias.com usa cloudflare como servidor DNS, se enviará la respuesta desde este servicio:

HTTP/1.1 400 Bad Request
Server: cloudflare
Date: Wed, 18 Nov 2020 06:11:49 GMT
Content-Type: text/html
Content-Length: 155
Connection: close
CF-RAY: -


html
head title 400 Bad Request /title> /head
body
center h1 400 Bad Request /h1 /center
hr center cloudflare /center
/body
/html

Escane de puertos

Puedes usar el comando Netcat para inspeccionar la red. Por ejemplo, puedes escanear los puertos que están abiertos en un servidor, proporcionando un rango de puertos.

En el siguiente ejemplo escaneamos el rango de puertos 20-80 a la direccion 10.10.8.8, usando el flag -z para decirle a Netcat que solamente escanee los puertos abiertos, sin enviar datos. El flag -v permite que se muestre información por pantalla:

nc -z -v 10.10.8.8 20-80

Veras que la salida del comando es similar a esta

nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused
nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused
Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!
nc: connect to 10.10.8.8 port 23 (tcp) failed: Connection refused
...
nc: connect to 10.10.8.8 port 79 (tcp) failed: Connection refused
Connection to 10.10.8.8 80 port [tcp/http] succeeded!

Tambien puedes usar el comando GREP para filtrar por los puertos abiertos

nc -z -v 10.10.8.8 20-80 | grep succeeded

De esta manera podras ver los puertos a los que se logro conectar

Connection to 10.10.8.8 80 port [tcp/http] succeeded!
Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!

Tambien podras transferir archivos por los puertos mediante el comando

nc localhost 20 > hola.txt
          ___ ___    _____    _________ ___ ___  _________     ________________
         /   |   \  /  _  \  /   _____//   |   \ \_   ___ \   /  _  \__    ___/
        /    ~    \/  /_\  \ \_____  \/    ~    \/    \  \/  /  /_\  \|    |   
        \    Y    /    |    \/        \    Y    /\     \____/    |    \    |   
         \___|_  /\____|__  /_______  /\___|_  /  \______  /\____|__  /____|   
            \/         \/        \/       \/          \/         \/      
        

Que es Hashcat

Hashcat es la herramienta de recuperación de contraseñas más rápida. Fue diseñado para romper las contraseñas de alta complejidad en un corto período de tiempo. Y esta herramienta también es capaz de forzar ataques.

Hashcat tiene dos variantes. CPU y GPU (Gráfico ProcessUnidad de ing) basado. La herramienta basada en GPU puede descifrar los hashes en menos tiempo que la CPU. Puede consultar los requisitos del controlador de GPU en su sitio web oficial.

Instalacion de Hashcat

Hashcat es preinstalado en Kali Linux. Puede encontrar la herramienta en la sección de descifrado de contraseñas. Pero si necesita instalarlo manualmente en cualquier distribución de Linux, escriba el siguiente comando en la terminal.

sudo apt-get isntall hashcat

Como utilizar hashcat

Para comenzar con Hashcat, necesitaremos algunos hash de contraseña. Si no tiene un hachís para descifrar, lo crearemosate algunos hashes primero.

para crearate hashes usando la línea de comando, simplemente sigue el siguiente formato.

echo -n "input" | algorithm | tr -d "-">>outputfiename

Por ejemplo, puede ver que convertí algunas palabras en hashes usando el algoritmo md5 a continuación.

┌──(root💀kali)-[/home/writer/Desktop]
└─# echo -n "geekflare" | md5sum | tr -d "-">>crackhash.txt
echo -n "password123" | md5sum | tr -d "-">>crackhash.txt
echo -n "Webtechnology" | md5sum | tr -d "-">>crackhash.txt
echo -n "microsoftteams" | md5sum | tr -d "-">>crackhash.txt
echo -n "recyclebin" | md5sum | tr -d "-">>crackhash.txt

Y la salida se guardará en el archivo crackhash.txt.

Ahora comprobaremos los hash que se guardaron en el archivo dado.

┌──(root💀kali)-[/home/writer/Desktop]
└─# cat crackhash.txt
066d45208667198296e0688629e28b14
482c811da5d5b4bcd497ffeaa98491e3
72a2bc267579aae943326d17e14a8048
2192d208d304b75bcd00b29bc8de5024
caae8dd682acb088ed63e2d492fe1e13

Como puedes ver, ahora tenemos algunos hashes que descifrar. Este es el procedimiento para crearate un hash utilizando el algoritmo de su elección.

El siguiente paso es poner en marcha una herramienta Hashcat en su máquina Linux. Simplemente use el siguiente comando para usar Hashcat.

$ hashcat --help

Aparecerán todas las opciones que necesitará conocer para ejecutar la herramienta. En la terminal, puedes encontrar todos los modos de ataque y hashcat.

La forma general del comando hashcat es

$ hashcat -a num -m num hashfile wordlistfile

Aquí, el 'num' representa un modo de ataque y hash específico para usar. Si desplaza la terminal, puede encontrar los números exactos para cada modo de ataque y hash, como para md4, el número es 0, y para el algoritmo sha256, el número es 1740.

La lista de palabras que voy a utilizar es rockyou wordlist. Puede encontrar fácilmente esa lista de palabras en la ruta / usr / share / wordlists.

Incluso puedes usar la locomotora te dejo el comando para encontrar la ruta de la lista de palabras.

┌──(root💀kali)-[/home/writer]
└─# locate rockyou.txt

para descifrar los hash usando el archivo de lista de palabras, use el siguiente comando.

$ hashcat -a 0 -m 0 ./crackhash.txt rockyou.txt

El resultado de la ejecucion seria la siguiente

┌──(root💀kali)-[/home/writer/Desktop]
└─# hashcat -a 0 -m 0 hashcrack.txt rockyou.txt
hashcat (v6.1.1) starting...


OpenCL API (OpenCL 1.2 pocl 1.6, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
=============================================================================================================================
* Device #1: pthread-Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz, 2403/2467 MB (1024 MB allocatable), 4MCU


Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 256


Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Rules: 1


Dictionary cache built:
* Filename..: rockyou.txt
* Passwords.: 14344405
* Bytes.....: 139921671
* Keyspace..: 14344398
* Runtime...: 1 sec


8276b0e763d7c9044d255e025fe0c212: geekflare@987654


Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: 8276b0e763d7c9044d255e025fe0c212
Time.Started.....: Sun Dec 12 08:06:15 2021 (0 secs)
Time.Estimated...: Sun Dec 12 08:06:15 2021 (0 secs)
Guess.Base.......: File (rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 1059.6 kH/s (0.52ms) @ Accel:1024 Loops:1 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests
Progress.........: 4096/14344398 (0.03%)
Rejected.........: 0/4096 (0.00%)
Restore.Point....: 0/14344398 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: 123456 -> pampam


Started: Sun Dec 12 08:06:13 2021
Stopped: Sun Dec 12 08:06:16 2021
          _________________  .____       _____      _____ __________ 
         /   _____/\_____  \ |    |     /     \    /  _  \\______   \
         \_____  \  /  / \  \|    |    /  \ /  \  /  /_\  \|     ___/
         /        \/   \_/.  \    |___/    Y    \/    |    \    |    
        /_______  /\_____\ \_/_______ \____|__  /\____|__  /____|    
             \/        \__>       \/       \/         \/       
        

Que es Sqlmap

Sqlmap es una herramienta open source programada en Python, diseñada para automatizar el proceso de detección y explotación de vulnerabilidades de inyección SQL en aplicaciones web. Esta herramienta de seguridad es un must-have en el arsenal de cualquier especialista en ciberseguridad. Su amplia gama de funcionalidades permite a los usuarios listar bases de datos, recuperar hashes de contraseñas, privilegios y más, en el host objetivo después de detectar inyecciones SQL.

A continuación, puedes ver algunos comandos de la herramienta en acción:

A el comando sqlmap ya sea en Windows (sqlmap.exe) para Linux (sqlmap o sqlmap.py) o en MacOS (sqlmap), vas a añadir los siguientes parámetros para conseguir los resultados esperados.

Identifica la versión del banner de la base de datos

-u "http://XXXXXXXXXXX/detail.php?code=XXXXX" -b

Listar bases de datos con sqlmap

--dbms=mysql -u "DIRECCIONURL" --dbs

Listar tablas

--dbms=mysql -u "DIRECCIONURL" -D "BASEDEDATOS" --tables

Dumpear la información de tabla

--dbms=mysql -u "DIRECCIONURL" -D "BASEDEDATOS" -T "TABLAS" --dump

Definir el parametro a explotar en sqlmap

--dbms=mysql -u "http://XXXXXXXXXXX/detail.php?code=value1&amp;amp;amp;param2=value2" --dbs -p param2

Conseguir shell del sistema (si es viable)

--dbms=mysql -u "DIRECCIONURL" --os-shell

Conseguir shell de SQL

--dbms=mysql -u "DIRECCIONURL" --sql-shell

Listar todos los comandos

--help

Hoja de trucos o cheats sheet para SQLmap