您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了Thinkphp RCE漏洞和掃描流量的示例分析,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學習一下“Thinkphp RCE漏洞和掃描流量的示例分析”這篇文章吧。
thinkphp屬于一種免費的開發(fā)框架,能夠用于開發(fā)前端網(wǎng)頁,最早thinkphp是為了簡化開發(fā)而產(chǎn)生的,thinkphp同時也是遵循Apache2協(xié)議,最初是從Struts演變過來,也把國外一些好的框架模式進行利用,使用面向?qū)ο蟮拈_發(fā)結構,兼容了很多標簽庫等模式,它能夠更方便和快捷的開發(fā)和部署應用,當然不僅僅是企業(yè)級應用,任何php應用開發(fā)都可以從thinkphp的簡單、兼容和快速的特性中受益。
一、前言
19年初,網(wǎng)上公開了2個Thinkphp5的RCE漏洞,漏洞非常好用,導致有很多攻擊者用掃描器進行全網(wǎng)掃描。我們通過ips設備持續(xù)觀察到大量利用這幾個漏洞進行批量getshell的攻擊流量,本文主要從流量角度簡要分析和利用thinkphp進行攻擊的全網(wǎng)掃描和getshell流量痕跡。
二、Thinkphp RCE漏洞和掃描流量
2.1漏洞原理回顧
2.1.15.0.x版本漏洞
原理在于Thinkphp處理請求的關鍵類為Request(thinkphp/library/think/Request.php),該類可以實現(xiàn)對HTTP請求的一些設置
Thinkphp支持配置“表單偽裝變量”,默認情況下該變量值為_method,因此在method()中,可以通過“表單偽裝變量”進行變量覆蓋實現(xiàn)對該類任意函數(shù)的調(diào)用,并且$_POST作為函數(shù)的參數(shù)傳入??梢詷嬙煺埱髞韺崿F(xiàn)對Request類屬性值的覆蓋,例如覆蓋filter屬性(filter屬性保存了用于全局過濾的函數(shù)),從而實現(xiàn)代碼執(zhí)行。
2.1.25.1.x-5.2.x版本漏洞
與5.0.x版本漏洞相似,漏洞點都存在于Request(thinkphp/library/think/Request.php)類中,其中:
$method變量是$this->method,其等同于POST的“_method”參數(shù)值,可以利用覆蓋$filter的屬性值(filter屬性保存了用于全局過濾的函數(shù)),從而實現(xiàn)代碼執(zhí)行。
該漏洞觸發(fā)時會出現(xiàn)警告級別的異常導致程序終止,此時需要設置忽略異常提示,在public/index.php中配置error_reporting(0)忽略異常繼續(xù)運行代碼,如下圖:
2.2Thinkphp漏洞全網(wǎng)掃描
從流量角度來看,利用Thinkphp漏洞就是發(fā)一個http包。我們發(fā)現(xiàn)某黑客的掃描器是先寫一個簡單的一句話作為指紋,后續(xù)再訪問這個文件看是否返回指紋信息,訪問成功說明shell已經(jīng)成功,基本就是發(fā)兩個http包,掃描器記下成功寫入的shell的網(wǎng)站ip和url然后手工用菜刀連接,進行后續(xù)操作。
從IPS設備日志和人工驗證,攻擊者的攻擊步驟包含2步:1、全網(wǎng)掃描發(fā)送exp,根據(jù)指紋識別是否getshell;2、菜刀連接,進行遠程控制;
2.2.1全網(wǎng)掃描發(fā)送exp
一般掃描日志都是遍歷B段或C段,時間也比較密集,某個被記錄的掃描器日志片段如下,
具備3個特征:1、目的ip為相同C段或者B段,2、端口比較固定,3掃描時間非常密集
掃描器發(fā)送的確認shell已經(jīng)寫入成功的報文,采用掃描器專用的指紋,所以ips是沒有這種檢測規(guī)則的。
2.2.2菜刀連接
在攻擊者手工菜刀連接被攻陷的站點時,也會被ips檢測到,通過上下文關聯(lián)溯源到thinkphp漏洞作為攻擊者的突破口。挑選幾個當時記錄的典型案例:
被攻陷的鄭州服務器1(122.114.24.216):
該網(wǎng)站確實為thinkphp5發(fā)開,當時webshell木馬還在服務器上未被刪除??梢酝ㄟ^服務器訪問黑客上傳的該木馬,指紋信息為baidu,掃描器用這個指紋來自動判斷getshell成功并記錄url。
被攻陷的四川服務器(182.151.214.106):
被攻陷的四川服務器(182.151.214.106):
這個案例木馬雖然被清除,但是當時服務器還是可以連通,服務器也是thinkphp框架,用戶名疑似chanpei
設備記錄了黑客連接木馬并執(zhí)行網(wǎng)絡查詢命令時的報文,得到的信息與以上報錯信息一致。并且看得出服務器也所處為內(nèi)網(wǎng)的一臺機器,截圖看到至少該網(wǎng)絡包含192.168.9.0和192.168.56.0兩個子網(wǎng),如下圖:
被攻陷的美國服務器(161.129.41.36):
美國這臺服務器上的webshell也被清理掉了,通過設備抓包,發(fā)現(xiàn)有黑客使用了相同的webshell木馬,即 x.php,懷疑是同一批黑客。
黑客在瀏覽美國服務器上x.php(webshell)文件內(nèi)容時,設備記錄了x.php的密碼為xiao,并且標志位也是baidu。
可以看出利用這兩個Thinkphp高危RCE漏洞,當時是掃到了大量的服務器漏洞的。
三、總結
本文結合Thinkphp的歷史漏洞原理,分享了發(fā)現(xiàn)利用Thinkphp漏洞攻擊成功的案例。目前設備每天檢測到最多的日志就是weblogic、struts2、thinkphp這類直接getshell的日志或者ssh rdp暴力破解日志。很多攻擊者一旦發(fā)現(xiàn)最新的exp就裝備到自己的掃描器上面全網(wǎng)一陣掃,一天下來可能就是若干個shell。所以出現(xiàn)高危漏洞后建議用戶及時打上補丁,配置好安全設備策略,從實際幾個案例來看,掃描器的風險一直都在。如果能配置好網(wǎng)站禁止ip直接訪問,能在某種程度上緩解一下這種威脅。
以上就是關于“Thinkphp RCE漏洞和掃描流量的示例分析”的內(nèi)容,如果改文章對你有所幫助并覺得寫得不錯,勞請分享給你的好友一起學習新知識,若想了解更多相關知識內(nèi)容,請多多關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。