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

Este comando imprime seu IP público atual com base na resposta de  https://api.ipify.org .
$ 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 , 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

Python Network Hacking Toolkit: Habu Download