B.S.A.N.S. - Break Security - Automated Network Scanner [PARTE 1]
Bom, resolvi postar a parte 1 de um projeto que estou desenvolvendo com um amigo.
A ideia é criar uma ferramenta simples, porem básica de segurança... O objetivo final é uma ferramenta capaz de identificar informações como sistema operacional, portas, serviços e versões rodando e com base nessas informações básicas, buscar na internet vulnerabilidades relatadas para os serviços rodando e que por ventura afetem o sistema operacional em questão e por fim o script retorna uma lista das possíveis falhas, o código CVE, uma descrição rápida de cada falha, possíveis exploits para PoC e como corrigir a vulnerabilidade.
Claro que não vai chegar a aposentar ferramentas como Nessus ou Nexpose, mas é algo que eu resolvi criar, ajudar em algo e que seu uso seja o mais simples e objetivo possível.
Nessa primeira parte, só o portscan está pronto, onde é possível obter as informações básicas, como sistema operacional, nome do computador, MAC, portas, serviços, versões, etc. Sei que essas informações muita gente obtém com nmap, inclusive o script usa a lib nmap, porém tentei retornar essas informações de uma forma visualmente mais amigável.
Então é isso aí...
Updates:
https://breaksec.wordpress.com/
P.S: não vou deixar o arquivo direto pra download aqui no VOL, pois estava bugando na hora de fazer o upload, então fica o link do GitHub:
Download: https://github.com/expl01t3r/BSANSTMP
A ideia é criar uma ferramenta simples, porem básica de segurança... O objetivo final é uma ferramenta capaz de identificar informações como sistema operacional, portas, serviços e versões rodando e com base nessas informações básicas, buscar na internet vulnerabilidades relatadas para os serviços rodando e que por ventura afetem o sistema operacional em questão e por fim o script retorna uma lista das possíveis falhas, o código CVE, uma descrição rápida de cada falha, possíveis exploits para PoC e como corrigir a vulnerabilidade.
Claro que não vai chegar a aposentar ferramentas como Nessus ou Nexpose, mas é algo que eu resolvi criar, ajudar em algo e que seu uso seja o mais simples e objetivo possível.
Nessa primeira parte, só o portscan está pronto, onde é possível obter as informações básicas, como sistema operacional, nome do computador, MAC, portas, serviços, versões, etc. Sei que essas informações muita gente obtém com nmap, inclusive o script usa a lib nmap, porém tentei retornar essas informações de uma forma visualmente mais amigável.
Então é isso aí...
Updates:
https://breaksec.wordpress.com/
P.S: não vou deixar o arquivo direto pra download aqui no VOL, pois estava bugando na hora de fazer o upload, então fica o link do GitHub:
Download: https://github.com/expl01t3r/BSANSTMP
Descrição
Bom, resolvi postar a parte 1 de um projeto que estou desenvolvendo com um amigo.
A ideia é criar uma ferramenta simples, porem básica de segurança... O objetivo final é uma ferramenta capaz de identificar informações como sistema operacional, portas, serviços e versões rodando e com base nessas informações básicas, buscar na internet vulnerabilidades relatadas para os serviços rodando e que por ventura afetem o sistema operacional em questão e por fim o script retorna uma lista das possíveis falhas, o código CVE, uma descrição rápida de cada falha, possíveis exploits para PoC e como corrigir a vulnerabilidade.
Claro que não vai chegar a aposentar ferramentas como Nessus ou Nexpose, mas é algo que eu resolvi criar, ajudar em algo e que seu uso seja o mais simples e objetivo possível.
Nessa primeira parte, só o portscan está pronto, onde é possível obter as informações básicas, como sistema operacional, nome do computador, MAC, portas, serviços, versões, etc. Sei que essas informações muita gente obtém com nmap, inclusive o script usa a lib nmap, porém tentei retornar essas informações de uma forma visualmente mais amigável.
Então é isso aí...
Updates:
https://breaksec.wordpress.com/
P.S: não vou deixar o arquivo direto pra download aqui no VOL, pois estava bugando na hora de fazer o upload, então fica o link do GitHub:
Download: https://github.com/expl01t3r/BSANSTMP
A ideia é criar uma ferramenta simples, porem básica de segurança... O objetivo final é uma ferramenta capaz de identificar informações como sistema operacional, portas, serviços e versões rodando e com base nessas informações básicas, buscar na internet vulnerabilidades relatadas para os serviços rodando e que por ventura afetem o sistema operacional em questão e por fim o script retorna uma lista das possíveis falhas, o código CVE, uma descrição rápida de cada falha, possíveis exploits para PoC e como corrigir a vulnerabilidade.
Claro que não vai chegar a aposentar ferramentas como Nessus ou Nexpose, mas é algo que eu resolvi criar, ajudar em algo e que seu uso seja o mais simples e objetivo possível.
Nessa primeira parte, só o portscan está pronto, onde é possível obter as informações básicas, como sistema operacional, nome do computador, MAC, portas, serviços, versões, etc. Sei que essas informações muita gente obtém com nmap, inclusive o script usa a lib nmap, porém tentei retornar essas informações de uma forma visualmente mais amigável.
Então é isso aí...
Updates:
https://breaksec.wordpress.com/
P.S: não vou deixar o arquivo direto pra download aqui no VOL, pois estava bugando na hora de fazer o upload, então fica o link do GitHub:
Download: https://github.com/expl01t3r/BSANSTMP
#coding: utf-8
print('''
_|_|_| _|_|_| _|_| _| _| _|_|_|
_| _| _| _| _| _|_| _| _|
_|_|_| _|_| _|_|_|_| _| _| _| _|_|
_| _| _| _| _| _| _|_| _|
_|_|_| _| _|_|_| _| _| _| _| _| _| _| _|_|_|
Break Security - Automated Network Scanner
[+]Diego Bernardes
[+]https://breaksec.wordpress.com/
''')
import nmap
import argparse
nscan = nmap.PortScanner()
op = argparse.ArgumentParser()
op.add_argument('--alvo', action = 'store', dest = 'alvo', required = False, help = 'Digite o IP do alvo', nargs = '+')
op.add_argument('--porta', action = 'store', dest = 'porta', required = False, help = 'Digite a(s) porta(s) que serão escaneadas', default = '0-65535')
porta = []
nome = []
ver = []
ps = op.parse_args()
print('[+] Inicando escaneamento\n')
ps.alvo = ''.join((x+' ' for x in ps.alvo))
result = nscan.scan(str(ps.alvo), ps.porta, '-A --version-all')
for alvo in result['scan']:
print('Resultados para o alvo: {alvo}\nNome do Computador: {pcnome}\nSistema Operacional: {so}\nIP: {ip}\nMAC: {mac}\nTécnica de escaneamento: {tecscan}\n' .format(alvo = alvo,
pcnome = result['scan'][alvo]['hostname'], so = result['scan'][alvo]['osmatch'][0]['name'], ip = result['scan'][alvo]['addresses']['ipv4'],
mac = result['scan'][alvo]['addresses']['mac'], tecscan = str(result['nmap']['scaninfo']['tcp']['method']).upper()))
for x in result['scan'][alvo]['tcp']:
print('Porta: {porta}\nEstado: {estado}\nNome do Serviço: {nome}\nversão do Serviço: {versao}\nInformações Extras: {extra}\n{leponto}'.format(
porta = x, estado = result['scan'][alvo]['tcp'][x]['state'], nome = result['scan'][alvo]['tcp'][x]['name'], versao = result['scan'][alvo]['tcp'][x]['version'],
extra = result['scan'][alvo]['tcp'][x]['extrainfo'], leponto = ('-'*20)+'\n'))
porta.append(x)
nome.append(result['scan'][alvo]['tcp'][x]['name'])
ver.append(result['scan'][alvo]['tcp'][x]['version'])
print('Resultados para o alvo: {alvo}\nNome do Computador: {pcnome}\nSistema Operacional: {so}\nIP: {ip}\nMAC: {mac}\nTécnica de escaneamento: {tecscan}\n' .format(alvo = alvo,
^
IndentationError: expected an indented block
A liberdade indocil e domada pela propria desgraça -William Shakespeare