[PHP是世界上最好的語言] 不信你看這款PHP寫的敲詐者木馬

有個笑話:女的說,你們能讓論壇上的人吵起來,我就做你女朋友。男的發(fā)了一句話:PHP是世界上最好的語言。瞬間論壇就炸鍋了,女的說好吧,我同意了,咱們去吃飯吧。男的:不!我一定要說服他們PHP必須是世界上最好的語言。今天揭秘一個“最好的語言”編寫的木馬——敲詐者木馬。
背景
你永遠叫不醒一個裝睡的人。但,快遞小哥可以!
雖說是一句戲言,但確實多少反映出了快遞在大家心中的重要性。如果你收到一個帶有快遞公司發(fā)來的電子郵件通知,你會不會也希望快點打開看看是不是哪個朋友給你寄了什么東西等著你去取呢?最近我們就收到了這樣的一個帶有“快遞單號”的電子郵件附件。唯一有些水土不服的就是——在中國用FedEx的確實并不很多……大寫的PITY……
木馬起始——FedEx_ID_00645987.doc.js
這個所謂的doc文檔,其實是一個javascript腳本,而腳本的內容……好亂……
凌亂的javascript腳本代碼
經(jīng)過簡單的解密和格式整理,給大家呈現(xiàn)了一個比較漂亮的腳本格式如下:
整理后的javascript腳本代碼
腳本主要功能就是循環(huán)下載并執(zhí)行木馬。腳本中供提供了5個域名供下載(域名作用為備份,如果前面的域名可以下載,則不再嘗試后面的域名):
腳本通過給URL傳遞不同參數(shù)的方式,獲取不同的文件(返回狀態(tài)碼200且返回內容大于1000字節(jié)即判斷為下載成功)。
最終木馬獲取如下文件(p.s. 根據(jù)后續(xù)實測,這五個文件仍在服務端不定期更新,本文僅描述文章撰寫時下載到的樣本行為):
如上表所示,腳本下載到本地的5個文件實際上被分成了3組:a1.exe和a2.exe各自獨立運行;a.exe、php4ts.dll和a.php則同為一組。必須三個文件同時存在,腳本才會執(zhí)行該木馬,而且還會再執(zhí)行完第三組之后打掃一下戰(zhàn)場——刪除掉木馬文件并且修改注冊表值用于關聯(lián)被加密的文件:
根據(jù)VT的掃描結果來看,54家全球主流殺軟中有12款產(chǎn)品可以檢出該木馬:
PHP木馬分析
其實這個木馬最先引起我們興趣的是后面下載的這三個一組的文件。之所以引起我們的興趣,是因為根據(jù)我們的記錄:a.exe和php4ts.dll其實都是人畜無害的合法程序。實際上,a.exe是PHP Thread Safe CGI(PHP線程安全通用網(wǎng)管接口),而php4ts.dll則是這個接口程序運行所必須導入的一個動態(tài)庫文件:
把話說的通俗點,這兩個程序其實就是一個php腳本的解釋器。他們被下載下來的唯一目的——就是讓a.php可以執(zhí)行。所以就讓我們看看這個a.php吧:
代碼邏輯并不復雜,腳本會遍歷C盤到Z盤的所有盤符下的文件,并跳過含有以下字符串的目錄:
\winnt\boot\system\windows\tmp\temp\program\appdata\application\roaming\msoffice\temporary\cacherecycle
查找以下這些擴展名的文件:
zip|rar|r00|r01|r02|r03|7z|tar|gz|gzip|arc|arj|bz|bz2|bza|bzip|bzip2|ice|xls|xlsx|doc|docx|pdf|djvu|fb2|rtf|ppt|pptx|pps|sxi|odm|odt|mpp|ssh|pub|gpg|pgp|kdb|kdbx|als|aup|cpr|npr|cpp|bas|asm|cs|php|pas|class|py|pl|h|vb|vcproj|vbproj|java|bak|backup|mdb|accdb|mdf|odb|wdb|csv|tsv|sql|psd|eps|cdr|cpt|indd|dwg|ai|svg|max|skp|scad|cad|3ds|blend|lwo|lws|mb|slddrw|sldasm|sldprt|u3d|jpg|jpeg|tiff|tif|raw|avi|mpg|mp4|m4v|mpeg|mpe|wmf|wmv|veg|mov|3gp|flv|mkv|vob|rm|mp3|wav|asf|wma|m3u|midi|ogg|mid|vdi|vmdk|vhd|dsk|img|iso
打開每一個符合擴展名要求的文件,讀取前1024字節(jié)并和密鑰做循環(huán)異或加密。加密完成后再將修改后的文件加上一個.crypted擴展名——萬事大吉。
只是讓我們很疑惑的是——雖然php這世界上最好的語言(好吧,這只是個梗),但木馬作者是如何用php在這么一段并不算長的代碼中實現(xiàn)不對稱加密的敲詐者代碼的?
細讀代碼之后恍然大悟——并沒有實現(xiàn)……這段代碼的加密方式采用了對稱加密算法,準確的說是循環(huán)異或加密。更加“人道主義”的是——這個php的加密代碼其實是“兩用”的,只要修改腳本中的一個參數(shù),整個腳本立刻成為了解密腳本??梢灾苯訉⒓用艿奈臋n解密回去:
所以說世界已經(jīng)這么亂了,不對稱加密的敲詐者滿天飛的今天,對稱加密敲詐者能不能就不要來添亂了?
當然,也并不是說這個腳本就人畜無害了——對稱加密沒有密鑰想解開依然很麻煩,雖然我們這里拿到密鑰了,但上面已經(jīng)說了:木馬作者再服務端依然持續(xù)更新著木馬的內容,并且木馬運行后會自刪除,所以說雖然是對稱加密,但依然有可能因為找不到加密時的密鑰導致依然很難解開文件(難,但并非無解)……
但這都不是重點,重點是木馬在加密完文件之后給出的敲詐信息:
相對于那些動輒兩三個比特幣的敲詐者木馬來說,0.40290個比特幣雖然有零有整的程度令人發(fā)指,但確實也算是價錢厚道了。但你所謂的“RSA-1024”是什么鬼?明明就是個簡單的循環(huán)異或加密好么!不要假裝自己是高大上的不對稱加密好么!WTF……
POWERSHELL木馬分析
然后我們再來說說兩個獨立運行的powershell木馬。雖然a1.exe與a2.exe是各自獨立運行的,但因為他們的行為基本相同,所以我們這里合并為一個來做統(tǒng)一說明。
樣本首先會執(zhí)行注入功能:
之后對線程做恢復以便執(zhí)行注入后的代碼:
完成后,惡意代碼會檢測機器環(huán)境——對不知處powershell的系統(tǒng)安裝微軟的KB968930補?。ㄑa丁相關說明:https://www.microsoft.com/en-us/download/details.aspx?id=16818),添加對powershell的支持:
在確保用戶環(huán)境可以執(zhí)行powershell之后,注冊一個文件關聯(lián),在文件打開的shell command中執(zhí)行一段腳本:
這是一段短小精悍的腳本,但系統(tǒng)會根據(jù)這段短小的腳本的指令,再次訪問注冊表去執(zhí)行注冊表中的另一段惡意代碼:
通過這種方式,惡意程序將惡意代碼全部保存在注冊表中,而落地文件只是用于觸發(fā)惡意代碼的執(zhí)行,本身并沒有惡意代碼。落在本地的文件根本沒有惡意代碼,這樣就更容易繞開安全軟件的掃描檢測。
我們導出含有惡意的代碼的注冊表內容,如下:
雖然已經(jīng)是落在注冊表中,但顯然木馬作者還是不放心——依然是用了多次的加密來掩蓋這段代碼的行為意圖。經(jīng)解密,我們得到的最終執(zhí)行代碼正是一段powershell代碼:
顯然,雖然已經(jīng)解密到最終一步,但中間的變量“$sc32”依然讓人看著有些不知所云……但看到ps1代碼的最后,發(fā)現(xiàn)其實這已經(jīng)是最終代碼了。最終就是將$sc32的內容全部加載帶內存中執(zhí)行:
我們把數(shù)據(jù)dump出來,發(fā)現(xiàn)代碼會從遠端下載文件到本地執(zhí)行,并且還會判斷一下文件是否是有效的可執(zhí)行程序——典型的下載者木馬:
非PE漸成趨勢
隨著安全軟件的普及,木馬病毒與安全軟件的對抗也逐漸變成了“近身肉搏戰(zhàn)”,大家都在鉆細節(jié),都想在對方忽略的某個小點上做單點突破——這樣一來,各種腳本甚至連腳本都不算的數(shù)據(jù)文件就顯現(xiàn)除了相對于傳統(tǒng)PE格式木馬更多的優(yōu)勢。
這次出現(xiàn)的敲詐者木馬就是典型的例子——一個javascript腳本木馬釋放出了一個php腳本木馬和兩個powershell腳本木馬。而powershell木馬甚至都沒有落成ps1腳本而是直接在注冊表中存儲,php木馬有落地的php文件,但php腳本既然能實現(xiàn)對稱加密的敲詐者木馬,更高一級的不對稱加密敲詐者木馬真的還會遠么?
當然,并不是說非PE就可以為所欲為了,既然是近身肉搏,安全軟件的響應自然也不會處于下風——兵來將擋水來土掩,我們已經(jīng)做好了戰(zhàn)斗準備。
相關文章
- 未來的互聯(lián)網(wǎng)最重要的不是速度,不是容量,而是安全。黑客這個詞很多人已經(jīng)耳熟能詳,雖然他們是一群神秘的人,但不能判斷他們是不是好人,越厲害的往往威脅越大。其實有一2016-07-15
- 因為接觸這個行業(yè),所以在密碼方面有深深的恐懼。商場里提供免費wifi,然后也提供支付寶微信支付,竟然有這么多人真的敢用著公用wifi付款買單,市場上共享wifi密碼的軟件層2016-07-14
精靈寶可夢go游戲可能存在風險 軟件需要google賬號完整權限
《Pokémon Go》是任天堂 Pokémon(中譯名口袋妖怪、寵物小精靈、精靈寶可夢)系列目前最火的游戲,可是這款游戲在國外網(wǎng)友眼中手機上要的權限未免過大了,我想這篇文章你2016-07-12- 這篇文章主要為大家詳細介紹了互聯(lián)網(wǎng)十大惡意軟件威脅,十大惡意軟件有哪些,每一個惡意軟件的特點,感興趣的小伙伴們可以參考一下2016-06-29
你真的了解虛擬專用網(wǎng)絡嗎?還是先顧著自己的隱私再說吧
中國的互聯(lián)網(wǎng)并不是真正開放的互聯(lián)網(wǎng),有時候很多人耐不住自己想要窺探外面世界的好奇心,選擇用翻墻這種方式打開世界的大門,而虛擬專用網(wǎng)絡就是看似用來幫助你混淆自己蹤2016-06-25- 現(xiàn)在電腦用戶最討厭的就是黑客,有用戶問怎么才能高效的躲避黑客的入侵呢?下面小編就為大家介紹七大高招,讓你的電腦時時刻刻處于安全狀態(tài)2016-06-30
- 每當出現(xiàn)歐洲杯、世界杯、奧運會這種比賽時,各種博彩集團使出渾身解數(shù)黑掉正常的網(wǎng)站,尤其是流量大的資訊類網(wǎng)站。百度通過內部檢測發(fā)現(xiàn)歐洲杯期間站點被黑數(shù)量呈上升趨勢2016-06-25
- 很多安全專家反復提醒用戶設置賬戶和密碼時要盡可能多樣化,以防被破解。黑客只要簡單的使用暴力破解攻擊。暴力破解攻擊是指攻擊者嘗試所有的可能性破解用戶的賬戶名、密碼2016-05-26
烏云漏洞平臺被連鍋端?互聯(lián)網(wǎng)安全缺失的到底是什么
還記得我們之前說過的有個白帽子提交了世紀佳緣的漏洞然后被世紀佳緣告了的事情嗎?這件事情引起了國內很多白帽黑帽的關注,如今事情又發(fā)酵,中國最大的兩大漏洞平臺——烏2016-07-20