// import_code("/dev/scanner/libbindb.src")
// import_code("/dev/scanner/database.src")
// import_code("/dev/scanner/util_import.src")
// Trying to figure out what privileges the connected user has by checking what permissions are avaiable on commen files.
// TODO: Needs confirming, initial tests seem correct.
checkPrivilege = function(result)
if(typeof(result) == "shell") then result = result.host_computer
if(typeof(result) == "computer") then
//checking root
file = result.File("/lib/init.so")
if( file.has_permission("w") != 0) then return "Root"
//check user
homeFolders = result.File("/home")
homeFolders = homeFolders.get_folders
if(len(homeFolders) <= 1) then return "Guest"
for folder in homeFolders
file = result.File("/home/" + folder.name + "/Config/Mail.txt")
if(file) then
if(file.has_permission("w")) then return "User"
end if
end for
return "Guest"
end if
return "null"
end function
// scan port on IP address. Set optional local ip address for extra kernel_router exploits and a password for pass change exploits
// TODO: figure out how to get proper feedback from firewall exploits and pass change exploits.
// TODO: figure out how to get requirments for exploits.
scanPort = function(ip, port, optional, metaxploit)
net_session = metaxploit.net_use(ip,port)
lib = net_session.dump_lib
print(lib.lib_name)
memList = metaxploit.scan(lib)
for address in memList
keys = metaxploit.scan_address(lib,address)
vulns = keys.split("Unsafe check: ")
keyList =[]
for string in vulns
keyList.push(string[string.indexOf("")+3:string.indexOf("")])
end for
for key in keyList
result = lib.overflow(address,key,optional)
if (typeof(result) != "null") then
print(typeof(result))
insertVuln(lib.lib_name,lib.version,address,key,typeof(result),checkPrivilege(result))
end if
end for
end for
end function
scanner = function(target_ip)
metaxploit = mxploit()
print(target_ip)
target_ip = webToIp(target_ip)
if(target_ip == 1) then exit("Invalid IP")
// fetch router object and configured ports
target_router = get_router(target_ip)
target_ports = target_router.used_ports
// DO ALL THE THINGS. needs cleaning
scanPort(target_ip, 0, target_router.local_ip, metaxploit)
for port in target_ports
if(port.is_closed != 1) then
scanPort(target_ip, port.port_number, "dave", metaxploit)
else
print(port.port_number + " is Closed.")
end if
end for
nmap(target_ip, true)
end function
//comment out if using as import
//if params.len == 0 then exit("Usage: scanner [IP/WEB_Address]")
//myDB = database()
//scanner(params[0])