NTFS格式分区下实现提升权限的一些方法和思路
至从微软发布win2k操作系统以后就向全世界提倡用户采用NTFS格式分区。采用NTFS格式分区的好处是不言而喻的,比如设置权限和各级权限审核。本人也一直在使用NTFS格式分区,在操作系统上采用NTFS格式分区只要分配好权限设置会大幅度提升系统的安全性。至于NTFS分区格式的很多好处我在这里就不在为大家详细介绍了。NTFS分区似乎成为了一个神话,许多入侵者都不能够突破NTFS分区格式的权限审核而不能开展深入渗透,我本人在以前的 hacking当中也被NTFS这个"拦路虎"阻拦过多次导致整个渗透行动失败,最近我发现了一种思路可以在对方很BT的设置下成功提升权限,不敢独享以本文详细介绍给大家。
想要深入探讨就先要了解目前采用NTFS格式分区的主机权限设置的几种类型。
一 默认设置
先来看看默认权限设置下系统很目录user或者guest组对系统根目录的权限。请看图(1) 字串5
下面我们再来看看Program Files目录的默认权限分配,请看图(2)
根据图(2)所示可以看出,在默认NTFS格式分区下Program Files目录对user组的权限只有:读取及运行,列出文件夹目录,读取(guest组也是一样)。我们可以做一个实验,我现在是已user登陆到计算机中,然后在Program Files目录试图建立一个文件夹,结果请看图(3)
看到了吧?拒绝访问,说明没有写入权限。
下面我们继续来看winnt目录,我试验的主机为win2k主机。请看winnt目录的默认权限分配,还是拿user组(guest组也是一样)做例子,请大家看图(4)
winnt目录和Program Files目录情况差不多,我就不在多说了,大家自己看就能明白了。
还有一个关键的目录就是"Documents and Settings "目录,这个目录一般存放用户的启动信息,比如:收藏夹,开始菜单,文档……
这个目录的文件夹一般都是"administrators""All Users"……
默认NTFS格式分区下guest组和user组对管理员用户名下的文件夹无任何权限(比如administrator文件夹)对All Users和guest文件夹只有读取权限,而没有写权限。
说完系统分区下在说一说系统分区以外的权限,一般默认情况下GUEST组对系统以外分区的权限为完全控制。可以进行任何操作。看好了我指的是默认哦。至于默认权限我就给大家废话这么多,下面我就给大家讲一下在权限默认分配的情况下如何实现提升权限。基本有以下种思路和方法。
字串6
1 替换服务法:
这种办法现在被黑迷们广泛使用,办法就是:假设系统加载的服务有不在系统分区下的,就可以找到服务所对应的文件,然后在用后门,木马……替换掉这个文件。等系统重新启动以后就会自动加载你替换掉的这个文件,这样你就实现了提升权限。
分析:默认的NTFS格式分区,对系统以外的分区guest和user组都有完全控制权限,所以才导致替换服务提升权限。
2 系统漏洞
对于利用系统漏洞导致的提升权限就没什么好说的了,比如:idq.dll+ispc.exe在比如debug提升权限和早期的输入法漏洞。
3 利用Serv-U的ServUDaemon.ini文件提升权限
关于这个的文章我发表在了12月的杂志的,详细内容看杂志。
分析:想要利用此法提升权限必须要满足一个条件,必须要对ServUDaemon.ini文件有改写权限,在NTFS格式系统分区下user组和guest 组是不能修改ServUDaemon.ini的,所以此法有一定的限制。对于系统以外分区默认情况下是可以改写的,可以利用此法实现提升权限。
4 利用Serv-U的默认43958端口实现提升权限
在默认安装完Serv-U以后serv-u默认监听127.0.0.1:43958端口,所以只有在本机才能连接这个管理端口。serv-u默认管理账号是LocalAdministrator,默认密码是#l@$ak#.lk;0@P.
在你取得普通权限以后(比如:webshell user权限的shell)可以把这个127.0.0.1:43958这个端口映射到你自己的IP地址上。(注意问题:127.0.0.1这个IP地址是你本地的IP地址)然后在用默认管理账号是LocalAdministrator,密码#l@$ak#.lk;0@P登陆,然后使用Sev-U的远程管理功能实现提升权限。(详细方法请看我在本期杂志另外一篇文章《成功渗透Windows Server 2003》) 字串9
分析:在默认NTFS格式分区除系统盘以外guest组和user组成员都有可执行权限,这样我们就可以执行端口映射工具来映射127.0.0.1:43958端口,导致提升权限。
以上4种是目前最常用的提升权限,当然除此4种办法以外还有其他办法,比如:嗅探,利用其他第三方软件的设计缺陷,找到mssql帐户所在asp文件……以上我为大家讲的是默认情况下,但是一般使用默认NTFS权限的分配不多,很多注重安全的管理员都不会使用默认权限分配,以下我就给大家讲一讲不是默认情况下提升权限的一点心得体会。
二 非默认设置
如果管理员特意去改这个默认权限分配的话就可以说明这个管理员很注重安全,应该会比默认情况下给普通用户设置成更小的权限。最近我就遇到一个变态的主机。设置权限很变态,我攻破其系统以后才看清楚到底是如何分配的权限,请看图(5)
看到了吗?C盘只有administrators组,也就是说只有系统管理员才对系统盘有完全控制。其他用户一点权限都没有。在来看看D盘的设置情况,请大家看图(6)
管理员也把D盘设置成这样。剩下的E,F,G都设置成这样。先说明一点是这个主机是一台虚拟主机,web都在G盘,其中一个虚拟目录的权限设置请看图(7)
只有web目录才给IIS帐户完全控制权。这些都是我后来才得知的。下面我就为大家讲一下我是如何在这样设置下成功实现权限提升的。
字串1
这台主机的IP地址为:61.151.xxx.xxx。开放端口为:
* + 61.151.xxx.xxx
___ 21 File Transfer Protocol [Control]
___ 220 Serv-U FTP Server v4.0 for WinSock ready.....
___ 25 Simple Mail Transfer
___ 220 ESMTP on WebEasyMail [3.5.2.3] ready.
___ 80 World Wide Web HTTP
___ HTTP/1.1 404 Object Not Found..Server: Microsoft-IIS/5.0..Date: Mon, 29 Dec 2003 22:53:46 GMT..Content-Type: text/html..Content
___ 1433 Microsoft-SQL-Server
___ 3306 Mysql server
___ +....3.23.56-nt.....Lrw}2~F#.,.................
___ 5631 pcANYwheredata
我通过SQL injection得到了该主机上的一个webshell,既然是webshell就说明我现在已经拿到了这个主机的guest组的权限。但是我利用 webshell执行命令的时候发现什么命令都不可以执行,连最基本的dir和net user都不可以。请看图(8)
使用 cmd.asp不可以执行任何命令。接下来我就换了一个类似海洋顶端网asp木马的webshell。可以执行一些操作。但是发现只可以在当前目录下进行一些操作。这个网站在服务器下的虚拟路径为:G:\home\sh.leocn.com ,除了此文件夹以外对任何目录都不可以浏览,原因请看图(7)。相信许多读者也碰到过这样的情况,按照上文默认NTFS设置提升权限的方法都行不通。因为你根本出不去这个目录。用aspshell浏览C盘显示什么都没有(设置的够BT吧?),请大家看图(9)
字串6
我估计一般入侵者到这里基本就会放弃。但是前文我给出的扫描结果大家注意到了吗?这个主机开放5631端口,说明安装有pcAnywhere。一般大家都知道pcAnywhere安装以后会在:c:\Program Files\ Symantec pcAnywhere\目录下有*.cif文件,拿到此文件就可以破解出pcAnywhere的密码,然后连接控制整个主机。但是我们现在浏览不到c:\ Program Files\ Symantec pcAnywhere\目录。经过我研究发现,不光c:\Program Files\ Symantec pcAnywhere\目录下有*.cif这个文件,在C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\这个目录下也会有这个文件。在这里拿到这个文件一样可以控制整个主机。到了这里有些读者就会问了,你现在连C盘都浏览不到你怎么拿这个cif文件?
呵呵,其实一样可以拿到的。本篇文章最重要的地方就在这里,请读者继续往下看。虽然浏览C盘现在不可以,但是你注意观察asp木马上的URL: http://www.xxx.com/music/a.asp?path=C:&ib=true关键的一句:path=C:&ib= true。我上文提到了C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\这个目录下也会有这个CIF文件。现在我们手动改变一下asp木马的URL:
字串7
http://www.xxx.com/music/a.asp?path=C:/Documents%20and%20Settings/All%20Users/Application%20Data/Symantec/pcAnywhere&oldpath=C:/Documents%20and%20Settings/All%20Users/Application%20Data/Symantec&ib=true
回车以后的结果看图(10)
哈哈,怎么样?不能浏览到C盘没关系,我们可以直接跳转到这个目录,你不要以为不能浏览到C盘就说明C盘下什么目录都不可以浏览。C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\目录就是一个很好的例子。浏览到以后直接下载PCA.gua18en.CIF这个文件。然后用流光破解一下可以拿到密码。请看图(11)
破解以后就可以说明我已经获得了这个主机的administrator权限。接下来输入破解到的用户名密码用pcAnywhere控制端连接。请看图(12)
到了这里有两种情况。
1 等管理员上来,然后你控制。(比较危险) 字串5
2 你试验一下pcAnywhere破来的密码是否和主机管理员密码一致。如果一致还等什么?我这台就是一样的密码。我直接登陆到了主机上。看图(13)
我比较幸运哦,不过很多管理员的密码都是一致的。就算不一致你在登陆界面上已经可以随意重新启动主机了。渗透到这里如果在继续下去就无任何意义了。最近雪莲蓬也碰到一台和我搞定这台一样设置的主机,也是用这个办法搞到的administrator权限。
以上提升权限过程的分析:
这台主机被我成功提升权限主要是因为管理员太相信对NTFS格式对C盘的权限设置了,他以为user或者guest权限组对C盘不可以浏览就会对C盘下所有目录都不可以浏览。其实不是这样的,不相信我们看一下C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\这个目录的设置情况。请看图(14)
user用户可以对这个文件夹,读取,运行,列出文件和目录。
以上提到的这个方法和思路只是我无意中发现的。相信许多"牛"人看完以后又会说了:就这个啊?我N年以前就会"我最鄙视这样的人。
PcAnywhere 密码文件在这个文件夹是很多人都知道。但是你浏览不到任何目录的情况下你会想到直接跳转到C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\这个目录吗:)
字串8
其他我就不在多说了。
三 小结:
在NTFS 默认权限下实现提升权限不是很难,方法除我介绍的相信还有N多种。但是象文章第二段的非默认情况下提升权限我只会我写出来这一种办法,就是跳转目录。当然能跳转到的目录还有很多,比如/inetpub/,但是好象跳转到了也没有什么用途,幸好现在安装pcAnywhere的主机特别多。一般都可以用我这个提到这个办法成功提升权限。
在这里我也希望广大读者在渗透行动陷入僵局的时候要多动脑筋,不要只想别人已经公布的方法,要自己独立思考,这样才会发现更多的思路。在这里我也要提醒广大管理员要充分利用好NTFS的优越性,不要让别人有空子可钻。小问题也会导致严重后果,我想刚才我提升权限那个主机的管理员做梦都不会想到服务器会这么被入侵:)
本篇就到这里
BY 紫幻
文章来源地址:http://www.hackhome.com/html/wlcl/wlaq/2006/0610/26535.html