病毒網頁解密小撇步

http://ddecode.com/

此網站可以做一部分的網頁解密

網頁的初始解密部分不再詳細說明,在最後的附檔當中直接提供解密方法,但現在很多的即使網頁代碼已經是最終版,但其中增加很多函數等把病毒的下載地址都弄的很分散,從表面是看不出來從哪裡下載。

那直接執行又有風險,所以我們可以使用調試工具來分析,在關鍵位置下斷點,畢竟腳本還是要執行,那些變量最終還是要確實的變成實際的內容。

當然還是建議在虛擬機環境然後斷開網路的情況下做以下分析

在此提供兩種方法,第一種方法比較繁瑣需要安裝程式,第二種相對就簡單很多。

準備的程式為Visual Studio,我是用2008舉例,安裝的時候我是選擇下列組件,是不是還可以精簡就不知道了。

image

安裝完畢後,我們在CMD中執行

image

wscript /x 是調試模式

image

執行後就會調用VS進行調試

image

 

直接點“是”,會開啟VS

image

 

圖中黑色的部分是對腳本是選擇執行、暫停、停止

藍色的部分是腳本的代碼

紅色的部分是對應裡面的變量,因為目前都還沒有執行,所以對應的值還是不確定的,而我們恰恰就是要裡面最後的一些值

我們先截取一部分代碼,完整的代碼最後用附檔的方式提供

前面裡面可以找到一些類似是網址的一部分變量,用這些變量搜索會出現在後面的哪個位置,因為在後面肯定是要組合成一個完整的網址,從代碼中大概可以知道,是在下面這段

那我們就在這段的後面下斷點

image

 

下斷點後就會顯示下面的樣子,同時也可以看到arenderer的內容目前也是不知道的

 

image

現在我們按綠色箭頭開始執行,然後就馬上會在我們下斷點的bcollisionend的地方停止下來,而arenderer的指也已經顯示出來了

image

就是我們需要的JS腳本會去下載的鏈接,此例子當中是3個地址

當然如果你確定是在哪裡下斷點又不會讓病毒下載下來執行,就可以稍微後面一點下斷點,就可以獲取到更多的一些資訊了,比如下載下來的文件放在本機的位置及名字等等。

image

 

上面這個是一種方法,其實還有更簡單的方法,就是使用瀏覽器的開發人員工具,在chrome和firefox來說都是按F12,因為這個是針對當前頁面調試了,所以在就不建議整個去執行,這樣就變激活了(當然還是建議在斷開網路的情況下執行),我們就只截取一段,比方上述arenderer的結尾,後面的部分全部砍掉,這樣即使可以執行也不會有安全的風險,前面後面加<script>及</script>,然後保存為htm的網頁文件,打開chrome,按F12,然後把這個 網頁拖到chrome裡,點擊sources,然後點左下角你剛才開啟對網頁文件,代碼的部分就會顯示在中間,因為我需要了解arenderer的值而已,所以定位到arenderer後,右鍵選擇”Add to watch”,然後就可以從右邊看到此項的值了,非常的快速簡單。

20160601225636

最後附對應的原始病毒js檔及對應的解密方法,解壓縮密碼為infected

樣本代碼(危險)

如果是使用malzilla解密,則可以參考下面方式,首先需要把前面的/*@cc_on和@*/刪除,然後把代碼粘貼到程式當中,因為是eval的,所以我們在replace eval()後填寫eval,然後執行run script,下面就會顯示出來解密的代碼了。

jiemi1

有了代碼,但因為裏面還有很多\x這樣16進制的內容,所以我再貼到misc decoders 的text當中,下面自訂前綴為 \x ,然後點decode Hex,上面顯示的就是最終的解密內容了。

jiemi2

 

上述的js找Http下載下來的文件是病毒本體嗎?其實不是,是下載的經過加密後的執行檔,js把文件下載後,會調用後半段的函數講下載的文件解密成執行檔,然後再執行,所以要么你能看懂裡面的解密函數自行解密,要么就是直接在虛擬機裡執行腳本,當然因為其行為就是 下載——解密——執行,我們可以把執行的代碼部分刪除掉

是不是刪除的正確,不確定,因為原始地址已經失效了,其中的

是WScript.Sleep(1000),後面就是結束退出

前面的

是調用解密函數解密文件,所以下面的

應該就是執行文件了,並且其中的nacross在前面的值也剛好是run.

我們看另外一個案例

這個就很明顯,就是aaaaaaa.Run(aaaaa);來執行檔案,b(aaaaa, cccccc);負責解密下載的文件。

此例的js及說明參考下面附檔,密碼是infected

test