Habu
Python Network Hacking Toolkit: Habu
Estas são funções básicas que ajudam com algumas tarefas de Teste Ético de Hacking e Penetração. Muitas das funções são realmente básicas (como obter o nosso endereço IP público), mas são realmente úteis em alguns casos.
Instalação
Para instalar o Habu, simplesmente:
$ pip install habu
Dependências
Habu requer:
- Clique
- Python (3.x),
- Scapy-Python3
- Matplotlib (Opcional, apenas necessário se você quiser fazer alguns gráficos)
Obter ajuda
Todos os comandos implementam a opção '-help', que mostra a ajuda, os argumentos, as opções e os valores padrão.
Modo Verbose
Quase todos os comandos implementam o modo detalhado com a opção '-v'. Isso pode dar-lhe algumas informações extras sobre o que o habu está fazendo.
habu.arpoison: intoxicação ARP
Este comando envia os pacotes ARP 'is-at' para cada vítima, envenenando suas tabelas ARP para enviar o tráfego para o seu sistema.
$ sudo habu.arpoison 192.168.1.5 192.168.1.6 Ether / ARP é em 00: c2: c6: 30: 2c: 58 diz 192.168.1.6 Ether / ARP está em 00: c2: c6: 30: 2c: 58 diz 192.168.1.5 Ether / ARP é em 00: c2: c6: 30: 2c: 58 diz 192.168.1.6 Ether / ARP está em 00: c2: c6: 30: 2c: 58 diz 192.168.1.5 ...
Nota : Se você quer um ataque Man In The Middle, você precisa habilitar o encaminhamento de pacotes em seu sistema operacional para atuar como um roteador. Você pode fazer isso usando:
echo 1 > / proc / sys / net / ipv4 / ip_forward
habu.arpsniff: Descubra dispositivos na sua LAN que capturam pacotes ARP
Este comando escuta pacotes ARP e mostra informações de cada dispositivo.
Colunas: Segundos do último pacote | IP | MAC | Fornecedor
1 192.168.0.1 a4: 08: f5: 19: 17: a4 Sagemcom Broadband SAS 7 192.168.0.2 64: bc: 0c: 33: e5: 57 LG Electronics (Comunicações móveis) 2 192.168.0.5 00: c2: c6: 30: 2c: 58 Intel Corporate 6 192.168.0.7 54: f2: 01: db: 35: 58 Samsung Electronics Co., Ltd
habu.contest: verifique suas capacidades de conexão
Este comando tenta se conectar a vários serviços e verifique se você pode alcançá-los usando sua conexão com a internet.
$ habu.contest IP: Verdadeiro DNS: Verdadeiro FTP: Verdadeiro SSH: Verdadeiro HTTP: Verdadeiro HTTPS: Verdadeiro
Habu.dhcp_discover: Descubra servidores DHCP
Este comando envia uma solicitação DHCP e mostra quais dispositivos responderam. Usando o parâmetro '-v' (detalhado) você pode ver todas as opções (como servidores DNS) incluídas nas respostas.
$ sudo habu.dhcp_discover Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.5:bootpc / BOOTP / DHCP
habu.eicar: Imprime a cadeia de teste EICAR
Este comando imprime a cadeia de teste EICAR que pode ser usada para testar motores antimalware. Mais informações: http://www.eicar.org/86-0-Intended-use.html
$ habu.eicar X5O ! P% @ AP [4 \ X ZP54 (P ^) 7CC) 7} $ EICAR -STANDARD-ANTIVIRUS-TEST-FILE ! $ H + H *
Nota: A string abaixo está incorreta porque não é uma boa idéia escrever o completo neste arquivo de texto. Alguns programas antivírus podem ser detectados como um vírus. 🙂
habu.hasher: calcula vários hashes com os dados de entrada
Este comando calcula vários hashes para os dados de entrada, que podem ser um arquivo ou um fluxo. Se o nome do arquivo for '-', os dados são retirados da entrada padrão (stdin), então existem três variantes diferentes para chamar esse comando:
$ habu.hasher README.rst md5 : 375375d9cfb2aacab7c8d1a9afd3d9b7 sha1 : 21c67b9ef44bc24d47eef6adab648ba34662927e $ gato README.rst | habu.hasher - md5 : 375375d9cfb2aacab7c8d1a9afd3d9b7 sha1 : 21c67b9ef44bc24d47eef6adab648ba34662927e $ habu.hasher - < README.rst md5 : 375375d9cfb2aacab7c8d1a9afd3d9b7 sha1 : 21c67b9ef44bc24d47eef6adab648ba34662927e
Nota: A saída acima mostra apenas MD5 e SHA1 para torná-lo curto, mas a saída real inclui mais algoritmos.
Você também pode especificar qual algoritmo usar. Nesse caso, a saída é apenas o valor do hash calculado:
$ habu.hasher -a md5 README.rst 375375d9cfb2aacab7c8d1a9afd3d9b7
Habu.ip: imprime seu IP público atual
$ habu.ip 182.26.32.246
habu.isn: Imprime os números de seqüência TCP para um IP
Esse comando cria conexões TCP e imprime os números de seqüência inicial TCP para cada conexão.
$ sudo habu.isn www.portantier.com 1962287220 1800895007 589617930 3393793979 469428558
Você pode obter uma representação gráfica (precisa do pacote matplotlib) usando a opção '-g':
$ sudo habu.isn -g -c 10 www.portantier.com
Nota: O comando acima usa a opção '-c' para definir que 10 conexões devem ser criadas.
hab.land: implementa o ataque da TERRA
Este comando implementa o ataque LAND, que envia pacotes que forjam o endereço IP de origem para ser o mesmo que o IP de destino. Também usa a mesma fonte e porta de destino. O ataque é muito antigo e pode ser usado para fazer uma negação de serviço em sistemas antigos, como o Windows NT 4.0. Mais informações aqui: https://en.wikipedia.org/wiki/LAND
sudo hab.land 172.16.0.10 ............
Nota: Cada ponto (.) É um pacote enviado. Você pode especificar a quantidade de pacotes enviados com a opção '-c'. O padrão nunca é parar. Além disso, você pode especificar a porta de destino, com a opção '-p'.
habu.ping: solicitações de eco ICMP
Este comando implementa o clássico 'ping' com solicitações de eco ICMP.
$ sudo habu.ping 8.8.8.8 IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding
habu.snmp_crack: SNMP Community Cracker
Este comando lança consultas snmp-get contra um IP e informa quando encontra uma string de comunidade válida (é um simples cracker SNMP). O dicionário usado é distribuído com a ferramenta onesixtyone ( https://github.com/trailofbits/onesixtyone )
$ sudo habu.snmp_crack 179.125.234.210 Comunidade encontrada: privada Comunidade encontrada: pública
Nota: Você também pode receber mensagens como <UNIVERSAL> <class 'scapy.asn1.asn1.ASN1_Class_metaclass'>, eu não sei como suprimi-las por enquanto.
habu.synflood: implementação de ataque de inundação SYN
Este comando lança muitas conexões TCP e as mantém abertas. Alguns sistemas muito antigos podem sofrer uma negação de serviço com isso. Mais informações: https://en.wikipedia.org/wiki/SYN_flood
$ sudo habu.synflood 172.16.0.10 .................
Cada ponto é um pacote enviado.
Você pode usar as opções '-2' e '-3' para forjar os endereços da camada 2/3. Se você os usar, cada conexão será enviada a partir de um endereço de camada 2 (MAC) e / ou layer3 (IP) aleatório. Você pode escolher o número de conexões a serem criadas com a opção '-c'. O padrão nunca é parar de criar conexões.
habu.tcpflags: TCP Flag Fuzzer
Este comando envia pacotes TCP com bandeiras diferentes e diz-lhe quais respostas recebem. Ele pode ser usado para analisar como as diferentes implementações e configurações de pilha TCP / IP respondem ao pacote com várias combinações de sinalizadores.
$ sudo habu.tcpflags www.portantier.com S - > SA FS - > SA FA - > R SA - > R
Por padrão, o comando envia todas as combinações de sinalizadores possíveis. Você pode especificar com bandeiras devem estar presentes (reduzindo a quantidade de combinações possíveis), com a opção '-f'.
Além disso, você pode especificar quais bandeiras você deseja estar presente nos pacotes de resposta para mostrar, com a opção '-r'.
Com o próximo comando, você vê todas as combinações possíveis que possuem o sinalizador FIN (F) e gera uma resposta que contém o sinalizador RST (R).
$ sudo habu.tcpflags -f F -r R www.portantier.com FPA - > R FSPA - > R FAU - > R
Comentários
Postar um comentário