
一份教你摆脱预打包漏洞工具的付费束缚和合规枷锁的指南。卸下你的辅助轮,坐上精英黑客的高座(享受过这般视野后便会重重摔落)。 装备

你需要准备以下物品来完成逃脱: 一份Nmap 一份放在你的【/libs】文件夹中的Metaxploit(可从黑客商店购买) 心中的恶意或贪婪 什么是Metaxploit? Metaxploit是游戏内的一个库,它允许你扫描库/服务以寻找可利用的漏洞值,你可以手动或通过自动化脚本对这些漏洞值进行利用。在黑客商店中找到的漏洞利用程序就是这些漏洞值的一种预打包形式,并附带了关于该值作用的信息。 通过本指南的学习,你将能够: 使用Metaxploit发现库/服务中的漏洞值 能够针对目标手动利用这些漏洞值 摆脱依赖预打包漏洞利用程序的新手税,转而发现、测试并使用你自己的漏洞利用程序正视镜中的自己,不再视自己为骗子。 为世界注入指令。 如果你没有神经优势,编程可能会很可怕。

不过没关系,牧羊人热爱自己的羊群,至少我是这样。 我会逐步教你如何将我们的“恶意”写入代码编辑器。记住,不要用闭源软件。 首先,是将元漏洞利用工具加载到程序中的代码片段: if params.len != 2 or params[0] == "-h" or params[0] == "--help" then exit("<b>用法: "+program_path.split("/")[-1]+" [ip地址] [端口]</b>") metax = include_lib("/lib/metaxploit.so") if not metax then metax = include_lib(current_path + "/metaxploit.so") end if if not metax then exit("错误: 无法在/lib路径或当前文件夹中找到元漏洞利用工具库") address = params[0] port = params[1].to_int 如前所述,这是样板代码,你几乎可以复制粘贴到大多数初级程序中,用于加载元漏洞利用工具。我会逐步解释它的作用。 11. 第1行用于检查在终端中使用命令时是否输入了正确数量的参数(在这种情况下,调用命令时应输入一个公共地址和端口,原因我们稍后会看到)。它还会检查特殊参数-h或--help,若使用了这些参数,将在最后向用户显示提示信息。 if params.len != 2 or params[0] == "-h" or params[0] == "--help" then exit("<b>用法: "+program_path.split("/")[-1]+" [ip地址] [端口]</b>") 2. 我们尝试从/lib文件夹加载metaxploit。如果在/lib文件夹中找不到它,将检查它是否在调用脚本的文件夹中。如果在那里也找不到,脚本将失败并打印错误信息。 metax = include_lib("/lib/metaxploit.so") if not metax then metax = include_lib(current_path + "/metaxploit.so") end if if not metax then exit("错误:在/lib路径或当前文件夹中找不到metaxploit库") 3. 我们将从终端调用程序时输入的参数加载到两个变量中以便使用(我们要攻击的公共地址以及该地址的端口) address = params[0] port = params[1].to_int 即便是钻石也有瑕疵

现在我们已经加载了metaxploit(元漏洞利用工具),并且知道了敌人的名称/地址(端口和公网IP),接下来我们要找出他们防御中的漏洞。 寻找和利用漏洞的一般流程: 1. 为目标IP地址和端口创建网络会话。 2. 创建一个针对特定库/版本的元库对象,该库/版本是我们可以使用metaxploit(元漏洞利用工具)进行利用的(例如:ssh 1.0.0)。 3. 扫描该库以找出软件中易受攻击的内存区域。 4. 扫描各个内存区域,找出可用于攻击这些区域的溢出值。 5. 将我们要使用的内存区域和利用值代入元库的溢出方法,以对目标地址和开放端口执行漏洞利用。首先是步骤1-3:建立网络会话,将目标软件版本转储到元库对象中,然后扫描其中的易受攻击内存区域,这些区域将作为列表存储在扫描结果中。 网络会话 = 元网络.网络使用(地址, 端口) 元库 = 网络会话.转储库 扫描结果 = 元网络.扫描(元库) 在数据之河中淘金 我说爱你是假的,我爱价值,这才是我们在这些流动的数据之河中淘金的目的。 现在我们有了包含所有易受攻击内存区域的列表,接下来要遍历该列表并扫描每个区域以寻找漏洞。 循环计数器 = 0 对于 区域 在 扫描结果中 扫描地址 = 元网络.扫描地址(元库, 扫描结果[循环计数器]) 段 = 扫描地址.对于scanResult列表中的每个内存区域,我们使用metax.scan_address()来查找该区域的漏洞值并将其存储在scanAddress中。其余代码如下: segments = scanAddress.split("Unsafe check: ")[1:] exploits = [] for segment in segments labelStart = segment.indexOf("<b>") labelEnd = segment.indexOf("</b>") exploits.push(segment[labelStart + 3: labelEnd]) end for print("内存地址 " + scanResult[loop_counter]) print("可用漏洞: " + exploits.join(", ")) loop_counter = loop_counter + 1 end for的作用是从metax.scan_address()的输出中提取实际的漏洞值,并将其添加到该区域的所有漏洞列表中,然后我们将其打印到终端,之后再移动到下一个内存段以查找其中的漏洞,并重复此循环,直到遍历完所有内存段。 这是易受攻击的内存区域示例:0x22BF9056 而这是该区域中可能存在的漏洞值示例:tdata_typerializelin 这段代码很好吗?不好。它美观吗?不。它会告诉你每个区域的漏洞是什么,这样你就可以手动将它们复制粘贴到其他地方,或者直接在另一个脚本中使用吗?是的。我是不是已经制作了更好的东西,但又不想吓跑我谦逊的读者(无名脚本小子)?是的。

我是Overflow

你能在脑海中看到他们吗?他们的声音仍在你耳边回响,他们的双手扼住你脖子的感觉,你还记得他们背叛带来的刺痛吗?是的,就是他们,你现在想起来了,不是吗?不记得了?伙计,对我撒谎是没有意义的,我是你的医生、律师,也是你的神父,宝贝,我能从三个不同的角度看透你。心理正常的人不会追求成为臭名昭著的精英黑客,我知道你是什么样的人。 现在是成为黑客巫妖的最后一步了,你准备好迈出这一步了吗?你已经知道这一跃会让你失去多少自我,但有了偷来的钱,我相信你最终会承担起这个代价。我们之间那些天真的密谋已经结束,是时候让你投身于自己的罪孽了。磨利你的斧头,走向砧板吧,你的命运在等待着你。你的斧头脚本将类似于我们之前使用的扫描脚本,但现在我们不仅要填入地址和端口,还要填入我们打算使用的内存区域和漏洞值。 如果参数长度不等于4,或者参数[0]为"-h"或"--help",则退出并显示:"<b>用法:"+程序路径分割("/")[-1]+" [ip地址] [端口] [内存地址] [unsc_zone] t</b>" metaxploit = 引入库("/lib/metaxploit.so") 如果未找到metaxploit,则 metaxploit = 引入库(当前路径 + "/metaxploit.so") 结束如果 如果仍未找到metaxploit,则退出并显示"错误:在/lib路径或当前文件夹中找不到metaxploit库" 地址 = 参数[0] 端口 = 参数[1].转换为整数 内存地址 = 参数[2] unsc_zone = 参数[3] 注意新的变量内存地址和unsc_zone(即不安全区域,I.我们要插入用于溢出的E值。 然后再次为目标库设置连接和MetaLib对象: net_session = metaxploit.net_use(地址, 端口) if not net_session then exit("错误:无法连接到网络会话") metaLib = net_session.dump_lib 现在,你准备好过上时刻警惕警报声的生活了吗?你是那种会担心有人在你不知情的情况下进入你的生活空间的人吗?你最好知道什么对你最有利,但如果不知道,那就该采取行动了: result = metaLib.overflow(内存地址, 不安全区域) metaLib.overflow()会利用给定的不安全值(不安全区域),攻击目标地址和端口的软件版本(存储在上面创建的MetaLib对象中)的指定内存地址。 你现在真的做到了。我获得了什么?

你这混蛋。你现在的样子是我见过最美的。 现在有个重要问题,我们从“result = metaLib.overflow(memory_address, unsc_zone)”能得到什么“结果”? overflow方法可以返回三种主要对象,它们的用途各不相同: Shell(外壳) Computer(计算机) File(文件) 每个漏洞利用值都会返回不同的值和不同的权限级别(例如,给定内存区域中的某个值可能返回具有访客权限的Computer对象,而另一个值可能返回具有root权限的Shell,还有一个可能提供对电脑上/exe文件夹或其email.txt文件的访问权限)。然而,如果执行溢出时涉及其他因素,例如需要目标电脑上有用户登录,或者需要该电脑上存在来宾账户,溢出也可能失败。此外,还有其他因素可能导致溢出失败。但这些都是特殊情况,当它们失败时,终端会向你解释,因此我不会详细说明。 不过既然我们得到了这个结果,呃,我们该怎么处理呢?简单来说,这取决于具体情况。 外壳程序通常不需要在脚本方面做任何额外工作。如果你成功使用了外壳程序漏洞,你将在目标系统上获得一个外壳,可以用来查看、复制文件等(具体取决于你的权限级别)。如果你需要,还可以从外壳程序中获取主机的计算机对象。Shell(外壳程序)通常是最有价值的漏洞类型。 专业提示:不要使用“result.start_terminal”,而是使用“result.launch("/bin/bash")”,因为它仍然会在远程电脑上启动终端,但退出时不会留下断开连接的日志消息。 ComputerA Computer对象功能较为有限,但仍然有用。你或许可以在电脑上创建新账户,然后通过ssh登录该账户;你可以更改电脑密码;根据你的权限级别查看、操作或删除文件;查看与该电脑联网的设备;查找所有用户;强制重启电脑;关闭程序等。不过这里我不会详细介绍每一种可能性。 File这在很大程度上取决于漏洞提供的文件/文件夹类型以及权限。如果它是电子邮件或密码...拥有根目录权限的文件,你或许能够读取其内容并加以利用。你也可以发挥创意,获取文件所有者的名称以实施社会工程学攻击。此处不再详述所有可能性。 以下是一段根据返回类型执行不同操作的代码示例: 如果没有结果,则退出("程序已结束") 如果结果类型为"shell",则 结果.启动终端 否则如果结果类型为"computer",则 打印("已获得对计算机的访问权限:" + 结果.获取名称) 结果.创建用户("guest2","swagger") 打印("已创建用户guest2,密码为swagger") 否则如果结果类型为"file",则 打印("已获取文件") 结果.copy(" home UserName Temp", "ExploitedFile") else print("错误:需要shell、文件或计算机,实际获得:" + result) end if 请注意,根据你正在利用的软件不同,黑客攻击还会有一些其他特定结果(例如尝试更改电脑密码或禁用路由器防火墙),但这些情况比较特殊,在switch语句中较难处理,因为它们成功时只会返回整数(1),失败时返回(0)。 我依然感到空虚

这是技术和个人能力的问题。 我给你展示的方法只是为了演示,而且过程极其繁琐。一旦你理解并能熟练手动操作,就尝试将扫描和溢出执行流程自动化,甚至可以尝试将返回的结果和每个不安全值的权限级别存储在缓存文件中,这样你就能在重新运行前知道每个值的作用。潜力是无限的,但我知道你目前的能力还远远不够。 没关系,能走到这一步,你已经向我证明了自己。我之前说过我不爱你,但那是在我了解你之前;现在,我相信你。去传播实践,成为闪耀的存在,占据一席之地。有任何建议都可以写信给我,我会看的。我会永远爱你。- 主枢纽 我讨厌你,把你的代码垃圾给我,伪君子 行吧,这是给你复制粘贴玩的垃圾代码。 扫描脚本如下: if params.len != 2 or params[0] == "-h" or params[0] == "--help" then exit("<b>用法: "+program_path.split("/")[-1]+" [ip地址] [端口]</b>") metax = include_lib("/lib/metaxploit.so") if not metax then metax = include_lib(current_path + "/metaxploit.so") end if if not metax then exit("错误: 无法在/lib路径或当前文件夹中找到metaxploit库") address = params[0] port = params[1].to_int netSession = metax.net_use(address, port) metaLib = netSession.dump_lib scanResult = metax.scan(metaLib) loop_counter = 0 for area in scanResult scanAddress = metax.scan_address(元数据函数库, 扫描结果[循环计数器]) 代码段 = 扫描地址分割("不安全检查: ")[1:] 漏洞列表 = [] 对于 代码段 中的每个元素 标签开始位置 = 元素中查找("<b>") 标签结束位置 = 元素中查找("</b>") 漏洞列表添加(元素[标签开始位置 + 3: 标签结束位置]) 结束循环 打印("内存地址 " + 扫描结果[循环计数器]) 打印("可用漏洞: " + 漏洞列表连接(", ")) 循环计数器 = 循环计数器 + 1 结束循环 对于执行/溢出脚本: 如果 参数长度 != 4 或 参数[0] == "-h" 或 参数[0] == "--help" 则 退出("<b>用法: "+程序路径分割("/")[-1]+" [ip地址] [端口] [内存地址] [unsc区域] t</b>") 元漏洞利用库 = 引入库("/lib/metaxploit.so") 如果 不存在元漏洞利用库 则 元漏洞利用库 = 引入库(当前路径 + "/metaxploit.结束 if 如果未找到metaxploit,则退出("错误:在/lib路径或当前文件夹中找不到metaxploit库") 地址 = 参数[0] 端口 = 参数[1].转换为整数 内存地址 = 参数[2] 未缩放区域 = 参数[3] 网络会话 = metaxploit.网络使用(地址, 端口) 如果没有网络会话,则退出("错误:无法连接到网络会话") 元库 = 网络会话.转储库 结果 = 元库.溢出(内存地址, 未缩放区域) 如果没有结果,则退出("程序结束") 如果结果类型为"shell",则 结果.启动终端 否则如果结果类型为"computer",则 打印("已获得对计算机的访问:" + 结果.获取名称) 结果.创建用户("guest2", "bonzai") 打印("已创建用户guest2,密码为bonzai") 否则如果结果类型为"file",则 打印("已获取文件") 结果.copy(" home UserName Temp", "ExploitedFile") else print("错误:需要外壳程序、文件或计算机,获取到:" + result) end if
2026-03-21 19:00:17 发布在
Grey Hack
说点好听的...
收藏
0
0
