Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.217.105
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
nmap /
nselib /
Delete
Unzip
Name
Size
Permission
Date
Action
data
[ DIR ]
drwxr-xr-x
2024-08-29 14:21
afp.lua
71.48
KB
-rw-r--r--
2023-01-13 02:40
ajp.lua
16.77
KB
-rw-r--r--
2023-01-13 02:40
amqp.lua
10.41
KB
-rw-r--r--
2023-01-13 02:40
anyconnect.lua
4.31
KB
-rw-r--r--
2023-01-13 02:40
asn1.lua
14.57
KB
-rw-r--r--
2023-01-13 02:40
base32.lua
7.36
KB
-rw-r--r--
2023-01-13 02:40
base64.lua
5.83
KB
-rw-r--r--
2023-01-13 02:40
bin.lua
12.99
KB
-rw-r--r--
2023-01-13 02:40
bitcoin.lua
18.25
KB
-rw-r--r--
2023-01-13 02:40
bits.lua
2.54
KB
-rw-r--r--
2023-01-13 02:40
bittorrent.lua
35.76
KB
-rw-r--r--
2023-01-13 02:40
bjnp.lua
9.55
KB
-rw-r--r--
2023-01-13 02:40
brute.lua
50.64
KB
-rw-r--r--
2023-01-13 02:40
cassandra.lua
5.48
KB
-rw-r--r--
2023-01-13 02:40
citrixxml.lua
16
KB
-rw-r--r--
2023-01-13 02:40
coap.lua
75.1
KB
-rw-r--r--
2023-01-13 02:40
comm.lua
11.03
KB
-rw-r--r--
2023-01-13 02:40
creds.lua
18.26
KB
-rw-r--r--
2023-01-13 02:40
cvs.lua
3.05
KB
-rw-r--r--
2023-01-13 02:40
datafiles.lua
11.05
KB
-rw-r--r--
2023-01-13 02:40
datetime.lua
7.5
KB
-rw-r--r--
2023-01-13 02:40
dhcp.lua
28.57
KB
-rw-r--r--
2023-01-13 02:40
dhcp6.lua
19.86
KB
-rw-r--r--
2023-01-13 02:40
dns.lua
51.07
KB
-rw-r--r--
2023-01-13 02:40
dnsbl.lua
19.01
KB
-rw-r--r--
2023-01-13 02:40
dnssd.lua
12.61
KB
-rw-r--r--
2023-01-13 02:40
drda.lua
24.08
KB
-rw-r--r--
2023-01-13 02:40
eap.lua
7.54
KB
-rw-r--r--
2023-01-13 02:40
eigrp.lua
12.98
KB
-rw-r--r--
2023-01-13 02:40
formulas.lua
5.68
KB
-rw-r--r--
2023-01-13 02:40
ftp.lua
9.03
KB
-rw-r--r--
2023-01-13 02:40
geoip.lua
1.71
KB
-rw-r--r--
2023-01-13 02:40
giop.lua
18.42
KB
-rw-r--r--
2023-01-13 02:40
gps.lua
3.38
KB
-rw-r--r--
2023-01-13 02:40
http.lua
117.07
KB
-rw-r--r--
2023-01-13 02:40
httpspider.lua
36.65
KB
-rw-r--r--
2023-01-13 02:40
iax2.lua
9.58
KB
-rw-r--r--
2023-01-13 02:40
idna.lua
17.14
KB
-rw-r--r--
2023-01-13 02:40
ike.lua
14.63
KB
-rw-r--r--
2023-01-13 02:40
imap.lua
9.59
KB
-rw-r--r--
2023-01-13 02:40
informix.lua
39.93
KB
-rw-r--r--
2023-01-13 02:40
ipOps.lua
29.06
KB
-rw-r--r--
2023-01-13 02:40
ipmi.lua
8.08
KB
-rw-r--r--
2023-01-13 02:40
ipp.lua
12.57
KB
-rw-r--r--
2023-01-13 02:40
irc.lua
757
B
-rw-r--r--
2023-01-13 02:40
iscsi.lua
21.38
KB
-rw-r--r--
2023-01-13 02:40
isns.lua
14.98
KB
-rw-r--r--
2023-01-13 02:40
jdwp.lua
43.52
KB
-rw-r--r--
2023-01-13 02:40
json.lua
11.62
KB
-rw-r--r--
2023-01-13 02:40
knx.lua
2.42
KB
-rw-r--r--
2023-01-13 02:40
ldap.lua
31.94
KB
-rw-r--r--
2023-01-13 02:40
lfs.luadoc
1.68
KB
-rw-r--r--
2023-01-13 02:40
libssh2-utility.lua
4.69
KB
-rw-r--r--
2023-01-13 02:40
libssh2.luadoc
4.75
KB
-rw-r--r--
2023-01-13 02:40
listop.lua
4.66
KB
-rw-r--r--
2023-01-13 02:40
lpeg-utility.lua
5.64
KB
-rw-r--r--
2023-01-13 02:40
lpeg.luadoc
351
B
-rw-r--r--
2023-01-13 02:40
ls.lua
10.96
KB
-rw-r--r--
2023-01-13 02:40
match.lua
2.05
KB
-rw-r--r--
2023-01-13 02:40
membase.lua
9.93
KB
-rw-r--r--
2023-01-13 02:40
mobileme.lua
8.46
KB
-rw-r--r--
2023-01-13 02:40
mongodb.lua
21.3
KB
-rw-r--r--
2023-01-13 02:40
mqtt.lua
28.86
KB
-rw-r--r--
2023-01-13 02:40
msrpc.lua
190.07
KB
-rw-r--r--
2023-01-13 02:40
msrpcperformance.lua
29.65
KB
-rw-r--r--
2023-01-13 02:40
msrpctypes.lua
168.52
KB
-rw-r--r--
2023-01-13 02:40
mssql.lua
109.43
KB
-rw-r--r--
2023-01-13 02:40
multicast.lua
5.97
KB
-rw-r--r--
2023-01-13 02:40
mysql.lua
16.03
KB
-rw-r--r--
2023-01-13 02:40
natpmp.lua
5.11
KB
-rw-r--r--
2023-01-13 02:40
nbd.lua
16.04
KB
-rw-r--r--
2023-01-13 02:40
ncp.lua
35.64
KB
-rw-r--r--
2023-01-13 02:40
ndmp.lua
11.43
KB
-rw-r--r--
2023-01-13 02:40
netbios.lua
14.44
KB
-rw-r--r--
2023-01-13 02:40
nmap.luadoc
40.34
KB
-rw-r--r--
2023-01-13 02:40
nrpc.lua
4.46
KB
-rw-r--r--
2023-01-13 02:40
nsedebug.lua
3.49
KB
-rw-r--r--
2023-01-13 02:40
omp2.lua
4.78
KB
-rw-r--r--
2023-01-13 02:40
oops.lua
3.61
KB
-rw-r--r--
2023-01-13 02:40
openssl.luadoc
7.5
KB
-rw-r--r--
2023-01-13 02:40
ospf.lua
15.29
KB
-rw-r--r--
2023-01-13 02:40
packet.lua
36.18
KB
-rw-r--r--
2023-01-13 02:40
pcre.luadoc
6.79
KB
-rw-r--r--
2023-01-13 02:40
pgsql.lua
20.6
KB
-rw-r--r--
2023-01-13 02:40
pop3.lua
5.74
KB
-rw-r--r--
2023-01-13 02:40
pppoe.lua
29.42
KB
-rw-r--r--
2023-01-13 02:40
proxy.lua
11.37
KB
-rw-r--r--
2023-01-13 02:40
punycode.lua
11.5
KB
-rw-r--r--
2023-01-13 02:40
rand.lua
2.7
KB
-rw-r--r--
2023-01-13 02:40
rdp.lua
14.73
KB
-rw-r--r--
2023-01-13 02:40
re.lua
8.22
KB
-rw-r--r--
2023-01-13 02:40
redis.lua
3.61
KB
-rw-r--r--
2023-01-13 02:40
rmi.lua
47.77
KB
-rw-r--r--
2023-01-13 02:40
rpc.lua
107.64
KB
-rw-r--r--
2023-01-13 02:40
rpcap.lua
11.08
KB
-rw-r--r--
2023-01-13 02:40
rsync.lua
5.22
KB
-rw-r--r--
2023-01-13 02:40
rtsp.lua
8.62
KB
-rw-r--r--
2023-01-13 02:40
sasl.lua
16.51
KB
-rw-r--r--
2023-01-13 02:40
shortport.lua
11.99
KB
-rw-r--r--
2023-01-13 02:40
sip.lua
30.07
KB
-rw-r--r--
2023-01-13 02:40
slaxml.lua
17.9
KB
-rw-r--r--
2023-01-13 02:40
smb.lua
173.22
KB
-rw-r--r--
2023-01-13 02:40
smb2.lua
15.34
KB
-rw-r--r--
2023-01-13 02:40
smbauth.lua
37.33
KB
-rw-r--r--
2023-01-13 02:40
smtp.lua
19.85
KB
-rw-r--r--
2023-01-13 02:40
snmp.lua
16
KB
-rw-r--r--
2023-01-13 02:40
socks.lua
8.25
KB
-rw-r--r--
2023-01-13 02:40
srvloc.lua
10.99
KB
-rw-r--r--
2023-01-13 02:40
ssh1.lua
9.15
KB
-rw-r--r--
2023-01-13 02:40
ssh2.lua
11.73
KB
-rw-r--r--
2023-01-13 02:40
sslcert.lua
33.35
KB
-rw-r--r--
2023-01-13 02:40
sslv2.lua
9.68
KB
-rw-r--r--
2023-01-13 02:40
stdnse.lua
32.64
KB
-rw-r--r--
2023-01-13 02:40
strbuf.lua
4.52
KB
-rw-r--r--
2023-01-13 02:40
strict.lua
2.53
KB
-rw-r--r--
2023-01-13 02:40
stringaux.lua
4.32
KB
-rw-r--r--
2023-01-13 02:40
stun.lua
11.08
KB
-rw-r--r--
2023-01-13 02:40
tab.lua
3.35
KB
-rw-r--r--
2023-01-13 02:40
tableaux.lua
2.06
KB
-rw-r--r--
2023-01-13 02:40
target.lua
3.93
KB
-rw-r--r--
2023-01-13 02:40
tftp.lua
9.41
KB
-rw-r--r--
2023-01-13 02:40
tls.lua
58.05
KB
-rw-r--r--
2023-01-13 02:40
tn3270.lua
46.99
KB
-rw-r--r--
2023-01-13 02:40
tns.lua
64.16
KB
-rw-r--r--
2023-01-13 02:40
unicode.lua
14.23
KB
-rw-r--r--
2023-01-13 02:40
unittest.lua
12.41
KB
-rw-r--r--
2023-01-13 02:40
unpwdb.lua
10.42
KB
-rw-r--r--
2023-01-13 02:40
upnp.lua
11.18
KB
-rw-r--r--
2023-01-13 02:40
url.lua
16.7
KB
-rw-r--r--
2023-01-13 02:40
versant.lua
8.58
KB
-rw-r--r--
2023-01-13 02:40
vnc.lua
25.54
KB
-rw-r--r--
2023-01-13 02:40
vulns.lua
76.45
KB
-rw-r--r--
2023-01-13 02:40
vuzedht.lua
16.21
KB
-rw-r--r--
2023-01-13 02:40
wsdd.lua
11.98
KB
-rw-r--r--
2023-01-13 02:40
xdmcp.lua
12.09
KB
-rw-r--r--
2023-01-13 02:40
xmpp.lua
15.91
KB
-rw-r--r--
2023-01-13 02:40
zlib.luadoc
4.88
KB
-rw-r--r--
2023-01-13 02:40
Save
Rename
--- -- Implementation of the XDMCP (X Display Manager Control Protocol) based on: -- x http://www.xfree86.org/current/xdmcp.pdf -- -- @author Patrik Karlsson <patrik@cqure.net> local ipOps = require "ipOps" local nmap = require "nmap" local stdnse = require "stdnse" local string = require "string" local table = require "table" _ENV = stdnse.module("xdmcp", stdnse.seeall) -- Supported operations OpCode = { BCAST_QUERY = 1, QUERY = 2, WILLING = 5, REQUEST = 7, ACCEPT = 8, MANAGE = 10, } -- Packet class Packet = { -- The cdmcp header Header = { -- Creates a new instance of class -- @param version number containing the protocol version -- @param opcode number containing the opcode type -- @param length number containing the length of the data -- @return o instance of class new = function(self, version, opcode, length) local o = { version = version, opcode = opcode, length = length } setmetatable(o, self) self.__index = self return o end, -- Parses data based on which a new object is instantiated -- @param data opaque string containing data received over the wire -- @return hdr instance of class -- @return pos position in the string where parsing left off parse = function(data) local hdr = Packet.Header:new() local pos hdr.version, hdr.opcode, hdr.length, pos = string.unpack(">I2I2I2", data) return hdr, pos end, -- Converts the instance to an opaque string -- @return str string containing the instance __tostring = function(self) assert(self.length, "No header length was supplied") return string.pack(">I2I2I2", self.version, self.opcode, self.length) end, }, [OpCode.QUERY] = { -- Creates a new instance of class -- @param authnames table of strings containing authentication -- mechanism names. -- @return o instance of class new = function(self, authnames) local o = { header = Packet.Header:new(1, OpCode.QUERY), authnames = authnames or {}, } o.header.length = #o.authnames + 1 setmetatable(o, self) self.__index = self return o end, -- Converts the instance to an opaque string -- @return str string containing the instance __tostring = function(self) local data = { tostring(self.header), string.pack("B", #self.authnames), } for _, name in ipairs(self.authnames) do data[#data+1] = string.pack(">s2", name) end return table.concat(data) end, }, [OpCode.BCAST_QUERY] = { new = function(...) local packet = Packet[OpCode.QUERY]:new(...) packet.header.opcode = OpCode.BCAST_QUERY return packet end, __tostring = function(...) return Packet[OpCode.QUERY]:__tostring(...) end }, [OpCode.WILLING] = { -- Creates a new instance of class -- @return o instance of class new = function(self) local o = { header = Packet.Header:new(1, OpCode.WILLING) } setmetatable(o, self) self.__index = self return o end, -- Parses data based on which a new object is instantiated -- @param data opaque string containing data received over the wire -- @return hdr instance of class parse = function(data) local willing = Packet[OpCode.WILLING]:new() local pos willing.header, pos = Packet.Header.parse(data) willing.authname, willing.hostname, willing.status, pos = string.unpack("s1s1s1", data, pos) return willing end, }, [OpCode.REQUEST] = { -- The connection class Connection = { IpType = { IPv4 = 0, IPv6 = 6, }, -- Creates a new instance of class -- @param iptype number -- @param ip opaque string containing the ip -- @return o instance of class new = function(self, iptype, ip) local o = { iptype = iptype, ip = ip, } setmetatable(o, self) self.__index = self return o end, }, -- Creates a new instance of class -- @param disp_no number containing the display name -- @param auth_name string containing the authentication name -- @param auth_data string containing additional authentication data -- @param authr_names string containing authorization mechanisms -- @param manf_id string containing the manufacturer id -- @return o instance of class new = function(self, disp_no, conns, auth_name, auth_data, authr_names, manf_id ) local o = { header = Packet.Header:new(1, OpCode.REQUEST), disp_no = disp_no or 1, conns = conns or {}, auth_name = auth_name or "", auth_data = auth_data or "", authr_names = authr_names or {}, manf_id = manf_id or "", } setmetatable(o, self) self.__index = self return o end, -- Adds a new connection entry -- @param conn instance of Connections addConnection = function(self, conn) table.insert(self.conns, conn) end, -- Adds a new authorization entry -- @param str string containing the name of the authorization mechanism addAuthrName = function(self, str) table.insert(self.authr_names, str) end, -- Converts the instance to an opaque string -- @return str string containing the instance __tostring = function(self) local data = { string.pack(">I2B", self.disp_no, #self.conns), } for _, conn in ipairs(self.conns) do data[#data+1] = string.pack(">I2", conn.iptype) end data[#data+1] = string.pack("B", #self.conns) for _, conn in ipairs(self.conns) do data[#data+1] = string.pack(">s2", ipOps.ip_to_str(conn.ip)) end data[#data+1] = string.pack(">s2s2B", self.auth_name, self.auth_data, #self.authr_names) for _, authr in ipairs(self.authr_names) do data[#data+1] = string.pack(">s2", authr) end data[#data+1] = string.pack(">s2", self.manf_id) data = table.concat(data) self.header.length = #data return tostring(self.header) .. data end, }, [OpCode.ACCEPT] = { -- Creates a new instance of class -- @param session_id number containing the session id -- @param auth_name string containing the authentication name -- @param auth_data string containing additional authentication data -- @param authr_name string containing the authorization mechanism name -- @param authr_names string containing authorization mechanisms -- @return o instance of class new = function(self, session_id, auth_name, auth_data, authr_name, authr_data) local o = { header = Packet.Header:new(1, OpCode.ACCEPT), session_id = session_id, auth_name = auth_name, auth_data = auth_data, authr_name = authr_name, authr_data = authr_data, } setmetatable(o, self) self.__index = self return o end, -- Parses data based on which a new object is instantiated -- @param data opaque string containing data received over the wire -- @return hdr instance of class parse = function(data) local accept = Packet[OpCode.ACCEPT]:new() local pos accept.header, pos = Packet.Header.parse(data) accept.session_id, accept.auth_name, accept.auth_data, accept.authr_name, accept.authr_data, pos = string.unpack(">I4s2s2s2s2", data, pos) return accept end, }, [OpCode.MANAGE] = { -- Creates a new instance of class -- @param session_id number containing the session id -- @param disp_no number containing the display number -- @param disp_class string containing the display class -- @return o instance of class new = function(self, sess_id, disp_no, disp_class) local o = { header = Packet.Header:new(1, OpCode.MANAGE), session_id = sess_id, disp_no = disp_no, disp_class = disp_class or "" } setmetatable(o, self) self.__index = self return o end, -- Converts the instance to an opaque string -- @return str string containing the instance __tostring = function(self) local data = string.pack(">I4I2s2", self.session_id, self.disp_no, self.disp_class) self.header.length = #data return tostring(self.header) .. data end, } } -- The Helper class serves as the main script interface Helper = { -- Creates a new instance of Helper -- @param host table as received by the action method -- @param port table as received by the action method -- @param options table -- @return o new instance of Helper new = function(self, host, port, options) local o = { host = host, port = port, options = options or {}, } setmetatable(o, self) self.__index = self return o end, -- "Connects" to the server (ie. creates the socket) -- @return status, true on success, false on failure connect = function(self) self.socket = nmap.new_socket("udp") self.socket:set_timeout(self.options.timeout or 10000) return true end, -- Creates a xdmcp session -- @param auth_name string containing the authentication name -- @param authr_name string containing the authorization mechanism name -- @param disp_class string containing the display class -- @return status true on success, false on failure -- @return response table or err string containing an error message createSession = function(self, auth_names, authr_names, disp_no) local info = nmap.get_interface_info(self.host.interface) if ( not(info) ) then return false, ("Failed to get information for interface %s"):format(self.host.interface) end local req = Packet[OpCode.QUERY]:new(auth_names) local status, response = self:exch(req) if ( not(status) ) then return false, response elseif ( response.header.opcode ~= OpCode.WILLING ) then return false, "Received unexpected response" end local REQ = Packet[OpCode.REQUEST] local iptype = REQ.Connection.IpType.IPv4 if ( nmap.address_family() == 'inet6' ) then iptype = REQ.Connection.IpType.IPv6 end local conns = { REQ.Connection:new(iptype, info.address) } local req = REQ:new(disp_no, conns, nil, nil, authr_names) local status, response = self:exch(req) if ( not(status) ) then return false, response elseif ( response.header.opcode ~= OpCode.ACCEPT ) then return false, "Received unexpected response" end -- Sending this last manage packet doesn't make any sense as we can't -- set up a listening TCP server anyway. When we can, we could enable -- this and wait for the incoming request and retrieve X protocol info. -- local manage = Packet[OpCode.MANAGE]:new(response.session_id, -- disp_no, "MIT-unspecified") -- local status, response = self:exch(manage) -- if ( not(status) ) then -- return false, response -- end return true, { session_id = response.session_id, auth_name = response.auth_name, auth_data = response.auth_data, authr_name = response.authr_name, authr_data = response.authr_data, } end, send = function(self, req) return self.socket:sendto(self.host, self.port, tostring(req)) end, recv = function(self) local status, data = self.socket:receive() if ( not(status) ) then return false, data end local header = Packet.Header.parse(data) if ( not(header) ) then return false, "Failed to parse xdmcp header" end if ( not(Packet[header.opcode]) ) then return false, ("No parser for opcode: %d"):format(header.opcode) end local resp = Packet[header.opcode].parse(data) if ( not(resp) ) then return false, "Failed to parse response" end return true, resp end, -- Sends a request to the server, receives and parses a response -- @param req instance of Packet -- @return status true on success, false on failure -- @return response instance of response packet exch = function(self, req) local status, err = self:send(req) if ( not(status) ) then return false, "Failed to send xdmcp request" end return self:recv() end, } return _ENV;