防止SERVER-U提权的方法【转】

首先在系统里建立一个用户名,把权限组的权限都去掉.设置上复杂的密码

给C:\Documents and Settings加上刚刚新建用户,权限改为完全控制.

在SERVER-U的安装目录上加上刚刚的用户,设置为可修改.

给所有需要FTP目录的文件加上刚刚新建的拥护,设为修改权限

在服务中找到FTP服务,找到登陆选项卡,设置为刚刚新建的帐号密码以本地登陆.然后重起服务.

将C:\Documents and Settings完全控制的权限去掉.然后在试一下.

经过本人的测试,已经无法添加帐号了.

操作说完了,说下原理

默认的FTP启动后是调用了ServUAdmin.exe这个文件来进行本地验证

ServUAdmin.exe里面的默认帐号密码现在已经公开的不能在公开了,我尝试过修改ServUAdmin.exe里面的帐号密码但是提示本地密码错误,我也没有多研究.但是同样提权还是无法提了.

我经过上面的方法后不会抱错,正常使用,只是设置权限琐碎点.

上面的这个方法的原理我理解的是,当系统服务启动后,它去调用系统内部的帐号密码来启动ServUAdmin.exe而不是使用默认的了,所以你如果按老办法提权的话,是无法成功的.

 

漏洞简介:
 

 

  漏洞是使用Serv-u本地默认管理端口,以默认管理员登陆新建域和用户来执行命令,Serv-u>3.x版本默认本地管理端口是:43958,默认管理员:LocalAdministrator,默认密码:#l@$ak#.lk;0@P,这是集成在Serv-u内部的,可以以Guest权限来进行连接,对Serv-u进行管理。
 

 

  防止办法和对策:
 

 

  一般防止方法:设置目录权限,通过去掉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的默认管理员名字和密码,喜欢的话端口也可以改掉。
 

发表评论

邮箱地址不会被公开。 必填项已用*标注

click to changeSecurity Code