PATH:
usr
/
share
/
nmap
/
scripts
local http = require("http") local shortport = require("shortport") local stdnse = require("stdnse") local strbuf = require("strbuf") local string = require("string") local table = require("table") description = [[ Checks for a Git repository found in a website's document root /.git/<something>) and retrieves as much repo information as possible, including language/framework, remotes, last commit message, and repository description. ]] --- -- @output -- PORT STATE SERVICE REASON -- 80/tcp open http syn-ack -- | http-git: -- | 127.0.0.1:80/.git/ -- | Git repository found! -- | .git/config matched patterns 'passw' -- | Repository description: Unnamed repository; edit this file 'description' to name the... -- | Remotes: -- | http://github.com/someuser/somerepo -- | Project type: Ruby on Rails web application (guessed from .git/info/exclude) -- | 127.0.0.1:80/damagedrepository/.git/ -- |_ Potential Git repository found (found 2/6 expected files) -- -- @xmloutput -- <table key="127.0.0.1:80/.git/"> -- <table key="remotes"> -- <elem>http://github.com/anotherperson/anotherepo</elem> -- </table> -- <table key="project-type"> -- <table key=".git/info/exclude"> -- <elem>JBoss Java web application</elem> -- <elem>Java application</elem> -- </table> -- </table> -- <elem key="repository-description">A nice repository</elem> -- <table key="files-found"> -- <elem key=".git/COMMIT_EDITMSG">false</elem> -- <elem key=".git/info/exclude">true</elem> -- <elem key=".git/config">true</elem> -- <elem key=".git/description">true</elem> -- <elem key=".gitignore">false</elem> -- </table> -- <table key="interesting-matches"> -- <table key=".git/config"> -- <elem>passw</elem> -- </table> -- </table> -- </table> categories = { "default", "safe", "vuln" } author = "Alex Weber" license = "Same as Nmap--See http://nmap.org/book/man-legal.html" portrule = shortport.http -- We consider 200 to mean "okay, file exists and we received its contents". local STATUS_OK = 200 -- Long strings (like a repository's description) will be truncated to this -- number of characters in normal output. local TRUNC_LENGTH = 60 function action(host, port) local out -- We can accept a single root, or a table of roots to try local root_arg = stdnse.get_script_args("http-git.root") local roots if type(root_arg) == "table" then roots = root_arg elseif type(root_arg) == "string" or type(root_arg) == "number" then roots = { tostring(root_arg) } elseif root_arg == nil then -- if we didn't get an argument roots = { "/" } end -- Try each root in succession for _, root in ipairs(roots) do root = tostring(root) root = root or '/' -- Put a forward slash on the beginning and end of the root, if none was -- provided. We will print this, so the user will know that we've mangled it if not string.find(root, "/$") then -- if there is no slash at the end root = root .. "/" end if not string.find(root, "^/") then -- if there is no slash at the beginning root = "/" .. root end -- If we can't get a valid /.git/HEAD, don't even bother continuing -- We could try for /.git/, but we will not get a 200 if directory -- listings are disallowed. local resp = http.get(host, port, root .. ".git/HEAD") local sha1_pattern = "^%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x" if resp.status == STATUS_OK and ( resp.body:match("^ref: ") or resp.body:match(sha1_pattern) ) then out = out or {} local replies = {} -- This function returns true if we got a 200 OK when -- fetching 'filename' from the server local function ok(filename) return (replies[filename].status == STATUS_OK) end -- These are files that are small, very common, and don't -- require zlib to read -- These files are created by creating and using the repository, -- or by popular development frameworks. local repo = { ".gitignore", ".git/COMMIT_EDITMSG", ".git/config", ".git/description", ".git/info/exclude", } local pl_requests = {} -- pl_requests = pipelined requests (temp) -- Go through all of the filenames and do an HTTP GET for _, name in ipairs(repo) do -- for every filename http.pipeline_add(root .. name, nil, pl_requests) end -- Do the requests. replies = http.pipeline_go(host, port, pl_requests) if replies == nil then stdnse.print_debug("%s: pipeline_go() error. Aborting.", SCRIPT_NAME) return nil end for i, reply in ipairs(replies) do -- We want this to be indexed by filename, not an integer, so we convert it -- We added to the pipeline in the same order as the filenames, so this is safe. replies[repo[i]] = reply -- create index by filename replies[i] = nil -- delete integer-indexed entry end -- Mark each file that we tried to get as 'found' (true) or 'not found' (false). local location = host.ip .. ":" .. port.number .. root .. ".git/" out[location] = {} -- A nice shortcut local loc = out[location] loc["files-found"] = {} for name, _ in pairs(replies) do loc["files-found"][name] = ok(name) end -- Look through all the repo files we grabbed and see if we can find anything interesting. local interesting = { "bug", "key", "passw", "pw", "user", "secret", "uid" } for name, reply in pairs(replies) do if ok(name) then for _, pattern in ipairs(interesting) do if string.match(reply.body, pattern) then -- A Lua idiom - don't create this table until we actually have something to put in it loc["interesting-matches"] = loc["interesting-matches"] or {} loc["interesting-matches"][name] = loc["interesting-matches"][name] or {} table.insert(loc["interesting-matches"][name], pattern) end end end end if ok(".git/COMMIT_EDITMSG") then loc["last-commit-message"] = replies[".git/COMMIT_EDITMSG"].body end if ok(".git/description") then loc["repository-description"] = replies[".git/description"].body end -- .git/config contains a list of remotes, so we try to extract them. if ok(".git/config") then local config = replies[".git/config"].body local remotes = {} -- Try to extract URLs of all remotes. for url in string.gmatch(config, "\n%s*url%s*=%s*(%S*/%S*)") do table.insert(remotes, url) end for _, url in ipairs(remotes) do loc["remotes"] = loc["remotes"] or {} table.insert(loc["remotes"], url) end end -- These are files that are used by Git to determine what files to ignore. -- We use this list to make the loop below (used to determine what kind of -- application is in the repository) more generic. local ignorefiles = { ".gitignore", ".git/info/exclude", } local fingerprints = { -- Many of these taken from https://github.com/github/gitignore { "%.scala_dependencies", "Scala application" }, { "npm%-debug%.log", "node.js application" }, { "joomla%.xml", "Joomla! site" }, { "jboss/server", "JBoss Java web application" }, { "wp%-%*%.php", "WordPress site" }, { "app/config/database%.php", "CakePHP web application" }, { "sites/default/settings%.php", "Drupal site" }, { "local_settings%.py", "Django web application" }, { "/%.bundle", "Ruby on Rails web application" }, -- More specific matches (MyFaces > JSF > Java) on top { "%.py[dco]", "Python application" }, { "%.jsp", "JSP web application" }, { "%.bundle", "Ruby application" }, { "%.class", "Java application" }, { "%.php", "PHP application" }, } -- The XML produced here is divided by ignorefile and is sorted from first to last -- in order of specificity. e.g. All JBoss applications are Java applications, -- but not all Java applications are JBoss. In that case, JBoss and Java will -- be output, but JBoss will be listed first. for _, file in ipairs(ignorefiles) do if ok(file) then -- We only test all fingerprints if we got the file. for _, fingerprint in ipairs(fingerprints) do if string.match(replies[file].body, fingerprint[1]) then loc["project-type"] = loc["project-type"] or {} loc["project-type"][file] = loc["project-type"][file] or {} table.insert(loc["project-type"][file], fingerprint[2]) end end end end end end -- If we didn't get anything, we return early. No point doing the -- normal formatting! if out == nil then return nil end -- Truncate to TRUNC_LENGTH characters and replace control characters (newlines, etc) with spaces. local function summarize(str) str = stdnse.string_or_blank(str, "<unknown>") local original_length = #str str = string.sub(str, 1, TRUNC_LENGTH) str = string.gsub(str, "%c", " ") if original_length > TRUNC_LENGTH then str = str .. "..." end return str end -- We convert the full output to pretty output for -oN local normalout for location, info in pairs(out) do normalout = normalout or {} -- This table gets converted to a string format_output, and then inserted into the 'normalout' table local new = {} -- Headings for each place we found a repo new["name"] = location -- How sure are we that this is a Git repository? local count = { tried = 0, ok = 0 } for _, found in pairs(info["files-found"]) do count.tried = count.tried + 1 if found then count.ok = count.ok + 1 end end -- If 3 or more of the files we were looking for are not on the server, -- we are less confident that we got a real Git repository if count.tried - count.ok <= 2 then table.insert(new, "Git repository found!") else -- We already got .git/HEAD, so we add 1 to 'tried' and 'ok' table.insert(new, "Potential Git repository found (found " .. (count.ok + 1) .. "/" .. (count.tried + 1) .. " expected files)") end -- Show what patterns matched what files for name, matches in pairs(info["interesting-matches"] or {}) do local temp = name .. " matched patterns" for _, matched in ipairs(matches) do temp = temp .. " '" .. matched .. "'" end table.insert(new, temp) end if info["repository-description"] then table.insert(new, "Repository description: " .. summarize(info["repository-description"])) end if info["last-commit-message"] then table.insert(new, "Last commit message: " .. summarize(info["last-commit-message"])) end -- If we found any remotes in .git/config, process them now if info["remotes"] then local old_name = info["remotes"]["name"] -- in case 'name' is a remote info["remotes"]["name"] = "Remotes:" -- Remove the newline from format_output's output - it looks funny with it local temp = string.gsub(stdnse.format_output(true, info["remotes"]), "^\n", "") -- using 'temp' here because gsub() has multiple return values that insert() will try -- to use, and I don't know of a better way to prevent that ;) table.insert(new, temp) info["remotes"]["name"] = old_name end -- Take the first guessed project type from each ignorefile if info["project-type"] then for name, types in pairs(info["project-type"]) do table.insert(new, "Project type: " .. types[1] .. " (guessed from " .. name .. ")") end end -- Insert this location's information. table.insert(normalout, new) end return out, stdnse.format_output(true, normalout) end
[+]
..
[-] qscan.nse
[edit]
[-] oracle-brute.nse
[edit]
[-] smtp-vuln-cve2011-1764.nse
[edit]
[-] broadcast-pc-duo.nse
[edit]
[-] targets-ipv6-multicast-mld.nse
[edit]
[-] http-backup-finder.nse
[edit]
[-] http-sitemap-generator.nse
[edit]
[-] cassandra-brute.nse
[edit]
[-] snmp-win32-services.nse
[edit]
[-] ftp-brute.nse
[edit]
[-] irc-botnet-channels.nse
[edit]
[-] rsync-brute.nse
[edit]
[-] icap-info.nse
[edit]
[-] citrix-brute-xml.nse
[edit]
[-] iax2-version.nse
[edit]
[-] nfs-ls.nse
[edit]
[-] ndmp-fs-info.nse
[edit]
[-] cvs-brute-repository.nse
[edit]
[-] http-drupal-modules.nse
[edit]
[-] mysql-databases.nse
[edit]
[-] xmpp-info.nse
[edit]
[-] pgsql-brute.nse
[edit]
[-] ssl-google-cert-catalog.nse
[edit]
[-] smtp-commands.nse
[edit]
[-] rpcinfo.nse
[edit]
[-] snmp-hh3c-logins.nse
[edit]
[-] dns-zone-transfer.nse
[edit]
[-] murmur-version.nse
[edit]
[-] metasploit-xmlrpc-brute.nse
[edit]
[-] http-brute.nse
[edit]
[-] nessus-xmlrpc-brute.nse
[edit]
[-] krb5-enum-users.nse
[edit]
[-] vuze-dht-info.nse
[edit]
[-] smb-ls.nse
[edit]
[-] openlookup-info.nse
[edit]
[-] hadoop-namenode-info.nse
[edit]
[-] informix-tables.nse
[edit]
[-] http-vuln-cve2010-0738.nse
[edit]
[-] omp2-brute.nse
[edit]
[-] http-headers.nse
[edit]
[-] bitcoin-info.nse
[edit]
[-] smb-psexec.nse
[edit]
[-] eppc-enum-processes.nse
[edit]
[-] afp-brute.nse
[edit]
[-] iscsi-brute.nse
[edit]
[-] http-enum.nse
[edit]
[-] smb-enum-sessions.nse
[edit]
[-] daytime.nse
[edit]
[-] mongodb-info.nse
[edit]
[-] omp2-enum-targets.nse
[edit]
[-] p2p-conficker.nse
[edit]
[-] teamspeak2-version.nse
[edit]
[-] http-wordpress-brute.nse
[edit]
[-] riak-http-info.nse
[edit]
[-] http-joomla-brute.nse
[edit]
[-] path-mtu.nse
[edit]
[-] targets-traceroute.nse
[edit]
[-] snmp-win32-users.nse
[edit]
[-] http-unsafe-output-escaping.nse
[edit]
[-] http-traceroute.nse
[edit]
[-] ftp-anon.nse
[edit]
[-] mysql-info.nse
[edit]
[-] mtrace.nse
[edit]
[-] openvas-otp-brute.nse
[edit]
[-] lltd-discovery.nse
[edit]
[-] ssl-enum-ciphers.nse
[edit]
[-] dict-info.nse
[edit]
[-] netbus-version.nse
[edit]
[-] nfs-statfs.nse
[edit]
[-] hostmap-bfk.nse
[edit]
[-] dns-random-txid.nse
[edit]
[-] http-affiliate-id.nse
[edit]
[-] socks-brute.nse
[edit]
[-] bitcoin-getaddr.nse
[edit]
[-] acarsd-info.nse
[edit]
[-] http-cakephp-version.nse
[edit]
[-] oracle-enum-users.nse
[edit]
[-] dns-brute.nse
[edit]
[-] http-google-malware.nse
[edit]
[-] hostmap-robtex.nse
[edit]
[-] http-barracuda-dir-traversal.nse
[edit]
[-] http-auth-finder.nse
[edit]
[-] resolveall.nse
[edit]
[-] informix-query.nse
[edit]
[-] mysql-users.nse
[edit]
[-] nrpe-enum.nse
[edit]
[-] mysql-empty-password.nse
[edit]
[-] broadcast-xdmcp-discover.nse
[edit]
[-] ip-geolocation-geobytes.nse
[edit]
[-] cups-info.nse
[edit]
[-] tftp-enum.nse
[edit]
[-] http-icloud-sendmsg.nse
[edit]
[-] nbstat.nse
[edit]
[-] ajp-headers.nse
[edit]
[-] nexpose-brute.nse
[edit]
[-] giop-info.nse
[edit]
[-] sip-call-spoof.nse
[edit]
[-] broadcast-tellstick-discover.nse
[edit]
[-] dns-nsec3-enum.nse
[edit]
[-] http-grep.nse
[edit]
[-] http-drupal-enum-users.nse
[edit]
[-] smb-enum-processes.nse
[edit]
[-] maxdb-info.nse
[edit]
[-] rtsp-url-brute.nse
[edit]
[-] ganglia-info.nse
[edit]
[-] ip-geolocation-maxmind.nse
[edit]
[-] traceroute-geolocation.nse
[edit]
[-] rpcap-info.nse
[edit]
[-] http-waf-detect.nse
[edit]
[-] ms-sql-dac.nse
[edit]
[-] citrix-enum-servers.nse
[edit]
[-] http-vmware-path-vuln.nse
[edit]
[-] mongodb-brute.nse
[edit]
[-] http-passwd.nse
[edit]
[-] x11-access.nse
[edit]
[-] http-generator.nse
[edit]
[-] ms-sql-info.nse
[edit]
[-] http-method-tamper.nse
[edit]
[-] http-robtex-shared-ns.nse
[edit]
[-] http-majordomo2-dir-traversal.nse
[edit]
[-] ms-sql-empty-password.nse
[edit]
[-] broadcast-netbios-master-browser.nse
[edit]
[-] citrix-enum-servers-xml.nse
[edit]
[-] broadcast-networker-discover.nse
[edit]
[-] mrinfo.nse
[edit]
[-] lexmark-config.nse
[edit]
[-] http-frontpage-login.nse
[edit]
[-] smtp-open-relay.nse
[edit]
[-] http-git.nse
[edit]
[-] targets-asn.nse
[edit]
[-] http-favicon.nse
[edit]
[-] backorifice-info.nse
[edit]
[-] http-vuln-cve2011-3192.nse
[edit]
[-] realvnc-auth-bypass.nse
[edit]
[-] broadcast-wpad-discover.nse
[edit]
[-] http-methods.nse
[edit]
[-] smb-check-vulns.nse
[edit]
[-] sshv1.nse
[edit]
[-] broadcast-bjnp-discover.nse
[edit]
[-] http-title.nse
[edit]
[-] broadcast-novell-locate.nse
[edit]
[-] smb-vuln-ms10-054.nse
[edit]
[-] afp-showmount.nse
[edit]
[-] broadcast-rip-discover.nse
[edit]
[-] http-slowloris.nse
[edit]
[-] nat-pmp-mapport.nse
[edit]
[-] ftp-libopie.nse
[edit]
[-] targets-ipv6-multicast-echo.nse
[edit]
[-] nessus-brute.nse
[edit]
[-] membase-brute.nse
[edit]
[-] ip-geolocation-ipinfodb.nse
[edit]
[-] smb-print-text.nse
[edit]
[-] smtp-enum-users.nse
[edit]
[-] ajp-brute.nse
[edit]
[-] bitcoinrpc-info.nse
[edit]
[-] auth-owners.nse
[edit]
[-] targets-ipv6-multicast-invalid-dst.nse
[edit]
[-] afp-path-vuln.nse
[edit]
[-] oracle-brute-stealth.nse
[edit]
[-] http-vlcstreamer-ls.nse
[edit]
[-] auth-spoof.nse
[edit]
[-] nping-brute.nse
[edit]
[-] broadcast-dropbox-listener.nse
[edit]
[-] afp-ls.nse
[edit]
[-] broadcast-db2-discover.nse
[edit]
[-] quake3-info.nse
[edit]
[-] snmp-sysdescr.nse
[edit]
[-] dhcp-discover.nse
[edit]
[-] ms-sql-config.nse
[edit]
[-] http-comments-displayer.nse
[edit]
[-] smb-vuln-ms10-061.nse
[edit]
[-] ipv6-node-info.nse
[edit]
[-] http-awstatstotals-exec.nse
[edit]
[-] ldap-rootdse.nse
[edit]
[-] rtsp-methods.nse
[edit]
[-] smb-enum-domains.nse
[edit]
[-] sniffer-detect.nse
[edit]
[-] hbase-master-info.nse
[edit]
[-] modbus-discover.nse
[edit]
[-] http-rfi-spider.nse
[edit]
[-] msrpc-enum.nse
[edit]
[-] mysql-query.nse
[edit]
[-] ftp-vsftpd-backdoor.nse
[edit]
[-] domcon-brute.nse
[edit]
[-] citrix-enum-apps-xml.nse
[edit]
[-] pjl-ready-message.nse
[edit]
[-] sip-brute.nse
[edit]
[-] http-vuln-cve2011-3368.nse
[edit]
[-] firewalk.nse
[edit]
[-] http-gitweb-projects-enum.nse
[edit]
[-] http-open-redirect.nse
[edit]
[-] ajp-methods.nse
[edit]
[-] ip-forwarding.nse
[edit]
[-] ncp-serverinfo.nse
[edit]
[-] smb-enum-shares.nse
[edit]
[-] ssh2-enum-algos.nse
[edit]
[-] cvs-brute.nse
[edit]
[-] nat-pmp-info.nse
[edit]
[-] epmd-info.nse
[edit]
[-] bjnp-discover.nse
[edit]
[-] stuxnet-detect.nse
[edit]
[-] ftp-vuln-cve2010-4221.nse
[edit]
[-] http-litespeed-sourcecode-download.nse
[edit]
[-] gpsd-info.nse
[edit]
[-] snmp-ios-config.nse
[edit]
[-] broadcast-igmp-discovery.nse
[edit]
[-] http-robtex-reverse-ip.nse
[edit]
[-] snmp-processes.nse
[edit]
[-] broadcast-sybase-asa-discover.nse
[edit]
[-] wsdd-discover.nse
[edit]
[-] netbus-info.nse
[edit]
[-] broadcast-ripng-discover.nse
[edit]
[-] pop3-brute.nse
[edit]
[-] backorifice-brute.nse
[edit]
[-] domcon-cmd.nse
[edit]
[-] citrix-enum-apps.nse
[edit]
[-] dns-nsec-enum.nse
[edit]
[-] rpcap-brute.nse
[edit]
[-] ftp-bounce.nse
[edit]
[-] stun-info.nse
[edit]
[-] dns-update.nse
[edit]
[-] broadcast-wake-on-lan.nse
[edit]
[-] dns-cache-snoop.nse
[edit]
[-] rsync-list-modules.nse
[edit]
[-] snmp-netstat.nse
[edit]
[-] url-snarf.nse
[edit]
[-] snmp-interfaces.nse
[edit]
[-] cassandra-info.nse
[edit]
[-] http-huawei-hg5xx-vuln.nse
[edit]
[-] memcached-info.nse
[edit]
[-] http-proxy-brute.nse
[edit]
[-] pptp-version.nse
[edit]
[-] broadcast-pppoe-discover.nse
[edit]
[-] dns-random-srcport.nse
[edit]
[-] ip-geolocation-geoplugin.nse
[edit]
[-] smb-security-mode.nse
[edit]
[-] ms-sql-dump-hashes.nse
[edit]
[-] ntp-monlist.nse
[edit]
[-] http-wordpress-enum.nse
[edit]
[-] ike-version.nse
[edit]
[-] broadcast-eigrp-discovery.nse
[edit]
[-] amqp-info.nse
[edit]
[-] iax2-brute.nse
[edit]
[-] mysql-variables.nse
[edit]
[-] ajp-request.nse
[edit]
[-] cccam-version.nse
[edit]
[-] mysql-brute.nse
[edit]
[-] http-malware-host.nse
[edit]
[-] http-domino-enum-passwords.nse
[edit]
[-] vnc-brute.nse
[edit]
[-] duplicates.nse
[edit]
[-] db2-das-info.nse
[edit]
[-] broadcast-dhcp6-discover.nse
[edit]
[-] pop3-capabilities.nse
[edit]
[-] http-form-fuzzer.nse
[edit]
[-] flume-master-info.nse
[edit]
[-] ms-sql-tables.nse
[edit]
[-] broadcast-wsdd-discover.nse
[edit]
[-] jdwp-info.nse
[edit]
[-] mcafee-epo-agent.nse
[edit]
[-] smb-brute.nse
[edit]
[-] irc-sasl-brute.nse
[edit]
[-] http-php-version.nse
[edit]
[-] ms-sql-brute.nse
[edit]
[-] http-form-brute.nse
[edit]
[-] http-cors.nse
[edit]
[-] jdwp-version.nse
[edit]
[-] smbv2-enabled.nse
[edit]
[-] ssl-cert.nse
[edit]
[-] dns-fuzz.nse
[edit]
[-] mysql-enum.nse
[edit]
[-] script.db
[edit]
[-] rlogin-brute.nse
[edit]
[-] ovs-agent-version.nse
[edit]
[-] ntp-info.nse
[edit]
[-] ajp-auth.nse
[edit]
[-] targets-sniffer.nse
[edit]
[-] quake3-master-getservers.nse
[edit]
[-] http-date.nse
[edit]
[-] cups-queue-info.nse
[edit]
[-] rdp-vuln-ms12-020.nse
[edit]
[-] http-tplink-dir-traversal.nse
[edit]
[-] http-robots.txt.nse
[edit]
[-] hadoop-tasktracker-info.nse
[edit]
[-] eap-info.nse
[edit]
[-] ms-sql-xp-cmdshell.nse
[edit]
[-] broadcast-dns-service-discovery.nse
[edit]
[-] sip-methods.nse
[edit]
[-] broadcast-avahi-dos.nse
[edit]
[-] hadoop-secondary-namenode-info.nse
[edit]
[-] db2-discover.nse
[edit]
[-] jdwp-inject.nse
[edit]
[-] servicetags.nse
[edit]
[-] netbus-brute.nse
[edit]
[-] ms-sql-hasdbaccess.nse
[edit]
[-] gopher-ls.nse
[edit]
[-] asn-query.nse
[edit]
[-] firewall-bypass.nse
[edit]
[-] redis-brute.nse
[edit]
[-] dpap-brute.nse
[edit]
[-] imap-capabilities.nse
[edit]
[-] smtp-vuln-cve2010-4344.nse
[edit]
[-] tls-nextprotoneg.nse
[edit]
[-] upnp-info.nse
[edit]
[-] http-icloud-findmyiphone.nse
[edit]
[-] ventrilo-info.nse
[edit]
[-] hostmap-ip2hosts.nse
[edit]
[-] wdb-version.nse
[edit]
[-] http-qnap-nas-info.nse
[edit]
[-] smb-enum-groups.nse
[edit]
[-] address-info.nse
[edit]
[-] smb-mbenum.nse
[edit]
[-] dns-srv-enum.nse
[edit]
[-] http-iis-webdav-vuln.nse
[edit]
[-] broadcast-listener.nse
[edit]
[-] http-default-accounts.nse
[edit]
[-] mysql-audit.nse
[edit]
[-] bittorrent-discovery.nse
[edit]
[-] reverse-index.nse
[edit]
[-] smb-os-discovery.nse
[edit]
[-] smtp-strangeport.nse
[edit]
[-] socks-open-proxy.nse
[edit]
[-] http-vhosts.nse
[edit]
[-] broadcast-upnp-info.nse
[edit]
[-] afp-serverinfo.nse
[edit]
[-] targets-ipv6-multicast-slaac.nse
[edit]
[-] ldap-novell-getpass.nse
[edit]
[-] nfs-showmount.nse
[edit]
[-] http-vuln-cve2012-1823.nse
[edit]
[-] stun-version.nse
[edit]
[-] http-fileupload-exploiter.nse
[edit]
[-] vnc-info.nse
[edit]
[-] http-axis2-dir-traversal.nse
[edit]
[-] ssh-hostkey.nse
[edit]
[-] http-phpmyadmin-dir-traversal.nse
[edit]
[-] hadoop-jobtracker-info.nse
[edit]
[-] http-stored-xss.nse
[edit]
[-] hbase-region-info.nse
[edit]
[-] broadcast-ataoe-discover.nse
[edit]
[-] dns-check-zone.nse
[edit]
[-] rdp-enum-encryption.nse
[edit]
[-] ms-sql-query.nse
[edit]
[-] http-wordpress-plugins.nse
[edit]
[-] irc-info.nse
[edit]
[-] rmi-vuln-classloader.nse
[edit]
[-] ssl-known-key.nse
[edit]
[-] mysql-dump-hashes.nse
[edit]
[-] rexec-brute.nse
[edit]
[-] mmouse-exec.nse
[edit]
[-] vmauthd-brute.nse
[edit]
[-] dns-ip6-arpa-scan.nse
[edit]
[-] smb-system-info.nse
[edit]
[-] irc-brute.nse
[edit]
[-] broadcast-versant-locate.nse
[edit]
[-] xmpp-brute.nse
[edit]
[-] ldap-search.nse
[edit]
[-] http-put.nse
[edit]
[-] banner.nse
[edit]
[-] http-adobe-coldfusion-apsa1301.nse
[edit]
[-] llmnr-resolve.nse
[edit]
[-] domino-enum-users.nse
[edit]
[-] broadcast-ms-sql-discover.nse
[edit]
[-] telnet-brute.nse
[edit]
[-] isns-info.nse
[edit]
[-] http-userdir-enum.nse
[edit]
[-] smb-enum-users.nse
[edit]
[-] dns-nsid.nse
[edit]
[-] ndmp-version.nse
[edit]
[-] voldemort-info.nse
[edit]
[-] sslv2.nse
[edit]
[-] redis-info.nse
[edit]
[-] drda-brute.nse
[edit]
[-] smtp-vuln-cve2011-1720.nse
[edit]
[-] skypev2-version.nse
[edit]
[-] http-open-proxy.nse
[edit]
[-] irc-unrealircd-backdoor.nse
[edit]
[-] ssl-date.nse
[edit]
[-] couchdb-databases.nse
[edit]
[-] snmp-win32-software.nse
[edit]
[-] whois.nse
[edit]
[-] http-email-harvest.nse
[edit]
[-] http-virustotal.nse
[edit]
[-] broadcast-pim-discovery.nse
[edit]
[-] distcc-cve2004-2687.nse
[edit]
[-] http-exif-spider.nse
[edit]
[-] couchdb-stats.nse
[edit]
[-] rpc-grind.nse
[edit]
[-] finger.nse
[edit]
[-] metasploit-msgrpc-brute.nse
[edit]
[-] http-waf-fingerprint.nse
[edit]
[-] http-config-backup.nse
[edit]
[-] http-vuln-cve2010-2861.nse
[edit]
[-] ipv6-ra-flood.nse
[edit]
[-] http-phpself-xss.nse
[edit]
[-] http-sql-injection.nse
[edit]
[-] telnet-encryption.nse
[edit]
[-] jdwp-exec.nse
[edit]
[-] hddtemp-info.nse
[edit]
[-] metasploit-info.nse
[edit]
[-] ipidseq.nse
[edit]
[-] http-auth.nse
[edit]
[-] ncp-enum-users.nse
[edit]
[-] sip-enum-users.nse
[edit]
[-] daap-get-library.nse
[edit]
[-] socks-auth-info.nse
[edit]
[-] broadcast-dhcp-discover.nse
[edit]
[-] http-vuln-cve2009-3960.nse
[edit]
[-] http-coldfusion-subzero.nse
[edit]
[-] mongodb-databases.nse
[edit]
[-] xdmcp-discover.nse
[edit]
[-] http-chrono.nse
[edit]
[-] netbus-auth-bypass.nse
[edit]
[-] drda-info.nse
[edit]
[-] membase-http-info.nse
[edit]
[-] smb-flood.nse
[edit]
[-] dns-zeustracker.nse
[edit]
[-] http-apache-negotiation.nse
[edit]
[-] iscsi-info.nse
[edit]
[-] smb-server-stats.nse
[edit]
[-] mysql-vuln-cve2012-2122.nse
[edit]
[-] dns-service-discovery.nse
[edit]
[-] creds-summary.nse
[edit]
[-] oracle-sid-brute.nse
[edit]
[-] dns-recursion.nse
[edit]
[-] broadcast-pc-anywhere.nse
[edit]
[-] http-slowloris-check.nse
[edit]
[-] snmp-brute.nse
[edit]
[-] ftp-proftpd-backdoor.nse
[edit]
[-] imap-brute.nse
[edit]
[-] gkrellm-info.nse
[edit]
[-] versant-info.nse
[edit]
[-] svn-brute.nse
[edit]
[-] hadoop-datanode-info.nse
[edit]
[-] informix-brute.nse
[edit]
[-] mmouse-brute.nse
[edit]
[-] samba-vuln-cve-2012-1182.nse
[edit]
[-] broadcast-ping.nse
[edit]
[-] unusual-port.nse
[edit]
[-] smtp-brute.nse
[edit]
[-] http-vuln-cve2013-0156.nse
[edit]
[-] http-trace.nse
[edit]
[-] rmi-dumpregistry.nse
[edit]
[-] dns-blacklist.nse
[edit]
[-] ldap-brute.nse
[edit]
[-] pcanywhere-brute.nse
[edit]
[-] dns-client-subnet-scan.nse
[edit]
[-] snmp-win32-shares.nse
[edit]