10日msn騙子席捲中國,然後是rising11日的專殺工具,也是席捲大陸:N多的電腦無法啟動。本來沒在意,因為偶已經7、8年沒有感染過病毒了。今天早上,一哥們的機器起不來了。癥狀和被專殺工具蹂躪的一樣。於是,偶就搞了一把,不到半個小時吧,終於OK了。
首先,非常幸運,他機器上的mssqlserver是auto start的。雖然他無法登入到系統,但是出現login介面後1分鐘左右,mssqlserver服務已經啟動了。所以呢,問了他sa的密碼,用sql analyzer串連上,運行一下:
xp_cmdshell 'net start RemoteRegistry',然後還有:
xp_cmdshell 'net start rasman'。本以為我可以遠端連線機器或者遠端連線到regsitry中,。前者登入失敗,後者只有LocalMachine和User兩個Key,而且,沒有read的許可權。
然後看了一下手工殺毒的辦法,呵呵,巨簡單啊!偶就寫了這麼點代碼: try
{
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine;
key = key.OpenSubKey(@"Software\Microsoft\Windows NT\CurrentVersion\Winlogon",true);
string ui = key.GetValue("Userinit").ToString();
Console.WriteLine("UserInit:"+ui);
key.SetValue("Userinit",@"C:\WINDOWS\system32\userinit.exe");
key.Close();
Microsoft.Win32.RegistryKey key2 = Microsoft.Win32.Registry.LocalMachine;
key2 = key2.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run",true);
string mm = Convert.ToString(key2.GetValue("MMSystem"));
Console.WriteLine(mm);
key2.DeleteValue("MMSystem");
key2.Close();
}
catch(Exception ex)
{
Console.WriteLine(ex);
}
具體的手工殺毒辦法,這裡有一個:http://www.trendmicro.com/vinfo/zh-cn/virusencyclo/default5.asp?VName=WORM_FUNNER.A
上面的代碼編譯成了一個fixme.exe。然後這麼搞了幾下(都是在sql中):
xp_cmdshell 'md d:\juqiang'
xp_cmdshell 'net share juqiang=d:\juqiang /unlimited'
然後從我的explorer中把fixme.exe複製到juqiang中,然後重新回到sql裡面:
xp_cmdshell 'd:\juqiang\fixme.exe'
運行之後,重新啟動機器。
哈哈,搞定了!
如果他機器不開mssqlserver,那麼我利用IPC$也可以連,但是沒有類似於analyzer那麼方便的工具了。知道了sa的口令,確實很爽。如果做好事,可以修複被遺忘的admin的口令,就是用WMI搞一下就好了。如果做壞事,幹啥反正都行。
最開始我用sqldom串連遠程機器的時候,想做一個冰河之類的東西。後來才明白,我那麼串連去的進程,無法訪問的案頭。所以,也無法遠端控制機器了。所以,退而求其次,就在命令上玩吧!