自动化Wi-Fi破解(初级脚本编写教程)

0 点赞
Grey Hack
转载

一个新手示例——逐步创建脚本以自动执行《Grey Hack》新游戏中的首要任务。 方法: 每次开始游戏时,我们都必须做一件事——破解Wi-Fi以获取互联网连接。在这里,我们更进一步,编写一个对新手友好的脚本。每段代码都被拆分成独立的部分,并且每行都有注释(“//”后面的内容均为注释),这样你就能逐步理解脚本的运行过程,逐行、逐段地进行学习。你可以将这些代码块复制粘贴到代码编辑器中(代码编辑器比Steam的显示效果更好,也更便于阅读和理解),将整个脚本整合起来,然后保存并在终端中运行,它就会实现示例图片中展示的功能。 建议你打开游戏手册,对于脚本中任何不理解的语句,都可以通过手册搜索获取更多解释。例如,在示例中如果想了解脚本里“current_path”部分的含义,手册中都有相关说明。祝你好运,继续学习。

Airmon Airmon是第一步,我们运行它来查看能够进行监控的设备,这是捕获数据包所必需的,而数据包又用于拼凑密码。 cryptools = include_lib("/lib/crypto.so") // 导入包含所有"air"工具的库。 // airmon get_shell.launch("/bin/airmon") // 列出所有具备监控能力的设备状态 device = user_input("[+]选择接口: ") // 要求用户选择设备 if not device[0:4] == "wlan" then exit end if // 使用切片检查用户至少选择了一个无线接口 print(" n[-]新状态... n") cryptools.airmon("start", device) // 启动设备进入监控模式 get_shell.launch("/bin/airmon") // 显示新状态 结果:

iwlist iwlist会显示所有可用的无线网络及其所需的全部信息,包括BSSID、ESSID以及PWR(信号强度)。实际上,PWR百分比越高,连接就越强、速度越快。我们要找到PWR最高的网络(例如76%,很不错),然后输入相关信息来锁定它。 捕获的ACK数量至少需要7000个,但数量越多,成功收集完整密码的几率就越高,在示例中我们输入8000。 // iwlist print("[-]选择BSSID和ESSID(PWR百分比越高越好)\n") get_shell.launch("/bin/iwlist", device) // 列出检测到的无线网络 b = user_input("\n[+]BSSID: ") // 请求输入BSSID e = user_input("\n[+]ESSID: ") // 请求输入对应的ESSID acks = user_input("\n[+]ACKs(>7000): ")to_int // 请求目标ACK计数,并转换为整数 print(" n") if acks < 7000 then acks = 7000 end if // 如果用户输入小于7000(成功所需的最小值),则将其设为7000 结果:

Aireplay Aireplay从iwlist获取输入并开始捕获这些数据包,当捕获到所需数量(我们选择8000)时,它会停止捕获并将捕获内容保存到名为“file.cap”的文件中。 // aireplay cryptools.aireplay(b, e, acks) // 使用上述用户输入运行aireplay print(" n[-]已获取所需数量的ACK...") print("[-]等待file.cap文件写入... n") wait(5) // 若没有此步骤,aircrack会立即运行,而file.cap尚未写入 print("[-]正在破解... n")

Aircrack aircrack工具会处理由aireplay生成的“file.cap”文件并进行破解。如果ACK数量不足可能导致破解失败,7000是最低要求,但实际可能需要更多。在本案例中,8000个ACK已足够,因此工具会显示密钥(无线密码),之后我们就可以使用该密钥连接到对应的无线路由器。 // aircrack capfile = current_path + "/file.cap" // 设置file.cap路径 get_shell.launch("/bin/aircrack", capfile) // 对文件执行aircrack并显示结果 print(" n[-]正在停止设备监控... n")

Airmon(再次说明) 我们可以按照启用设备监听模式的相同方法,在完成数据包捕获后将其禁用并停止监听。 // airmon cryptools.airmon("stop", device) // 关闭监听模式 get_shell.launch("/bin/airmon") // 显示新状态

清理痕迹 掩盖行踪是重要的一步,我们会让用户选择是否删除证据(即【file.cap】文件)。在示例中,我们选择保留该文件,因为规则就是用来被打破的,再见…… :) // 清理痕迹 capfile = get_shell.host_computer.File(current_path + "/file.cap") // 准备好可能要删除的capfile文件 confirm = user_input("销毁file.cap文件 (y/N): ") if confirm == "Y" or confirm == "y" or confirm == "Yes" or confirm == "yes" then capfile.delete end if // 如果用户输入为是,则删除capfile文件 print(" n[-]再见... n")