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