一、鉴定要求
1. 加载服务器磁盘,计算磁盘源盘的SHA256 哈希值。
2. 提取“password.txt”文件,并计算文件的SHA256 哈希值。
3. 服务器的操作系统版本,网站数据所在分区的文件系统类型。
4. 服务器的“root”用户在终端中最后输入运行的命令(除关机命令外)。
5. “药品直销网”网站域名。
6. 网站数据库的类型和版本号。
7. 固定网站“通知”页面内容。
8. 网站管理员admin 的登录口令。
9. 网站管理员admin 最后登录的IP 地址。
10. 网站中“坐标江西”主帖的点击次数。
11. 网站中类型为“普通用户”的会员数量、投资总积分、投资总金额。
12. 将网站的全部会员(含管理员)的会员ID、用户名、推荐人用户名、姓名、手机号、证件号、会员类型、注册时间、投资金额列表导出至Excel 表格中。
13. 使用同一证件号注册会员账号数量最多的会员姓名,以及该会员的全部账号的投资总金额。
14. 按照推荐人关系,以会员admin 为第1 层计,会员lkj8 在网站会员层级中位于第几层,其上级会员和下级会员各占据了多少层;以图形或其它直观的形式展示该会员的上下级组织层级结构。
15. 统计网站中下级会员账号数量大于30 个且下级会员账号多于3 层的会员账号数量,统计上述会员账号按照证件号去重后的数量。
二、前期处理
1.鉴定材料:AFSPT.vmdk
2.vmdk挂载方法:
2.1美亚航母
工具:电子数据仿真取证系统。
2.2其他环境
工具:vmware,本机操作系统安装vmware虚拟机。
步骤:
· 创建新的虚拟机
· 稍后安装操作系统
· 客户操作系统选择Linux centos7 64位
· 选择虚拟机名称,并选择虚拟机文件保存位置
· 其余步骤按默认操作执行新建完成
· 编辑创建的虚拟机
· 移除原有空白硬盘,按默认添加一块新硬盘,添加过程选择磁盘选择使用现有虚拟磁盘,选择AFSPT.vmdk文件
· 开机按e,下图界面位置按e
· ro 改 rw 空格rd.break
# 依次操作以下步骤
- ctrl+x
- chroot /sysroot/ # 进入原始系统
- LANG=en # 改语言英文
- passwd root # 修改root密码
- touch /.autorelabel # 绕过centos安全机制
- exit # 退出
- reboot # 重启
3.查看网卡及配置网卡
# 命令,如果需要固定ip可以不改为dhcp
- ifconfig # 查看网络配置
- vi /etc/sysconfig/network-scripts/ifcfg-ens33 # 进入网卡配置文件
- 修改BOOTPROTO=static为BOOTPROTO=dhcp # 调整网卡为自动分配ip模式
- 注释或者删除掉原来固定的IP地址
- 同时按下键盘“shift”“:”,输入wq,退出保存
service network restart # 重启网卡
4.查看ssh端口
netstat -anp | grep ssh
5.关闭防火墙
systemctl status firewalld.service # 查看防火墙状态
systemctl stop firewalld.service # 关闭防火墙
systemctl start firewalld.service # 开启防火墙
systemctl disable firewalld.service # 永久关闭防火墙
systemctl enable firewalld.service # 开机启动防火墙
6.查看当前端口情况
netstat -anp # ssh端口2222
7.SSH工具
Mobaxterm
下载链接:https://download.mobatek.net/2322023060714555/MobaXterm_Installer_v23.2.zip
8.数据库中间件
navicat 15
部署指导:https://www.jb51.net/article/199496.htm
DBeaver 22
下载链接:https://pan.baidu.com/s/1Q6HY9t2EJJu7VJY-ql2DWw?pwd=e2bd
9.哈希值校验工具
Hashmyfile
下载地址http://www.nirsoft.net/utils/hash_my_files.html
10.操作计算机ping服务器
ping +ip # 查看本机与虚拟机是否能互相ping通,具体看虚拟机分配的IP
11.mobaxterm通过ssh连接虚拟机
12.网站映射
· Windows操作系统找到本地位置编辑hosts文件,C:\Windows\System32\drivers\etc\hosts
· ip 对应站点域名
· 配置成功后,网站的ip会映射为你虚拟机的ip,保证网站在内网环境运行
13.截图工具
faststone capture
下载链接:https://cdn-download.faststonecapture.cn/FSCaptureSetup.exe
注册码:
name/用户名:bluman
serial/序列号/注册码:VPISCJULXUFGDDXYAUYF
14.winhex工具
下载链接:https://pan.baidu.com/s/1JqDyRfSIWZaKYhTMVgpWFw?pwd=z7iw
15.FTK imager
下载链接https://pan.baidu.com/s/15SSxPPqDu6vcyA2LNYIaLg?pwd=a6cd
三、处理过程及答案
题目1.加载服务器磁盘,计算磁盘源盘的 SHA256 哈希值。
答案:磁盘源盘的 SHA256 哈希值为6790D2B6F2A2BBF98A0701B56320AA5ED87FBB63E5E4BDEE0D7511008285B6BC
过程方案一:
· 美亚航母,打开美亚取证大师,选择工具集,选择虚拟磁盘挂载工具,以磁盘、只读形式挂载AFSPT.vmdk。挂载成功后会显示分配的盘符。
· 用winhex选择工具,打开磁盘,选择对应的盘符,再选择工具,计算哈希值,选择对应的sha256进行计算。
过程方案二:
· 打开FTK imager,选择File,Image Mounting,选择AFSPT.vmdk,选择physical only,点击Mount,查看挂载的镜像为磁盘1
· 重复过程方案一第2步,计算校验值。
题目2.提取“password.txt”文件,并计算文件的 SHA256 哈希值。
答案:“password.txt”文件SHA256:aaac13e700b91876bb56749d6e1e63b2b4fba59a59478b5a5e57da68406a7ee3
过程方案一:
进入操作系统,输入命令cd / # 进入根目录
输入命令find -name password.txt # 搜索password.txt
输入命令sha256sum /www/wwwroot/modules/smarty/password.txt # 计算txt校验值
Mobaxterm右侧目录,输入password.txt所在目录,找到txt文件,点击右键,选择download,并将文件下载到你需要的位置。
计算校验值,用hashmyfiles工具直接计算该文件sha256
过程方案二:
· 按照过程方案一执行前三步
· 使用FTK加载虚拟机目录,按图所示步骤,选择虚拟机文件所在位置
· 进入password.txt路径找到对应的txt文件,对齐点右键,选择Export Files,选择本地进行导出,然后通过hashmyfiles或者命令方式计算其sha256值
题目3.服务器的操作系统版本,网站数据所在分区的文件系统类型。
答案:系统版本Centos Linux release 7.4.1708(Core)
文件系统类型xfs
过程:
进入操作系统,输入cat /etc/centos-release,显示系统版本
输入df -T,显示root分区文件系统类型
题目4.服务器的“root”用户在终端中最后输入运行的命令(除关机命令外)。
答案:systemctl list-units --type=service > services.log
过程:
进入操作系统(虚拟机或者ssh)输入history,查看命令历史记录,找到shutdown(id50),上一条就是除关机外的命令(id49)。
题目5.“药品直销网”网站域名。
答案: ypzxw.local
过程方案一:
· 进入操作系统(虚拟机或ssh),找到配置文件/www/server/panel/vhost/nginx/ypzxw.local.conf # 配置文件一般在网站文件,后缀一般为.conf之类
cat /www/server/panel/vhost/nginx/ypzxw.local.conf # 查看配置文件
· 网站域名server_name:ypzxw.local # 网站服务器重构成功情况可以访问ip下的网站验证,如下图。
过程方案二(宝塔面板):
# 如何确定服务器是否有宝塔环境。
· 文件目录,与网页相关代码目录下有panel目录或者bt之类的目录。
· 监听端口:netstat -anp,888(phpmyadmin)或者8888(宝塔)端口。
· 输入ip+端口确认
cd /www/server/panel && python tools.py panel 123456 # 修改宝塔面板root密码为123456
· 登录宝塔面板,点击网站,点击域名,选择配置文件,找到其监听端口及网站域名server_name
题目6.网站数据库的类型和版本号。
答案:数据库的类型MySQL,版本号5.6.37
过程方案一:
· 进入虚拟机系统,在网站目录下找到网站配置文件(一般以config,db,database之类命名)/www/wwwroot/config/db_settings.php
· cat /www/wwwroot/config/db_settings.php # 查看配置文件,本地host(localhost),用户名user(ypzxw),密码password(mK4JUOaycb9tF7nI),使用的数据库database(ypzxw)。
mysql -uypzxw -pmK4JUOaycb9tF7nI # 登录数据库
过程方案二(宝塔)
· 题目5过程已经登录宝塔,直接通过宝塔查看密码
· 选择数据库,即可查看到用户名和密码及root密码,重复过程方案一第3步
过程方案三(绕过数据库密码)
vi /etc/my.cnf # 编辑mysql的my.cnf配置文件
# 点击键盘i进入编辑,在mysqld配置中添加skip-grant-tables
键盘按esc,输入键盘冒号“:”,输入wq退出保存
mysql -uroot -p # 不需要密码,直接回车进入数据库
题目7.固定网站“通知”页面内容。
答案:# 截图需要包含网站链接及北京时间
过程
· 访问网站http://ypzxw.local/,右上角找到通知,点击进入通知页面
· faststone capture,选择捕捉滚动窗口,点击左键,在网页上滑动鼠标滑轮至网页底部完成截图并另存为本地附件中。
题目8.网站管理员 admin 的登录口令。
答案:kkl4Ib
过程方案一
· 手动全试,根据题目2提取的password.txt提示,该文件可能是网站登录口令的密码库。
· 将password.txt中的密码依次在药品直销网网站中输入,直到登录成功。
· 输入过程中,错误3次会禁止登录
· 数据库m_logincontrol表修改字段logins登录失败次数,重新调整为0。
· 或者找到后台登录页面代码“/www/wwwroot/includes/login.inc.php”,将3次调整为较大值。
过程方案二
· 通过selenium自动化测试脚本输出正确密码
· 按过程方案一第5步,修改网站代码登录失败限制次数
· 执行代码,以下提供参考python代码
from selenium import webdriver
# import time
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
passwords_file = "password.txt" # 替换为密码文件的路径
with open(passwords_file, "r") as file:
passwords = file.readlines()
driver = webdriver.Chrome() # 替换为适用于你的浏览器的webdriver
for password in passwords:
password = password.strip() # 去除前导/尾随空格或换行符
driver.get('http://ypzxw.local/index.php')
username_input = driver.find_element(By.ID,'login')
password_input = driver.find_element(By.ID,'password')
username_input.send_keys("admin")
password_input.send_keys(password)
login_button = driver.find_element(By.XPATH,'//*[@id="content"]/form/div/p[4]/input')
login_button.click()
try:
driver.find_element(By.XPATH,'//*[@id="usermenu"]/li[1]/a/strong') # 替换为登录成功的元素的XPath
print("登录成功!")
print("密码:", password)
break
except NoSuchElementException:
print("登录失败,密码为:", password)
driver.quit()
题目9.网站管理员 admin 最后登录的 IP 地址。
答案:192.168.112.242
过程:
mysql -uroot -pb86551ee7ffc7eb5 # 进入数据库
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; # 开启数据库远程访问
· 打开dbeaver,选择数据库mysql,输入数据库ip,端口,用户名,密码并登录。
· 找到m_userdata,找到user_name字段值为admin对应的user_ip字段的值。
题目10.网站中“坐标江西”主帖的点击次数。
答案:21次
过程方案一
· 用admin账户登录,找到对应主题的帖子
过程方案二
· 找到数据库m_entries表,可以看到subject字段坐标江西对应的id,pid父节点,tid顶层节点,都是71,说明id71是主贴。找到id71主题对应的view字段,值为21。
题目11.网站中类型为“普通用户”的会员数量、投资总积分、投资总金额。
答案:“普通用户”的会员数量3378,投资总积分137120000.00,投资总金额17140000.00。
过程:
· 分析“/www/wwwroot/themes/default/subtemplates/ user.inc.tpl”文件,user_type=2为admin,user_type=1为mod,user_type不等于1或者2时为user。
· 分析“/www/wwwroot/lang/ chinese.lang”文件,user_type为用户类型,admin为管理员,mod为经理,user为普通用户。
· 分析“/www/wwwroot/includes/ admin.inc.php”文件,投资金额为investment的值除以8。
· 用dbeaver打开数据库,查看表m_userdata,字段user_type;表m_userinfo,字段investment,注释为投资积分。
· 对着表m_userdata点击鼠标右键,选择在SQL控制台中读取数据,输入SQL:SELECT b.user_type ,COUNT(b.user_type),SUM(investment),SUM(investment)/8 FROM ypzxw.m_userinfo as a left join m_userdata as b on a.id =b.user_id where b.user_type =0,进行查询。得出结果“普通用户”的会员数量3378,投资总积分137120000.00,投资总金额17140000.00。
题目12.将网站的全部会员(含管理员)的会员 ID、用户名、推荐人用户名、姓名、手机号、证件号、会员类型、注册时间、投资金额列表导出至 Excel 表格中。
答案:会员记录3481条,将记录提取至excel文件“全部会员.xlsx”。
过程
· 打开dbeaver,随便找张表点击右键,选择在SQL控制台中读取数据,输入SQL:SELECT user_id ,user_name ,b.pid ,b.pname ,b.realname ,b.phone ,b.idcard ,case user_type when 0 then '普通会员' when 2 then '管理员' else '' end as `用户类型`,registered ,ROUND(b.investment/8,2) from m_userdata as a left join m_userinfo as b on b.id =a.user_id。导出至excel。
题目13.使用同一证件号注册会员账号数量最多的会员姓名,以及该会员的全部账号的投资总金额。
答案:证件号130133196512251495注册会员账号数量最多,21个,会员姓名焦程翀。该会员的全部账号的投资总金额118750.00。
过程
· 打开dbeaver,随便找张表点击右键,选择在SQL控制台中读取数据,输入SQL:SELECT idcard ,realname ,COUNT(1) as `条数`,SUM(investment)/8 as `投资总金额` from m_userinfo group by idcard ,realname order by `条数` desc。
题目14.按照推荐人关系,以会员 admin 为第 1 层计,会员 lkj8 在网站会员层级中位于第几层,其上级会员和下级会员各占据了多少层;以图形或其它直观的形式展示该会员的上下级组织层级结构。
答案:会员lkj8位于推荐层级第9层,上线会员数8个,直推会员ID127,推荐人用户名xjy5,推荐人姓名劳可家。会员lkj8直推会员数2个,累推会员数97个,最大发展下线层数12层。
过程
# 绘制图形工具为i2
# 自己写个程序也可以实现,以下是自己写的程序主界面。networkx模块实现绘图
题目15.统计网站中下级会员账号数量大于 30 个且下级会员账号多于 3 层的会员账号数量,统计上述会员账号按照证件号去重后的数量。
答案:下级会员账号数量大于 30 个且下级会员账号多于 3 层的会员账号数量351个,上述会员账号按照证件号去重后共273个。