謹(jǐn)防LaZagne對D-Bus API的攻擊
攻擊者已經(jīng)增加了對Linux系統(tǒng)的目標(biāo)攻擊,并且像LaZagne(一種流行的開源密碼恢復(fù)工具)這樣的hacktool實用程序的易于訪問性使得攻擊者在惡意軟件攻擊鏈中使用它來轉(zhuǎn)儲密碼變得越來越方便。該工具對Linux用戶構(gòu)成了重大風(fēng)險,因為它針對的是Pidgin等流行聊天軟件,使用D-Bus API提取包括密碼在內(nèi)的敏感信息。D-BUS是一個提供簡單的應(yīng)用程序互相通訊的途徑的自由軟件項目,它是做為freedesktoporg項目的一部分來開發(fā)的。
本文會介紹LaZagne如何利用Pidgin D-Bus API來獲取這些信息,以及為什么密切關(guān)注D-Bus API是一種明智的安全舉措。另外,我們還將介紹具體示例,研究攻擊者如何在特定的惡意軟件活動中使用LaZagne。pidgin是一個可以在Windows、Linux、BSD和Unixes下運行的多協(xié)議即時通訊客戶端,可以讓你用你所有的即時通訊賬戶中一次登錄。
支持eBPF的Linux的Advanced WildFire成功地檢測到D-Bus API相關(guān)的活動。Palo Alto Networks的客戶可以通過YARA和行為規(guī)則來檢測與LaZagne攻擊相關(guān)的可疑活動。
D-Bus簡介
Desktop-Bus,通常稱為D-Bus,是基于*nix的系統(tǒng)中的一種進(jìn)程間通信(IPC)機制,它允許應(yīng)用程序和服務(wù)相互有效地通信。D-Bus使用客戶機-服務(wù)器體系結(jié)構(gòu),其中dbus-daemon應(yīng)用程序充當(dāng)服務(wù)器,應(yīng)用程序充當(dāng)客戶機。
D-Bus廣泛應(yīng)用于NetworkManager, PulseAudio, systemd和Evolution等流行軟件中,它可以實現(xiàn)各種系統(tǒng)組件和應(yīng)用程序之間的無縫通信。例如,Evolution電子郵件客戶端使用D-Bus與Evolution數(shù)據(jù)服務(wù)器等其他組件進(jìn)行通信。該數(shù)據(jù)服務(wù)器處理存儲和管理電子郵件帳戶、聯(lián)系人和日歷等任務(wù)。
Linux系統(tǒng)上的D-Bus API促進(jìn)了應(yīng)用程序和服務(wù)之間的通信,這可能會泄露敏感數(shù)據(jù)。因此,如果不對API進(jìn)行監(jiān)控,它們可能會帶來風(fēng)險。LaZagne hacktool利用Pidgin D-Bus API來轉(zhuǎn)儲憑證。HackTool/SMBRelay是一個利用139端口截獲用戶機密信息,以獲取服務(wù)器訪問權(quán)限的木馬程序。
LaZagne如何竊取Pidgin文憑
LaZagne連接到Pidgin客戶端的D-Bus API,并在應(yīng)用程序運行時獲取帳戶憑證,包括用戶名和密碼。
LaZagne獲取帳戶憑證
下圖中的代碼顯示了LaZagne hacktool如何與Pidgin D-Bus API連接以檢索憑證。
LaZagne利用D-Bus獲取密碼
接下來我們會對上圖中高亮顯示的代碼進(jìn)行詳細(xì)介紹:
1.get_password_from_dbus方法在Pidgin類中定義,它繼承自ModuleInfo類;
2.使用dbus.bus.BusConnection(session)為每個會話創(chuàng)建D-Bus連接。對于在紫色對象上調(diào)用的每個方法(作為Pidgin D-Bus API的實例創(chuàng)建),dbus-python庫內(nèi)部處理D-Bus消息的創(chuàng)建、發(fā)送和接收;
3.PurpleAccountGetUsername(_acc), PurpleAccountGetPassword(_acc)和PurpleAccountGetProtocolName(_acc)方法用于與Pidgin應(yīng)用程序交互。它們分別從Pidgin D-Bus API獲取每個帳戶的用戶名、密碼和協(xié)議名;
4.然后將提取的信息作為字典存儲在名為pwd_found的列表中。
一些可用于類似進(jìn)程的低級libdbus庫API(如下圖所示)包括:
1.dbus_message_new_method_call (),為方法調(diào)用創(chuàng)建一個新的D-Bus消息;
2.dbus_message_append_args (),將參數(shù)附加到D-Bus消息;
3.dbus_connection_send_with_reply_and_block (),
發(fā)送消息并等待回復(fù);
4.dbus_message_get_args (),從回復(fù)消息中提取參數(shù)。
LaZagne的Pidgin類的低級實現(xiàn)
LaZagne允許攻擊者轉(zhuǎn)儲除Pidgin之外的其他帳戶的憑證。它還可以通過D-Bus API轉(zhuǎn)儲KDE錢包(KWallet)密碼。KWallet是Linux上KDE桌面環(huán)境使用的安全密碼管理系統(tǒng),這些密碼是保存在KWallet系統(tǒng)中的個人密碼,其中可以包括網(wǎng)站密碼、電子郵件帳戶密碼、Wi-Fi網(wǎng)絡(luò)密碼或用戶選擇存儲的任何其他憑證。
攻擊者利用這些D-Bus API獲取敏感數(shù)據(jù),各種公開來源記錄了在過去幾年中使用LaZagne的攻擊組織的案例。
惡意軟件活動中的LaZagne
LaZagne在多個操作系統(tǒng)上的可用性使其成為攻擊者的一個有吸引力的工具。
2019年,疑似由伊朗贊助的攻擊組織Agent Serpens(又名Charming Kitten或APT35)利用LaZagne進(jìn)行了一系列攻擊,從基于windows的系統(tǒng)中獲取登錄憑證。
2020年,Unit 42研究人員追蹤到的活動集群為CL-CRI-0025(被其他公司追蹤為UNC1945或LightBasin的攻擊者),使用包含各種工具(包括LaZagne)的自定義快速仿真器(QEMU)Linux虛擬機從意大利和其他歐洲地區(qū)獲取證書。
據(jù)報道,自2020年以來,我們追蹤的攻擊者Prying Libra(又名Gold Dupont,導(dǎo)致RansomEXX勒索軟件攻擊的幕后黑手)使用LaZagne從目標(biāo)主機提取憑證。
早在2021年7月,Adept Libra(又名TeamTNT)就利用LaZagne作為其Chimaera活動的一部分,從各種操作系統(tǒng)中竊取密碼,包括基于云環(huán)境的Linux發(fā)行版。該活動至少持續(xù)到2021年12月,當(dāng)時Adept Libra使用LaZagne從Kubernetes環(huán)境中的WordPress網(wǎng)站竊取密碼。
下表總結(jié)了黑客工具在各種惡意軟件攻擊活動中的使用情況:
謹(jǐn)防LaZagne對D-Bus API的攻擊
2021年12月攻擊中使用LaZagne的bash腳本示例
謹(jǐn)防LaZagne對D-Bus API的攻擊
TeamTNT LaZagne腳本(VirusTotal按哈西值計算的結(jié)果
復(fù)雜的組織在其活動中使用LaZagne突顯了該工具在捕獲密碼和實現(xiàn)進(jìn)一步利用方面的有效性。
監(jiān)控D-Bus API
由于LaZagne可以利用D-Bus從運行的應(yīng)用程序中提取敏感數(shù)據(jù),我們可以監(jiān)控D-Bus API調(diào)用來檢測此類可疑活動。庫跟蹤工具,例如基于Extended Berkeley Packet Filter(eBPF)的工具,有助于公開D-Bus API調(diào)用。
下圖說明了使用bpftrace工具針對LaZagne黑客工具活動對D-Bus API的監(jiān)控(SHA256:d2421efee7a559085550b5575e2301a7c2ed9541b9e861a23e57361c0cdbdbdb)。
Bpftrace是Linux系統(tǒng)的命令行工具,用于動態(tài)分析內(nèi)核和用戶級程序。使用bpftrace工具,我們在dbus_message_get_args() API上設(shè)置監(jiān)控器。我們使用這個API從應(yīng)答消息中提取參數(shù),該消息在libdbus-1.so.3共享對象庫中定義。
使用的單行bpftrace probe命令如下:
使用bpftrace監(jiān)控D-Bus API
上圖顯示了Pidgin用戶名和密碼被LaZagne成功轉(zhuǎn)儲(在左側(cè)終端上),API調(diào)用被記錄在bpftrace輸出中(在右側(cè)終端上)。
掛鉤高級D-Bus API并記錄諸如進(jìn)程標(biāo)識符(PID)和程序名稱之類的詳細(xì)信息可能很有用,因為它們允許我們識別哪個進(jìn)程正在調(diào)用API。
總結(jié)
密切監(jiān)控D-Bus API可能是防御者保護(hù)應(yīng)用程序和連接系統(tǒng)免受惡意軟件和黑客工具攻擊的重要途徑。開發(fā)人員和網(wǎng)絡(luò)安全專業(yè)人員必須協(xié)作,隨時了解安全風(fēng)險,并采取必要措施保護(hù)應(yīng)用程序和敏感用戶數(shù)據(jù)。
隨著云計算和物聯(lián)網(wǎng)的日益普及,強大的安全措施至關(guān)重要。支持eBPF的Linux的Advanced WildFire成功地檢測到D-Bus API相關(guān)的活動。
本文翻譯自:https://unit42.paloaltonetworks.com/lazagne-leverages-d-bus/如若轉(zhuǎn)載,請注明原文地址