-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Crear imágenes - d33dd
$ dc3dd if=/dev/sda of=/home/kali/imagen.img log=/home/kali/imagen.txt
Estudio del registro de windows - HKEY_CURRENT_USER Configuración del usuario que se ha logueado en el sistema.
- HKEY_USERS Listado de usuarios con perfil en el sistema.
- HKEY_LOCAL_MACHINE Configuracion para cualquier usuario del sistema.
- HKEY_CLASSES_ROOT Es una subclave de HKEY_LOCAL_MACHINE\Software.
- HKEY_CURRENT_CONFIG Configuración del hardware al iniciar el sistema.
Comandos útiles Linux - find / -user bob -cmin -1 2>/dev/null
- find / -user www-data -type f 2>/dev/null
- find / -user bob -cmin -1 2>/dev/null
- find / -type f -executable 2>/dev/null
- find / -type f -perm -u=s 2>/dev/null Muestra fichero con SetUID activo
- find / -type f -a ( -perm -u+s -o -perm -g+s ) -exec ls -l {} ; 2> /dev/null
- chkrootkit
- String
- Debsum -e -s (Sólo debian) comprueba integridad del ficheros
- cat /etc/passwd | cut -d: -f1,3 | grep ':0$'
- stat Muestra información del inode, fecha de creación, acceso y modificación del fichero.
- getent group 46 Muestra e nombre del grupo con id 46, tambíen permite con el nombre del grupo.
Rooktit chequeo
-
RKHunter
-
chkrootkit -c -sk
Ingeniera inversa (Linux)
-
Objdump -a fichero : Información genérica sobre la cabecera de en que lenguaje está desarrollado
-
Objdump -d fichero : Desensamblar el código
-
Objdump -s fichero : Muestra contenido de las secciones en formato hexadecimal y ASCII
-
Readelf -a fichero_elf : Muestra información sobre fichero elf.
-
nm --format sysv simple : Muestra simbolos, seccion y valor.
-
Strace -f /bin/ls : Muestra las llamdas del programa
-
Readelf -h /bin/ls : Muestra información sobre el fichero ELF
-
Gdb -d fichero : Debugger paso a paso
-
Cutter : Plataforma de reverse engineering (muy interesante)
-
Binary Analysis platform BAP : Plataforma de reverse engineering
-
Radare2 : Debugger
r2 -d fichero.bin
aaa
iz : Muestra string de la sección data
izz : Muestra string de todas las secciones
axt @@ str.* : Muestra donde se usan las string
s main
pdf
: Muestro la función principal s 0x1111 px 16
: Muestro contenido de la dirección 0x1111Descompilar
r2dec fichero.bin
rabin2 -z fichero : Muestra strings del fichero binario
rabin2 -I fichero : Muestra resumen del fichero binario -
Ghira : Desemblador hecho en java para fichero elf
Ingeniera inversa (Windows)
-
IDAfree : Desemsamblador
-
Peutils Peid : Identificado si hay ofuscación del binario
Peexplorer : Busca string en el binario
Análisis de memoria con volatility v2.0
- Obtener info de sistema operativo y versión.
Comando indispensable con el que averiguaremos el sistema operativo de la imagen y su verión.
$ volatility -f <memoria.mem> imageinfo
- Mostrar los procesos que hay corriendo en el sistema en el momento de la captura de la pantalla.<br>
$ volatility -f <memoria.mem> --profile=Win7SP1x64 pslist
$ volatility -f <memoria.mem> --profile=Win7SP1x64 psscan
<br>Interesante ver si hay procesos que se encuentran en la salida del psscan pero no en pslist, esto puede ser debido a que el proceso se ha quedado en memoria aunque ya se haya termnado o bien está oculto a propósito. Para lo cual usaremos el plugin psxview.
$ volatility -f <memoria.mem> --profile=Win7SP1x64 pstree<br>
Hay que prestar atención es buscar procesos que no tienen proceso padre, o sea que no haya un proceso padre asociado a un proceso hijo. Es un tanto sospechoso que un proceso hijo se haya lanzado sin tener ningún origen (ppid).
- Mostrar procesos ocultos<br>
Plugin muy útil que nos identifica si un proceso se está ejecutando de forma oculta, hay que prestar atención pslist y psscan, ambos deben estar en True. Si algunos de ellos está en false, es cuestión de estudiar dicho proceso.
$ volatility -f <memoria.mem> --profile=Win7SP1x64 psxview -R
- Volcado del proceso<br>
$ volatility -f <memoria.mem> -p 1860 --profile=Win7SP1x64 procdump --dump-dir ./
- Volcado memoria<br>
$ volatility -f <memoria.mem> -p 1860 --profile=Win7SP1x64 memdump --dump-dir ./
Estos dos comando son muy interesantes realizar búsquedad de cadenas de texto con el comando strings para buscar patrones de direcciones ip o url.<br>
Busco patrones de direcciones url<br>
strings <pid.dmp> | grep '\<www\....\>'<br>
Busco patrones de direcciones ip validas<br>
strings 1820.dmp | grep -xE '((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])'
- Verificar malware sobre un proceso<br>
$ volatility -f victim.raw --profile=Win7SP1x64 malfind
- Ficheros fichero y directorios que se han accedido<br>.
Plugins muy útil que nos permite obtener un listado de todos los ficheros y directorios que se ha accedido mostrando fecha de creación y último acceso.<br>
$ volatility -f <memoria.mem> --profile=Win7SP1x64 shellbags
- Listado conexiones de red.<br>
Existen varios plugins para realizar esta tarea, pero en función del sistema operativo y versión funcionará uno u otro.<br>
$ volatility -f <memoria.mem> --profile=Win7SP1x64 sockscan <br>
$ volatility -f <memoria.mem> --profile=Win7SP1x64 connscan <br>
$ volatility -f <memoria.mem> --profile=Win7SP1x64 netscan <br>
- Variables de entorno<br>
Plugin muy útil que muestra las variables de entorno asociadas a un proceso o de todos los procesos.
$ volatility -f <memoria.mem> -p <pid> --profile=Win7SP1x64 envars
- Comandos que se han ejecutado<br>
$ volatility -f <memoria.mem> --profile=MyProfile cmdline
$ volatility -f <memoria.mem> --profile=MyProfile consoles
$ volatility -f <memoria.mem> --profile=MyProfile cmdscan
- Volcado de ficheros del equipo en memoria
$ volatility -f win7-malware.raw --profile=Win7SP1x64 filescan
- Volvado de proceso con dirección offset
$ volatility -f win7-malware.raw dumpfiles -Q 0x000000011e3203b0 -n -D ./
Criptografía Sistema de cifrado y descifrado simétrico (AES, 3DES).
- GPG gpg --output original_message.txt --decrypt message.gpg - OpenSSL Encriptar mensaje: openssl aes-256-cbc -e -in message.txt -out encrypted_message
Desencriptar mensaje: openssl aes-256-cbc -d -in encrypted_message -out original_message.txt
Sistema de cifrado y descifrado asimétrico.<br>
- Openssl
Crear clave privada del certificado<br>
$ openssl genrsa -out private-key.pem 2048<br>
Exportar la clave publica<br>
$ openssl rsa -in private-key.pem -pubout -out publi-key.pem
Encriptar mensaje con clave privada<br>
$ openssl pkeyutl -encrypt -in plaintext.txt -out ciphertext -inkey public-key.pem -pubin
Desencriptar mensaje con clave pública<br>
$ openssl pkeyutl -decrypt -in ciphertext -inkey private-key.pem -out decrypted.txt
- Diffie-Hellman Key Exchange
Crear clave privada del certificado<br>
$ openssl dhparam -out private-key.pem 2048
Ver el tamaño y otros datos del certificado<br>
$ openssl dhparam -in dhparams.pem -text -noout
- Hash
$ sha256 fichero<br>
Calculo HMAC<br>
$ hmac256 3RfDFz82 fichero<br>
- PKI and SSL/TLS
Usa intercambio de claves como Diffie-Hellman, posibles ataques MITM.<br>
Crear certificado autofirmado por 365 días<br>
$ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365
Tráfico de red
- Capinfo Muestra informacion de la captura del tráfico de red.
- Tshark tshark -z -help : Muestra varios parámetros para obtener estadísticas
tshark -r fichero.pcap -z -q http,tree
tshark -r fichero.pcap -q -z endpoints,ip : Estadisticas sobre ip
tshark -r fichro.pcap -q -z io,phs : Estadísticas por protocolo
tshark -r fichero.pcap -q -z endpoints,tcp : Estadísticas por ip y puerto
tshark -r fichero.pcap -q -z conv,eth : Estadísticas por mac
tshark -r fichero.pcap -q -z conv,ip : Estadísticas por ip
tshark -r fichero.pcap -q -z conv,tcp : Estadísticas por tcp
tshark -r fichero.pcap -q -z ip_ttl,tree : Estadísticas por ttl
tshark -r fichero.pcap -q -z ip_srcdst,tree : Estadísticas por ip origen y destino
tshark -r fichero.pcaq -q -z http_req,tree : Estadísticas por peticion http
tshark -nr fichero.pcap -V <br>
tshark -nr fichero.pcap --disable-protocol wlan_mgt -Y "wlan.fc.type_subtype == 0x0004" -T fields -e data <br>
tshark -nr fichero.pcap --export-objects smb,tmpfolder<br>
tshark -nr fichero.pcap -Y "dns && dns.qry.name contains 'API'" : Muestra las peticiones dns que contenga la palabra API <br>
tshark -nr fichero.pcap -Y "frame contains 'MAIL FROM'" : Muestra el trafico que contenga trafico de red smtp<br>
tshark -nr fichero.pcap -Y "tcp" -T fields -e tcp.payload : Muestra el trafico tcp-data en hexadecimal<br>
tshark -nr fichero.pcap -Y "tcp.port == 1337" -T fields -e data > dump.raw : Exporta trafico tcp del puerto 1337<br>
tshark -nr fichero.pcap -Y "ftp-data" -T fields -e tcp.payload | xxd -p -r : Mismo anterior pero convertiendo la salida a ascii<br>
tshark -nr capture.pcap -Y "ftp-data" -x : Muestra el trafico en formato hex y ascii<br>
Aplicación Java - jar -xvf fichero.jar : Extraigo el código de java
- javap -c clase.class : Muestro el contenido
- Web Decompiler https://www.decompiler.com/
- Jd-gui
Análisis de malware en pdf - Peepdf Peepdf wiki
peepdf -fil sample.pdf
- Pdfparser <a href="https://blog.didierstevens.com/programs/pdf-tools/">Pdf Parser</a><br>
pdf-parser.py -f sample.pdf
pdf-parser.py -o 5 -f sample.pdf
pdf-parser.py -o 2 -w -f sample.pdf
pdf-parser -a classified_report.pdf
- Pdfid <a href="https://blog.didierstevens.com/programs/pdf-tools/">Pdf id</a>
- Pdftools <a href="https://blog.didierstevens.com/programs/pdf-tools/">Pdf Tools</a> <br> # pdftool.py iu sample.pdf
Análisis imagen (Steganografia) Existe multitud de herramientas en local y online sobre este tema, dejo un enlace con un resumen. Stego list app & url
Algunos comando útiles que me han servidor:
- steghide info fichero.jpg<br>
- steghide extract -sf my_computer.jpg -p 486635813 -xf test.txt<br>
- exiftool fichero.jpg : Información de cabecera<br>
- exiv2 fichero.png : Información de cabecera<br>
- foremost -i fichero.png<br>
- binwalk -e fichero.jpg : Extrae informacion y adjuntos de una imagen<br>
- Zsteg -a fichero.png : Detecta LSB en fichero png y bmp<br>
- stegcracker fichero.jpg
Análisis email - EmlAnalyzer EmlAnalyzer -i correo.eml EmlAnalyzer --head -i correo.eml EmlAnalyzer --extract-all -i correo.eml Utiles - Copiar archivos entre equipos con scp scp ./"raspberry pi.txt" pi@192.168.1.126:/home/pi :Copia los ficheros del local a remoto scp pi@192.168.1.126:/home/pi/*.py . :Copia los fichero desde el host remoto linux al local
Fases del pentesting
Interesante recurso sobre pentesting Ehical hacking Lab
De mi recopilación adjunto lo siguiente:
- web-check.xyz
- URL Scan Url scan
- DNS Dumpster Dns dumpster
- Epios
- Netdiscover: netdiscover -r IP/MASK
- Arp-scan: arp-scan -l
- Nmap:
- Metasploit
- Nikto
- nmap -sV --script nbstat.nse IP
- nmap --script smb-enum* -p 445 ip
- map --script smb-vuln* -p 445 ip
- nmblookup -A ip
- enum4linux -a 192.168.56.136
- enum4linux-ng -A 192.168.56.136
- smbclient -N -L \\IP (recursos que se comparten)
- smbclient -N \\IPs\share (conexión recurso compartido)
- crackmapexec smb ip
- net use
- netstat -a ip / hostname
- nmap --script msrpc-enum -p 135 ip
- impacket-rpcdump -p 135 ip -debug
- Metasploit:
msfconsole
msf> use auxiliary/scanner/dcerpc/endpoint_mapper
msf> use auxiliary/scanner/dcerpc/hidden
msf> use auxiliary/scanner/dcerpc/management
msf> use auxiliary/scanner/dcerpc/tcp_dcerpc_auditor
-
Gobuster: gobuster dir -r -u http://IP -w /usr/share/seclists/Discovery/Web-Content/common.txt -x txt,php,html
-
Dirb: dirb http://IP/admin /usr/share/seclists/Discovery/Web-Content/common.txt
-
Feroxbuster:
-
Burpsuite
-
OWASP ZAP
- Impacket - Mysqlserver: mssqlclient.py hostname/sa:password@ip -port 49992
- Certify
- Hydra
hydra -l user -P rockyou.txt http-post-form “&_url=&_user=^USER^&_pass=^PASS^&_token=Hb2EbALjENgA6maJQU6vBl6oyAqrG2bx:R=302" -I
hydra -l molly -P wordlists/rockyou.txt -t 4 10.10.231.110 ssh
Buscamos fiheros que tengan permidos especiales y sobre buscamos vulnerabilidades en exploit-db y github
- find / -type f -a ( -perm -u+s -o -perm -g+s ) -exec ls -l {} ; 2> /dev/null
Aprovechamos vulnerabilidades en la carga de objetos al arrancar el programa.
- strace /usr/local/bin/suid-so 2>&1 | grep -iE "open|access|no such file"
La idea es crear un reverse shell en alguna libreria que requiera y que no se encuentre o bien se renombre.
- Sólo funciona con versiones de bash anterior a 4.4. El fallo está en la definición PS4
Explicación de la escalación de privilegios con ejemplos:
/
-
msfvenom -p linux/x86/exec CMD="/bin/bash -p" -f elf -o /tmp/shell.elf
-
Detectar cifrado https://cyberchef.org/ https://www.dcode.fr/
-
Laboratorios malware y tráfico de red Lab Dynamite