javascript
JSunpack-n的安装与简单使用
概述
從JSunpack-n的名稱上我們就可以顧名思義,這是一個與JS相關的工具框架。JSunpack-n是用于解析JS腳本。而JSunpack-n的主要功能如下:
- TCP流重組
- HTTP協議解析
- 提取可執行文件(-e命令行選項)
- 提取所有文件(-s命令行選項)
- 自動解壓縮gzip流量
- 處理以及標準化chunked流量
版權說明
本文鏈接:http://blog.csdn.net/lemon_tree12138/article/details/50674588 – Coding-Naga?— 轉載請注明出處
實驗環境:
Linux相關
- CentOS?6.5
- Python?2.6.6
- W3m
- TCPDump
Windows相關
- Windows?7
- WireShark
?
實驗參考:
- 《惡意軟件分析訣竅與工具箱》-?訣竅6-13:使用Jsunpack從報文捕獲文件中提取HTTP文件
- https://www.aldeid.com/wiki/Jsunpackn
?
環境安裝:
? 1. 從GitHub上下載Jsunpack-n源碼。源碼地址:https://github.com/urule99/jsunpack-n
? 2. 本地解壓
? 3. 使用WinSCP傳輸工具,將下載到的源碼文件從本地上傳到遠程的CentOS環境下
? 4. 打開源碼根目錄,使用記錄本打開“INSTALL”文件。這里包含了一些使用JSunpack-n的依賴包。依賴包及依賴關系如下:
? ?
? 5.?安裝上圖中所提到的依賴文件。先安裝除libnids-1.24和pynids之外的其他依賴包
? 6.?安裝libnids-1.24:安裝此包時需要格外注意,這里需要使用帶參數編譯。過程如下:
$ export GLIB_CFLAGS=/usr/local/bin/pkg-config $ export GLIB_LIBS=/usr/local/bin/pkg-config $ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig $ sudo ./configure CFLAGS=-fPIC --disable-libglib --disable-libnet --disable-shared $ sudo make $ sudo make install
? 7. libnids編譯安裝完成之后,就可以安裝pynids了。使用對setup.py文件的build和install來進行安裝
? 8.?如果發現pynids安裝不成功,請檢查libnids是否安裝成功。并且在編譯libnids的時候需要攜帶共享參數
? 9.?如果編譯libnids時攜帶了共享參數,當仍然不能完成pynids的安裝,就clean一下libnids源碼下的.o文件。再重新安裝pynids
?
使用步驟:
? 1. 針對源碼中的實例進行測試
? ? ?在源碼下的./samples/目錄有一些用于測試的文件
? ? ?
? 2. 這里我們可以使用如下命令進行測試:
? ? ?python?jsunpackn.py?./samples/pdf.pcap?-s?-J?-v
? ? ?
? 3. 在上面的測試中,我們獲得了3個文件,此文件存在于./temp/files/目錄下。我們對這些文件進行屬性檢查,如下:
? ? ?
? 4. 我們將上面的html文件拷貝到本地,并以html的后綴重命名,使用瀏覽器打開。顯示如下:
? ? ?
? ? ?注:此結果為放大后的效果,實際效果請自行實驗。
? 5. 將上面的PDF文件拷貝到本地,并以pdf的后綴重命名,使用Adobe閱讀器打開。Adobe打開后卡頓,幾秒后自動退出。
? 6. 現在實驗一下通過URL獲取網頁的方法。使用如下命令:
? ? ?python?jsunpackn.py?-u?www.sina.com
? ? ?
? 7. 檢查此文件屬性:
? ? ?
? 8. 我們將此文件拷貝到本地,并以gzip的后綴重命名,并使用壓縮軟件打開,里面保存的還是之前的文件。如下:
? ? ?
? 9. 從上一步中,我們獲得了一個無后綴的文件,使用Notepad++打開后,發現是一個類似HTML文件的文件內容。于是,解壓后以html后綴重命名。
?10. 使用Chrome打開上面的html文件。顯示了新浪的首頁,如下:
? ? ?
? ? ?注:這里考慮篇幅的原因只截取了部分網頁內容
?
驗證步驟:
??在上面的使用步驟中,我們大概解了如何使用Jsunpack-n?,F在需要對一些網絡的操作進行驗證。此處的驗證分成了兩個部分:基于Linux的和基于Windows的。
? 基于Linux的網絡環境
? ? ?a)?安裝tcpdump抓包工具
? ? ?b)?使用tcpdump抓取網絡流量包。命令如下:tcpdump?-i?eth0?-w?sina.pcap
? ? ? ? 注:這里有一點需要注意,就是確定上面命令中使用的網卡是正確的。這種情況存在于你的系統中存在兩張以上的網卡時,我們不能確定當前訪問網絡時,經過的是哪張網卡。最簡單的方式就是關閉除了eth0之外的全部網卡。
? ? ?c)?安裝w3m網絡訪問工具
? ? ?d)?使用w3m訪問新浪首頁。命令如下:w3m?www.sina.com
? ? ?e)?使用Jsunpack-n解析tcpdump抓取的流量包數據
? ? ? ? python?jsunpackn.py?~/temp/sina.pcap?-s?-J?-v
? ? ? ??
? ? ? ? 這里只是給出了部分的結果展示,全部的結果請自行實驗。
? ? ?f)?使用wget從網絡下下載一張圖片。命令如下:
? ? ? ? wget?http://img.adbox.sina.com.cn/pic/3932012482-1450747748396.jpg
? ? ?g)?使用Jsunpack-n解析tcpdump抓取的流量包數據
? ? ? ? python?jsunpackn.py?~/temp/wget-image.pcap?-s?-J?-v
? ? ? ??
? ? ?h)?檢查些文件屬性,發現是一個JPEG文件。如下:
? ? ? ??
? ? ?i)?將此文件拷貝到本地目錄,并以jpeg重命名。顯示其可以打開為圖片文件。
? ? ? ??
? 基于Windows的網絡環境
? ? ?a)?對于Windows下的操作則是利用WireShark進行抓包操作。
? ? ?b)?將WireShark抓到的包上傳到CentOS上,使用Jsunpack-n進行分析。結果如下:
? ? ? ??
? ? ?c)?雖然上面的解析中,可以獲得操作結果,不過對比解析生成的文件和WireShark抓包生成的文件,我們發現文件沒有發現變化。
總結
以上是生活随笔為你收集整理的JSunpack-n的安装与简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java:如何正确地使用异常详解
- 下一篇: JSunpack-n模拟WireShar