
本指南将说明如果你完成了教程任务却不知道接下来该做什么。 简介 游戏更新了新的【漏洞利用】机制后,旧程序已从游戏中移除,你无法再使用教程中提供的那些程序。 在制作本指南时,还没有任何程序能让你手动扫描和利用漏洞来获取目标访问权限。我制作了两个简单但效率不高的脚本,它们能帮助你了解在游戏中该做什么。脚本附带注释,以便更好地理解其工作原理。 适用游戏版本:0.7.2633 开始前 开始单人游戏并连接到互联网。 创建你的邮件和银行账户。 下载【nmap】并放入【/bin】目录。 下载【decipher】并放入【/bin】目录。 下载【metaxploit】。将其放入“/lib”目录。 打开代码编辑器并编译这两个脚本。 代码:初级扫描器 此脚本用于扫描目标机器以寻找漏洞: //初级扫描器文件:bscanner// <- 这是注释 print("<b>-= 初级扫描器 1.0 =-</b>")// 此行将在屏幕上打印文本,<b> 用于加粗显示 if params.len != 2 or params[0] == "-h" or params[0] == "--help" then exit("<b>用法:bscanner [ip地址] [端口]</b> n<b>描述:</b> n此脚本用于远程扫描漏洞并显示所有结果。 n作者:IZackI")// 若此条件为真,则退出并显示引号中的消息 / 参数len - 检查脚本提供的参数数量 / params[0] == "-h" - 检查第一个参数是否与引号中的内容相同 metaxploit = include_lib("/lib/metaxploit.so")// 为metaxploit变量赋值,指向一个外部库 if not metaxploit then exit("<color=#ff0000>错误:无法找到'metaxploit.so'。请将缺失的库文件放入'lib'文件夹。</color>")// 如果metaxploit变量不存在,则输出红色错误信息并退出 address = params[0]// 将参数0的值赋给address变量 port = params[1].to_int// 将参数1的值转换为整数后赋给port变量 net_session = metaxploit.net_use(address, port)// 使用metaxploit库连接到指定的IP地址 if not net_session then exit("<color=#ff0000>错误:无法连接。")// 如果未建立连接,则打印红色文本并退出 打印("-- 扫描中 --")// 此命令将在屏幕上显示文本 元库 = 网络会话.转储库// 此命令将设置版本元库以访问已连接的库 扫描结果 = 元漏洞利用.扫描(元库)// 扫描元库以查找易受攻击的内存地址,并将其以列表形式返回 i = 0// 将变量i设为0 对于 扫描结果 中的每个条目// for循环将对扫描结果中的每个条目执行操作 i = i+1// 将变量i设为(i=0)+1 内存扫描 = 元漏洞利用.扫描地址(元库, 条目)// 扫描特定内存地址并返回其所有漏洞信息 打印("<b>"+i+". "+条目+"</b> n"+内存扫描)// 打印条目及其漏洞 结束循环// for循环结束 打印(元库.库名称+" v"+元库.version)// 在屏幕上显示已扫描库的名称和版本 exit("-- Scan complete --")// 显示消息后退出程序 代码:初级探测程序 此脚本用于对目标机器执行漏洞利用: //初级探测程序文件:bprobe print("<b>-= 初级探测程序 1.0 =-</b>") if params.len != 5 then if params.len != 4 or params[0] == "-h" or params[0] == "--help" then exit("<b>用法:bprobe [ip地址] [端口] [内存] [漏洞利用] (密码)</b> n<b>说明:</b> n用于使用外部漏洞利用的脚本。 n作者:IZackI") end if metaxploit = include_lib("/lib/metaxploit.so") if not metaxploit then exit("<color=#ff0000>错误:无法找到'metaxploit.so'。请将缺失的库文件放入'lib'文件夹。</color>") decipherFile = get_shell.host_computer.文件("/bin/decipher") 如果不存在metaxploit则退出("<color=#ff0000>错误:无法找到'decipher'。请将缺失程序放入'bin'文件夹。</color>") 地址 = 参数[0] 端口 = 参数[1].转换为整数 内存 = 参数[2] 漏洞利用 = 参数[3] 如果参数长度等于5则//检查是否提供了第5个参数 新密码 = 参数[4] 否则 新密码 = 空 结束如果 网络会话 = metaxploit.网络使用(地址, 端口) 如果不存在网络会话则退出("<color=#ff0000>错误:无法连接。</color>") 打印("-- 探测 --") 元库 = 网络会话.转储库 如果新密码等于空则//如果第5个参数不为空 结果 = 元库.溢出(内存, 漏洞利用)//执行缓冲区溢出攻击 否则 结果 = 元库.overflow(内存, 漏洞利用, 新密码)// 执行缓冲区溢出攻击以更改密码 如果结果为真则打印("<b>新密码: "+新密码+"</b>")// 打印新密码 结束如果 如果结果不等于空则 类型 = typeof(结果)// 变量类型是变量结果的类型 如果类型不等于"shell"且类型不等于"file"则退出("<color=#ff0000>错误: 不支持此类型。</color>")// 如果类型不等于'shell'和'file'则退出 如果类型等于"shell"则结果.启动终端// 如果类型是shell则打开终端 如果类型等于"computer"则// 如果类型是computer 密码文件 = 结果.文件("/etc/passwd")// 读取文件内容并将其设置到密码文件变量中 如果不是密码文件则退出("密码文件缺失。")// 如果密码文件为空则退出 如果密码文件.if has_permission("r") then// 检查passFile的权限 if passFile == null then exit("密码文件为空。")// 检查passFile是否为空 fileLocation = "/home/"+active_user// 将变量fileLocation设为'/home/用户目录' createFile = get_shell.host_computer.File(fileLocation+"/receivedPaswd.txt")// 检查receivedPaswd.txt文件是否存在 if createFile then createFile.delete// 若旧文件存在则删除 get_shell.host_computer.touch(fileLocation, "receivedPaswd.txt")// 在用户目录创建名为'receivedPaswd.txt'的空文件 get_shell.host_computer.File(fileLocation+"/receivedPaswd.txt").set_content(result.File("/etc/passwd").content)// 将'/etc/passwd'的内容复制到'receivedPaswd.txt' createFile = get_shell.host_computer.File(fileLocation+"/receivedPaswd.txt\") else exit("无法访问密码文件")// 若没有权限读取文件'/etc/passwd' end if if createFile == null then// 若创建的文件为空则删除文件并退出 createFile.delete exit("下载的密码文件为空。") end if while true// 循环 - 此循环永不结束,直到用户选择0、1或2 print("选项: ") print("1. 解密") print("2. 删除密码文件") print("0. 退出") opt = user_input("选项: ")// 这是用户选项 - 等待用户输入并将值存储在opt变量中 if opt == "0" then exit("-- 完成 --")// 若用户输入'0'则退出 if opt == "1" then// 若用户输入'1' get_shell.launch("/bin/decipher", fileLocation+"/receivedPaswd.txt")// 使用参数执行程序'/bin/decipher' 结束条件判断 如果选项等于"2"则// 如果用户输入'2' 如果存在createFile则删除createFile// 检查createFile是否存在并删除它 退出("文件: 'receivedPaswd.txt'已被移除。") 结束条件判断 结束循环 结束条件判断 否则 退出("-- 探测失败 --") 结束条件判断 工作视频中的脚本
官方文档 这里可以找到所有命令及其解释和使用示例。 其他实用信息 这是一份非常棒的指南,解释了游戏中的所有机制。 总结 如你所见,脚本相当简单,还有很大的改进空间。 如果你研究这两个脚本,肯定能独立完成操作。 祝各位脚本新手好运。
2026-03-22 10:00:46 发布在
Grey Hack
说点好听的...
收藏
0
0
