更詳細的報告見360的分析:http://bobao.#/learning/detail/3453.html
注:好坑爹,截了一堆圖,貌似太多,傳不上去。。。。。
只能放文字了。。
一、獲取系統版本信息
1 通過GetFIleVersionInfoSizeW(),GetFileVersionInfo(),VerQueryValuew()配合使用
獲取文件屬性的信息。主要由VerQueryValuew()第二個人參數設置取出
關于第二個參數:
樣本所指定參數為”//”
所以取出VS_FIXEDFILEINFO結構
二、獲取卷標信息,保存備以后作為加密秘鑰使用
通過GetVolumeInfomationw
三、GetProAddress()獲取RtlComputeCrc32和memset,memcpy三個函數的地址
四、獲取命令行,判斷是否攜帶”/u”啟動,判斷是否創建互斥量,如果存在則結束。如果不存在則創建
五、如果帶參數/u 啟動則執行系列工作
1 利用wmic刪除卷副影像,禁用開機自動修復
命令解釋:
cmd.exe /c vssadmin.exe delete shadows /all /quiet
以上命令執行后系統所有還原點清除
bcdedit.exe /set {" "default} recoveryenabled no
bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures\"
以上命令禁止開機啟動修復
2. 刪除注冊表鍵值IsShortcut,使普通應用程序和數據文件快捷方式的小箭頭不顯示
isShortcut使用說明
六、 CreateStreamOnHGlobal函數從指定內存創建流對象。創建成功后獲取驅動器個數,遍歷驅動器
使用GetLogicalDrives(),獲取系統存在的邏輯盤符,這個結構中的二進制位標志著存在哪些驅動器。
其中,位0設為1表示驅動器A:存在于系統中;位1設為1表示存在B:驅動器;以次類推。
GetDriveTypew()獲取邏輯盤類型,下圖為類型說明。
獲取得到的驅動器類型作為下一個函數的第二個參數傳入
判斷如果驅動器類型值為2或3則進行下一步操作,即移動存儲硬盤和不可移動存儲介質。
七、過濾目錄和指定文件夾
指定過濾的文件夾windows,progra files ,program files (x86),games
八、過濾需要加密的文件類型
涉及的文件格式有22種
九、CryptAcquireContextW()獲取csp容器,全局存放地址;405EB0,獲取成功則解密一個key:00405EA8
并導入了解密的key
十、加密文件
十一、通過刪除:Zone.Identifier文件,清理網絡第三方下載的元數據標記。防止被系統不信任文件作出警告。
遍歷磁盤文件
利用硬盤序列號計算CRC32值
獲取卷盤序列號
生成系統文件夾快捷方式
/c explorer.exe \"%s\" & type \"%s\" > \"%%tmp%%\\%s\" & start \"%s\" \"%%tmp%%\\%s\""
利用WNetOpenEnumW,WNetEnumResourcew橫向移動。遍歷網絡資源。
使用SHChangeNotiy通知系統更新文件關聯信息。
退出程序
http://blog.csdn.net/wowolook/article/details/8263001
WINSHELLAPI void WINAPI SHChangeNotify(
LONG wEventID, //指定事件類型
UINT uFlags, //確定dwItem1和dwItem2作的標志
LPCVOID dwItem1,
LPCVOID dwItem2
);
1.wEventId的取值如下:
SHCNE_ASSOCCHANGED:修改文件關聯
SHCNE_ATTRIBUTES:改變文件屬性
SHCNE_CREATE:創建新文件
SHCNE_DELETE:刪除文件
SHCNE_DRIVEADD:增加網絡驅動器
SHCNE_DRIVEADDGUI:通過GUI增加網絡驅動器
SHCNE_DRIVEREMOVED:卸載網絡驅動器
SHCNE_INTERRUPT:將事件作為系統中斷執行。
SHCNE_MEDIAINSERTED:安裝可卸載媒體,如CD-ROM
SHCNE_MEDIAREMOVED:卸載可卸載媒體,如CD-ROM
SHCNE_MKDIR:新建目錄
SHCNE_NETSHARE:網絡上共享資源
SHCNE_NETUNSHARE:網絡上停止共享資源
SHCNE_RENAMEFOLDER:文件夾改名
SHCNE_RENAMEITEM:文件夾中某項改名
SHCNE_RMDIR:刪除目錄
SHCNE_SERVERDISCONNECT:與網絡服務器斷開鏈接
SHCNE_UPDATEDIR:更新目錄信息
SHCNE_UPDATEIMAGE:改變系統全局圖像列表中的一個圖像
SHCNE_UPDATEITEM:改變打印機或文件的列表
3.該函數沒有返回值。
2.uFlags的取值如下:
SHCNF_DWORD: dwItem1和dwItem2是DWORD類型值。
SHCNF_FLUSH:清空系統事件緩沖區,系統處理完給定的事件后才返回
SHCNF_FLUSHNOWAIT:清空系統事件緩沖區,立即返回
SHCNF_IDLIST:dwItem1和dwItem2為項目標識符列表的地址
SHCNF_PATH:dwItem1和dwItem2為路徑地址
SHCNF_PRINTER:dwItem1和dwItem2為友好打印機名
無命令行啟動下。
1 獲取句柄和CSP容器,解密硬編碼數據其中AESkey
2 將key寫入文件
3 查找文件,網絡資源
4 打開勒索網頁
5 獲取權限刪除卷副影像和快捷方式圖標,權限不夠時,使用cmd rundas
6 生成HTML文件copy到其他目錄
0012FEE8 0018F078 UNICODE "\CH04F-A3AHT-XFTZT-OTFFT-HAYYY.HTML"
在許多應用中,一個CSIDL可以與下面的標識之一進行組合使用:
CSIDL_FLAG_CREATE($8000)
windows 2000:如果這個CSIDL所引用的文件夾不存在,則創建這個文件夾!.
CSIDL_FLAG_DONT_VERIFY($4000)
WINDOWS 2000: 無論這個CSIDL所引用的文件夾是否存在都使用它!
CSIDL_ADMINTOOLS($30)
表示當前用戶的“管理工具”系統文件夾
CSIDL_ALTSTARTUP($h2D)
不詳
CSIDL_APPDATA($1A)
表示當前用戶的特定的應用程序數據存儲文件夾,例如:C:\Documents and Settings\username\Application Data
CSIDL_BITBUCKET($A)
表示回收站
CSIDL_COMMON_ADMINTOOLS($2F)
表示所有用戶的“管理工具”系統文件夾
CSIDL_COMMON_ALTSTARTUP($1D)
表示所有用戶的 (只支持WINDOWS NT 系統)
CSIDL_COMMON_APPDATA($23)
表示所有用戶的特定的應用程序數據存儲文件夾,例如:C:\Documents and Settings\All Users\Application Data
CSIDL_COMMON_DESKTOPDIRECTORY($19)
表示所有用戶的“桌面”文件夾,例如:C:\Documents and Settings\All Users\Desktop。
CSIDL_COMMON_DOCUMENTS($2E)
表示所有用戶的“我的文檔”文件夾,例如:C:\Documents and Settings\All Users\Documents
CSIDL_COMMON_FAVORITES($1F)
表示所有用戶的“我的收藏夾”文件夾。
CSIDL_COMMON_PROGRAMS($17)
表示所有用戶的“程序”文件夾,例如:C:\Documents and Settings\All Users\Start Menu\Programs
CSIDL_COMMON_STARTMENU($16)
表示所有用戶的“開始菜單”文件夾,例如:C:\Documents and Settings\All Users\Start Menu
CSIDL_COMMON_STARTUP($18)
表示所有用戶的“啟動”文件夾,例如:C:\Documents and Settings\All Users\Start Menu\Programs\Startup
CSIDL_COMMON_TEMPLATES($2D)
表示所有用戶的“模塊”文件夾,例如:C:\Documents and Settings\All Users\Templates
CSIDL_CONTROLS($3)
表示“控制面板”文件夾
CSIDL_COOKIES($21)
表示當前用戶Internet Explorer的cookie 文件夾,例如:C:\Documents and Settings\username\Cookies
CSIDL_DESKTOP($0)
表示“桌面”虛擬文件夾,包含了計算機中的所有內容
CSIDL_DESKTOPDIRECTORY($10)
表示當前用戶的“桌面”文件夾,例如:C:\Documents and Settings\username\Desktop
CSIDL_DRIVES($11)
表示“我的電腦”虛擬文件夾,包含了計算機中所有的驅動器
CSIDL_FAVORITES($6)
表示當前用戶的“收藏夾”文件夾,例如:C:\Documents and Settings\username\Favorites
CSIDL_FONTS($14)
表示“系統字體”文件夾,例如:C:\WINNT\Fonts
CSIDL_HISTORY($22)
表示Inernet Explorer的“歷史記錄”文件夾
CSIDL_INTERNET($1)
表示Internet的這個虛擬文件夾
CSIDL_INTERNET_CACHE($20)
表示當前用戶的Internet Explorer的"Cache"文件夾,例如:C:\Documents and Settings\username\Temporary Internet Files
CSIDL_LOCAL_APPDATA($1C)
表示當前用戶的應用程序數據文件夾,例如:C:\Documents and Settings\username\Local Settings\Application Data
CSIDL_MYMUSIC
表示當前用戶存儲音樂文件的文件夾,例如:C:\Documents and Settings\User\My Documents\My Music
CSIDL_MYPICTURES($27)
表示當前用戶存儲圖像文件的文件夾,例如:C:\Documents and Settings\username\My Documents\My Pictures
CSIDL_NETHOOD($13)
表示當前用戶存在的網絡連接的文件夾,例如:C:\Documents and Settings\username\NetHood
CSIDL_NETWORK($12)
表示“網上鄰居”這個虛擬文件夾
CSIDL_PERSONAL($5)
表示當前用戶的“我的文檔”文件夾,例如:C:\Documents and Settings\username\My Documents
CSIDL_PRINTERS($4)
指向“打印機”這個虛擬文件夾
CSIDL_PRINTHOOD($1B)
表示當前用戶存在的網絡打印機的虛擬文件夾,例如:C:\Documents and Settings\username\PrintHood
CSIDL_PROFILE($28)
表示當前用用戶配置文件的文件夾
CSIDL_PROGRAM_FILES($26)
表示程序文件的文件夾,例如:C:\Program Files
CSIDL_PROGRAM_FILES_COMMON($2B)
表示系統程序共用組件文件夾,例如:C:\Program Files\Common
CSIDL_PROGRAMS($2)
表示當前用戶的“程序”菜單文件夾,例如:C:\Documents and Settings\username\Start Menu\Programs
CSIDL_RECENT($8)
表示當前用戶的“文檔”菜單文件夾,例如:C:\Documents and Settings\username\Start Menu\Programs
CSIDL_SENDTO($9)
表示當前用戶的“發送到”文件夾,例如:C:\Documents and Settings\username\SendTo
CSIDL_STARTMENU($B)
表示當前用戶的“開始”菜單文件夾,例如:C:\Documents and Settings\username\Start Menu
CSIDL_STARTUP($7)
表示當前用戶的“啟動”菜單文件夾,例如:C:\Documents and Settings\username\Start Menu\Programs\Startup
CSIDL_SYSTEM($25)
表示WINDOWS系統的系統文件夾,例如:C:\WINNT\SYSTEM32
CSIDL_TEMPLATES($15)
表示的是系統中存儲文檔模塊的文件夾
CSIDL_WINDOWS($24)
表示的是系統中Windows目錄的文件珍,例如:C:\WINNT
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。