
O GoScan é um cliente de scanner de rede interativa, com preenchimento automático, que fornece abstração e automação sobre o nmap.Embora tenha começado como um pequeno projeto paralelo que desenvolvi para aprender @golang , o GoScan agora pode ser usado para realizar a descoberta de host, varredura de porta e enumeração de serviço não apenas em situações em que ser furtivo não é uma prioridade e o tempo é limitado ( pensar em CTFs, OSCP, exames, etc.), mas também (com alguns ajustes em sua configuração) durante os compromissos profissionais.
Instalação
binária (recomendada) Os
binários estão disponíveis na página Release .
# Linux (64bit)
$ wget https://github.com/marco-lancini/goscan/releases/download/v2.3/goscan_2.3_linux_amd64.zip
$ unzip goscan_2.3_linux_amd64.zip
# Linux (32bit)
$ wget https://github.com/marco-lancini/goscan/releases/download/v2.3/goscan_2.3_linux_386.zip
$ unzip goscan_2.3_linux_386.zip
# After that, place the executable in your PATH
$ chmod +x goscan
$ sudo mv ./goscan /usr/local/bin/goscan
Construa a partir da fonte
$ git clone https://github.com/marco-lancini/goscan.git
$ cd goscan/goscan/
$ make setup
$ make build
Para criar um binário multiplataforma, use o comando cross via make:
$ make cross
Docker
$ git clone https://github.com/marco-lancini/goscan.git
$ cd goscan/
$ docker-compose up --build
Uso O
GoScan suporta todos os principais passos da enumeração de rede:

Degrau | Comandos |
---|---|
1. Alvos de carga | Adicione um único alvo através do CLI (deve ser um CIDR válido): load target SINGLE <IP/32> Faça o upload de vários destinos a partir de um arquivo de texto ou pasta: load target MULTI <path-to-file> |
2. Descoberta do Host | Execute uma varredura de ping: sweep <TYPE> <TARGET> Ou carregue os resultados de uma descoberta anterior:Adicione um único host vivo através do CLI (deve ser um / 32): load alive SINGLE <IP> Carregar vários hosts vivos de um arquivo de texto ou pasta: load alive MULTI <path-to-file> |
3. Port Scanning | Execute uma varredura de porta: portscan <TYPE> <TARGET> Ou faça o upload de resultados nmap de arquivos XML ou pastas: load portscan <path-to-file> |
4. Enumeração de serviços | Execução Seca (mostre apenas comandos, sem executá-los): enumerate <TYPE> DRY <TARGET> Executar enumeração de serviços detectados: enumerate <TYPE> <POLITE/AGGRESSIVE> <TARGET> |
5. Varreduras Especiais | Testemunha ocularFaça capturas de tela de sites, serviços RDP e servidores VNC abertos (somente KALI): special eyewitness EyeWitness.py precisa estar no caminho do sistemaExtrair informações de domínio (Windows) dos dados de enumeraçãospecial domain <users/hosts/servers> DNSEnumerar DNS (nmap, dnsrecon, dnsenum): special dns DISCOVERY <domain> DNS da Bruteforce: special dns BRUTEFORCE <domain> DNS reverso da Bruteforce :special dns BRUTEFORCE_REVERSE <domain> <base_IP> |
Útil | Mostrar resultados: show <targets/hosts/ports> Configurar automaticamente as configurações, carregando um arquivo de configuração: set config_file <PATH> Altere a pasta de saída (por padrão ~/goscan ):set output_folder <PATH> Modifique os parâmetros padrão do nmap: set nmap_switches <SWEEP/TCP_FULL/TCP_STANDARD/TCP_VULN/UDP_STANDARD> <SWITCHES> Modifique as listas de palavras padrão: set_wordlists <FINGER_USER/FTP_USER/...> <PATH> |
Integrações Externas
Afase de Enumeração de Serviços atualmente suporta as seguintes integrações:
QUE | INTEGRAÇÃO |
---|---|
ARP | nmap |
DNS | nmapdnsrecondnsenumhospedeiro |
DEDO | nmapfinger-user-enum |
FTP | nmapftp-user-enumhidra [AGRESSIVO] |
HTTP | nmapniktodirbTestemunha ocularsqlmap [AGRESSIVO]fimap [AGRESSIVO] |
RDP | nmapTestemunha ocular |
SMB | nmapenum4linuxnbtscansamrdump |
SMTP | nmapsmtp-user-enum |
SNMP | nmapsnmpcheckonesixtyonesnmpwalk |
SSH | hidra [AGRESSIVO] |
SQL | nmap |
VNC | Testemunha ocular |