安裝方法
不管是DLL還是EXE客戶端
最終都是通過RUNDLL
EXE調用DLL本身內封裝的不同的安裝函數實現安裝
並生成xinstall
dll為安裝日志的輸出文件
可在生成客戶端的時候決定是否輸出該記錄到該文件
[注意
下面所有的安裝命令對大小寫敏感
切記!]
創建新的服務
調用SVCHOST
EXE加載
安裝命令
rundll
exe xxx
dll
InstallSA 要添加的服務名稱
安裝說明
如果沒有指定服務名
默認將安裝新的Irmon服務
要安裝的服務名
必須是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost下
netsvcs值裡存在且沒有創建的服務名
如圖
服務安裝添加後
通過啟動服務的方式加載客戶端DLL到netsvc這個組所屬的svchost
exe進程中去
特點
創建一個標准的微軟認證的系統服務
具有很好的可安裝性和適應性
版本以後
利用多種技術手段
使得宿主服務實現了最隱蔽方式的
啟動類型
和
運行狀態
同時接受管理員的
正確
設置並顯示出對應的正常響應
而且X
DOOR仍然工作正常
替換原有的服務
調用SVCHOST
EXE加載
安裝命令
rundll
exe xxx
dll
InstallSB 要替換的服務名稱
安裝說明
如果沒有指定服務名
默認將替換Ntmssvc服務
如果原有的DLL仍處於加載運行狀態下
通過替換該服務的ServiceDll來實現服務替換
替換後服務後
再通過線程插入的方式加載客戶端DLL到進程中
如果原有的DLL未處於加載運行狀態下
通過直接替換該DLL文件來實現服務替換
替換後
通過直接啟動該服務來加載客戶端DLL
強烈建議
替換未運行的服務
而不是已經處於運行狀態的服務
特點
相對比創建新服務的安裝方式更具有隱藏性
同時又保留了其特點
隨機安裝未安裝的新服務
調用SVCHOST
EXE加載
安裝命令
rundll
exe xxx
dll
InstallRSA
安裝說明
自動收集系統中未安裝的由svchost
exe加載的並屬於netsvc組的服務
並隨機從中選擇一個的服務進行安裝
服務安裝添加後
通過啟動服務的方式加載客戶端DLL到netsvc這個組所屬的svchost
exe進程中去
特點
相對比創建新服務的安裝方式更具有隨機性
同時又保留了其特點
隨機替換原有的未啟動的服務
調用SVCHOST
EXE加載
安裝命令
rundll
exe xxx
dll
InstallRSB安裝說明
自動收集系統中未啟動的由svchost
exe加載的並屬於netsvc組的服務
並隨機從中選擇一個服務進行替換
通過直接替換該DLL文件來實現服務替換
替換後
直接同過直接啟動該服務來加載客戶端DLL
特點
相對創建新服務和替換原服務的安裝比方式具有更強的隨機性和過主動防御的特性
PE文件IAT表感染加載
安裝命令
rundll
exe xxx
dll
InstallPE 要感染的PE文件 [quiet/reboot]安裝說明
如果沒有指定EXE文件名
默認感染conime
exe
感染後
默認通過線程插入的方式加載客戶端DLL到被感染的進程
而下次機器重新啟動後
該DLL就成為該進程必需的DLL而隨之啟動
也可以通過指定以下兩個不同的附加參數來實現特定的安裝方式
quite
安靜模式
感染完畢後
不執行線程插入
只有重啟計算機後才會生效
reboot
重啟模式
感染完畢後
不執行線程插入
直接重啟計算機
可感染絕大部分的WINDOWS系統級進程和用戶級進程
但不是所有的EXE都有足夠的IAT剩余空間來提供修改
修改成功後文件大小不變
並可繞開WINDOWS的文件保護和WINXP(SP
)/WIN
(SP
) 的文件執行保護
但各OS的情況並不相同
需要區別對待
且某些系統進程雖然可以感染成功
但是可能導致系統無法正常啟動進入
如
smss
exe csrss
exe(切記!)
已知系統進程感染情況表
[WIN
K] lsass
exe termsrv
exe conime
exe spoolsv
exe ……
[WINXP(sp
)] services
exe lsass
exe spoolsv
exe conime
exe ……
[WIN
(sp
)] services
exe wins
exe snmp
exe conime
exe ……
特點
病毒加載技術
具有超強的隱蔽性和過主動防御的特性
線程注入法(主要用於測試)
安裝命令
rundll
exe xxx
dll
InstallRT 要注入的進程名稱
安裝說明
該方法主要用於測試和輔助目的
通過線程插入方式臨時加載客戶端DLL到目標進程中
特點
系統重啟後或宿主進程結束後
客戶端DLL將被釋放
卸載方法
對應了以上的安裝方法的卸載方法
除方法
外
其他卸載方法都需要重新啟動系統才能生效
同時
由於方法
的客戶端DLL強制卸載的不穩定性
容易導致進程或系統崩潰
不建議使用
rundll
exe xxx
dll
UnintallSA 要刪除的服務
rundll
exe xxx
dll
UnintallSB 要修復的服務
rundll
exe xxx
dll
UnintallRSA
rundll
exe xxx
dll
UnintallRSB
rundll
exe xxx
dll
UninstallPE 要修復的被感染EXE文件(或DLL文件)
rundll
exe xxx
dll
UnintallRT 要卸載客戶端DLL的進程
版本
以後
增加了在控制端對被控端進行智能判斷並直接卸載的功能
建議直接在控制端使用該功能進行卸載
[卸載後
被控端自動下線
但必須重起才能徹底生效
在重起前
不要使用相同的安裝方式重復安裝!]
From:http://tw.wingwit.com/Article/program/net/201311/12746.html