mirror of
https://github.com/nmap/nmap.git
synced 2026-08-04 06:40:48 +00:00
merge soc07 r4921:4925 - Fixed a bug in NSE that caused incorrect state summaries (and an assertion failure); added udp iax2 test script
This commit is contained in:
parent
0c123a1056
commit
1e2f0bea4f
2 changed files with 61 additions and 0 deletions
57
scripts/iax2Detect.nse
Normal file
57
scripts/iax2Detect.nse
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
id= "IAX2 Service Detection"
|
||||
|
||||
description = "Detects an listening UDP IAX2 service by using a \
|
||||
IAX Control Frame POKE request."
|
||||
|
||||
author = "Ferdy Riphagen <f.riphagen@nsec.nl>"
|
||||
|
||||
license = "See nmap's COPYING for license"
|
||||
|
||||
categories = {"safe", "discovery"}
|
||||
|
||||
portrule = function(host, port)
|
||||
if port.number == 4569 and
|
||||
port.protocol == "udp"
|
||||
then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
action = function(host, port)
|
||||
local soc = nmap.new_socket()
|
||||
soc:set_timeout(10000)
|
||||
local conn = soc:connect(host.ip, port.number, port.protocol)
|
||||
|
||||
if (conn) then
|
||||
-- see http://www.cornfed.com/iax.pdf for all options.
|
||||
local poke = string.char(0x80, 0x00, 0x00, 0x00)
|
||||
poke = poke .. string.char(0x00, 0x00, 0x00, 0x00)
|
||||
poke = poke .. string.char(0x00, 0x00, 0x06, 0x1e)
|
||||
soc:send(poke)
|
||||
|
||||
local status, recv
|
||||
status, recv = soc:receive_bytes(1)
|
||||
|
||||
if (string.len(recv)) == 12 then
|
||||
local byte11 = string.format("%02X", string.byte(recv, 11))
|
||||
local byte12 = string.format("%02X", string.byte(recv, 12))
|
||||
|
||||
-- byte11 must be \x06 IAX Control Frame
|
||||
-- and byte12 must be \x03 or \x04
|
||||
if ((byte11 == "06") and
|
||||
(byte12 == ("03" or "04")))
|
||||
then
|
||||
nmap.set_port_state(host, port, "open")
|
||||
port.version.name = "iax2"
|
||||
nmap.set_port_version(host, port, "hardmatched")
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
soc:close()
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue