mirror of
https://github.com/nmap/nmap.git
synced 2025-12-08 05:31:31 +00:00
o Removed some unecessary "demo" category NSE scripts: echoTest,
chargenTest, showHTTPVersion, and showSMTPVersion.nse. Moved daytimeTest from the "demo" category to "discovery". Removed showHTMLTitle from the "demo" category, but it remains in the "default" and "safe" categories. This leaves just showSSHVersion and SMTP_openrelay in the undocumented "demo" category. [Fyodor]
This commit is contained in:
@@ -1,5 +1,12 @@
|
||||
# Nmap Changelog ($Id$); -*-text-*-
|
||||
|
||||
o Removed some unecessary "demo" category NSE scripts: echoTest,
|
||||
chargenTest, showHTTPVersion, and showSMTPVersion.nse. Moved
|
||||
daytimeTest from the "demo" category to "discovery". Removed
|
||||
showHTMLTitle from the "demo" category, but it remains in the
|
||||
"default" and "safe" categories. This leaves just showSSHVersion and
|
||||
SMTP_openrelay in the undocumented "demo" category. [Fyodor]
|
||||
|
||||
o A crash caused by an incorrect test condition was fixed. It would
|
||||
happen when running a ping scan other than a protocol ping, without
|
||||
debugging enabled, if an ICMP packet was received referring to a
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
id = "Chargen"
|
||||
description = [[
|
||||
Tries to read bytes from the UDP chargen service.
|
||||
]]
|
||||
|
||||
author = "Diman Todorov <diman.todorov@gmail.com>"
|
||||
|
||||
license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
|
||||
|
||||
categories = {"demo"}
|
||||
|
||||
require "comm"
|
||||
require "shortport"
|
||||
|
||||
portrule = shortport.port_or_service(19, "chargen", "udp")
|
||||
|
||||
action = function(host, port)
|
||||
local status, result = comm.exchange(host, port, "dummy", {lines=1, proto="udp"})
|
||||
|
||||
if status then
|
||||
return "Chargen: success"
|
||||
end
|
||||
end
|
||||
@@ -7,7 +7,7 @@ author = "Diman Todorov <diman.todorov@gmail.com>"
|
||||
|
||||
license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
|
||||
|
||||
categories = {"demo"}
|
||||
categories = {"discovery"}
|
||||
|
||||
require "comm"
|
||||
require "shortport"
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
id = "Echo"
|
||||
description = [[
|
||||
Tests the UDP echo service.
|
||||
\n\n
|
||||
The script sends a string, then receives a string and reports success if the
|
||||
two strings are equal.
|
||||
]]
|
||||
|
||||
author = "Diman Todorov <diman.todorov@gmail.com>"
|
||||
|
||||
license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
|
||||
|
||||
categories = {"demo"}
|
||||
|
||||
require "comm"
|
||||
require "shortport"
|
||||
|
||||
portrule = shortport.port_or_service(7, "echo", "udp")
|
||||
|
||||
action = function(host, port)
|
||||
local echostr = "hello there"
|
||||
|
||||
local status, result = comm.exchange(host, port, echostr, {lines=1, proto="udp"})
|
||||
|
||||
if (result == echostr) then
|
||||
return "UDP Echo: correct response"
|
||||
end
|
||||
end
|
||||
@@ -16,7 +16,6 @@ Entry{ category = "safe", filename = "SSLv2-support.nse" }
|
||||
Entry{ category = "malware", filename = "ircZombieTest.nse" }
|
||||
Entry{ category = "version", filename = "skype_v2-version.nse" }
|
||||
Entry{ category = "discovery", filename = "HTTPtrace.nse" }
|
||||
Entry{ category = "demo", filename = "echoTest.nse" }
|
||||
Entry{ category = "default", filename = "UPnP-info.nse" }
|
||||
Entry{ category = "safe", filename = "UPnP-info.nse" }
|
||||
Entry{ category = "default", filename = "rpcinfo.nse" }
|
||||
@@ -42,10 +41,8 @@ Entry{ category = "discovery", filename = "smb-os-discovery.nse" }
|
||||
Entry{ category = "safe", filename = "smb-os-discovery.nse" }
|
||||
Entry{ category = "discovery", filename = "ripeQuery.nse" }
|
||||
Entry{ category = "external", filename = "ripeQuery.nse" }
|
||||
Entry{ category = "demo", filename = "chargenTest.nse" }
|
||||
Entry{ category = "malware", filename = "strangeSMTPport.nse" }
|
||||
Entry{ category = "version", filename = "iax2Detect.nse" }
|
||||
Entry{ category = "demo", filename = "showSMTPVersion.nse" }
|
||||
Entry{ category = "discovery", filename = "smb-security-mode.nse" }
|
||||
Entry{ category = "safe", filename = "smb-security-mode.nse" }
|
||||
Entry{ category = "discovery", filename = "ASN.nse" }
|
||||
@@ -69,7 +66,6 @@ Entry{ category = "auth", filename = "HTTPAuth.nse" }
|
||||
Entry{ category = "intrusive", filename = "HTTPAuth.nse" }
|
||||
Entry{ category = "default", filename = "finger.nse" }
|
||||
Entry{ category = "discovery", filename = "finger.nse" }
|
||||
Entry{ category = "demo", filename = "showHTTPVersion.nse" }
|
||||
Entry{ category = "default", filename = "SSHv1-support.nse" }
|
||||
Entry{ category = "safe", filename = "SSHv1-support.nse" }
|
||||
Entry{ category = "default", filename = "popcapa.nse" }
|
||||
@@ -103,4 +99,4 @@ Entry{ category = "default", filename = "HTTP_open_proxy.nse" }
|
||||
Entry{ category = "discovery", filename = "HTTP_open_proxy.nse" }
|
||||
Entry{ category = "external", filename = "HTTP_open_proxy.nse" }
|
||||
Entry{ category = "intrusive", filename = "HTTP_open_proxy.nse" }
|
||||
Entry{ category = "demo", filename = "daytimeTest.nse" }
|
||||
Entry{ category = "discovery", filename = "daytimeTest.nse" }
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
id = "HTTP version"
|
||||
description = [[
|
||||
Detects the version of a web server.
|
||||
\n\n
|
||||
This is a demonstration script. Its function is done better by normal version
|
||||
detection.
|
||||
]]
|
||||
|
||||
author = "Diman Todorov <diman.todorov@gmail.com>"
|
||||
|
||||
license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
|
||||
|
||||
-- add this script to "version" if you really want to execute it
|
||||
-- keep in mind you can (and should) only execute it with -sV
|
||||
categories = {"demo"}
|
||||
-- categories = {"version"}
|
||||
|
||||
runlevel = 1.0
|
||||
|
||||
require "shortport"
|
||||
|
||||
portrule = function(host, port)
|
||||
|
||||
|
||||
if
|
||||
-- remove next line if you really want to run this script
|
||||
false and
|
||||
( port.number == 80
|
||||
or port.service == "http" )
|
||||
and port.protocol == "tcp"
|
||||
and port.state == "open"
|
||||
-- and host.name ~= nil
|
||||
-- and string.match(host.name, "www.+")
|
||||
then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
-- portrule = shortport.port_or_service(80, "http")
|
||||
|
||||
action = function(host, port)
|
||||
|
||||
local query = "GET / HTTP/2.1\r\n"
|
||||
query = query .. "Accept: */*\r\n"
|
||||
query = query .. "Accept-Language: en\r\n"
|
||||
query = query .. "User-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; http://nmap.org/book/nse.html)\r\n"
|
||||
query = query .. "Host: " .. host.ip .. ":" .. port.number .. "\r\n\r\n"
|
||||
|
||||
local socket = nmap.new_socket()
|
||||
local catch = function()
|
||||
socket:close()
|
||||
end
|
||||
|
||||
local try = nmap.new_try(catch)
|
||||
|
||||
try(socket:connect(host.ip, port.number))
|
||||
try(socket:send(query))
|
||||
|
||||
local response = ""
|
||||
local lines
|
||||
local status
|
||||
local value
|
||||
|
||||
while true do
|
||||
status, lines = socket:receive_lines(1)
|
||||
|
||||
if not status or value then
|
||||
break
|
||||
end
|
||||
|
||||
response = response .. lines
|
||||
value = string.match(response, "Server: (.-)\n")
|
||||
end
|
||||
|
||||
try(socket:close())
|
||||
socket:close()
|
||||
|
||||
if value then
|
||||
port.version.name = "[Name]"
|
||||
port.version.confidence = 10
|
||||
port.version.product = "[Product]"
|
||||
port.version.version = "[Version]"
|
||||
port.version.extrainfo = "[ExtraInfo]"
|
||||
port.version.hostname = "[HostName]"
|
||||
port.version.ostype = "[OSType]"
|
||||
port.version.devicetype = "[DeviceType]"
|
||||
|
||||
port.version.service_tunnel = "none"
|
||||
port.version.fingerprint = nil
|
||||
nmap.set_port_version(host, port, "hardmatched")
|
||||
end
|
||||
end
|
||||
@@ -1,31 +0,0 @@
|
||||
id = "SMTP version"
|
||||
description = [[
|
||||
Prints the version of an SMTP server.
|
||||
]]
|
||||
|
||||
---
|
||||
-- @output
|
||||
-- 25/tcp open smtp\n
|
||||
-- |_ SMTP version: 220 mail.foo.com mx-2.bar.com ESMTP Exim 4.64\n
|
||||
|
||||
author = "Diman Todorov <diman.todorov@gmail.com>"
|
||||
|
||||
license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
|
||||
|
||||
categories = {"demo"}
|
||||
|
||||
require "comm"
|
||||
require "shortport"
|
||||
|
||||
portrule = shortport.port_or_service(25, "smtp")
|
||||
|
||||
action = function(host, port)
|
||||
local status, result = comm.get_banner(host, port, {lines=1})
|
||||
|
||||
if not status then
|
||||
return
|
||||
end
|
||||
|
||||
return (string.gsub(result, "\r?\n", ""))
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user