您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何用python擼了一個PyRat,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
PyRat,基于python XmlRPC完成的遠控開源項目,包括客戶端和服務端(也叫控制端,后統稱服務端)。
申明:項目僅供技術交流,請勿用于商業及非法用途,如產生任何法律糾紛均與本人無關!
項目地址:https://github.com/anhkgg/PyRat
由于XmlRPC基于http協議,所以PyRat能夠無視防火墻,更加優雅得進行通信和控制。
python的跨平臺特性,使得PyRat客戶端可以支持Windows/Linux/Macos等不同平臺,目前支持Windows/Linux平臺,其他平臺未作測試。
服務端命令行控制和管理,逼格滿滿。
目前客戶端支持基本信息、上傳、下載、cmdshell、運行軟件、結束進程、更新、卸載等功能
python2.7
colorama (服務端)
兼容測試Macos等其他平臺
增加更多功能,比如文件操作,批量斷點文件傳輸,遠程桌面,截屏,賬戶操作等等
服務端可視化
歡迎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
或c
進入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。
測試中發現可能有編碼問題
看完上述內容,你們對如何用python擼了一個PyRat有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。