社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

使用Python绕过勒索软件攻击

FreeBuf • 1 年前 • 298 次点击  

FreeBuf粉丝交流群招新啦!

在这里,拓宽网安边界

甲方安全建设干货;

乙方最新技术理念;

全球最新的网络安全资讯;

群内不定期开启各种抽奖活动;

FreeBuf盲盒、大象公仔......

扫码添加小蜜蜂微信回复“加群”,申请加入群聊


在不断变化的网络安全威胁中,勒索软件攻击对个人和组织构成了重大风险。

这些恶意攻击加密了关键文件,并要求用赎金换取解密密钥,这也让受害者陷入两难:要么支付赎金,要么就是永久性数据损失。


在这篇文章中,我们探讨了一种可能的方法,即利用一种被称为对加密文件进行暴力破解的技术,以达到绕过勒索软件攻击的目的。


暴力破解技术包括系统地尝试各种密码或加密密钥的组合,直到发现正确的组合。必须明确的是,在没有适当授权的情况下绕过加密是非法的和不道德的,但本文只是和大家探讨这种概念,以解决勒索软件加密的这个问题场景,不应用于日常实际的案例中。


通过了解暴力破解的原理及其问题,不管是个人,还是企业,都可以更好地理解其现有安全措施的漏洞,并采取相应的预防措施。我们将讨论这种方法的潜在风险和局限性,以及其他勒索软件的防范策略。


必须强调的是,本文旨在提供知识,提高人们对攻击者使用的技术和潜在防御措施的认识。我们强烈反对从事任何非法活动,包括未经适当授权试图绕过加密,并可能导致严重的法律后果。


接下来,就让我们深入了解勒索软件攻击的世界,暴力破解加密文件的概念,以及对网络安全的影响。通过了解这些威胁的内部运作,我们有能力建立更强大的防御措施,并保护我们的宝贵数据和系统免受潜在的勒索软件攻击。


绕过加密的勒索软件文件


首先,我们有一个EncryptedFilePack.zip文件,它由一个bruteforce.py模板文件、一个rockyou.txt词表和加密的勒索软件文件enc.zip组成。



当我们试图打开enc.zip文件以恢复ImportantFile.docx时,我们得到一个需要密码的提示。不幸的是,我们手动输入的密码并不能授予我们访问权。



让我们用Visual Studio Code打开bruteforce.py文件。



这里我们有一个暴力破解启动器模板,我们可以修改它来破解加密的勒索软件enc.zip文件。



在对暴力破解代码进行一些重大修改后,我们可以用它来准确地找到enc.zip文件的密码。给出的代码是一个受密码保护的ZIP文件的暴力破解密码程序。


从这个文本文件中,我们可以看到一个潜在的密码列表。对于每个密码会自动跑一遍,尝试提取ZIP文件的内容。如果一个密码是正确的,它将跳出一个成功的信息,然后退出。不然它就会继续尝试其他密码。最后,如果没有找到有效的密码,它会显示一条信息,显示失败。


from zipfile import ZipFile
def attempt_extract(zf_handle, password): try: zf_handle.extractall(pwd=password.encode()) print("[+] Password found: " + password) return True except: return False
def main(): print("[+] Beginning brute force") with ZipFile('enc.zip') as zf: with open('rockyou.txt', 'rb') as f: password_found = False # Flag to track if password is found for line in f: password = line.strip().decode('utf-8') if attempt_extract(zf, password): password_found = True # Set the flag to True break # Exit the loop if password is found else: print("[-] Incorrect password: " + password)
if not password_found: print("[-] Password not found in list")
if __name__ == "__main__": main()

(向右滑动,查看更多)



暴力破解代码准备好后,我们可以用Visual Studio Code集成的命令行界面运行代码,该界面允许我们直接在编辑器中与计算机的操作系统进行交互。它提供了一种便利的方式来执行命令,运行脚本,编译代码,以及执行其他各种任务,而无需离开编码环境。


在Visual Studio Code中打开终端→cd桌面→ls。


我们可以通过ls命令看到桌面上的所有四个文件。


键入以下命令,在enc.zip勒索软件文件上执行代码。


python3 bruteforce.py



该代码试图使用文本文件中的潜在密码列表来提取受密码保护的ZIP文件的内容。它对列表中的每个密码进行尝试,并试图提取ZIP文件的内容,直到找到正确的密码,或者列表中的密码运行完。



找到了正确的密码!!!显示出一条成功信息,表明密码被成功破解。


[+] 找到了密码:SPONGEBOB。



输入ls命令,现在我们看到桌面上有五个文件。ImportantFile.docx文件是从加密的勒索软件enc.zip文件中检索出来的。



我们无法访问ImportantFile.docx文件,因为它被保存在一个加密的enc.zip文件中以获得赎金。为了解决这个问题,我们利用Visual Studio Code运行了一个代码,可以对enc.zip文件进行暴力攻击,破解密码,并成功提取ZIP文件的内容,其中恰好是ImportantFile.docx。




https://thegrayarea.tech/bypassing-a-ransomware-attack-with-python-a2f57a5f60bc




Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/157441
 
298 次点击