这个帕鲁杯是一个模拟真实生产场景的应急响应题目,这个具有拓扑网络结构,考察综合能力以及对各个系统的应急响应
网络拓扑结构图如下
相关的资产情况如下
mysql01:10.66.1.10
mysql02:10.66.1.11
PC01:10.66.1.12
PC02:10.66.1.13
WAF:10.66.1.14
webserver:10.66.1.15
Zabbix:10.66.1.16
jumpserver:10.66.1.17
1。签到:提交:【堡垒机的flag标签的值】
这个题目打开靶场登录进去之后再更多选项的标签列表中就可以找到
2.提交攻击者第一次登录时间,格式为:【2024/00/00/00:00:00】
在jumpserver堡垒机中切换为审计台,然后在日志审计的登录日志中查看最近一年的日志,在第二页中看到了一个LAN登录的用户,LAN登录意思是从内网进行登录,所以这个就是黑客登录的日志信息
flag{2024/04/11 14:21:18}
3.提交攻击者源ip,格式为:【0.0.0.0】
提交攻击者的源ip地址,这个也是在日志中的,上一个题目中的日志就可以看出是192.168.1.4,因为这个ip的登录数最多,比较可疑
flag{192.168.1.4}
4.提交攻击者使用的CVE编号,格式为:【CVE-0000-0000】
由于攻击者成功登陆了我们的堡垒机jumpserver,所以我们可以去搜一下jumpserver或者堡垒机有什么漏洞,这里搜到了好多,但是攻击者是2024年进行攻击的,所以找到是CVE-2024-29201远程代码执行漏洞
远程代码执行和jinin都是2024年的漏洞,但是进行登录应该是用的远程代码执行
flag{CVE-2024-29201}
5.提交攻击者留着web服务器上的恶意程序的32位小写md5,格式为【xxxxx】
这里因为不知道webserver的密码,所以就把磁盘文件vmdk给复制了一份,放到了disk中,在root目录下中有一个home,正常home是一个目录,存在于根目录下的,但是这个确是在root用户下,且是一个文件不是目录,大小还是1.5m,所以不太正常,可能就是恶意程序,把它md5加密计算
得到
通过kali或是windows的命令行都可以计算文件的hash值
flag{84413332e4e7138adc5d6f1f688ddd69}
6.分析恶意程序连接地址和密码,格式为:【md5(地址)-md5(密码)】全小写
对刚才提取出来的home文件进行反编译,使用pyinstallRE进行逆向分析,这个工具在蓝队工具箱中就有
运行完之后就会在但钱目录下生成一个home_extracted文件夹,里面是pyc的文件,把这些文件使用pyc转py工具来转换,得到如下,在palucomeyi1.pyc中看到了ip地址和端口以及username-password,接下来进行md5hash计算即可
我这里使用的是kali的php来对ip和密码进行加密的
flag{e695461c231aee4ed46b201efca18ff8-7da188c2e2d83e38b7d9e75e500f1af8}
7.提交存在反序列化漏洞的端口,格式为:【md5(端口)】
要找反序列化漏洞的端口,我们登录到WAF上看攻击事件,在筛选框中搜索反序列化,如下所示
有8080端口和7878端口,正常8080端口是web服务的端口,所以嫌疑最大
在这个记录中可以看到,这个请求的响应报文是200成功的,所以端口是8080
flag{d4a973e303ec37692cc8923e3148eef7}
8.提交攻击者使用的后门路由地址,格式为:【md5(/api/xxx)】
在jumpserver的审计中的会话审计中的第二页中有一个文件名是/tmp/pulu-python-flask.tar的上传,成功的状态,比较可疑,使用disk工具来看一下这个文件
我们到命令记录中去搜索python发现有rm操作还有docker run -d的操作还有docker load<palu-python-flask.tar这种导入镜像,
接下来我们看到了一个app.py,这个是flask框架的入口点,我们试着搜一个app.py看有什么线索,通过app.py是可以看到路由的,通常路由是存在于app.py文件中的
通过查看详细信息,看到了具体的路由路径
flag{948c4425bad48511fd6281d345ee69a1}
9.提交dnslog反弹域名,格式为:【md5(域名)】
通过上一个题目的cat app.py我们可以看到,最后它把所有数据都保存在了log.txt中,我们在webserver的vmdk中找,jumpserver是一个堡垒服务器不是网站,在webserver的flask中有一个log.txt,复制出来,然后查看,也可以直接查看
可以看到dnslog反弹域名是0vqkht.dnslog.cn进行md5加密就是flag了
flag{d225ad25991f53a1454d5d1a06f62b2d}
最后发现不对,下面有一个0vqkht.palu.cn,这个才是对的
flag{86fedf00e173a0d531be569028fc1f6e}
10.提交第一次扫描器使用时间,格式为:【2021/00/00/00:00:00】
继续分析我们得到的log.txt日志,扫描器一般就是一个大差不大的时间中有很多次请求,比如一秒钟可能会有几十次请求,所以看到这里执行了很多的ls,而且时间差不大,所以很符合扫描器的特点,这个时间也是最早的时间,这个是unix,使用时间戳工具进行转换即可,本地把第一条以为是扫描器开始时间,但是看wp发现不对,他们的间隔也没有红框中的小
flag{2024-04-15 02:26:59}
11.提交攻击者反弹shell使用的语言,格式为:【md5(c++&java)】
继续审计日志,找到python的反弹shell代码
flag{23eeeb4347bdd26bfc6b7ee9a3b755dd}
12.提交攻击者反弹shell的ip,格式为:【xxx.xxx.xxx.xxx】
这个题目和送分一样,上一题的python反弹shell中就可以看到反弹shell的ip了
flag{82.157.238.174}
13.提交攻击者留下的账号,格式为:【xxxxx】
这里要找攻击者留下的账号,如果是windows的话,在计算机管理中的用户和组中就可以找到,但是这里是linux,可以在disk中看vmdk文件,在root/etc/passwd中找可疑的用户
这里面不正常的用户是palu.com这个用户,所以这个就是攻击者留下来的账号了
flag{palu.com}
14.提交攻击者的后门账号密码,格式为:【md5(password)】
账号看etc/passwd就可以,密码的话要看etc/shadow文件,/etc/shadow文件中记录了所有用户的帐号密码
这一部分就是palu.com的密码,需要 进行john的爆破
我这里是把palu.com的密码复制出来进行爆破的,其实也可以直接爆破shadow文件
爆破shadow文件如下,这个比较慢,因为它是爆破所有的账号密码的,太慢了
flag{4297f44b13955235245b2497399d7a93}
15.提交测试数据条数,格式为:【md5(xxx)】
我们使用navicat工具来链接mysql数据库,如下
我们在user表中找到如下数据,这些都是palu攻击者测试用的数据,条数为5条
flag{e4da3b7fbbce2345d7772b0674a318d5}
16.提交攻击者留下的信息,格式为:【xxxx】
我们在堡垒服务器上的命令记录中搜索cat,找到了一个cat hacktext,黑客text,我们需要知道hacktext的路径,查看它的内容,可以在webserver中直接find / -name heckrtext,通常这个在web网站目录下,所以可以在网站目录下查找,locate查找也可以,如果不知道webserver的账号密码就要通过disk来一点点找了,先找网站目录
通过查找发现在nginx的日志文件中找到了hacktext,查看得到flag
flag{hi_palu_f10g}
另一种方法
17.请提交运维服务器上的恶意文件md5小写32,格式为:【xxxx】
运维服务器那么我们就在jumpserver上搜索即可,搜寻文件上传,如下,找上传到jumpserver的文件,在第二页找到了一个helloword,这个就是恶意文件,在jumpserver的命令行中看一个路径
路径如下
我们把这个jumpserver的vmdk导出来,或者把这个helloworld通过其他方式来移动出来,再或者在jumpserver中对这个文件md5哈希计算
[0fca0f847a45401c878d7a5303ddc1f8]
18.提交恶意文件的恶意函数,格式为:【md5(恶意函数)】
恶意文件helloworld是一个二进制文件,使用IDA查看,一个个提交试试,最终得出是begingame
flag{ddd0599cda1fc289a617db148d75383b}
19.请提交攻击者恶意注册的恶意用户条数,格式为:【md5(x)】
这里说的恶意注册用户,指的是在网站上恶意注册的用户条数,我们访问一下它的web服务
可以知道这是一个论坛网站,内容管理系统CMS是Discuz!
我们可以看到右上角有一个注册按钮,所以这里的恶意注册信息指的是在该discuz!上恶意注册的用户,我们去对应的数据库下寻找对应的信息,这个题目我们需要开启mysql的日志,然后再网站上添加用户的时候看看是那两个表再插入信息,但是环境好像是有问题的,没有打开mysql的日志记录,下图是我看大佬的wp
看日志文件中新插入了两个东西,分别插入到了表pre_ucenter_members和pre_ucenter_memberfields中,所以这两个表 就是攻击者恶意注册的用户,从这里看有多少条
我们可以发现kongzi的注册条目最多,为恶意注册,有10条,故本题是10条
flag{d3d9446802a44259755d38e6d163e820}
20.请提交对博客系统的i第一次扫描时间,格式为:【2024/00/00/00:00:00】
这里说的博客系统就是论坛,就是上一个题目的CMS网站,我们到waf上去看攻击事件,看到的全是针对于192.168.20.123的,对waf的80端口进行了扫描,于是访问了一个192.168.20.123的80端口,发现这个也是一个博客系统,然后这里看到第一次扫描应该是2024-4-12日就开始了,但是wp上说是16日的那个,16日的那个拦截的次数有3.6k次,次数挺多
flag{2024/4/16/21:03:46}
21.提交攻击者下载的文件,格式为:【xxxx.xxx】
再waf下的防护站点中的webserver中的末尾找到了攻击者下载的文件,是upload.zip
flag{upload.zip}
22.请提交攻击者第一次下载的时间,格式为:【xx/Apr/2024:xx:xx:xx】
我们再disk中的webserver中去查看对应upload.zip的日志。我们看apache2中的other_vhosts_access.log这个日志,在这个日志中找到了第一次下载的时间
flag{16/Apr/2024:09:03:52}
23.请提交攻击者留下的冰蝎马的文件名称,格式为:【xxxx】
我们把整个网站down下来,然后用d盾来分析,或者在堡垒服务器上的会话审计-命令记录中找.php如下
看到一个可疑的文件nidewen.php
查看它的内容是一个木马的文件,所以nidewen.php就是冰蝎马的文件名称
flag{nidewen.php}
24.提交冰蝎的链接密码,格式为:【xxx】
需要冰蝎马的连接密码,这个连接密码是16位md5加密的,我们解密之后的明文就是flag
但是用了好多md5解密工具都没有解密成功,于是百度了一下,在githuhb上找到了明文,明文是nidewen
flag{nidewen}
25.提交办公区存在的恶意用户名,格式为:【xxx】
我们先来登录pc1,发现除了管理员用户以外还有一个用户是hacker,所以判断这个用户是恶意的用户名
flag{hacker}
26.提交恶意用户密码到期时间,格式为:【xxxx】
我们通过管理员账号密码登录pc01中,然后在cmd下运行net user hacker来查看hacker用户相关信息,可以看到密码的到期时间是2024-5-28 21:40:37,到期后需要更改,服务器上的密码都是这个样子,到期后自行更改即可
flag{2024/5/28/21:40:37}
27.提交攻击者使用内网扫描工具的哈希,格式为:【xxxx】
最常见的内网扫描工具一般就是fscan工具了,在jumpserver这个堡垒服务器上的命令记录中查找fscan命令,查到了就是这个fscan来进行内网扫描的
代表系统中肯定是有fscan工具的,找到fscan工具的目录文件,然后md5出文件的hash,我们在堡垒服务器上点击转到,然后转到会话中了,再点击回放,看它使用fscan工具的操作,可以看到fscan的路径
如下它的操作
可以看出fscan实在/bin目录下的,我们去webserver的vmdk中去找fscan工具
最终再/usr/bin目录下找到了fscan文件,把它复制出来,然后进行md5加密即可
flag{1facdcd05c43ba4d37274dffc90b6d4e}
28.提交攻击者在站点上留下的后门密码,格式为:【xxxx】
这里我们去waf上去看攻击事件,这里一堆的命令执行数据包
从这些请求的数据包可以看出,后门的密码是123,都是以123传参密码的
flag{123}
29.请提交攻击者在数据库留下的信息,格式为:【xxxx】
这个好像没有什么好的方法,远程连接 数据库后一个个找吧
flag{hack_palu}
30.提交攻击者在监控服务器上留下的dcnlog地址,格式为:【xxx.xx.xx】
这个题目说监控服务器,说的就是zabbix服务器,但是题目没有告诉我们开放的服务,也没告诉我们如何登录zabbix,使用namp也没扫出来
然后百度了一下登录方式为:http://192.168.20.12/zabbix/
顺便百度出来了默认的账号和密码:Admin/zabbix
在用户处查看看到最后一次的登录时间
在管理--脚本中找到了dcnlog的地址
这里的密码我们也可以在数据库中去找,但是数据库中的密码是加密的。在数据库中的zabbix数据库的users中,密码加密需要用john爆破
flag{palu.dcnlog.cn}
31.提交监控服务器上恶意用户的上一次登录时间,格式为:【xx/xx/xx/xx:xx:xx】
在zabbix中看用户,在这里看到了一个palu用户,上一次登录时间是2024-4-17-01:01:32:44
flag{2024-04-17 01:32:44}
32.提交监控服务器上遗留的反弹shell地址和端口,格式为:【xxxx.xx】
在zabbix上的管理脚本中第一个base中解密其中的命令,发现是python的一个反弹shell代码
通过解码后看到了shell地址为154.183.110.12,端口为:7890
flag{154.183.110.12.7890}
######还有一些内存取证的题目,我分开写wp了,链接为:#########