(黃獻德) Hsien-De Huang | E-Mail:TonTon (at) TWMAN.ORG | TonTon (痛痛)
Malware Analysis Network in Taiwan (MiT) | 惡意程式分析網在台灣 (抬丸郎)
Deep Learning (深度學習), Malware Analysis (惡意程式分析), Ontology (知識本體)
Android Reverse Engineering (Android 逆向工程), Type-2 Fuzzy Logic (第二型模糊邏輯)

ONE PIECE (海賊王)

ONE PIECE (海賊王)

2013年1月30日

Integrate Pyinotify with NFS of WINDOWS to Monitor Behavioral


大致上解決了新版本想要的 檢測 樣本 的 Fuzzy Hash 值並且與已知的做比較取得一個相似值,然後再把它當成 Fuzzy Variable 輸入到我的 Interval Type-2 Fuzzy System (IT2FS) 進行推論 ...
這篇主要就是介紹讓 WINDOWS 也能當 NFS Server 然後讓 Linux 對資料夾 mount


這個步驟則是要解決另外兩個需要 input 的 Fuzzy Variable ... 也就是樣本對系統進行的行為資訊
嗯 ... 大家都知道過去我在國網中心工作時做的 TWMAN 或是離職後去英國的 TWMAN+

最大的問題點都在於因為是實體環境所以導致分析時間過長 ... 且成本不划算

根據可靠消息指出 ... 有 Anti-VM 技術的樣本其實也不到 10% ... 

花大錢跟時間去做一個不太合成本效益實在不是個像樣的研究 ...

所以我一直在探索怎樣改進 ! 也藉此機會做出跟過去徹底有差異性的新東西 ....

也就是我接著論文投出去後會公開的 Malware Analysis Network in Taiwan (MAN in Taiwan, MiT)

好啦 ! 碎念完畢 ... 開始實作 .... 

首先第一步想到的便是當 WINDOWS 系統重要資料夾在執行樣本時有任何 寫入、創建跟刪除等動作通常都會被識為是惡意行為 ... 過去是把整個系統做 dd 建出映像檔,再把感染前後做比對,雖然可以判斷出那些地方被修改,但 XP 做 dd 映像檔還 ok (我預設都只切 10GB),但 Win 7 這就根本不可能了 ... 所以我才一直在探索有沒有辦法做到即時監控重要資料夾行為 ...

我試過了 Capture-BAT還有很多鑑識的工具 ... 缺點都在於沒辦法可程式化來客製我需要的資訊

前面一篇提到的 Pyinotify 可以設定要監控資料夾的行為 ... 所以問題在於我要怎樣把 WINDOWS 的重要系統資料夾給弄到 Linux 上 .... 答案是 NFS ....

關於 inotify 用來監控資料夾內的檔案新增等動作可以參考:
使用 inotify 监控 Linux 文件系统事件 | inotify监控linux系统下的目录变化

/usr/local/bin/inotifywait -mrq  --format '%w%f' -e moved_to /temp/ | while read  file;
do
====== 看你想要幹啥麼========
done

Google 搜尋 WINDOWS NFS 你會看到洋洋灑灑的一大堆資料,直接列出幾個可以嘗試的地方


Allegro NFS (一樣是只能試用 30 天直接略過)
一度還想嘗試用 CygWIN 來做一個 NFS Server ... 直接來看看怎樣安裝操作吧 !


安裝過程其實很簡單

 非常的簡單且快速

  但缺點就是敗在這邊 .... 只能試用 30 天 !
不過經過實測,移除後重安裝就可以再繼續用 ~ xDDDD
實在很可惜 ... 因為設定方面非常的簡單 
看 ~ 輕鬆就達到我想要的功能啦 ! 


所以當我找到Windows Services for UNIX 這個時一整個超開心的 ... 想說 M$還真是大心啊 !


檔案下載下來還真不是普通的大啊 !



 這邊要注意,一定要選 custom

然後要注意有選到 NFS Server 
接著就是把 Linux 上的 passwd 跟 group 複製過來


 安裝有點費時 ....

接著是打開管理介面



首先是針對剛剛複製過的 passwd 跟 group 做映對 

 在這邊我是直接 Administrator 對映到 root 啦

對映完成後 ~ 看你要 NFS 那個資料夾 ... 直接點右鍵
設定非常的簡單的
 然後 ~ 恭喜啦 ~馬上就可以看到這樣啦 ....
可惜 ... 就是不知為啥我不能對資料夾做寫入的動作 ~ 連監控也不行 .... 
 還特地開到安全模式 ...
 權限整個都打開 .... 
 一整個不行就是不行 ~ 囧


 這個則是連啥安裝過程都簡略掉了 ... 直接點兩下就可以執行 ... 設定上又更簡單 !
但不知為啥 .... 連 showmount -e 都會爆下面的錯誤 !
mount clntudp_create: RPC: Program not registered


接著我不死心又找到了這個 ... http://www.serassio.it/download/download.htm 和
在已經放棄絕望時意外 又被我 Google 到 WinNFSd ... 
想不到居然真的達到我想要的功能 ...

下載後直接在 WINDOWS 上的 CMD 直接打 C:\ winnfsd.exe C:\WINDOWS
接著再到 Linux 上下 mount -t nfs 192.168.0.101:/C/WINDOWS /MiT/Client/WXPSP3/



=============2013/01/31補充說明===============
另外補充一個可以使用 Cygwin 來幫 WINDOWS 做 NFS ... 不過真的比較麻煩 !

CygWIN 的安裝過程就不多加說明 ... 可以自行先參考下面的文章 ...
 而且在選擇要安裝的 package 時一定要記得選下面這三個
Net :: nfs-server 
Libs :: sunrpc 
Admin :: cygrunsrv
然後裝好後開啟 CygWin terminal 輸入 /usr/bin/nfs-server-config
接著就是這邊一定要設定密碼才可以 .... (不然 NFS 會不能啟動),但這樣就不適用在我的系統了 !

重點是:
不管是 inotify 還是 Pyinotify 甚至是 ruby-inotify ... 都沒辦法針對 WINDOWS 上已被 mount 到 Linux 上的 NFS 磁區做任何WINDOWS端的異動偵測 ...

(當作這完全沒辦法去抄襲過去作品的佐證,再鬼叫 ... 別怪我公佈我被抄襲的地方)
(請自己改版做新架構,不要拿別人的東西改個名字跟作者聲明宣告就說自己新改版)
(別再老是咬著我不放 ... 我真的已經仁至義盡了)
(這東西只會屬於 我 或者 國立臺南大學、國立成功大學)