一个基于Python Socket的远程控制程序。
项目的详细介绍可以参见我的博客文章:Pi3's Notes
- 远程命令执行
- 远程文件上传
- 远程文件下载
- 获取远程主机截图
- 获取和解密微信数据
- 使用pywxdump项目
- 服务器必须运行在Windows系统上
查看requirements.txt获取所需的Python包列表。
-
设置服务器:
- 编辑
server.py,如有需要可以配置port变量。 - 在控制机器上运行
server.py:python server.py
- 编辑
-
设置客户端:
- 编辑
client.py,将ip变量设置为你的服务器IP地址。 - 在目标机器上运行
client.py:python client.py
- 编辑
-
连接成功后,你可以在服务器控制台使用各种命令:
- 执行shell命令
get <文件名>:从客户端下载文件put <文件名>:上传文件到客户端screen:捕获客户端屏幕截图wxinfo:获取客户端的微信信息wxchat:从客户端获取并解密微信数据flask:启动Flask服务器查看聊天记录(在获取微信数据之后)exit:关闭连接
本项目使用Python的socket库实现反向连接,客户端尝试连接服务器,在服务器和客户端之间建立TCP连接。服务器可以向客户端发送命令,这些命令随后在客户端机器上执行。文件传输通过自定义协议实现,该协议在发送实际文件内容之前发送文件元数据。
对于微信数据的获取和解密,项目利用了pywxdump库。解密后的数据被压缩并发送回服务器进行分析。
截图功能使用PIL库捕获客户端的屏幕并将其发送回服务器。
基于此程序,我还编写了peppa_pig.py这个简单的程序,这个程序源于Python - 100天从新手到大师项目中的示例程序。而在此项目中,我用来隐藏client.py的执行。可以将peppa_pig.py和client.py使用pyinstaller工具打包为exe文件,并命名为一个不起眼的名称,这样在执行该程序时,不会引起对方的警觉,屏幕上只会出现一个peppa_pig的绘图程序,后台则会同时运行client.py,实现木马功能。
利用类似的思想,你可以将控制程序隐藏在任何程序中,比如游戏、网盘等。
此工具以及其衍生项目仅用于教育目的。在使用它之前,请确保你有权限操作目标系统。
利用此工具对他人进行网络攻击是违法的,请勿用于非法用途!
对于使用本项目进行非法操作,造成严重后果的,均与本人无关!
- 优化远程主机反弹shell后的交互
- 监控鼠标位置
- 监控键盘输入
- 控制主机屏幕操作