O mecanismo de script nmap (NSE) contém um conjunto de scripts classificados por categoria, e os usuários podem escrever seus próprios scripts com recursos personalizados.
Este tutorial explica o básico da NSE, incluindo exemplos práticos mostrando como usar o mecanismo de script nmap para invadir sites do WordPress e credenciais SSH ou executar várias verificações adicionais de segurança.
NSE (NMAP Script Motor) Categorias e tipos de scripts
Os scripts incluídos no NSE são classificados de acordo com diferentes critérios com base no momento da execução, o objetivo do script e os métodos.
A primeira classificação baseada principalmente no momento da execução inclui 4 tipos de script:
A segunda classificação é baseada nos propósitos e segurança do script. Categorias encomende scripts de acordo com esse critério. As categorias são:
Auth: Os scripts nesta categoria são úteis para lidar com a autenticação. Nesta categoria, você pode encontrar scripts para ignorar os processos de autenticação, como http-method-tamper para ignorar os recursos protegidos por senha, executando o verbo http adulterando. Se uma variedade de caminhos para verificar não estiver definida, ele rastejará o servidor da web e executará o cheque contra qualquer recurso protegido por senha encontrado.
A autenticação da categoria não inclui scripts de força bruta armazenados na categoria bruta. No entanto, em Auth, você pode encontrar funções semelhantes que o script HTTP-DeFault-Accounts para testar o acesso com credenciais padrão em vários aplicativos e dispositivos da Web.
Transmissão: Esses scripts permitem descobrir hosts transmitindo a rede local.
Brute: Esta categoria contém scripts para executar ataques de força bruta, como o script http-wordpress-bruta para atacar sites do WordPress ou rsync-brute para realizar ataques contra o protocolo RSYNC.
Padrão: Esta categoria inclui scripts que atendem aos requisitos com base na velocidade, utilidade, verbosidade, confiabilidade, intrusividade e privacidade. Os scripts nesta categoria devem terminar rapidamente e precisam relatar informações valiosas sobre o alvo. A saída deve ser legível e limitada a informações precisas. Scripts intrusivos que provavelmente travarão o sistema ou serviço de destino são menos adequados para esta categoria.
Descoberta: Scripts nesta categoria tentam descobrir mais sobre o alvo, consultando fontes públicas, dispositivos habilitados para SNM, diretórios e similares. O script http-afiliado-id pega IDs de rede afiliados, como Google Adsense ou Analytics, Amazon, etc., de uma página da web e pode ser usado para identificar páginas com o mesmo proprietário.
DOS: Esses scripts são úteis para testar as metas de vulnerabilidades antes dos ataques do DOS; Esses scripts são propensos a travar um sistema ou serviço vulnerável.
Explorar: Os scripts nesta categoria são usados para explorar vulnerabilidades em alvos.
Externo: Esta categoria contém os scripts envolvendo recursos externos durante o processo de varredura, como solicitações de informações do banco de dados no alvo. Scripts compartilhando informações sobre o processo de digitalização com bancos de dados de terceiros são colocados nesta categoria. O IP-Geolocation-Geoplugin, por exemplo, tenta determinar o local do alvo físico usando http: // www.Geoplugina.coma.
Fuzzher: Esta categoria contém scripts para enviar campos randomizados massivamente para descobrir vulnerabilidades para explorar um estouro de buffer, DOS (negação de serviço), script entre sites ou injeção de SQL.
Intrusivo: Os scripts nesta categoria provavelmente travarão o alvo usando uma quantidade significativa de recursos ou para serem detectados como atividade maliciosa.
Malware: Os scripts de malware são projetados para detectar a possível presença de malware ou backdoors no alvo.
Seguro: Ao contrário dos scripts intrusivos, é improvável que scripts seguros traçam o alvo, o que não precisa de uma quantidade significativa de recursos e é improvável que seja detectado como malicioso pelo alvo pode ser colocado aqui. Scripts nesta categoria lidam principalmente com tarefas de descoberta.
Versão: Scripts de versão estendem o recurso NMAP da versão; Um exemplo é o script docker-version usado para detectar uma versão do Docker de serviço.
Vuln: Os scripts vuln são úteis para testar vulnerabilidades em alvos com precisão.
Os scripts NSE estão localizados em /usr/share/nmap/scripts, e qualquer novo script que você deseja adicionar (e.g., Vulscan) deve ser colocado lá.
Como usar o mecanismo de script nmap (NSE)
O NSE está incluído no NMAP, para começar a instalar o NMAP, caso você ainda não o tenha, executando (nas distribuições Linux baseadas em Debian e Debian):
sudo apt install nmapObservação: Nas distribuições Linux baseadas em redhat, você pode executar:
yum install nmapApós a instalação, ou se você já possui o NMAP instalado, execute o seguinte comando para atualizar o banco de dados do mecanismo de script nmap:
NMAP-Script-UpDatedBO NMAP permite que diferentes sintaxes executem digitalizações; O exemplo a seguir mostra uma varredura NMAP com detecção de versão, chamando o script http-wordpress-brute e passando como um argumento de localização dos dicionários. Esta é uma sintaxe possível quando você sabe qual script você deseja executar.
No primeiro exemplo, mostrarei como o NMAP NSE pode hackear um site WordPress com força bruta usando o script http-wordpress-brute.NSE. Neste exemplo, o site hackeado é o Noticias Mercedes, que eu possuo.
NMAP -SV--Script Http-Wordpress-brute-Script-ARGS 'UserDB = Usuários.txt, passdb = passa.txt 'Noticiasmersmercedes.comOnde:
NMAP -SV: chama o NMAP e permite a detecção de versão.
-script http-wordpress-brute: Chama o script de broca HTTP-WordPress para sites de WordPress de Força Bruta.
-script-args 'userdb = usuários.txt, passdb = passa.TXT': Especifica os dicionários de usuário e senha, neste caso, criei os usuários dos arquivos.txt e passe.TXT contendo dados fictícios e as credenciais corretas, os arquivos foram localizados no mesmo diretório em que o NMAP foi executado, você também pode especificar o caminho: -script-args 'userdb =/path/to/dicionaty/usuários.txt, passdb =/path/to/dicionaty/pass.TXT'
Como você pode ver na saída, a senha foi invadida com sucesso:
Para o exemplo a seguir, vamos supor que você não tenha certeza sobre o script que deseja executar contra seu alvo, mas você deseja limitar sua varredura às verificações de segurança. Nesse caso, você pode instruir o NMAP a executar todos os scripts pertencentes às categorias seguras ou padrão, ou ambas.
O exemplo a seguir mostra como executar todos os scripts pertencentes às categorias padrão e seguras com uma sintaxe amigável:
NMAP -Script "Padrão e Seguro" Noticiasmercedes.comO último exemplo mostra como quebrar as credenciais SSH usando o NSE:
NMAP--SSCRIP SSH-BRUTO.NSE localhostAssim como no brutal HTTP-WordPress, com este script, você também pode especificar dicionários ignorando o argumento:
--script-args userdb = usuários.txt, passdb = passa.TXTOnde usuários.txt e passe.txt deve ser substituído por seus dicionários (e caminho, se necessário),
Os artigos a seguir incluem exemplos adicionais de NSE:
Espero que você tenha achado este artigo sobre NSE útil; Continue seguindo Linuxhint para mais dicas e tutoriais do Linux.