
Automatiza o reconhecimento mapeando endereços IPv4/IPv6 para organizações usando bancos de dados GeoLite2, com varredura de portas nmap integrada e processamento em lote via arquivos de entrada.
O Asnap tem como objetivo facilitar a fase de reconhecimento, fornecendo dados atualizados regularmente sobre quais empresas possuem quais endereços IPv4 ou IPv6, e permite que o usuário automatize a varredura inicial de portas e serviços.
█████╗ ███████╗███╗ ██╗ █████╗ ██████╗
██╔══██╗██╔════╝████╗ ██║██╔══██╗██╔══██╗
███████║███████╗██╔██╗ ██║███████║██████╔╝
██╔══██║╚════██║██║╚██╗██║██╔══██║██╔═══╝
██║ ██║███████║██║ ╚████║██║ ██║██║
╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝
Author : Mehmet Berkay Yuksel | twitter -> @paradoxxer
Se você possui Go instalado e configurado na sua variável de ambiente $PATH, execute simplesmente:
go get -u github.com/yukselberkay/asnap
Se deseja usar o binário pré-compilado, também precisa baixar os arquivos "move.sh" e "nmap.sh" e colocá-los no mesmo diretório do asnap.
Para baixar o banco de dados que o asnap consulta, você precisa fornecer uma chave. Para obter sua chave gratuita, cadastre-se aqui -> https://www.maxmind.com/en/geolite2/signup Após se cadastrar, navegue até services -> My license key e crie uma nova chave. Em seguida, crie o arquivo "asnap_conf.txt" dentro do mesmo diretório do asnap e cole sua chave na primeira linha do "asnap_conf.txt":
echo 'insira a chave' > asnap_conf.txt
Para usar a funcionalidade de varredura de portas, é necessário instalar o nmap na sua máquina:
* Distribuições baseadas em Debian:
sudo apt install nmap
* MacOS
brew install nmap
* Distribuições baseadas em Arch
sudo pacman -S nmap
Baixe o código-fonte:
git clone [email protected]:yukselberkay/asnap.git
Instale o Golang aqui -> https://golang.org/doc/install ou você pode instalar o Go se estiver disponível no seu gerenciador de pacotes:
sudo apt install golang
Após baixar o código-fonte, navegue até o diretório do projeto e execute:
go build
Isso produzirá o binário asnap. Depois de compilá-lo, crie o arquivo asnap_conf.txt dentro do mesmo diretório do asnap, insira sua chave na primeira linha e estará pronto para usar.
echo 'insira a chave' > asnap_conf.txt
Uso e Exemplos
Usage of ./asnap:
-download Download database for the first usage.
-update Update downloaded database. (Geolite databases updates once a week.).
-search Specify search.
-ipv4 Specify ipv4 database to search.
-ipv6 Specify ipv6 database to search.
-company Search by company name.
-asn Search by as number.
-outfile Specifies a name for the output text. By default, output file is named: MM-DD-YYYY_out.txt
-infile Use specified .txt file as input. Asnap will iterate every line, and treats them as company names and searches specified database with given inputs.
-nmap Passes found ip addresses to nmap.
Exemplos:
"$asnap -download" -> Baixa o banco de dados com a chave fornecida, pela primeira vez.
"$asnap -update" -> Atualiza o banco de dados.
"$asnap -search -ipv4 -company="exemplo" " -> Pesquisa no banco de dados IPv4 pelo nome da empresa "exemplo"
"$asnap -search -ipv6 -asn 13337" -> Pesquisa no banco de dados IPv6 pelo número AS "13337"
"$asnap -search -ipv4 -company="github" -outfile /caminho/para/arquivo/saida" -> Pesquisa no banco de dados IPv4 pelo nome da empresa "test" e salva a saída no caminho especificado.
"$asnap -search -ipv4 -infile /caminho/para/arquivo/entrada.txt -nmap" -> Fornece uma lista de nomes de empresas como entrada, pesquisa no banco de dados IPv4 e passa os endereços IP encontrados para o nmap para varredura de portas.
Embora você possa usar o asnap manualmente, é possível automatizar todo esse processo com cron jobs (veja -> https://en.wikipedia.org/wiki/Cron). Por exemplo, depois de fornecer um arquivo de entrada com o argumento -infile, tudo o que você precisa fazer é verificar o arquivo de saída e modificar regularmente o arquivo de entrada conforme sua necessidade. Por padrão, o arquivo de saída é nomeado: "MM-DD-YYYY_out.txt".
Se você tiver alguma dúvida ou uma funcionalidade que deseja que eu adicione, fique à vontade para entrar em contato comigo. twitter -> https://twitter.com/paradoxxer linkedin -> https://www.linkedin.com/in/mehmet-berkay-y%C3%BCksel-ab78aa153/ Web Site -> https://yukselberkay.me