欢迎来到 peeping-tom 项目仓库!Peeping-tom 是一个由两部分组成的程序:部署在目标主机上的 peeping-client(客户端)和监听在攻击者机器上接收按键记录的 toms-server(服务端)。要使其正常运行需要完成一系列配置,请务必仔细阅读并按照以下说明操作。
当然,如果您有任何建议、反馈或问题等,欢迎随时提出,或者创建 issue 或 pull request。
第一步:在 Visual Studio 中打开 peeping-tom 解决方案文件
首先,从上述链接下载并安装 Visual Studio 社区版到您的机器上。在安装过程中,请务必选择“Python 开发”和“使用 C++ 的桌面开发”工作负载,因为正确加载和编译项目需要这些组件。

安装完成后,启动 Visual Studio 并选择“克隆存储库”选项。输入项目的 Git URL 并点击克隆。

如果一切加载正确,您应该会在右侧的解决方案资源管理器中看到两个项目,如下所示。

第二步:在 Visual Studio 中配置编译器/链接器选项
现在工具已加载到 Visual Studio 中,我们需要更改一些选项并在生成前编译一个库。这将消除在目标主机上运行时对程序/库的依赖。
第一个任务是静态编译 Crypto++ 库,该库用于键盘记录器中的加密。首先从此处下载 8.6.0 版本的库。
下载 ZIP 文件后,将其解压到一个文件夹中,进入该文件夹,并使用 Visual Studio 启动 cryptest.sln。现在您应该有两个 Visual Studio 窗口:一个打开 peeping-tom 解决方案,另一个打开 cryptest 解决方案。

cryptest.sln 文件加载到 Visual Studio 后,点击顶部工具栏上的“Debug”,将其设置为“Release”。同时将架构更改为 x64,如下所示。

现在,右键单击 cryptlib 项目,选择“属性”。按图示更改高亮选项。

完成后,生成 cryptest 解决方案。

生成过程需要一两分钟,完成后,您会在以下路径的对应版本中找到名为 cryptlib.lib 的文件。找到该文件并复制其路径,供下一步使用。
C:\Users\Abdullah Beta\Downloads\cryptopp860\x64\Output\Release\cryptlib.lib
找到文件并复制路径后,返回到打开 peeping-tom 解决方案的 Visual Studio 窗口。右键单击 peeping-client 项目,选择“属性”。导航到下面截图中显示的选项,粘贴 cryptlib.lib 的路径。

确保 peeping-client 项目也设置为“Release”,并且架构设置为 x64。暂时不要生成 peeping-tom 解决方案,因为源代码中还有一些更改需要完成。
第三步:打开到 localhost:80 的公共隧道
接下来是隧道配置。创建 Ngrok 账号后,从上述链接下载适用于您操作系统的 Ngrok,并从 ZIP 文件中解压出可执行文件。在打开隧道之前,您需要从您的账号中获取一个个人身份验证令牌,如下所示。

获得令牌后,使用以下命令将其添加到 Ngrok 的本地配置中:
ngrok config add-authtoken 7cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmgZ5
最后,使用以下命令打开隧道:
ngrok http 80 --scheme=http
如果一切顺利,您应该会看到类似于下图的输出。很好!这一步已经准备好了。复制高亮的“Forwarding”地址,保存好以备后用。

第四步:生成新的 AES-256 密钥
此时,您可以继续在机器上下载 Python。安装完成后,在 toms-server 项目目录中打开一个 CMD 窗口。
使用以下命令安装所需依赖:
pip3 install -r requirements.txt
一切就绪后,运行:
python3 toms-server.py -m keygen
这将输出一个 64 字符的 AES-256 密钥,后面也会用到。请务必将其与 Ngrok 转发地址一起保存。
第五步:在 peeping-client 源代码中设置所需字段
现在,我们已经拥有了开始所需的一切。从解决方案资源管理器中打开 peeping-client 项目 -> 源文件 -> peeping-client.cpp 源文件。在 main() 函数的前两个变量中输入相关信息,如下所示。

信息输入完成后,转到 peeping-client 项目 -> 头文件 -> APIHook.h,将下图中“15”替换为您希望的回调间隔(以秒为单位,例如将 15 改为 7200 表示每两小时回调一次……您懂的)。

最后,生成项目,您将在以下位置的相应版本中找到可执行文件:
C:\Users\Abdullah Beta\source\repos\peeping-client\x64\Release
恭喜!您现在拥有一个完全自定义的键盘记录器,配置为按固定间隔回传加密的键盘数据。
第六步:启动监听服务端
最后一步是开始监听来自目标的按键记录。您可以使用以下命令以监听模式启动服务端:
python3 toms-server.py -m server
服务端启动后,输入您之前生成并在 peeping-client.cpp 源文件中使用的确切 AES 密钥。如果密钥被接受,您应该会看到一条消息,表明服务端已启动!
第七步:分析日志 + 重要说明
剩下的就是在目标主机上执行刚刚构建的 peeping-client.exe。具体如何执行,就留给你自己发挥创意了。每当您设定的间隔时间到达时,您都会在终端上收到一条消息。
警告: 请确保在此期间不要断开互联网连接或关闭 Ngrok 隧道,否则将需要在目标主机上重新执行 peeping-client.exe 程序。
所有按键记录都将写入 toms-server 脚本所在目录的 keylog.txt 文件中,您可以从那里查看。操作指南到此结束,希望您能顺利运行,没有遇到重大障碍!
即将推出!
pip3 install requests
在向此存储库贡献时,请先通过 issue、电子邮件或 LinkedIn 讨论您希望做出的更改。
本项目仅用于教育目的。使用本项目进行的任何不良行为均由用户自行承担责任。我特此免除对任何非法行为的所有责任。
本项目的部分指导来源于 Ermin Kreponic 的 Udemy 课程,并结合了我的一些新想法和学到的新技能进行了全面改造。
作者 - Abdullah Ansari ©
联系信息 - 电子邮件