lunes, 3 de abril de 2017

Scripts Nmap para tener a mano si sos pentester ;)


Nmap... una de las herramientas que más usamos. Se sabe que trae consigo una gran cantidad de scripts pero... posiblemente coincidan conmigo que en el uso diario no los tenemos muy en cuenta. Quizás, en algún caso común, cuando encontramos un SMB por ahí, recordemos que Nmap tiene un script para enumerar usuarios y entonces lo utilizamos. 


La realidad, es que Nmap cuenta actualmente con 560 scripts! y si bien, puede haber algún fanático de la herramienta por aquí, estoy segura que la mayoría dejamos al menos el 80% de esos scripts sin utilizar. Pienso que hay dos principales motivos por lo cual ocurre esto, el primero: no conocerlos. ¿Algún loc@ se puso a mirar los 560 scripts? No! Si, yo xD (sos una enferma Shei! – yep). Pero me daba curiosidad, y si bien se me hizo largo el camino de conocerlos, descubrí hasta protocolos que ni sabía que existían :O ¡Así que valió la pena!.


El segundo motivo por el cual pienso que no los utilizamos tanto, es no tenerlos a mano en el momento justo. Porque la realidad es que no hay mucho tiempo de moverse a /usr/share/nmap/scripts y empezar a leer toda la lista cuando estamos en pleno pentest. Es por eso que tras mi lectura de los 560 scripts, me anoté separando como me pareció más práctico, todos aquellos scripts que pueden sernos de utilidad en una auditoría. El criterio tiene en cuenta las tecnologías, softwares, protocolos y servicios que nos encontramos con más frecuencia durante una auditoría.

Antes de pasar a la lista, les comento a aquellos que directamente no estén familiarizados con el uso de scripts en Nmap, que los mismos están agrupados por esta herramienta en categorías según su función, algunas de ellas son: discovery, auth, brute, fuzzer, exploit y dos.

Por los nombres podemos darnos cuenta fácilmente que tipo de test realizan. Si quisiéramos podríamos correr todos los scripts asociados a una categoría, durante un mismo escaneo, de la siguiente manera: 

nmap <parametros_escaneo> --script auth <ip/rango>

En ese ejemplo, se ejecutarán todos los scripts de la categoría “auth”.
Sino, podemos ejecutar un script específico:

nmap <parámetros_escaneo> --script smb-enum-shares <ip/rango>

También es posible que el script admita parámetros, en ese caso, los especificamos de la siguiente manera:

nmap <parámetros_escaneo> --script smb-enum-shares --script-args=<args> <ip/rango>
EJ: nmap -sV --script smb-enum-shares --script-args=smbuser=admin,smbpass=pass <ip/rango>

Ahora si, les comparto mi lista (Que espero que la dejes en favoritos y vengas a consultarla cada vez que la necesites ;)). 


TECNOLOGÍAS
ASP.NET:
  • http-aspnet-debug.nse
PHP: 
  • http-php-version.nse



SOFTWARE/PRODUCTOS
AVAYA:
  • http-avaya-ipoffice-users.nse
CITRIX:
  • citrix-brute-xml.nse
  • citrix-enum-apps.nse
  • citrix-enum-servers.nse
JOOMLA: 
  • http-joomla-brute.nse
WORDPRESS:
  • http-wordpress-brute.nse
  • http-wordpress-enum.nse
  • http-wordpress-plugins.nse 


BASES DE DATOS
CASSANDRA: 
  • cassandra-brute.nse
  • cassandra-info.nse
COUCHDB:
  • couchdb-databases.nse
  • couchdb-stats.nse
DB2:
  • broadcast-db2-discover.nse
  • db2-das-info.nse
  • drda-info.nse
  • drda-brute.nse
HBASE:
  • hbase-master-info.nse
  • hbase-region-info.nse
INFORMIX:
  • informix-brute.nse
  • drda-info.nse
  • drda-brute.nse
MAXDB:
  • maxdb-info.nse
MONGODB:
  • mongodb-brute.nse
  • mongodb-databases.nse
  • mongodb-info.nse
MSSQL:
  • broadcast-ms-sql-discover.nse
  • ms-sql-brute.nse
  • ms-sql-config.nse
  • ms-sql-empty-password.nse
  • ms-sql-info.nse
  • ms-sql-xp-cmdshell.nse
MYSQL:
  • mysql-audit.nse
  • mysql-brute.nse
  • mysql-databases.nse
  • mysql-empty-password.nse
  • mysql-enum.nse
  • mysql-info.nse
ORACLE: 
  • oracle-brute.nse
  • oracle-enum-users.nse
POSTGRESQL:
  • pgsql-brute.nse
REDIS:
  • redis-brute.nse
  • redis-info.nse
RIAK:
  • riak-http-info.nse




INFRAESTRUCTURAS INDUSTRIALES
  • bacnet-info.nse
  • enip-info.nse
  • fox-info.nse
  • modbus-discover.nse
  • mqtt-subscribe-nse
  • omron-info.nse
  • pcworx-info.nse
  • s7-info.nse


SERVICIOS/PROTOCOLOS

DHCP:
  • dhcp-discover.nse
  • broadcast-dhcp-discover.nse
  • broadcast-dhcp6-discover.nse
DNS:
  • dns-brute.nse
  • dns-cache-snoop.nse
  • dns-check-zone.nse
  • dns-fuzz.nse
  • dns-recursion.nse
  • dns-service-discovery.nse
  • dns-srv-enum.nse
  • dns-zone-transfer.nse
FTP: 
  • ftp-anon.nse
  • ftp-brute.nse
  • ftp-bounce.nse
HTTP:
  • http-auth.nse
  • http-auth-finder.nse
  • http-backup-finder.nse
  • http-brute.nse
  • http-form-brute.nse
  • http-config-backup.nse
  • http-default-accounts.nse
  • http-enum.nse
  • http-methods.nse
  • http-userdir-enum.nse
  • http-vhosts.nse
IMAP:
  • imap-brute.nse
  • imap-capabilities.nse
  • imap-ntlm-info.nse 
LDAP:
  • ldap-brute.nse
  • ldap-search.nse
RDP:
  • rdp-enum-encryption.nse
  • rdp-vuln-ms12-020.nse
RLOGIN:
  • rlogin-brute.nse
SIP:
  • sip-brute.nse
  • sip-call-spoof.nse
  • sip-enum-users.nse
  • sip-methods.nse
SMB:
  • smb-brute.nse
  • smb-enum-domains.nse
  • smb-enum-groups.nse
  • smb-enum-processes.nse
  • smb-enum-sessions.nse
  • smb-enum-shares.nse
  • smb-enum-users.nse
  • smb-flood.nse
  • smb-ls.nse
  • smb-mbenum.nse
  • smb-os-discovery.nse
  • smb-print-text.nse
  • smb-psexec.nse
  • smb-security-mode.nse
  • smb-server-stats.nse
  • smb-system-info.nse
  • smbv2-enabled.nse
SMTP:
  • smtp-brute.nse
  • smtp-commands.nse
  • smtp-enum-users.nse
  • smtp-open-relay.nse
SNMP:
  • snmp-info.nse
  • snmp-interfaces.nse
  • snmp-ios-config.nse
  • snmp-netstat.nse
SSL:
  • ssl-ccs-injection.nse
  • ssl-cert.nse
  • ssl-cert-intaddr.nse
  • ssl-date.nse
  • ssl-dh-params.nse
  • ssl-enum-ciphers.nse
  • ssl-heartbleed.nse
  • ssl-known-key.nse
  • ssl-poodle.nse
  • sslv2.nse
  • sslv2-drown.nse
SVN:
  • svn-brute.nse
  • http-svn-enum.nse
  • http-svn-info.nse 
TELNET:
  • telnet-brute.nse
TFTP:
  • tftp-enum.nse
UPNP:
  • upnp-info.nse
  • broadcast-upnp-info.nse
VNC:
  • vnc-brute.nse
  • vnc-info.nse



VULNERABILIDADES WEB
  • http-dombased-xss.nse   
  • http-stored-xss.nse
  • http-put.nse
  • http-slowloris.nse
  • http-slowloris-check.nse
  • http-sql-injection.nse
  • http-csrf.nse
  • http-fileupload-exploiter.nse
  • http-hsts-verify.nse
  • http-internal-ip-disclosure.nse
  • http-malware-host.nse
  • http-passwd.nse
  • http-referer-checker.nse
  • http-rfi-spider.nse
  • http-trace.nse
  • http-xssed.nse




UTILES
  • whois-domain.nse
  • whois-ip.nse
  • hostmap-ip2hosts.nse
  • hostmap-robtex.nse
  • http-robtex-reverse-ip.nse
  • ip-geolocation-map-google.nse
  • url-snarf.nse
  • sniffer-detect.nse
  • ike-version.nse
  • auth-owners.nse
  • mikrotik-routeros-brute.nse
  • firewalk.nse
  • firewall-bypass.nse
  • http-waf-detect.nse
  • http-waf-fingerprint.nse  


Eso es todo :-) ahora sí, CTRL + F y el nombre de lo que estés auditando ;)   
Recomiendo que si hay algún script con nombre confuso, consulten en la documentación oficial. Pueden consultar por un script específico en la siguiente URL: https://nmap.org/nsedoc/scripts/<nombre_del_script>.html por ejemplo: https://nmap.org/nsedoc/scripts/http-waf-fingerprint.html.

¡Nos leemos pronto!

Author: Sheila Ayelen Berta.
Tw: @UnaPibaGeek.
Web: www.semecayounexploit.com.

2 comentarios: