O Hping é uma ferramenta que gera e analisa pacotes
Por: FdRochaa • 14/9/2021 • Artigo • 650 Palavras (3 Páginas) • 147 Visualizações
O Hping é uma ferramenta que gera e analisa pacotes TCP/IP por linha de comando (CLI). Indubitavelmente é uma das melhores opções que um especialista em segurança pode possuir em seu arsenal. Foi inspirado no clássico Ping, porém com mais recursos como suporte de protocolos TCP, UDP, ICMP e RAW-IP, modo traceroute, envio de arquivos e etc.
Instalação
O Hping é suportado nos sistemas Unix-like (GNU/Linux, OpenBSD, FreedBSD, NetBSD, Solaris, etc). Se preferir compilar os códigos, acesse a página no GitHub, no arquivo INSTALL vai encontrar as instruções para esse processo. Abaixo os comandos de instalação por gerenciadores de pacotes:
Ubuntu/Debian/Mint:
$ sudo apt install hping3
Arch Linux/Manjaro/Antergos:
$ sudo pacman -S hping3
Red Hat/Fedora/CentOS:
yum install hping3
FreeBSD/OpenBSD:
cd /usr/ports/net/hping/ && make install clean
Uma observação: nos testes o nosso alvo terá o IP 192.168.0.100.
Enviando pacotes ICMP (Echo Request)
root@system:# hping3 192.168.0.100 -1
Para limitar a quantidade de pacotes:
root@system:# hping3 192.168.0.100 -1 -c 3
Modificando o tipo ICMP
ICMP Echo Request (visto anteriormente):
root@system:# hping3 192.168.0.100 -1 -C 8 -K 0
ICMP Echo Reply:
root@system:# hping3 192.168.0.100 -1 -C 0 -K 0
ICMP Timestamp Request:
root@system:# hping3 192.168.0.100 -1 -C 13 -K 0
Enviando pacotes SYN para porta específica
Se a porta estiver aberta você recebe a resposta <flags=SA>, se estiver fechada <flags=RA>:
root@system:# hping3 192.168.0.100 -S -p 80
Enviando pacotes UDP
Em UDP obtemos uma resposta diferente do TCP, no caso da porta estar fechada a resposta será <name=UNKNOW> e se a porta estiver aberta não há resposta:
root@system:# hping3 192.168.0.100 -2 -p 54
Port Scanning
Se a porta estiver aberta a resposta será <flags=SA>, se houver alguma regra REJECT no firewall, teremos <ICMP Port Unreachable>:
root@system:# hping3 192.168.0.100 -c 3 -S -p ++20
Para realizar varreduras da porta 20 a 100:
root@system:# hping3 192.168.0.100 -S --scan 20-100
Enviando pacotes com porta de origem
Porta de origem 53 com incremento:
root@system:# hping3 192.168.0.100 -S -p 80 -s 53
Porta de origem 53 sem incremento (fixa):
root@system:# hping3 192.168.0.100 -S -p 80 -s 53 -k
Enviando pacotes com origem falsa
Envia pacotes com IP falso (a.k.a IP Spoofing) e não tem retorno de pacote:
root@system:# hping3 192.168.0.100 -S -p 80 --spoof 192.168.0.1
Enviando pacotes com origem aleatória
Ativa o modo de origem aleatória, obviamente será enviado um endereço qualquer:
root@system:# hping3 192.168.0.100 -S -p 80 --rand-source
Enviando pacotes com destino aleatório
O caractere x indica um número qualquer, o destino é totalmente aleatório:
root@system:# hping3 --rand-dest x.x.x.x -I wlp6s0 -S -p 80
O destino será 192.168.0, sendo o último digito aleatório:
root@system:# hping3 --rand-dest 192.168.0.x -I wlp6s0 -S -p 80
ACK Scan
Envio da flag ACK terá como resposta <flags=R> se não estiver filtrada. Caso contrário, se houver uma regra de REJECT a resposta será <ICMP Port Unreachable>:
root@system:# hping3 192.168.0.100 -p 80 -A
FIN Scan
Se a porta não estiver filtrada a saída não tem respostas, caso contrário, a resposta for <ICMP Port Unreachable> ela pode estar filtrada com regra REJECT:
...