O nmap é um “port-scan” extremamente rápido e muito utilizado no mundo opensource, porém existem recursos adicionais, como o NSE (Nmap Scripting Engine), que são pouco conhecidos ou explorados. Na realidade, o nmap é mais que um simples port-scan.
O NSE é um dos recursos mais poderosos e flexíveis do Nmap, que permite aos usuários escrever (e compartilhar) scripts simples para automatizar uma variedade de tarefas de rede. Os scripts são processados em paralelo, preservando a eficiência da ferramenta. Inúmeros scripts são disponibilizados na instalação padrão (permitindo a análise de vulnerabilidades), mas nada impede ao administrador criar um próprio.
Vale lembrar que o objetivo deste artigo se atém em demonstrar alternativas que permitam ao administrador se antecipar, explorando vulnerabilidades e corrigindo falhas, antes que um hacker o faça. As dicas compartilhadas se destinam a administradores que desejam identificar recursos ativos ou certificar a segurança dos servidores contra vulnerabilidades conhecidas – o script ssl-heartbleed, por exemplo, foi disponibilizado assim que a falha foi descoberta. Os testes demonstrados, logo a seguir, dependem de autorização prévia, e sua má utilização pode caracterizar como ação criminosa.
– No Ubuntu, através do gerenciador de pacotes dpkg, podemos verificar os scripts disponíveis listando os arquivos do diretório scripts do pacote nmap:
root@linux-server:~# dpkg -L nmap | grep scripts
/usr/share/nmap/scripts /usr/share/nmap/scripts/ncp-serverinfo.nse /usr/share/nmap/scripts/samba-vuln-cve-2012-1182.nse /usr/share/nmap/scripts/ftp-bounce.nse /usr/share/nmap/scripts/broadcast-eigrp-discovery.nse /usr/share/nmap/scripts/smb-vuln-regsvc-dos.nse /usr/share/nmap/scripts/smb-vuln-ms10-054.nse /usr/share/nmap/scripts/afp-showmount.nse /usr/share/nmap/scripts/stun-version.nse /usr/share/nmap/scripts/ldap-rootdse.nse /usr/share/nmap/scripts/netbus-brute.nse /usr/share/nmap/scripts/ftp-vuln-cve2010-4221.nse /usr/share/nmap/scripts/http-vmware-path-vuln.nse /usr/share/nmap/scripts/s7-info.nse /usr/share/nmap/scripts/afp-serverinfo.nse /usr/share/nmap/scripts/allseeingeye-info.nse /usr/share/nmap/scripts/ftp-proftpd-backdoor.nse ...
– Identificando um DNS recursivo:
root@linux-server:~# nmap -sU –script dns-recursion –script-args \
timelimit=2h 8.8.8.8 -p 53
Starting Nmap 7.01 ( http://nmap.org ) at 2017-09-28 15:35 AMT NSE: Script Scanning completed. Nmap scan report for google-public-dns-a.google.com (8.8.8.8) Host is up (0.028s latency). PORT STATE SERVICE 53/udp open|filtered domain |_dns-recursion: Recursion appears to be enabled Nmap done: 1 IP address (1 host up) scanned in 0.68 seconds
“Trata-se apenas uma demonstração inicial, pois, neste caso, uma simples avaliação com nslookup ou dig já revelaria o recurso ativo“.
– Explorando vulnerabilidades de SQL Injection:
root@linux-server:~# nmap -sV –script http-sql-injection www.seu.site.com.br -p 80
Starting Nmap 7.01 ( https://nmap.org ) at 2017-09-28 15:36 AMT Nmap scan report for www.seu.site.com.br (10.0.0.100) Host is up (0.00087s latency). PORT STATE SERVICE VERSION 80/tcp open http Apache httpd |_http-server-header: Apache Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 54.00 seconds
“Neste caso, a saída exibida demonstra que o script NÃO foi capaz de explorar a vulnerabilidade com sucesso. Porém, comparado com outras ferramentas bem mais intrusivas, como Netsparker ou Acunetix, a variedade de testes é relativamente menor. Portanto, não se conforme apenas com uma varredura do nmap para certificar a segurança dos servidores“.
Confiram como a combinação de algumas ferramentas pode facilitar na evolução de ataques:
http://www.hackingarticles.in/exploiting-sql-injection-nmap-sqlmap/
– Levantando usuários do WordPress:
root@linux-server:~# nmap -sV –script http-wordpress-users www.seu.site.com.br \
-p 80
Starting Nmap 7.01 ( https://nmap.org ) at 2017-09-28 15:55 AMT Nmap scan report for www.seu.site.com.br.br (10.0.0.100) Host is up (0.00054s latency). PORT STATE SERVICE VERSION 80/tcp open http nginx |_http-server-header: nginx | http-wordpress-users: | Username found: user1 | Username found: user2
– Carregando TODOS scripts para análise HTTP (http-*):
root@linux-server:~# nmap -sV –script http-* www.seu.site.com.br -p 80
Starting Nmap 7.01 ( https://nmap.org ) at 2017-09-28 16:58 AMT Nmap scan report for www.seu.site.com.br (10.0.0.100) Host is up (0.000079s latency). rDNS record for 10.0.0.100: www.seu.site.com.br PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) | http-brute: |_ Path "/" does not require authentication |_http-chrono: Request times for /; avg: 165.18ms; min: 159.29ms; max: 175.70ms | | Path: http://www.seu.site.com.br/#scope ... |_ (Request type: HEAD) |_http-malware-host: Host appears to be clean | http-methods: |_ Supported Methods: POST OPTIONS GET HEAD |_http-mobileversion-checker: No mobile version detected. |_http-referer-checker: Couldn't find any cross-domain scripts. |_http-server-header: Apache/2.4.18 (Ubuntu) | http-sitemap-generator: | Directory structure: | / | Other: 1 | /icons/ | png: 1 | Longest directory structure: | Depth: 1 | Dir: /icons/ | Total files found (by extension): |_ Other: 1; png: 1 |_http-slowloris: false |_http-stored-xss: Couldn't find any stored XSS vulnerabilities. |_http-title: Apache2 Ubuntu Default Page: It works | http-traceroute: |_ Possible reverse proxy detected. | http-useragent-tester: | | Allowed User Agents: | Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html) | libwww | lwp-trivial | libcurl-agent/1.0 | PHP/ ... Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 2134.29 seconds
– Desenvolvendo um ataque de força bruta em servidores de FTP:
root@linux-server:~# nmap -sV –script ftp-brute seu.ftp.com.br -p 21
Starting Nmap 7.01 ( https://nmap.org ) at 2017-09-28 15:29 AMT Nmap scan report for seu.ftp.com.br (10.0.0.21) Host is up (0.00060s latency). PORT STATE SERVICE VERSION 21/tcp open ftp Microsoft ftpd | ftp-brute: | Accounts: | user:123456 - Valid credentials |_ Statistics: Performed 45011 guesses in 205 seconds, average tps: 217 Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 205.76 seconds
Para desenvolver ataques de força bruta, o nmap trabalha com dois arquivos separados:
usernames.lst (usuários) e passwords.lst (senhas)
Ambos os arquivos se encontram em: /usr/share/nmap/nselib/data/.
Podemos também utilizar a opção “–script-args” para selecionar outro arquivo de dicionário:
--script-args 'userdb=/tmp/users.txt'ou
--script-args 'passdb=/tmp/password.txt'ou
--script-args 'userdb=/tmp/users.txt,passdb=/tmp/password.txt'
Confiram outros exemplos para ataque de força bruta:
http://www.hackingarticles.in/password-cracking-using-nmap/
quero ser um hacker do bem