Scripts
| citrix-brute-xml |
Attempts to guess valid credentials for the Citrix PN Web Agent XML Service. The XML service authenticates against the local Windows server or the Active Directory. |
| dhcp-discover |
Sends a DHCPDISCOVER request to a host on UDP port 67. The response come back to UDP port 68, and is read using PCAP (due to the inability for a script to choose its source port at the moment). |
| dns-random-srcport |
Checks a DNS server for the predictable-port recursion vulnerability. Predictable source ports can make a DNS server vulnerable to cache poisoning attacks (see CVE-2008-1447). |
| dns-random-txid |
Checks a DNS server for the predictable-TXID DNS recursion vulnerability. Predictable TXID values can make a DNS server vulnerable to cache poisoning attacks (see CVE-2008-1447). |
| dns-recursion |
Checks if a DNS server allows queries for third-party names. |
| dns-zone-transfer |
Requests a zone transfer (AXFR) from a DNS server. |
| ftp-bounce |
Checks to see if an FTP server allows port scanning using the FTP bounce method. |
| ftp-brute |
Tries to get FTP login credentials by guessing usernames and passwords. |
| http-auth |
Retrieves the authentication scheme and realm of a web service that requires authentication. |
| http-enum |
Enumerates directories used by popular web applications and servers. |
| http-iis-webdav-vuln |
Checks for a vulnerability in IIS 5.1/6.0 that allows arbitrary users to access secured WebDAV folders by searching for a password-protected folder and attempting to access it. This vulnerability was patched in Microsoft Security Bulletin MS09-020 http://www.microsoft.com/technet/security/bulletin/ms09-020.mspx. |
| http-open-proxy |
Checks if an HTTP proxy is open. |
| http-passwd |
Checks if a web server is vulnerable to directory traversal by attempting to
retrieve |
| http-userdir-enum |
Attempts to enumerate valid usernames on webservers running with the mod_userdir module or similar enabled. |
| ldap-brute |
Performs password guessing against LDAP |
| ms-sql-info |
Attempts to extract information from Microsoft SQL Server instances. |
| mysql-brute |
Performs password guessing against MySQL |
| mysql-databases |
Attempts to list all databases on the MySQL server |
| mysql-empty-password |
Checks for MySQL servers with an empty root and/or anonymous password |
| mysql-users |
Attempts to list all users on the MySQL server |
| mysql-variables |
Attempts to show all variables on the MySQL server |
| oracle-sid-brute |
Guesses Oracle instance/sid names against the TNS-listener |
| pjl-ready-message |
Retrieves or sets the ready message on printers that support the Printer
Job Language. This includes most PostScript printers that listen on port
9100. Without an argument, displays the current ready message. With the
|
| pop3-brute |
Tries to log into a POP3 account by guessing usernames and passwords. |
| smb-brute |
Attempts to guess username/password combinations over SMB, storing discovered combinations for use in other scripts. Every attempt will be made to get a valid list of users and to verify each username before actually using them. When a username is discovered, besides being printed, it is also saved in the Nmap registry so other Nmap scripts can use it. That means that if you're going to run smb-brute.nse, you should run other smb scripts you want. This checks passwords in a case-insensitive way, determining case after a password is found, for Windows versions before Vista. |
| smb-check-vulns |
Check for vulnerabilities:
|
| smb-enum-domains |
Attempts to enumerate domains on a system, along with their policies. This generally requires credentials, except against Windows 2000. In addition to the actual domain, the "Builtin" domain is generally displayed. Windows returns this in the list of domains, but its policies don't appear to be used anywhere. |
| smb-enum-groups |
Obtains a list of groups from the remote Windows system, as well as a list of the group's users. This works similarly to enum.exe with the /G switch. |
| smb-enum-processes |
Pulls a list of processes from the remote server over SMB. This will determine all running processes, their process IDs, and their parent processes. It is done by querying the remote registry service, which is disabled by default on Vista; on all other Windows versions, it requires Administrator privileges. |
| smb-enum-sessions |
Enumerates the users logged into a system either locally or through an SMB share. The local users can be logged on either physically on the machine, or through a terminal services session. Connections to a SMB share are, for example, people connected to fileshares or making RPC calls. Nmap's connection will also show up, and is generally identified by the one that connected "0 seconds ago". |
| smb-enum-shares |
Attempts to list shares using the |
| smb-enum-users |
Attempts to enumerate the users on a remote Windows system, with as much
information as possible, through two different techniques (both over MSRPC,
which uses port 445 or 139; see |
| smb-psexec |
This script implements remote process execution similar to the Sysinternals' psexec tool, allowing a user to run a series of programs on a remote machine and read the output. This is great for gathering information about servers, running the same tool on a range of system, or even installing a backdoor on a collection of computers. |
| smb-server-stats |
Attempts to grab the server's statistics over SMB and MSRPC, which uses TCP ports 445 or 139. |
| smb-system-info |
Pulls back information about the remote system from the registry. Getting all of the information requires an administrative account, although a user account will still get a lot of it. Guest probably won't get any, nor will anonymous. This goes for all operating systems, including Windows 2000. |
| smtp-open-relay |
Attempts to relay mail by issuing a predefined combination of SMTP commands. The goal of this script is to tell if a SMTP server is vulnerable to mail relaying. |
| sniffer-detect |
Checks if a target on a local Ethernet has its network card in promiscuous mode. |
| snmp-brute |
Attempts to find an SNMP community string by brute force guessing. |
| socks-open-proxy |
Checks if an open socks proxy is running on the target. |
| sql-injection |
Spiders an HTTP server looking for URLs containing queries vulnerable to an SQL injection attack. |
| ssh-hostkey |
Shows SSH hostkeys. |
| ssl-enum-ciphers |
This script repeatedly initiates SSL/TLS connections, each time removing whichever cipher or compressor was chosen by the server when making the previous connection. The end result is a list of all the ciphers and compressors that a server accepts. |
| telnet-brute |
Tries to get Telnet login credentials by guessing usernames and passwords. |




