Linux 98.203.178.68.host.secureserver.net 4.18.0-553.164.1.el8_10.x86_64 #1 SMP Thu Sep 17 04:21:10 EDT 2026 x86_64
Apache
Server IP : 68.178.203.98 & Your IP : 216.73.217.121
Domains : 108 Domain
User : lostrivercommuni
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
2025-12-23 02:50
afp.lua
73.07
KB
-rw-r--r--
2025-12-18 12:48
ajp.lua
16.66
KB
-rw-r--r--
2025-12-18 12:48
amqp.lua
10.41
KB
-rw-r--r--
2025-12-18 12:48
anyconnect.lua
4.31
KB
-rw-r--r--
2025-12-18 12:48
asn1.lua
14.57
KB
-rw-r--r--
2025-12-18 12:48
base32.lua
7.33
KB
-rw-r--r--
2025-12-18 12:48
base64.lua
5.83
KB
-rw-r--r--
2025-12-18 12:48
bin.lua
13.07
KB
-rw-r--r--
2025-12-18 12:48
bitcoin.lua
18.25
KB
-rw-r--r--
2025-12-18 12:48
bits.lua
2.54
KB
-rw-r--r--
2025-12-18 12:48
bittorrent.lua
35.76
KB
-rw-r--r--
2025-12-18 12:48
bjnp.lua
9.55
KB
-rw-r--r--
2025-12-18 12:48
brute.lua
50.74
KB
-rw-r--r--
2025-12-18 12:48
cassandra.lua
5.48
KB
-rw-r--r--
2025-12-18 12:48
citrixxml.lua
16.15
KB
-rw-r--r--
2025-12-18 12:48
coap.lua
75.1
KB
-rw-r--r--
2025-12-18 12:48
comm.lua
11.03
KB
-rw-r--r--
2025-12-18 12:48
creds.lua
18.26
KB
-rw-r--r--
2025-12-18 12:48
cvs.lua
3.05
KB
-rw-r--r--
2025-12-18 12:48
datafiles.lua
11.05
KB
-rw-r--r--
2025-12-18 12:48
datetime.lua
8.06
KB
-rw-r--r--
2025-12-18 12:48
dhcp.lua
28.58
KB
-rw-r--r--
2025-12-18 12:48
dhcp6.lua
19.85
KB
-rw-r--r--
2025-12-18 12:48
dicom.lua
10.49
KB
-rw-r--r--
2025-12-18 12:48
dns.lua
51.07
KB
-rw-r--r--
2025-12-18 12:48
dnsbl.lua
19.01
KB
-rw-r--r--
2025-12-18 12:48
dnssd.lua
12.61
KB
-rw-r--r--
2025-12-18 12:48
drda.lua
24.08
KB
-rw-r--r--
2025-12-18 12:48
eap.lua
7.54
KB
-rw-r--r--
2025-12-18 12:48
eigrp.lua
12.98
KB
-rw-r--r--
2025-12-18 12:48
formulas.lua
5.69
KB
-rw-r--r--
2025-12-18 12:48
ftp.lua
9.03
KB
-rw-r--r--
2025-12-18 12:48
geoip.lua
3.14
KB
-rw-r--r--
2025-12-18 12:48
giop.lua
18.42
KB
-rw-r--r--
2025-12-18 12:48
gps.lua
3.38
KB
-rw-r--r--
2025-12-18 12:48
http.lua
117.73
KB
-rw-r--r--
2025-12-18 12:48
httpspider.lua
36.73
KB
-rw-r--r--
2025-12-18 12:48
iax2.lua
9.54
KB
-rw-r--r--
2025-12-18 12:48
idna.lua
17.14
KB
-rw-r--r--
2025-12-18 12:48
ike.lua
14.63
KB
-rw-r--r--
2025-12-18 12:48
imap.lua
9.59
KB
-rw-r--r--
2025-12-18 12:48
informix.lua
39.93
KB
-rw-r--r--
2025-12-18 12:48
ipOps.lua
29.14
KB
-rw-r--r--
2025-12-18 12:48
ipmi.lua
8.08
KB
-rw-r--r--
2025-12-18 12:48
ipp.lua
12.56
KB
-rw-r--r--
2025-12-18 12:48
irc.lua
757
B
-rw-r--r--
2025-12-18 12:48
iscsi.lua
21.38
KB
-rw-r--r--
2025-12-18 12:48
isns.lua
14.98
KB
-rw-r--r--
2025-12-18 12:48
jdwp.lua
43.52
KB
-rw-r--r--
2025-12-18 12:48
json.lua
11.91
KB
-rw-r--r--
2025-12-18 12:48
knx.lua
2.42
KB
-rw-r--r--
2025-12-18 12:48
ldap.lua
32
KB
-rw-r--r--
2025-12-18 12:48
lfs.luadoc
1.68
KB
-rw-r--r--
2025-12-18 12:48
libssh2-utility.lua
4.69
KB
-rw-r--r--
2025-12-18 12:48
libssh2.luadoc
4.75
KB
-rw-r--r--
2025-12-18 12:48
listop.lua
4.66
KB
-rw-r--r--
2025-12-18 12:48
lpeg-utility.lua
5.64
KB
-rw-r--r--
2025-12-18 12:48
lpeg.luadoc
351
B
-rw-r--r--
2025-12-18 12:48
ls.lua
10.96
KB
-rw-r--r--
2025-12-18 12:48
match.lua
2.05
KB
-rw-r--r--
2025-12-18 12:48
membase.lua
9.93
KB
-rw-r--r--
2025-12-18 12:48
mobileme.lua
8.46
KB
-rw-r--r--
2025-12-18 12:48
mongodb.lua
21.47
KB
-rw-r--r--
2025-12-18 12:48
mqtt.lua
28.74
KB
-rw-r--r--
2025-12-18 12:48
msrpc.lua
190.11
KB
-rw-r--r--
2025-12-18 12:48
msrpcperformance.lua
29.65
KB
-rw-r--r--
2025-12-18 12:48
msrpctypes.lua
168.74
KB
-rw-r--r--
2025-12-18 12:48
mssql.lua
113.78
KB
-rw-r--r--
2025-12-18 12:48
multicast.lua
5.97
KB
-rw-r--r--
2025-12-18 12:48
mysql.lua
16.04
KB
-rw-r--r--
2025-12-18 12:48
natpmp.lua
5.11
KB
-rw-r--r--
2025-12-18 12:48
nbd.lua
16.04
KB
-rw-r--r--
2025-12-18 12:48
ncp.lua
35.64
KB
-rw-r--r--
2025-12-18 12:48
ndmp.lua
11.43
KB
-rw-r--r--
2025-12-18 12:48
netbios.lua
14.51
KB
-rw-r--r--
2025-12-18 12:48
nmap.luadoc
40.34
KB
-rw-r--r--
2025-12-18 12:48
nrpc.lua
4.46
KB
-rw-r--r--
2025-12-18 12:48
nsedebug.lua
3.49
KB
-rw-r--r--
2025-12-18 12:48
omp2.lua
4.78
KB
-rw-r--r--
2025-12-18 12:48
oops.lua
3.61
KB
-rw-r--r--
2025-12-18 12:48
openssl.luadoc
7.5
KB
-rw-r--r--
2025-12-18 12:48
ospf.lua
15.29
KB
-rw-r--r--
2025-12-18 12:48
outlib.lua
2.09
KB
-rw-r--r--
2025-12-18 12:48
packet.lua
36.54
KB
-rw-r--r--
2025-12-18 12:48
pcre.luadoc
6.79
KB
-rw-r--r--
2025-12-18 12:48
pgsql.lua
20.6
KB
-rw-r--r--
2025-12-18 12:48
pop3.lua
5.74
KB
-rw-r--r--
2025-12-18 12:48
pppoe.lua
29.42
KB
-rw-r--r--
2025-12-18 12:48
proxy.lua
11.37
KB
-rw-r--r--
2025-12-18 12:48
punycode.lua
11.5
KB
-rw-r--r--
2025-12-18 12:48
rand.lua
2.7
KB
-rw-r--r--
2025-12-18 12:48
rdp.lua
14.73
KB
-rw-r--r--
2025-12-18 12:48
re.lua
8.22
KB
-rw-r--r--
2025-12-18 12:48
redis.lua
3.61
KB
-rw-r--r--
2025-12-18 12:48
rmi.lua
47.77
KB
-rw-r--r--
2025-12-18 12:48
rpc.lua
107.75
KB
-rw-r--r--
2025-12-18 12:48
rpcap.lua
11.08
KB
-rw-r--r--
2025-12-18 12:48
rsync.lua
5.21
KB
-rw-r--r--
2025-12-18 12:48
rtsp.lua
8.66
KB
-rw-r--r--
2025-12-18 12:48
sasl.lua
16.51
KB
-rw-r--r--
2025-12-18 12:48
shortport.lua
12.83
KB
-rw-r--r--
2025-12-18 12:48
sip.lua
30.07
KB
-rw-r--r--
2025-12-18 12:48
slaxml.lua
17.9
KB
-rw-r--r--
2025-12-18 12:48
smb.lua
176.62
KB
-rw-r--r--
2025-12-18 12:48
smb2.lua
16.12
KB
-rw-r--r--
2025-12-18 12:48
smbauth.lua
37.33
KB
-rw-r--r--
2025-12-18 12:48
smtp.lua
19.85
KB
-rw-r--r--
2025-12-18 12:48
snmp.lua
17.24
KB
-rw-r--r--
2025-12-18 12:48
socks.lua
8.25
KB
-rw-r--r--
2025-12-18 12:48
srvloc.lua
10.99
KB
-rw-r--r--
2025-12-18 12:48
ssh1.lua
9.15
KB
-rw-r--r--
2025-12-18 12:48
ssh2.lua
13.44
KB
-rw-r--r--
2025-12-18 12:48
sslcert.lua
36.17
KB
-rw-r--r--
2025-12-18 12:48
sslv2.lua
9.68
KB
-rw-r--r--
2025-12-18 12:48
stdnse.lua
32.67
KB
-rw-r--r--
2025-12-18 12:48
strbuf.lua
4.52
KB
-rw-r--r--
2025-12-18 12:48
strict.lua
2.53
KB
-rw-r--r--
2025-12-18 12:48
stringaux.lua
4.35
KB
-rw-r--r--
2025-12-18 12:48
stun.lua
11.08
KB
-rw-r--r--
2025-12-18 12:48
tab.lua
3.35
KB
-rw-r--r--
2025-12-18 12:48
tableaux.lua
2.06
KB
-rw-r--r--
2025-12-18 12:48
target.lua
3.93
KB
-rw-r--r--
2025-12-18 12:48
tftp.lua
9.41
KB
-rw-r--r--
2025-12-18 12:48
tls.lua
69.24
KB
-rw-r--r--
2025-12-18 12:48
tn3270.lua
46.99
KB
-rw-r--r--
2025-12-18 12:48
tns.lua
63.35
KB
-rw-r--r--
2025-12-18 12:48
unicode.lua
14.23
KB
-rw-r--r--
2025-12-18 12:48
unittest.lua
12.42
KB
-rw-r--r--
2025-12-18 12:48
unpwdb.lua
10.52
KB
-rw-r--r--
2025-12-18 12:48
upnp.lua
11.18
KB
-rw-r--r--
2025-12-18 12:48
url.lua
16.54
KB
-rw-r--r--
2025-12-18 12:48
versant.lua
8.58
KB
-rw-r--r--
2025-12-18 12:48
vnc.lua
25.55
KB
-rw-r--r--
2025-12-18 12:48
vulns.lua
76.45
KB
-rw-r--r--
2025-12-18 12:48
vuzedht.lua
16.21
KB
-rw-r--r--
2025-12-18 12:48
wsdd.lua
11.98
KB
-rw-r--r--
2025-12-18 12:48
xdmcp.lua
12.09
KB
-rw-r--r--
2025-12-18 12:48
xmpp.lua
15.91
KB
-rw-r--r--
2025-12-18 12:48
zlib.luadoc
4.88
KB
-rw-r--r--
2025-12-18 12:48
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;