25平航 服务器

作者:t1mM9的笔记 发布:2026-09-15 22:23 收录:2026-09-16 12:27 1 次阅读 约 3716 字
摘要:服务器取证 网站重构
推荐理由:本文围绕「服务器取证」、「计算机取证」、「渗透测试」等主题展开。

之前一直没做过服务器取证,这次第一次做。

给我们的文件是一个vmdk文件,之前做计算机取证的时候再xways中分析过。既然是vmdk文件,我本能的像在虚拟机中打开。

那么在搭建虚拟机之前,我们要先知道一些基础的信息。

第一.我要知道是什么系统

在/etc/os-release文件夹中就有这样的信息。居然没有,也没有结尾是release,version的,那么我们只能直接搜索了。直接搜索prettyname

原来在这个位置。

第二.判断是多少位的操作系统

我们看到lib64基本可以确认是64位。除此之外,还可以通过查看elf或者ls文件知道是多少位。

看到02就代表着64位。

我觉得基本上可以了,硬盘要用ide,用别的进去会提示链接不到ide

登录进去要密码,密码的提示在之前的日记里。

11:

text:'3月11日 雾霾爆表

甲方突然要渗透测试报告,把三年前写的模板改了个标题就交上去,结果对方CTO居然真用默认密码登录了测试服务器。蹲在楼道给树莓派焊跳线,把隔壁创业公司的空气净化器改成了WiFi嗅探器。晚上在业主群装萌新,说地下车库有特斯拉在漏电,其实是用电磁干扰让新能源车的充电桩集体报错——谁让他们总占着残障车位充电。'

说是什么默认密码,666

与其不切实际的猜密码,不如找一些更合理的方法。

可以去etc文件夹底下的passwd和shadow文件看看,第一个存放了用户信息,第二个存放了对应密码

其中

虽然密码任然不知道,但至少知道我们要登录到root账户中。

至于秘密怎么找,可以通过爆破一些比较常见的密码来和shadow做对比。也是神了

我看有些人的wp,发现他们都是看“默认密码”就直接试出了答案,但我觉得这个不大合理,至少至少先看看passwd再说吧。

实话实说,我试直接看wp中的密码登录的。

接下来正式开始做题目。

49. 该电脑最早的开机时间是什么? (格式:2025/1/1 01:01:01)

由于我一点命令都不知道,所以我让ai告诉了我一些相关的命令:

1.who -b查看当前登录用户以及系统登录相关信息。告诉了我们当前这次启动是什么时候。B是boot。也就是可以当成看一看现在的时间(bushi

2.uptime -s也是当前启动的具体时间

3.last reboot他会告诉我们之前的登录信息,从上一次道最早的顺序,读取了/var/log/wtmp。其中有一些比较有意思的后缀。-x标识把系统时间也呢如其中,-F代表具体时间 |tac 是cat的反写,是让输出从最早道最近。注意,它的输出的第一条可能不是最早的开机时间,可能是别的系统事件。还有一个很重要的一点,由于是胸痛读取/var/log/wtmp文件,这个文件可能没有轮转文件,意思是可能不止这一个文件,说的更直白一些就是可能原先的wtmp文件以及存满了,你读取的是一个新的wtmp文件,所以你看到的最早知识这个文件中的最早,不是实际上的最早。

幸运的是,这里只有一个wtmp

50. 服务器操作系统内核版本? (格式:1.1.1-123)

uname显示当前系统信息 -r显示版本号 -a显示全部信息

一般在系统文件中,这种信息在boot底下,但是我们在这道题目中boot底下貌似没有东西。

除此之外,子啊日志中也可能有相关的信息。可用dmesg查看启动日志和运行信息通常会在后面加上|grep xxx来定位到关键字

51. 除系统用户外,总共有多少个用户? (格式:1)

这个我们刚刚在找用户名称的时候找到了,就是etc/passwd文件,如果用命令就是在前面加个cat就行了。那我们怎么判断系统用户呢?系统用户是哪些用户不让我们登录,而是为了提供一些服务创造的,通常uid<1000,uid=0的时候,用户是root是管理员。

root:x:0:0:root:/root:/bin/bash,其中x是密码的占位符,第一个0是uid,第二个是gid用户的分组,第三个是家目录用户登录后存储内容的目录。第四个是登录shell登录后执行的程序。

其中两个大于1000,加上root

52. 分析起早王的服务器检材,Trojan 服务器混淆流量所使用的域名是什么? (格式:xxx.xxx)

Trojan是什么

首先我用命令ps aux找了一下有没有正在运行的程序中包含了Trojan,不过没有找到。A代表所有,u是用户,先试试什么用户发起的进程,x是显示后台的服务。

之后我直接去xways中搜索trojan,发现了root文件夹底下的一个文件夹就是这个名字,很明显要在这里找。在里面找到了config.json文件这个很重要。为什么?因为config文件是配置文件,它通常保存程序运行所需要的参数。不同软件的 config 内容不同,但是核心思想都是:程序本身负责执行逻辑,config 文件负责告诉程序“怎么运行”。

这个文件虽然在服务器中但是是客户端的流程,着里的数据流有点复杂,我来给大家解释一下。

当客户端访问一个网站的时候,并没有直接访问,而是先到本机12345端口,之后客户端联系了服务器,也就是这道题目问的东西:wyzshop这个网页,在通过这个网页来访问你最初像访问的软件。看懂这个后,你可能会有疑问,这又什么用,不是还访问道了想要访问的网页吗?问题就在这里,虽然看起来还是你访问网页,但是在你想访问的服务器的记录上实际上是wyzshop这个网页访问了,从未达到加密的效果。

53. 分析起早王的服务器检材,Trojan 服务运行的模式为? A. forward B. nat C. server D. client

跟着这里的对比一下就知道答案

54. 关于 Trojan 服务器配置文件中配置的 remote_addr 和 remote_port 的作用,正确的 是? A. 代理流量转发到外部互联网服务器 B. 将流量转发到本地的 HTTP 服务(如 Nginx) C. 用于数据库连接 D. 加密流量解密后的目标地址

前面写过了,应该是a

55. 分析网站后台登录密码的加密逻辑,给出密码 sbwyz1 加密后存在数据库中的值? (格式:1a2b3c4d)

Wtf怎么就突然道网站了,难道这个服务器是哟个网站的服务器吗?在服务器的文件系统中,发现了这个www文件夹,重点关注wwwroot和wwwlog。Root是网站的根目录,log是日志信息。

在wwwroot中找到了这些内容

尝试重新搭建网站。我是第一次重建网站,这些操作也是从网上看着wp一步一步学的。像学习具体流程,请移步:https://mei-you-qian.github.io/2025/10/29/2025%E5%B9%B3%E8%88%AA%E6%9D%AF%E5%88%9D%E8%B5%9B

服务器取证之宝塔面板——基于2025平航杯服务器取证的网站重构分析 - 猛狗突击 - 博客园

接下来是吐槽环节:这个宝塔上传数据库居然传不了,我找了很多方法才找到解决没想到上传速度一言难尽。。。。。本来不打算再写这个过程,但是由于我在实操的过程中遇到了很多困难,所以还是简单说一下。

先用宝塔连接一下服务器。(下载宝塔官方的ssh,连接到服务器的ip地址)跟着我的操作就行了,不用看网上的一些操作,说要扫描阿里云什么的,我之前就是杯着吓住的。。。

我们在早起王的电脑中被加密的盘中找到了这个网站的数据库,我们要把这个数据库导入到网站中。

先用powershell把导出的文件传到虚拟机中

scp "C:\Users\你的用户名\Desktop\20250410-094648-1.sql" root@192.168.206.138:/tmp/

再上传。

为什么上传速度这么慢?我通过mysql上传,上传了至少3小时,之后晚上本来想让电脑自己上传,结果虚拟机还关机了。所以,如果通过正常的上传方式,速度会非常的慢(包括宝塔上传,极有可能上传道一般就超时的情况)。其实这是因为sql文件中都是insert语句,大概60000多条,这些语句要想成功上传,要先写入,再更新索引,再更新日志,再提交,再刷磁盘。这样才完成了一条语句。接着重复60000多次。解决方法是:

(

echo "SET autocommit=0; SET unique_checks=0; SET foreign_key_checks=0;"

cat /tmp/20250410-094648-1.sql

echo "COMMIT;"

) | mysql -uroot tpshop2.0

这样让大量的数据一次性提交,速度显著提升了。代码的具体意思我也不太懂,但以后可以用上。

搭建这个网站真的耗费了我非常多的时间,大概花了一整天的空余时间。。。。足以见得我有多绝望了。

在等待的时间里,我让codex分析了一下这个网站的备份

应该可以完成这个问题。我们道application中找后台的文件。既然是加密,我觉得要在function.php文件中找与加密有关的函数。

找到了这一条

Auth_code应该是一个不变的值,我觉得在配置文件中。前面提到跟配置相关的文件都存储在config中找找看

那么就可以知道加密的密码是TPSHOPsbwyz1的md5形式。

终于弄好了,不容易。

这个页面只是前端,如果想知道后台入口,我们要去日志中找找线索。

我们再日志中找admin

貌似是再找后台登录页面,可以看到前面好几个都是404,直到/index.php/Admin/Admin/login才成功,所以/index.php/Admin/Admin/login应该就是后台管理员账户的登录界面。

由于我们有后台,我们可以再后台数据库中找用户名和密码。

既然我们知道加密方法,我们可以爆破出密码,我们还可以自己设置一个密码,经过上面提到的加密之后修改进去。

终于的终于。。。。

56. 网站后台显示的服务器 GD 版本是多少? (格式:1.1.1 abc)

仔细看看网站就可以发现。

57. 网站后台中 2016-04-01 00:00:00 到 2025-04-01 00:00:00 订单列表有多少条记录? (格式:1)

网站重构出来后就非常简单了。

58. 在网站购物满多少免运费? (格式:1)

再后台界面随便逛逛就找到了答案

59. 分析网站日志,成功在网站后台上传木马的攻击者 IP 是多少? (格式:1.1.1.1)

我们去/www/wwwlogs查找日志信息。找到这个文件

先是看到很多?s=还有?m=怀疑是上传了一句话木马在控制,接着往下翻翻到了更加可疑的内容

其中第一行明显是一句话木马的形式。所以直接确定ip:222.2.2.2

60. 攻击者插入的一句话木马文件的 SHA256 值是多少? (格式:大写 SHA256)

我们要在文件系统中找到这个peiqi.php我还在upload文件夹找了半天原来就i在根目录。

61. 攻击者使用工具对内网进行扫描后,RDP 扫描结果中的账号密码是什么? (格式:abc:def)

RDP扫描是攻击者利用自动化脚本向特定IP地址范围的3389端口(Windows远程桌面默 认端口)发送探测包,旨在批量识别公网上哪些服务器或设备开启了远程桌面服务的行为。

一般情况下,会留下一些痕迹:在文件系统中找到了这个zip,这点就很奇怪,为什么一个网站的文件夹里不是php文件,不是txt文件而是zip文件。

在网上搜索了一下,果然是扫描工具

甚至直接在文件系统中找到了result.txt里面直接存放着答案。这道题我其实有点没完全理解。

62. 对于每个用户,计算其注册时间(用户表中的注册时间戳)到首次下单时间(订单表中最 早时间戳)的间隔,找出间隔最短的用户 ID。 (格式:1)

很明显再数据库中找分别找到了这两个数据表

其中,这两个表靠user_id“连接“

所以,我们写如下的sql语句

Select u.user_id,min(o.add_time)-u.reg_time as time_shijiancha

From tp_order as o

Join tp_users as u on o.user_id=u.user_id

Group by u.user_id, u.reg_time

Order by time_shijiancha asc

Limit 1;

有大佬用的delivery_doc中的create_time但是我觉得不大对,可能是我的问题

63. 统计每月订单数量,找出订单最多的月份? (格式:2025年9月)

Select DATE_FORMAT(FROM_UNIXTIME(o.add_time), '%Y-%m') as month,count(*) as count

From tp_order as o

Group by month

Order by count desc

Limit 1;

怎么说呢,如果用不同的表,差异会很大

64. 找出连续三天内下单的用户并统计总共有多少个? (格式:1)

这题确实有些复杂,我看了一些大佬的wp,发现有一些问题,有写大佬得出的110条是三天之内下单的条数,不是连续三天。

我对水平也确实有限,我直接用来gpt的代码。。。

服务器取证到这也算是全部都做完了,其实可以早一两天发的,但是这个重构网站耗费了很长很长时间。还是要继续努力!

转载声明:本文转载自原发布平台 (作者:t1mM9的笔记), 原文标题《25平航 服务器》, 查看原文。 版权归原作者及原发布平台所有,本站仅作收录与展示,未对正文内容作实质性修改; 若涉及侵权请联系本站处理。