服务器提权方法
现在可以说网络管理员对服务器的设置是越来越BT,但BT的同时,也有黑客朋友们对服务器的不断的测试,在测试中往往获取最低的guest权限是简单的,像我们在入侵网站过程中,获取webshell是简单的,但是当由webshell的guest权限向system权限提升时却往往是止步不前。所以我有想写这样一篇文章的想法,但是在思考的过程中,又不得不承认,方法是不断的探索中出来的,方法更是有常规的也有另辟蹊径的。下面就做一些简单的介绍,对提权的方法进行一些介绍,同时也希望在更多朋友的不断回复中能够丰富我们的方法。
首先要说明的是,过早的一些漏洞我们就不再多说了,只说一些现在可以见到的吧。还有就是本文的题目是webshell下的服务器提权方法。
下面我们就进入主题,对webshell的提权方法!
首先我们要明确的是,提权一般是依靠主机所开通的服务,利用服务存在的漏洞和管理员设置的疏忽进行提权的,不过也不排除一些SB的管理员对服务器设置的似乎没有"穿衣服".下面就是针对一些常见的服务进行的提权方法。
首先,在获取webshell后,我们常见的是看一下系统的服务,查看服务可以通过利用扫描器对服务器ip进行扫描,或是在webshell中有执行dos命令时查看net start来查看主机所开放的服务。首先我们说一下从简单的开始说起:
1。pcanywhere的提权方法
pcanywhere软件我想大家都了解,为什么将它放在首位就是因为读取密码后直接连接就可以了,如果对方主机在开通了pcanywhere的服务端的话,我们看能否跳转到这个目录C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\,如果行那就最好了,直接下载它的CIF文件,然后使用pcanywhere的密码读取器得到pcAnywhere密码,然后使用pcanywhere登陆即可!接下来就是可视化操作了。
2。Serv-U提权方法
Serv-u可以说是网络上比较火的一款FTP服务器软件,有许多像我这样的小黑们都是看系统服务中是否有Serv-u的系统进程来进行提权的。Serv-u的提权方法针对不同的版本也有不同的方法,这里我们就列举一二,可能不是很全,但在其他网友的回复中能够不断的补充吧!
a.serv-U本地提权:serv-U本地提权一般是利用溢出程序对serv-u的设置上的缺陷进行添加超级账户的功效。例如Xiaolu写的serv-u.exe就是利用sevr-u的默认管理端口,管理员账号和密码进行提权的,默认本地管理端口是:43958,默认管理员:LocalAdministrator,默认密码:#l@$ak#.lk;0@P,这是集成在Serv-u内部的,可以以Guest权限来进行连接,对Serv-u进行管理,利用本地提权的关键就是寻找服务器文件目录中的everyone权限目录,下面我给大家列举些常见的everyone权限目录:
c:\winnt\system32\inetsrv\data\
是erveryone 完全控制,很多时候没作限制,把提升权限的工具上传上去,然后执行
c:\prel
C:\Program Files\Java Web Start\
c:\Documents and Settings\
C:\Documents and Settings\All Users\Documents\
很多时候data目录不行,试试这个很多主机都是erveryone 完全控制!
C:\Program Files\Microsoft SQL Server\
c:\Temp\
c:\mysql\(如果服务器支持PHP)
c:\PHP(如果服务器支持PHP)
上面一些目录就是常见的,不过也不排除一些特殊的,像江民的kv2004对文件夹的权限设置就不是很严格的。
不过针对本地提权是可以防范的,下面是我在xiaolu的文章中节选的:
防止办法和对策:
一般防止方法:设置目录权限,通过去掉Web目录iusr用户的执行权限来防止使用Webshell来运行Exp程序。对策:这种方法有一定的局限性,需要设置的目录很多,不能有一点疏漏,比如我就发现很多虚拟主机在C:\Documents and Settings\All Users\ Documents目录以及下边几个子目录Documents没有设置权限,导致可以在这个目录上传并运行Exp,这种目录还有x:\php,x:\perl等,因为这种目录都是everyone完全控制的。有些主机还支持php,pl,aspx等,这简直就是服务器的Serv-U灾难,^_^,运行程序更加方便。
高级一点的防止办法:修改Serv-u管理端口,用Ultraedit打开ServUDaemon.exe查找B6AB(43958的16进制),替换成自己定义的端口比如3930(12345),打开ServUAdmin.exe找到最后一个B6AB替换成3930(12345),启动Serv-u,现在本地管理端口就成了12345了:
TCP 127.0.0.1:12345 0.0.0.0:0 LISTENING
对策:对付这种也很简单,netstat –an,就能看到端口了,有人说netstat无法运行,其实你再上传个netstat.exe到可执行目录运行就ok了,然后修改一下Exp编译,上传运行就好了,我修改了一个可以自定义端口的Exp,运行格式:
USAGE: serv-u.exe port "command"
Example: serv-u.exe 43958 "net user xl xiaoxue /add"
更高级的防止办法:修改管理员名和密码,用Ultraedit打开ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P,修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理。
对策:这下默认的管理员连接不上了,还有办法么?嘿嘿,有的管理员安装Serv-u都是使用默认目录C:\Program Files\Serv-U安装,这个目录虽然不能写,也不能修改,但是默认iusr是可以读的,我们可以用webshell来下载ServUDaemon.exe,用Ultraedit打开分析一下,Serv-U的帐号密码就到手了,修改Exp编译上传运行,我们又胜利了。
终极防御:
1.设置好目录权限,不要疏忽大意;
2.Serv-U最好不要使用默认安装路径,设置Serv-U目录的权限,只有管理员才能访问;
3.用我介绍的办法修改Serv-U的默认管理员名字和密码,喜欢的话端口也可以改掉。
===========
| 利用php.exe进行入侵 | 04-08 | |
| 渗透心得 | 04-07 | |
| 魔力论坛最新漏洞利用 | 04-07 | |
| 织梦内容管理系统(DEDECMS)3.X | 04-07 | |
| asp.dll解析成system提升权限 | 04-06 | |
| webshell+serv-u获取系统最高权限 | 04-06 | |
| 一次完全利用社会工程学的域名劫 | 03-28 | |
| 利用DNS欺骗在局域网中挂马 | 03-21 | |
| 渗透某资源网站笔记 | 03-20 | |
| 渗透同学学校网络 | 03-20 | |
| 针对虚拟主机提升权限的实现 | 03-20 | |
| 利用QQ文件共享漏洞入侵 Windows | 03-20 | |