楼主: 御坂14857号
收起左侧

[病毒样本] 可疑ps1脚本

[复制链接]
biue
发表于 5 天前 | 显示全部楼层
本帖最后由 biue 于 2025-6-10 23:30 编辑

腾讯电脑管家 1X

本帖子中包含更多资源

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

x
pal家族
发表于 5 天前 | 显示全部楼层
目前ps1脚本和dll 卡巴都可以杀了、
飞翔的蒲公英
发表于 5 天前 | 显示全部楼层
本帖最后由 飞翔的蒲公英 于 2025-6-10 00:05 编辑

安天智甲扫描miss,双击miss。
云溪杀毒扫描miss,双击当场拦截。果然云溪杀毒的主防内核要比智甲的新一些。



云溪杀毒日志:
2025-05-03 09:51:36    发现威胁   
行为: 进程行为
处置: 阻止
处置结果: 已阻止
威胁等级: 3
客体: C:\Windows\explorer.exe
主体: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
行为tag: 启动进程

本帖子中包含更多资源

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

x
GDHJDSYDH
发表于 4 天前 | 显示全部楼层
EIS扫描miss,沙盒内运行冰盾拦截一次然后脚本出错自退,EIS击杀衍生物dll

本帖子中包含更多资源

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

x
LeeHS
发表于 4 天前 | 显示全部楼层
cortex 跑不起來 可能miss
1073328164
发表于 4 天前 | 显示全部楼层
迈克菲 kill

本帖子中包含更多资源

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

x
骨灰级小白
发表于 4 天前 | 显示全部楼层
实机WD MISS,毛豆入沙

本帖子中包含更多资源

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

x
tomochan
发表于 4 天前 | 显示全部楼层
avast 扫描miss双击注入防护拦截

本帖子中包含更多资源

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

x
aikafans
发表于 4 天前 | 显示全部楼层

ui还挺好看,一开始以为是malwarebytes
图钉鱼
发表于 4 天前 | 显示全部楼层
本帖最后由 图钉鱼 于 2025-6-11 00:07 编辑

这段PowerShell脚本执行明显的恶意特征:

1. 创建隐藏目录:在%APPDATA%\Microsoft\Credentials创建暂存目录,伪装为合法凭据存储位置。
2. 生成ZIP文件:将十六进制数据(`$hexData`)解码为字节,写入LightYellow4.zip。
3. 随机延时:暂停4-8秒,规避沙箱检测。
4. 解压并删除ZIP:解压LightYellow4.zip到同一目录,生成LightYellow4.pfx,删除ZIP文件以清除痕迹。
5. 再次延时:暂停3-6秒。
6. 处理PFX文件:
读取LightYellow4.pfx,查找<<MARINA_START>>和<<MARINA_END>>标记。
提取标记间或标记后的内容(若无标记,保留原内容),写回PFX文件。
搜索文件中<<MARINA_START>>和<<MARINA_END>>的字节位置。
如果找到两个标记:
查找第二个<<MARINA_START>>。
如果存在第二个开始标记,提取从第一个<<MARINA_END>>到第二个<<MARINA_START>>之间的内容。
如果没有第二个开始标记,提取从第一个<<MARINA_END>>到文件末尾的内容。如果未找到标记,保留原始文件内容。
保存处理后的PFX文件。
7. 第三次延时:暂停2-4秒。
8. 注册PFX文件:使用regsvr32.exe以静默模式(/s)和参数/i:googlechromebusiness.msi加载LightYellow4.pfx,此操作异常(DLL伪装)。
9. 最后延时:暂停3-6秒。


提取内嵌恶意样本代码,我提取的样本和楼上的不一致,原因未知。(python实现,自行添加样本的十六进制字符串代码在对应位置)
  1. import os
  2. import binascii
  3. import time
  4. import random
  5. import zipfile

  6. # 设置 staging 目录
  7. # 使用当前工作目录作为 staging 目录
  8. staging_dir = os.getcwd()
  9. if not os.path.exists(staging_dir):
  10.     os.makedirs(staging_dir)

  11. # 定义 zip 文件路径
  12. # 在 staging_dir 下创建名为 LightYellow4.zip 的文件路径
  13. zip_path = os.path.join(staging_dir, 'LightYellow4.zip')

  14. # hex_data 占位符(请替换为实际的十六进制字符串)
  15. # 该字符串应代表一个包含 LightYellow4.pfx 的 zip 文件
  16. hex_data = "..."  # 替换为有效的十六进制字符串

  17. # 将十六进制数据转换为字节并写入 zip 文件
  18. try:
  19.     # 验证 hex_data 是否为有效的十六进制字符串
  20.     if not all(c in '0123456789abcdefABCDEF' for c in hex_data) or len(hex_data) % 2 != 0:
  21.         raise ValueError("hex_data 不是有效的十六进制字符串")
  22.     # 使用 binascii.unhexlify 将 hex_data 转为字节
  23.     data = binascii.unhexlify(hex_data)
  24.     with open(zip_path, 'wb') as f:
  25.         f.write(data)
  26. except (binascii.Error, ValueError) as e:
  27.     print(f"错误:无法将 hex_data 转换为字节 - {e}")
  28.     exit(1)



  29. # 解压 zip 文件到 staging 目录
  30. try:
  31.     with zipfile.ZipFile(zip_path, 'r') as zip_ref:
  32.         # 验证 zip 文件是否有效
  33.         zip_ref.testzip()
  34.         zip_ref.extractall(staging_dir)
  35. except zipfile.BadZipFile:
  36.     print(f"错误:{zip_path} 不是一个有效的 zip 文件,请检查 hex_data")
  37.     exit(1)
  38. except Exception as e:
  39.     print(f"解压失败:{e}")
  40.     exit(1)

  41. # 删除 zip 文件
  42. # 解压完成后移除临时的 LightYellow4.zip 文件
  43. try:
  44.     os.remove(zip_path)
  45. except OSError as e:
  46.     print(f"警告:无法删除 {zip_path} - {e}")



  47. # 读取 pfx 文件
  48. # 打开解压后的 LightYellow4.pfx 文件并读取其二进制内容
  49. drv_file = os.path.join(staging_dir, 'LightYellow4.pfx')
  50. try:
  51.     with open(drv_file, 'rb') as f:
  52.         drv_content = f.read()
  53. except FileNotFoundError:
  54.     print(f"错误:未找到 {drv_file},请确保 zip 文件包含 LightYellow4.pfx")
  55.     exit(1)
  56. except Exception as e:
  57.     print(f"读取 {drv_file} 失败:{e}")
  58.     exit(1)

  59. # 定义标记
  60. # 设置用于查找的开始和结束标记,用于处理 pfx 文件内容
  61. start_marker = b'<<MARINA_START>>'
  62. end_marker = b'<<MARINA_END>>'

  63. # 在内容中查找标记
  64. # 查找 start_marker 和 end_marker 的位置,决定保留哪些内容
  65. start_index = drv_content.find(start_marker)
  66. if start_index != -1:
  67.     end_index = drv_content.find(end_marker, start_index + len(start_marker))
  68.     if end_index != -1:
  69.         end_index += len(end_marker)
  70.         second_start_index = drv_content.find(start_marker, end_index)
  71.         if second_start_index != -1:
  72.             # 如果找到第二个 start_marker,保留 end_marker 之后到第二个 start_marker 之前的内容
  73.             clean_drv_content = drv_content[end_index:second_start_index]
  74.         else:
  75.             # 如果没有第二个 start_marker,保留 end_marker 之后的内容
  76.             clean_drv_content = drv_content[end_index:]
  77.     else:
  78.         # 如果没有 end_marker,保留全部内容
  79.         clean_drv_content = drv_content
  80. else:
  81.     # 如果没有 start_marker,保留全部内容
  82.     clean_drv_content = drv_content


  83. # 将清理后的内容写回文件
  84. # 将处理后的内容重新写入 LightYellow4.pfx 文件
  85. try:
  86.     with open(drv_file, 'wb') as f:
  87.         f.write(clean_drv_content)
  88. except Exception as e:
  89.     print(f"写入 {drv_file} 失败:{e}")
  90.     exit(1)

复制代码

运行后生成一个LightYellow4.pfx文件,实际是DLL文件。md5:46c2910906818aa89cb308f8e11b189f

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-6-14 05:46 , Processed in 0.091968 second(s), 14 queries .

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

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