吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10641|回复: 12
收起左侧

[Python 转载] 撸了一个远控: 叫做PyRat

[复制链接]
anhkgg 发表于 2018-3-23 13:11
本帖最后由 anhkgg 于 2018-3-24 15:17 编辑

PyRat

额,由于项目中留了交流QQ群,版规不允许,所以有兴趣的自行在github搜索

PyRat,基于python XmlRPC完成的远控开源项目,包括客户端和服务端。

申明:项目仅供技术交流,请勿用于商业及非法用途,如产生任何法律纠纷均与本人无关!

  1. 由于XmlRPC基于http协议,所以PyRat能够无视防火墙,更加优雅得进行通信和控制。
  2. python的跨平台特性,使得PyRat客户端可以支持Windows/Linux/Macos等不同平台,目前测试通过支持Windows/Ubuntu/Macos平台。
  3. 服务端命令行控制和管理,逼格满满。
  4. 目前客户端支持基本信息、上传、下载、cmdshell、运行软件、结束进程、更新、卸载等功能

依赖

  1. python2.7
  2. colorama (服务端)

TODO

  1. 增加更多功能,比如文件操作,批量断点文件传输,远程桌面,截屏,账户操作等等
  2. 服务端可视化
  3. 交互式shell
  4. 欢迎PR

基本使用

客户端

> python .\pyratcli.py localhost 80

服务端

> python pyratsvr.py 80
--------------------Python RAT-----------------------
--------------------anhkgg---------------------------
--------------------Copyright (c) 2018---------------

软件仅供技术交流,请勿用于商业及非法用途,如产生法律纠纷与本人无关!

--------------------Task command---------------------
--|(l)ist (a)live (k)ill (s)elect (p)rint (c)mdshell (n)ew (d)ownload (r)unexec (u)pload (t)erminate (q)uit (h)elp|--

cmd >

客户端上线后,服务端会提示,并且将最新上线客户端设置未默认操作目标。

cmd >test-3333333 is online.
Auto set target test-3333333

help或者h可列出服务端支持的所有命令。

cmd >help
(l)ist:     list all clients
(a)live:    list alive clients
(k)ill:     delete client
(s)elect:   select target client
(p)rint:    show current client
(c)mdshell: create a cmdshell, type q to exit cmdshell
(n)ew:      update client version
(d)ownload: let client download a file
(r)unexec:  let client run a exe
(u)pload:   upload a file to client
(t)erminate:terminate process
(q)uit:     quit server

客户端管理

服务端使用sqlite保存客户端基础信息以及任务信息,通过命令可以对客户端进行管理。

//枚举所有客户端
cmd >l
test-3333333 offline 2018-03-20 22:46:59!
id     | client_id                  | version  | localip              | remoteip             | username             | osversion  | firsttime            | lasttime             | status
10     | test-3333333     | 0.1.0    | 192.168.149.1        | 114.245.47.12        | test            | Windows10.0.16299 | 2018-03-17 12:39:56  | 2018-03-20 22:46:59  | 0
cmd >
//枚举在线客户端
cmd >a
no alive client
//删除客户端数据库记录或者卸载客户端
cmd >k
target cid(or ALL):test-3333333
Do you want to uninstall client?(Y/N)

如果需要控制客户端时,需要通过select或者s选择要操作的客户目标。

cmd >c //想进入cmdshell,提示无目标
Please first set target client by (s)elect command.
cmd >s //设置目标
client_id:test-3333333
Set target client: test-3333333
//查看当前目标
cmd >p
test-3333333

cmdshell

通过cmdshellc进入cmdshell,除非主动输入q,否则一直在cmdshell操作目录。

cmdshell记录操作目录,比如cd c:\,下次操作会在该目录下进行,实现了类似管道连接的cmdshell。

另外若通过cmdshell启动进程,某些进程可能会阻塞消息返回,所以不推荐使用,而是使用runexec来代替。

cmd >c
RAT-CMD > dir
RAT-CMD > test-3333333 do cmdshell(195) dir True
 驱动器 D 中的卷是 gitrepo
 卷的序列号是 EB2F-5AC0

 D:\PyRat\client 的目录

2018/02/24  09:40    <DIR>          .
2018/02/24  09:40    <DIR>          ..
2018/03/20  22:46             4,919 pyratcli.py
2018/03/20  23:01                28 cmd.log
2018/03/17  12:39             1,322 pyratfc.py
2018/03/17  11:19             2,500 osver.py
2018/03/17  12:39             2,161 pyratfc.pyc
               5 个文件         10,930 字节
               2 个目录 647,836,565,504 可用字节

RAT-CMD > ver
RAT-CMD > test-3333333 do cmdshell(196) ver True

Microsoft Windows [版本 10.0.16299.309]

RAT-CMD > tasklist
RAT-CMD > test-3333333 do cmdshell(197) tasklist True

映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0          8 K
System                           4 Services                   0      3,564 K
smss.exe                       360 Services                   0        412 K
csrss.exe                      492 Services                   0      1,700 K
Calculator.exe               21656 RDP-Tcp#85                 1     56,772 K
RAT-CMD > tasklist |findstr Cal
RAT-CMD > test-3333333 do cmdshell(200) tasklist |findstr Cal True
Calculator.exe               21656 RDP-Tcp#85                 1     51,856 K
RAT-CMD > taskkill /IM Calculator.exe
RAT-CMD > test-3333333 do cmdshell(201) taskkill /IM Calculator.exe True
成功: 给进程 "Calculator.exe" 发送了终止信号,进程的 PID 为 21656。
RAT-CMD > taskkill /PID 21656
RAT-CMD > test-3333333 do cmdshell(202) taskkill /PID 21656 True
成功: 给进程发送了终止信号,进程的 PID 为 21656。

文件操作

支持文件上传和下载,其中下载支持下载网络文件和服务端本地文件,暂时只支持单文件上传和下载。

cmd >d
url(type N to download local file):N //选择下载本地文件
local file:db.db
dest path:db.db
cmd >test-3333333 do download(203) local db.db db.db True
download success

cmd >d
url(type N to download local file):https://dl.360safe.com/360/inst.exe //下载网络文件
dest path:inst.exe
cmd >test-3333333 do download(204) net https://dl.360safe.com/360/inst.exe inst.exe True
download success

运行软件

cmd >r
run target:inst.exe
runexec inst.exe

结束进程

cmd > t
Select type(name/pid):name
process name:notepad.exe
cmd >test-3333333 do terminate(212) name notepad.exe True
成功: 给进程 "notepad.exe" 发送了终止信号,进程的 PID 为 25416。

免费评分

参与人数 3吾爱币 +5 热心值 +2 收起 理由
慕鸢灬 + 1 谢谢@Thanks!
wushaominkk + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
mengqiu + 1 + 1 终于看到了

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| anhkgg 发表于 2018-3-23 14:17
Seven_2017 发表于 2018-3-23 13:36
哇   求一份儿啊  这么好的东西  pan

自己github搜索一下吧
魏子都 发表于 2018-3-23 14:47
回忆小马甲 发表于 2018-3-23 13:20
虽然看不懂,还是支持下技术大牛

难道你也是萌新..........我是过来向大神学习的
回忆小马甲 发表于 2018-3-23 13:20
Seven_2017 发表于 2018-3-23 13:36
哇   求一份儿啊  这么好的东西  pan
peterq521 发表于 2018-3-23 13:45
学习一下 顶楼主
Seven_2017 发表于 2018-3-23 16:05
anhkgg 发表于 2018-3-23 14:17
自己github搜索一下吧

好的  谢谢
 楼主| anhkgg 发表于 2018-3-24 15:19
自己顶下,居然没人看,需要更多人来完善他啊
ozinne 发表于 2018-3-25 11:19
谢谢楼主分享,下载下来研读一下源码。
ozinne 发表于 2018-3-25 11:21
ozinne 发表于 2018-3-25 11:19
谢谢楼主分享,下载下来研读一下源码。

装作很大神的样子,别顶要脸。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-6-3 18:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表