美亚杯2023电子取证赛题 writeup

李大辉的手机

  1. 李大辉所用手机移动运营商公司的名称
    Mobile Duck
    my23-1.png

  2. 李大辉的手机安装了什么即时通讯软件 (Instant Messaging App)?
    选项: A: WhatsApp;B: LINE;C: 微信;D: Signal;E: QQ
    A明明微信也有的!
    my23-2.png

  3. 李大辉的手机安装了什么反追踪软件?
    air_tag_tracker_detect_lite,大佬也没找到

  4. 李大辉的手机是什么时间成功登入WhatsApp?
    选项: A: 2022-08-18_21:52:30;B: 2022-08-19_21:56:23;C: 2022-08-18_21:56:37;D: 2022-08-19_06:59:07;E: 2022-08-19_07:01:17
    C,没有看日志,但是有登录短信,那大概就是短信附近的时间
    my23-4.png

  5. 李大辉登入WHATSAPP时的认证短码是什么?
    304313,上一道题
    my23-4.png

  6. 李大辉到美丽好化妆品公司的入职时间是何时?
    选项: A: 2016-04-16;B: 2016-06-28;C: 2017-05-25;D: 2017-07-25;E: 2017-08-18
    C,逆天跟22的一样的套路
    my23-6.png

  7. 李大辉曾于什么时间使用了图像编辑软件?
    选项: A: 2022-09-10;B: 2022-09-12;C: 2022-10-05;D: 2022-11-10;E: 2022-11-13
    我也觉得时间写反了,c但是我的答案是10月11日
    my23-7.png

Meiya_VPN.vmdk

  1. 这个访问服务器使用了哪个端口?
    943,查看浏览器的登录信息在url的末尾带上了访问的端口号
    my23-8.png

  2. “User1”账户最近连接到这个访问服务器时使用的IP地址是多少?
    192.166.244.167,首先直接全局搜索User1,发现了一个User1.ovpn的文件,然后在这个文件里面只有OpenVPN 服务器的 IP 地址,那就直接搜索openVPN的日志文件,在里面找到了访问ip,也就是我们这个客户端的IP地址
    my23-9.png

  3. 哪些文件可以找出这个访问服务器的Ubuntu版本?
    选项: A:lsb-release;B:issue.net;C:.profile;D:console
    A B
    my23-10-1.png
    my23-10-2.png

    笔记
    关于 Ubuntu 系统版本查询文件的笔记

  • 选项 A:lsb-release
    文件路径:/etc/lsb-release
    功能说明:Ubuntu 系统中专门记录发行版信息的标准文件,包含版本号(如DISTRIB_RELEASE=22.04)、发行代号等关键内容。执行cat /etc/lsb-release可快速获取版本。
    是否可用于查询 Ubuntu 版本:是
  • 选项 B:issue.net
    文件路径:/etc/issue.net
    功能说明:可用于查询 Ubuntu 版本,文件中包含系统版本相关信息,可通过查看该文件获取版本信息。
    是否可用于查询 Ubuntu 版本:是
  • 选项 C:.profile
    文件路径:用户主目录下
    功能说明:用户的环境变量配置文件,用于定义用户登录后的环境参数,与系统版本无关。
    是否可用于查询 Ubuntu 版本:否
  • 选项 D:console
    文件路径:/dev/console
    功能说明:系统控制台设备,并非存储系统版本信息的文件。
    是否可用于查询 Ubuntu 版本:否
  1. 哪些文件有助于分辨这是一个存储服务器?
    Which files could be used to prove this access server?
    猜猜为啥我要粘英文,因为英文的意思是访问服务器!!!
    选项: A:auth.log;B:sys.log;C:bash_history;D:idconfig
    A B C
    my23-11-1.png
    my23-11-2.png
    my23-11-3.png
    在大佬的题解里说找到了文件里有关于openvpn相关的内容就分析出来这个文件可以证明这是一个访问服务器的说明

    笔记

关于判断存储服务器的系统文件分析笔记

  • 选项A: auth.log

    • 功能说明:系统认证日志,主要记录用户登录(如SSH登录)、权限验证等认证相关事件,仅反映访问安全情况,与存储服务、磁盘管理无关。
    • 是否可用于判断存储服务器:否
  • 选项B: sys.log

    • 功能说明:系统日志文件,全面记录系统关键运行事件,包括磁盘挂载(如mount操作)、存储设备识别(如硬盘、阵列的检测日志)、存储相关服务(如NFS、Samba等)的启动/运行状态等,能直接体现服务器存储功能。
    • 是否可用于判断存储服务器:是
  • 选项C: bash_history

    • 功能说明:用户命令历史记录文件,仅记录当前用户执行的Shell命令,若用户未执行存储相关操作则无有效信息,且内容可被清空或修改,无可靠性。
    • 是否可用于判断存储服务器:否
  • 选项D: idconfig

    • 功能说明:非标准Ubuntu系统文件(可能是输入误差,常见的是ldconfig用于动态链接库配置),与存储功能无关。
    • 是否可用于判断存储服务器:否

      题解的逻辑是:openvpn_as 用户的创建指向服务器部署了 OpenVPN 访问服务,而 OpenVPN 的核心功能是提供远程访问能力,因此间接证明该服务器是用于 “允许外部访问” 的 访问服务器。这种推理的关键是将 “特定服务用户的存在” 与 “服务的核心功能(远程访问)” 关联,进而定位服务器的角色。
      证明一台服务器是“访问服务器”,核心是验证它是否提供了供外部或内部用户/设备访问的特定服务,并通过查看服务配置、端口监听、日志记录等关键信息来确认,具体可按以下3个步骤操作:

1. 查看服务器是否运行“访问类服务”进程

访问服务器的核心是提供“可被访问的服务”,需先确认服务器上是否启动了对应服务进程,常见的访问类服务及查看命令如下:

  • Web访问服务(如供浏览器访问的Web服务器):查看是否运行 nginxapache2 进程,执行命令 ps -ef | grep nginxps -ef | grep apache2,有返回结果说明服务在运行。
  • 文件访问服务(如供用户访问文件的服务器):查看是否运行 samba(Windows文件共享)、nfs-kernel-server(Linux文件共享)进程,执行命令 ps -ef | grep sambaps -ef | grep nfs
  • 远程登录访问服务(如供管理员远程操作的服务器):查看是否运行 sshd(SSH远程登录服务)进程,执行命令 ps -ef | grep sshd,默认Linux服务器常开启此服务用于远程管理。

2. 检查服务对应的端口是否处于“监听状态”

服务运行后需通过端口接收外部访问请求,需确认服务端口是否已“监听”(即处于可接收连接的状态),使用 netstatss 命令查看:

  • 执行命令 ss -tuln-t 显示TCP端口,-u 显示UDP端口,-l 显示监听状态,-n 显示IP和端口号)。
  • 对应服务的默认监听端口参考:
    • Web服务:TCP 80端口(HTTP)、443端口(HTTPS)。
    • 文件共享服务:Samba用TCP 139/445端口,NFS用TCP/UDP 2049端口。
    • SSH远程访问服务:TCP 22端口。
  • 若命令结果中,上述端口状态为“LISTEN”(监听),说明服务已开放端口,可接收外部访问请求。

3. 查看服务访问日志,确认是否有访问记录

访问服务器会记录用户/设备的访问行为,通过查看服务日志可直接证明“是否有实际访问发生”,常见日志路径及查看方式:

  • Web服务日志:Nginx日志默认路径 /var/log/nginx/access.log,Apache日志默认路径 /var/log/apache2/access.log,执行 cat /var/log/nginx/access.log,日志中会显示访问者IP、访问时间、访问的页面等信息。
  • SSH远程访问日志:默认路径 /var/log/auth.log(Ubuntu系统)或 /var/log/secure(CentOS系统),执行 cat /var/log/auth.log | grep ssh,可看到“用户登录成功/失败”“从某IP发起SSH连接”等记录。
  • 文件共享服务日志:Samba日志默认路径 /var/log/samba/log.smbd,执行 cat /var/log/samba/log.smbd,可看到用户访问共享文件夹、上传/下载文件的记录。
  1. 这个访问服务器所在时区是哪个时区?
    选项: A:UTC +9;B:UTC +8;C:UTC -7;D:UTC
    我有一个问题,为啥我用的几个密码都不可以,但是随便输入的123456可以进入仿真系统,这个是默认绕过密码吗?
    C
    my23-12.png

    在Ubuntu系统中,可以通过以下几种方法查看时区:

  • 使用timedatectl命令:在终端输入timedatectltimedatectl status,命令输出结果中“Time zone”行后面的内容即为当前系统时区。例如:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    timedatectl
    # 输出示例
    Local time: Thu 2025-08-07 21:26:50 CST
    Universal time: Thu 2025-08-07 13:26:50 UTC
    RTC time: Thu 2025-08-07 13:26:50
    Time zone: Asia/Shanghai (CST, +0800)
    Network time on: yes
    NTP synchronized: yes
    RTC in local TZ: no
  • 查看/etc/localtime文件/etc/localtime是一个符号链接,指向系统时区文件。在终端输入readlink /etc/localtime,输出结果中的路径表示当前系统时区。例如,输出/usr/share/zoneinfo/Asia/Shanghai,则表示当前时区为亚洲上海。
  • 使用date命令:在终端输入date +"%Z %z"%Z会显示时区缩写,%z会显示时区偏移量。例如,输出CST +0800,表示当前时区为中国标准时间,时区偏移量为UTC+8。
  • 查看/etc/timezone文件:某些Linux发行版(如Debian/Ubuntu)会将时区信息存储在/etc/timezone文件中。在终端输入cat /etc/timezone,输出的内容即为当前时区。例如,输出Asia/Shanghai,则表示当前时区为亚洲上海。
  1. 这个访问服务器的”openvpn”帐户密码是多少?
    TLfAg6l6dssc,有两个密码,难点是到底谁才是真的美猴王,这里我们要注意的是访问的ip,一方面我们可以通过之前的题目判断,一方面也可以在静态路由的配置上看到。
    my23-13-1.png
    my23-13-2.png

  2. 在这个访问服务器中,”User1”账户之间的连接所使用的加密算法(密码)是什么?
    选项: A:Blowfish-CBC;B:3DES-CBC;C:AES-128-GCM;D:AES-256-CBC
    D,没想到之前误打误撞找到的文件这题也能用,虽然之前的那个日志文件也行
    my23-14.png

    这份OpenVPN客户端配置文件中明确提到了两种核心加密算法,分别用于不同的加密场景,具体信息如下:

1. 数据传输加密算法:AES-256-CBC

  • 配置位置:文件开头的 cipher AES-256-CBC 字段。
  • 作用:这是客户端与服务器之间实际数据传输的加密算法,属于对称加密算法。
    • “AES” 是高级加密标准,安全性极高;
    • “256” 表示密钥长度为256位,加密强度远高于128位;
    • “CBC” 是密码分组链接模式,通过链式加密增强数据安全性,是OpenVPN中常用的传输加密模式。

2. TLS握手加密相关算法:隐含RSA与ECC(基于证书信息)

配置文件中虽未直接写“RSA”“ECC”,但通过证书内容可推断出密钥交换与身份认证的加密算法:

  • RSA:文件中 <key> 标签内的“BEGIN PRIVATE KEY”、<cert> 标签的证书,以及末尾“BEGIN RSA SIGNATURE”,表明客户端证书的密钥对(私钥/公钥)采用 RSA算法,用于TLS握手时的身份认证和密钥协商。
  • ECC(椭圆曲线加密):CA证书(<ca> 标签内)和Web CA证书中包含“qhkjOPQQDAj”等标识(对应“ECDSA”相关参数),说明服务器端CA证书可能采用 ECC算法 生成,用于验证服务器身份,ECC相比RSA在相同安全强度下密钥更短、运算更快。

总结

核心加密算法分两类:

  • 数据传输:明确指定为 AES-256-CBC(对称加密,用于加密所有VPN隧道内的实际数据);
  • 身份认证与密钥协商:隐含使用 RSA(客户端证书密钥)和 ECC(CA证书),用于TLS握手阶段确认双方身份、安全交换会话密钥。

.pcapng流量分析

  1. 给出正在进行Nmap扫瞄的计算机互联网协议地址?
    What is the source IP of the nmap scanning?
    !!!中文题目很抽象. 根据英文题目 What is the source IP of the nmap scanning, 问的是 “Nmap 扫描的来源 IP 是什么”.
    答案:192.168.186.132
    my23-15.png

    首先理解这道题要先明白

nmap是啥,有啥用

Nmap(Network Mapper)是一款开源的网络扫描与探测工具,核心作用是扫描目标网络或主机,获取其存活状态、开放端口、运行服务、操作系统版本等信息,广泛用于网络管理、安全审计和渗透测试。

1. Nmap的核心功能

  • 主机发现:检测目标网络中哪些主机是“存活”的(如通过ICMP ping、TCP SYN/ACK探测、ARP请求等)。
  • 端口扫描:扫描目标主机的TCP/UDP端口,判断哪些端口处于“开放”状态(如80端口对应HTTP服务、22端口对应SSH服务),并识别端口上运行的具体服务(如Nginx、Apache)。
  • 服务与版本探测:进一步识别开放端口上运行的服务版本(如“Apache 2.4.49”),甚至获取服务的配置细节。
  • 操作系统探测:通过分析目标主机的TCP/IP协议栈特征(如TTL值、窗口大小),推测其运行的操作系统(如“Ubuntu 20.04”“Windows Server 2019”)。
  • 脚本扩展:支持通过NSE(Nmap Scripting Engine)脚本实现更复杂的功能,如漏洞检测、弱口令爆破、服务漏洞利用等。

2. Nmap的常见使用场景

  • 网络管理:管理员用它排查网络设备(如路由器、服务器)的端口开放情况,确认服务是否正常运行,避免无用端口暴露带来的风险。
  • 安全审计:安全人员用它扫描内部网络,发现潜在的安全漏洞(如开放的高危端口、过时的服务版本),提前修复隐患。
  • 渗透测试:在授权测试中,用它收集目标网络的基础信息(如存活主机、开放服务),为后续的漏洞利用和攻击路径规划提供依据。

3. Nmap的典型扫描特征(对应之前Wireshark分析)

Nmap扫描会产生有辨识度的网络流量,这也是在Wireshark中能定位它的原因,比如:

  • 端口扫描特征:对同一目标的大量端口发送探测包(如SYN包、FIN包),且来源IP固定。
  • 服务探测特征:向开放端口发送特定请求(如向80端口发送HTTP请求,User-Agent包含“Nmap”标识)。
  • 主机发现特征:向多个目标IP发送ICMP ping包或TCP连接请求,探测主机是否存活。
    简单来说,Nmap是网络领域的“侦察兵”——通过发送特定网络包并分析响应,帮使用者摸清目标网络的“底细”。

为啥可以流量分析出Nmap 扫描的来源 IP 是什么

能通过流量分析找出Nmap扫描的来源IP,核心原因是Nmap扫描会产生“特征化的网络流量”——它的扫描行为(如端口探测、服务识别)有固定的数据包格式、发送规律,这些特征能与正常网络通信区分开,再结合“单一IP高频发起特征流量”的规律,就能定位来源IP。具体可从3个关键逻辑展开:

1. Nmap扫描有“不可伪装的流量特征”

Nmap的核心是通过发送特定数据包探测目标,这些数据包的格式、标志位、内容有明确特征,正常网络通信很少出现,比如:

  • 端口扫描的标志位特征
    比如“SYN扫描”(Nmap默认扫描方式之一)会只发TCP SYN包(不发ACK),对应Wireshark中tcp.flags.syn==1 and tcp.flags.ack==0;“FIN扫描”只发TCP FIN包,对应tcp.flags.fin==1 and 其他标志位为0。正常通信中,TCP连接需要完整的“SYN→SYN+ACK→ACK”三次握手,不会频繁出现这种“残缺标志位”的包。
  • 服务探测的内容特征
    Nmap识别服务版本时,会向开放端口发送“指纹化请求”,比如向80端口发包含User-Agent: Nmap Scripting Engine的HTTP请求,向21端口发特定FTP命令。这些请求内容里直接带有“Nmap”标识,或请求格式是Nmap专属的,一眼就能识别。
  • 扫描的频率/数量特征
    Nmap扫描时会对目标的多个端口(甚至多个目标)批量发探测包,比如1分钟内向同一目标的1-1000端口各发1个SYN包。正常通信中,一个IP不会短时间内向同一目标的大量端口发送相同类型的数据包,这种“高频、批量、规律性”的流量是扫描的典型信号。

2. “单一IP”是扫描流量的核心关联点

Nmap扫描由一个(或少数几个)控制端发起,所有特征流量的“Source IP”(源IP)会固定指向扫描端。比如:

  • 若某IP在10秒内,向目标主机的22、80、443、3389等20个常用端口,各发1个“SYN包”,且没有后续的ACK包(符合SYN扫描特征)——这个IP大概率是扫描源;
  • 若某IP向多个目标(如192.168.1.10、192.168.1.11、192.168.1.12)都发送ICMP Echo请求(ping包),且发送间隔均匀——这是Nmap的“主机发现”扫描,该IP就是扫描源。

正常网络中,不同IP的通信是分散的,不会有一个IP集中、批量地发起特征化探测,因此“固定源IP+特征流量”是定位的关键。

3. Wireshark的工具能力放大了特征

Wireshark能通过“过滤”和“统计”功能,快速聚焦扫描流量并关联源IP:

  • 过滤功能:用tcp.flags.syn==1 and tcp.flags.ack==0等规则,直接筛选出Nmap的扫描包,排除正常流量干扰;
  • 统计功能:通过“Statistics→Endpoints”查看筛选后流量的源IP分布,哪个IP发送的扫描包数量最多,哪个就是扫描源(比如某IP发送了200个SYN包,其他IP仅发送1-2个,差异明显)。

总结来说:Nmap扫描的“特征流量”是“识别信号”,“单一源IP”是“关联线索”,两者结合就能通过流量分析锁定扫描的来源IP——本质是“扫描行为的规律性”暴露了来源。

如何在 Wireshark 中确定 Nmap 扫描的来源 IP

  1. 打开文件:启动Wireshark,通过菜单“File > Open”加载给定的.pcapng文件。

  2. 应用显示过滤器:根据Nmap扫描的不同特征,使用相应的显示过滤器来筛选数据包。

    • TCP半开扫描(SYN扫描):如果是SYN扫描,过滤器可以设置为tcp.flags.syn == 1 and tcp.flags.ack == 0 and tcp.window_size <= 1024。Nmap发送SYN包,收到SYN+ACK后不回复ACK而是RST,导致大量不完整握手,且Nmap常使用小窗口大小。
    • NULL/FIN/Xmas扫描:对于NULL扫描(无任何标志),过滤器为tcp.flags == 0x0000;FIN扫描(仅FIN),过滤器为tcp.flags.fin == 1 and tcp.flags.syn == 0 and tcp.flags.ack == 0;Xmas扫描(FIN+URG+PSH),过滤器为tcp.flags.fin == 1 and tcp.flags.urg == 1 and tcp.flags.push == 1
    • 服务版本探测(HTTP):如果是通过HTTP进行服务版本探测,可使用过滤器http.user_agent contains "nmap",直接检测包含nmap标识的User-Agent。
    • ICMP主机发现:若Nmap使用-PE参数,会发送ICMP Echo请求,过滤器为icmp.type == 8,结合高频ICMP请求(同一源IP对多个目标发送)来识别。
    • UDP扫描:Nmap发送空负载UDP包到多个端口,过滤器为udp and frame.len == 8,空UDP包长度为8字节(仅头部)。
  3. 定位扫描源IP:应用上述过滤器后,观察数据包列表中的“Source”列,记录高频出现的IP。也可以使用统计工具来辅助定位。

    • 使用“Endpoints”功能:点击菜单“Statistics > Endpoints”,选择“IPv4”选项卡,点击“Limit to display filter”按钮,确保只统计当前过滤的流量。列表中将显示所有源IP地址及其发送的数据包数量,根据数据包数量排序,数量异常多的IP可能在进行扫描。
    • 使用“Conversations”功能:点击菜单“Statistics > Conversations”,选择“IPv4”选项卡,点击“Limit to display filter”按钮。在“Address A”或“Address B”列中,可以看到参与通信的IP地址,按“Packets A→B”排序,数量多的IP可能为扫描源。
  4. 有多少个Nmap扫瞄正在同时进行?
    2

    第一步:使用过滤器tcp.flags.syn == 1 and tcp.flags.ack == 0来筛选出 SYN 包
    第二步:查看端点统计信息:
    点击 Wireshark 菜单栏中的 “Statistics”(统计),选择 “Endpoints”(端点)。
    在弹出的 “Endpoints” 窗口中,选择 “IPv4” 选项卡(如果是 IPv6 扫描则选择 “IPv6”)。
    点击 “Packets”(数据包)列,按数据包数量进行排序。如果有多个 Nmap 扫描同时进行,那么会看到多个源 IP 地址的数据包数量都比较高,且这些 IP 地址发出的数据包符合 Nmap 扫描的特征。
    tcp.flags.syn == 1 and tcp.flags.ack == 0这句话的核心意思是筛选出TCP协议中的SYN包(同步请求包),也就是TCP三次握手的第一个数据包。

  • tcp.flags.syn == 1:表示TCP头部的“同步标志位(SYN)”被置1。
    SYN位是TCP建立连接时用于发起同步的标志,发送方通过置1这个位,向接收方请求同步序列号,准备建立连接。
  • tcp.flags.ack == 0:表示TCP头部的“确认标志位(ACK)”为0。
    ACK位用于确认已收到对方数据,此时为0说明这个数据包仅用于发起连接请求,没有附带对其他数据包的确认信息。
    my23-16.png

关于nmap的并发扫描

不难发现里面只有两个内网IP,接下来我会解释一下为啥是两个(只是我个人的理解,因为我看其他人的都没有解释)

  • 源 IP 192.168.186.132 发送包(Tx Packets)= 21,215,接收包(Rx Packets)= 25,895。虽然接收包数量看似多,但结合 “40MB 总流量 + 21,215 次主动请求”,本质是对大量公网目标发起批量 SYN 扫描(Nmap 的 “半开连接扫描” 会收到部分目标的 SYN+ACK 响应,但不会完成三次握手,属于正常扫描行为)。第一类:多目标同端口批量探测(如对 443 端口的大规模扫描)
  • 源 IP 192.168.186.2 发送包(Tx Packets)= 1,472,接收包(Rx Packets)= 1,562。发送包数量远小于前者,说明是针对少量目标的独立扫描(比如对特定 IP 的单端口深度探测)。第二类:单目标单端口独立探测(如对 124.146.155.171 的 80 端口扫描)
  1. 当计算机正在扫瞄8.8.8.8,namp相关的指令是什么
    选项: A.nmap -sT 8.8.8.8;B.nmap -sU 8.8.8.8;C.nmap -sn -PR 8.8.8.8;D.nmap -sn -PU 8.8.8.8
    A ,观察发现扫8.8.8.8的tcp协议为主,因此选A

    要彻底理解选项,需逐个拆解Nmap参数的含义和适用场景:

  • 选项A:nmap -sT 8.8.8.8
    含义-sTTCP全连接扫描,原理是通过完整的TCP三次握手建立连接,判断端口是否开放(开放端口会完成握手,关闭端口会返回RST)。
    匹配性:抓包中可见大量TCP SYN包(如对443、80端口的探测),完全符合-sT的行为,因此是正确选项。
  • 选项B:nmap -sU 8.8.8.8
    含义-sUUDP扫描,原理是发送UDP数据包到目标端口,通过是否收到ICMP端口不可达响应判断端口状态。
    匹配性:抓包中对8.8.8.8的探测以TCP为主,无明显UDP端口扫描行为,因此排除。
  • 选项C:nmap -sn -PR 8.8.8.8
    含义-sn主机发现(不扫端口)-PRARP扫描(仅适用于局域网,通过发送ARP请求判断主机是否在线)。
    匹配性:8.8.8.8是公网IP,无法用ARP扫描;且题目是“扫描端口开放”,而非仅判断主机是否在线,因此排除。
  • 选项D:nmap -sn -PU 8.8.8.8
    含义-sn是主机发现,-PUUDP Ping(发送UDP数据包判断主机是否在线)。
    匹配性:同样仅用于主机发现,不扫描端口,与题目“找端口开放”的需求不符,因此排除。
    解释一下C D选项的不同
  • PR是 “内网专属的 ARP 探测”
  • PU是 “公网可用的 UDP 探测”,但仅做主机发现,不扫端口
    my23-17.png
  1. 当计算机正在扫瞄45.33.32.156,namp相关的指令是什么
    选项: A.nmap -sT 45.33.32.156;B.nmap -sU 45.33.32.156;C.nmap -sn -45.33.32.156;D.nmap -sn -45.33.32.156
    B,同上

  2. 国强被指派设定一个DHCP服务器,该服务器需借出最后100个的IP地址,以下哪个IP地址会是被借出的IP地址?
    选项: A.10.1.4.255;B.10.1.4.100;C.10.1.4.254;D.10.1.4.1
    不是,这道题不是可以直接做吗.254就是全1111,主机位全是一是广播地址,好了我懒得打字了,ai一下

    要解决这道题,需结合DHCP服务器分配IP地址的规则IP地址的范围特性分析:

核心逻辑:DHCP分配的是“可用主机IP”

DHCP服务器分配的IP地址必须是有效主机IP,即:

  • 不能是网络地址(主机位全为0,如10.1.4.0);
  • 不能是广播地址(主机位全为1,如10.1.4.255,针对IPv4的C类网段);
  • 需在指定的“最后100个IP”范围内。

选项分析:

假设该DHCP服务的网段是10.1.4.0/24(最常见的C类网段,子网掩码255.255.255.0),该网段的IP范围是10.1.4.1~10.1.4.254(共254个可用主机IP):

  • “最后100个IP”的范围是:254 - 100 + 1 = 155 → 即10.1.4.155~10.1.4.254

选项A:10.1.4.255

  • 是该网段的广播地址(主机位全为1),DHCP不会分配广播地址,排除。

选项B:10.1.4.100

  • 属于网段的前半部分(1154),不在“最后100个IP(155254)”范围内,排除。

选项C:10.1.4.254

  • 是该网段的最后一个可用主机IP,属于“最后100个IP(155~254)”范围内,且是有效主机IP,符合条件。

选项D:10.1.4.1

  • 是网段的第一个可用主机IP,属于前半部分,不在“最后100个IP”范围内,排除。

答案总结:

选C(10.1.4.254是最后100个IP范围内的有效主机IP,可被DHCP分配)。

  1. 以下那个协议是属于TCP/IP协议?
    i: DHCP
    ii: HTTP
    iii: RTP
    iv: Telnet
    选项: A. i & iii;B. ii & iv;C. 所有皆是 (All answers belong to TCP/IP protocol);D. 所有皆否(All answers don’t belong to TCP/IP protocol)
    B

    要判断这些协议是否属于TCP/IP协议栈,需明确TCP/IP协议栈的组成

  2. i. DHCP(动态主机配置协议)

    • 工作在应用层,基于UDP协议(传输层)和IP协议(网络层)运行,用于自动分配IP地址等网络配置。
  3. ii. HTTP(超文本传输协议)

    • 工作在应用层,基于TCP协议(传输层)和IP协议(网络层)运行,用于网页传输。
  4. iii. RTP(实时传输协议)

    • 工作在传输层之上(通常归类为应用层协议),基于UDP协议传输,用于实时音视频等数据的传输(如视频通话)。
  5. iv. Telnet(远程登录协议)

    • 工作在应用层,基于TCP协议运行,用于远程控制设备。
      但事实上我觉得全都是的,TCP/IP 协议栈:是一套完整的协议体系(从应用层→传输层→网络层→数据链路层),只要协议依赖 TCP/IP 栈的底层协议(IP、TCP、UDP 等)运行,就属于 TCP/IP 协议。而四个都在框架内的
  6. 浩贤为一间公司的网络管理员,他需要把一个路由器作出以下设定

  1. 允许192.168.26.3连上互联网
  2. 允许192.168.26.2作UDP连接
    现在浩贤把路由器作以下设定:-
    access-list 119 deny udp any any
    access-list 121 permit udp host 192.168.26.2 any
    access-list 120 deny tcp any any
    access-list 122 permit tcp host 192.168.26.3 eq www any
    access-list 123 permit tcp any eq ftp any

志伟是浩贤的主管,他发现浩贤的设定错误,浩贤应作怎样的更正?
选项: A.’ access-list 123 permit tcp any eq ftp any ‘ 更正为(change) ‘access-list 123 permit udp any eq ftp any ‘;B.’ access-list 122 permit tcp host 192.168.26.3 eq www any ‘ 更正为(change) ‘ access-list 122 permit udp host 192.168.26.3 eq www any ‘;C.删除(Delete)’ access-list 120 deny tcp any any ‘ 与’ access-list 119 deny udp any any ‘;D.删除(Delete)’ access-list 123 permit tcp any eq ftp any ‘
C有点忘记了
要解决这道题,核心是理解 ACL(访问控制列表)的匹配顺序(自上而下执行,一旦命中即停止)需求与规则的冲突点,具体分析如下:

  1. 允许 192.168.26.3 连互联网(互联网访问核心依赖 TCP 协议,如 www 端口 80、https 443);
  2. 允许 192.168.26.2 作 UDP 连接;
  3. 无其他额外允许需求(如 FTP 访问)。

ACL 规则的关键逻辑:默认隐含“deny any any”(拒绝所有),且规则自上而下执行,先匹配的规则生效。原设定的冲突的如下:

  • 错误1:access-list 120 deny tcp any any(拒绝所有 TCP 连接)
    这条规则在 122 规则(允许 192.168.26.3 的 TCP www 连接)之前执行,会直接拒绝 192.168.26.3 的 TCP 访问,导致“连互联网”的需求失效。

  • 错误2:access-list 119 deny udp any any(拒绝所有 UDP 连接)
    这条规则在 121 规则(允许 192.168.26.2 的 UDP 连接)之前执行,会直接拒绝所有 UDP 流量,导致 192.168.26.3 的 UDP 需求失效。

  • 冗余规则:access-list 123 permit tcp any eq ftp any
    需求中未提及允许任何主机的 FTP 访问,这条规则多余,但不是“导致需求失效”的核心错误。

  • 选项A:将 FTP 规则的 TCP 改为 UDP
    FTP 协议默认基于 TCP 协议(端口 21 控制连接、20 数据连接),UDP 不支持 FTP。此修改无意义,排除。

  • 选项B:将 192.168.26.3 的 www 规则改为 UDP
    WWW(网页访问)默认基于 TCP 协议(端口 80),UDP 不用于 www 服务。此修改会导致 192.168.26.3 无法连互联网,排除。

  • 选项C:删除 access-list 120 deny tcp any anyaccess-list 119 deny udp any any
    这是核心修正!原 120 规则会“先拒绝所有 TCP”,导致 122 规则(允许 192.168.26.3 的 TCP www 连接)无法生效;原 119 规则会“先拒绝所有 UDP”,导致 121 规则(允许 192.168.26.2 的 UDP 连接)无法生效。删除这两条“全局拒绝”规则后,后续的“允许规则”才能正常执行,完全匹配需求。

  • 选项D:删除 FTP 允许规则
    这条规则是冗余的,但删除后仍无法解决“192.168.26.3 不能连互联网、192.168.26.2 不能 UDP 连接”的核心问题,排除。

  1. 根据以下ping指令的结果,你会估计192.168.186.132是哪一个操作系统

Ping 192.168.186.132 (使用 32 字节的数据):
回复自 192.168.186.132: 字节=32 时间<1ms TTL=64
回复自 192.168.186.132: 字节=32 时间<1ms TTL=64
回复自 192.168.186.132: 字节=32 时间<1ms TTL=64
回复自 192.168.186.132: 字节=32 时间<1ms TTL=64

192.168.186.132 的 Ping 统计资料:
封包: 已传送 = 4,已收到 = 4, 已遗失 = 0 (0% 遗失),
大约的来回时间 (毫秒):
最小值 = 0ms,最大值 = 0ms,平均 = 0ms

选项: A) Linux;B) Windows XP;C) Windows 7;D) iOS 12.4 (Cisco Routers)
核心结论:选 A(Linux),判断依据是 Ping 结果中的TTL 值(生存时间)—— 这是操作系统识别的关键指标。
关键原理:不同操作系统的默认 TTL 值差异

  • TTL(Time To Live)是 IP 数据包的生存周期,不同操作系统出厂时的默认 TTL 值有固定规律,可直接用于识别:
  • Linux 系统(包括 Ubuntu、CentOS 等):默认 TTL 值为 64;
  • Windows 系列(XP、7、10 等):默认 TTL 值为 128;
  • iOS(苹果移动设备)/Cisco 路由器:默认 TTL 值通常为 255(或 128,绝无 64 的默认配置)。
  1. 当使用nmap扫瞄目标后,nmap内出现以下信息

“Note: Host seems down. If it is really up, but blocking our ping probes”

应用哪一个指令找出开放的端口?

选项: A) nmap -sT;B) nmap -sN;C) nmap -sX;D) nmap -Pn
核心结论:选 D(nmap -Pn),这条指令能跳过 Ping 探测,直接扫描端口,解决 “主机看似下线但实际在线” 的问题。
其实如果前几题搞明白了就能发现这一题选D

Nmap 的 “主机存活探测” 逻辑
Nmap 默认扫描前会先发送 Ping(ICMP Echo)等探测包,判断目标主机是否 “在线”。如果目标主机开启了防火墙,会拦截 Ping 探测包,Nmap 就会误判 “Host seems down”(主机看似下线),进而停止后续的端口扫描 —— 但实际主机可能正常运行,只是屏蔽了 Ping。

  • 选项 A:nmap -sT
    含义:TCP 全连接扫描(通过三次握手探测端口),不改变默认的 Ping 探测逻辑。
    问题:如果 Nmap 已误判主机下线,会直接跳过端口扫描,无法解决问题,排除。
  • 选项 B:nmap -sN
    含义:TCP 空扫描(发送无标志位的 TCP 包),仅用于隐蔽探测端口,不跳过 Ping 探测。
    问题:同样会先执行 Ping 探测,若被拦截仍会误判主机下线,排除。
  • 选项 C:nmap -sX
    含义:TCP Xmas 扫描(发送 FIN+URG+PUSH 标志位的 TCP 包),也是隐蔽扫描方式,不跳过 Ping 探测。
    问题:和 - sN 一样,无法绕过 “Ping 被拦截导致的误判”,排除。
  • 选项 D:nmap -Pn
    含义:-Pn(全称 “no ping”),核心作用是跳过主机存活探测(不发送 Ping 包),强制 Nmap 认为目标主机 “始终在线”,直接执行端口扫描。
    匹配性:完美解决题目中 “主机实际在线但屏蔽 Ping” 的场景,无论 Ping 是否被拦截,都会继续扫描开放端口,是正确选项。
  1. 以下哪一个Nmap指令可以减低被侦测的可能性
    选项: A: nmap -sT -O -T5;B: nmap -sT -O -T0;C: nmap sU;D: nmap -A –host-timeout 99-T1
    要判断哪个Nmap指令能“减低被侦测的可能性”,核心看扫描的隐蔽性——隐蔽性取决于扫描速度(越慢、避免触发防火墙告警)、扫描方式(是否建立明显连接)和特征(是否发送异常数据包)。逐一分析选项:
    B
  2. 扫描速度(-T参数)-T0(偏执模式)最慢,-T5(疯狂模式)最快。速度越慢,越不易被目标的入侵检测系统(IDS)识别为“扫描行为”(快速批量发包易被判定为攻击)。
  3. 扫描类型-sT(TCP全连接扫描)会建立完整三次握手,日志记录明显;-sU(UDP扫描)相对隐蔽,但并非最隐蔽;而-sN/-sX等隐蔽扫描更难被发现(但选项中未出现)。
  4. 额外参数-O(操作系统探测)、-A(全面扫描)会发送更多特征包,增加被侦测概率;--host-timeout是超时设置,不直接影响隐蔽性。

选项A:nmap -sT -O -T5

  • 问题-T5是最快速度(疯狂发包),极易被IDS识别;-sT(全连接扫描)日志记录明显;-O(系统探测)增加特征包。
  • 结论:隐蔽性极差,最容易被侦测,排除。

选项B:nmap -sT -O -T0

  • 优势-T0是最慢速度(偏执模式),发包间隔长,不易被判定为“扫描行为”;
  • 不足-sT(全连接)和-O(系统探测)仍有一定特征,但相比其他选项,慢速度大幅降低了被侦测的概率

选项C:nmap -sU

  • 问题:语法错误(缺少空格,应为nmap -sU);即使修正,-sU(UDP扫描)虽比-sT隐蔽,但未控制速度(默认速度中等),且无其他隐蔽优化,隐蔽性不如-T0
  • 结论:隐蔽性一般,排除。

选项D:nmap -A --host-timeout 99 -T1

  • 问题-A(全面扫描,包含端口、系统、服务探测)发送大量特征包,极易被侦测;-T1(缓慢模式)虽比-T5好,但-A的特征太明显。
  • 结论:隐蔽性差,排除。

选B-T0的超慢速度是降低被侦测概率的核心,尽管-sT-O有一定特征,但相比其他选项,其隐蔽性最高。
简单说:扫描越慢,越像正常网络行为,越难被发现,这是-T0的核心优势。

计算机(MacOS 的虚拟磁盘)

  1. Apple计算机的硬盘可以使用以下分区方案:
    选项: A:Apple Partition Map;B:GUID Partition Table;C:Master Boot Record;D:All of the above

    核心结论:选 D(All of the above),Apple 计算机的硬盘支持所有选项中的分区方案,只是适用场景不同。
    各分区方案的适用场景

  • 选项 A:Apple Partition Map(APM)
    是 Apple 早期的专有分区方案,主要用于PowerPC 架构的 Mac 电脑(2006 年之前的老款 Mac)。
    现在仍可兼容,但已不是主流,仅用于适配老设备或特殊 legacy 需求。
  • 选项 B:GUID Partition Table(GPT)
    是目前 Apple 计算机的默认且推荐的分区方案,适用于所有 Intel 架构和 Apple Silicon(M 系列芯片)的 Mac。
    支持大容量硬盘(超过 2TB)、多分区管理,且是 UEFI 启动的必备分区方案,兼容性和功能性最优。
  • 选项 C:Master Boot Record(MBR)
    是传统的分区方案,广泛用于早期 Windows 和 DOS 系统。
    Apple 计算机完全支持 MBR 分区,主要用于跨平台兼容场景(比如硬盘需要同时连接 Mac 和老款 Windows 电脑),但 MBR 仅支持最大 2TB 硬盘,功能有限。
    关键总结
    Apple Mac 的磁盘工具(Disk Utility)明确支持 APM、GPT、MBR 三种分区方案,只是根据硬件架构(老 PowerPC / 新 Intel/Apple Silicon)和使用需求(默认使用 / 跨平台兼容)选择不同方案。因此所有选项均正确,答案为 D。
  1. ‘ Mac OS.img ‘ 文件中可以找到多少个符号链接?
    选项: A:0;B:1;C:2;D:3
    B
    my23-26.png

  2. 在’ Mac OS.img ‘ 档中使用了哪种分区方案?
    选项: A:Apple Partition Map;B:GUID Partition Table;C:Master Boot Record;D:HFS+
    D
    my23-27.png

  3. ‘ Mac OS.img ‘ 档的文件系统的正确描述是什么?
    选项: A:HFS+(已启用日志记录)HFS+ (with journaling enabled);B:HFS+(已启用区分大小写)HFS+ (with case sensitivity enabled);C:HFS+(已启用日志记录和区分大小写)HFS+ (with journaling and case sensitivity enabled);D:APFS (已启用区分大小写)APFS (with case sensitivity enabled)
    C仿真开不起来

  4. 从文件“Car.rtfd”中删除了哪个文件?
    yeah.jpg搜索.rtfd的历史副本文件,对比下
    my23-29-1.png
    my23-29-2.png

  5. 请提供’ Mac OS.img ‘ 映像文件被“fsck”命令检查的具体时间。
    20230713-082435唯一能找到的就是plist文件了,事实上没啥关系
    my23-30.png

  6. 在 .dmg 档中删除了多少个文件?
    选项: A:1;B:2;C:3;D:4
    .Trashes 是回收站, 里面有 3 个被删掉的文件, 结合上面根据版本记录删掉了 yeah.jpg, 一共是 4 个.
    Mac OS.img 文件是一个 HFSJ 文件系统分区, 卷标名为 “MyUSB”, 它在取证软件上无法被自动分析是因为缺少完整的系统, 只是一个可挂载的移动存储设备分区.
    img 格式是 macOS 中磁盘镜像文件的标准格式, 可以作为虚拟磁盘被挂载, 类似于 Windows 平台的 vhd(x) 文件.偷的题解,我没招了
    my23-31.png

Window Artifacts.E01

  1. Elvis Chui 总共登入过该计算机多少次?
    11,这里很容易答成10,要看用户信息而并不是系统登陆
    my23-32-1.png
    my23-32-2.png

  2. 该计算机的操作系统是在哪一个时区?
    选项: A:UTC +4;B:UTC +8;C: UTC -8;D:UTC -4
    B
    my23-33.png

  3. 该计算机的操作系统于何时安装? (以计算机系统时区回答)
    选项: A:2023-07-13 19:18:14;B:2023-07-13 11:18:14;C:2023-07-13 03:18:14;D:2023-07-12 19:18:14
    B
    my23-34.png

  4. 哪(几)个程序会于操作系统启动时自动执行?
    选项: A:Avast;B:Steam;C:OneDrive;D:QQ
    A B C
    my23-35.png

  5. 该计算机内安装了以下哪一个程序?
    选项: A:QQ;B:WPS Office;C:Opera;D:Kaspersky
    B
    my23-36.png

  6. 计算机内的OneDrive程序版本是什么?
    21.220.1024.0005
    my23-37.png

  7. 计算机有一个正在连接的网络接口,该接口连接DHCP服务器的IP地址是多少?
    192.168.88.254
    my23-38.png

  8. 该计算机何时连接过一只U盘? (以计算机系统时区回答)
    选项: A:2023-07-13 11:48:26;B:2023-07-13 03:48:29;C:2023-07-12 19:48:29;D:2023-07-13 11:48:29
    A
    my23-39.png

  9. Elvis Chui 将哪几个文本文件放在回收站中?
    选项: A:$+D10I76A74P.txt;B:Holiday schedule 2023-07-16.txt;C:Holiday schedule 2023-07-13.txt;D:Minute on 2023-07-01.txt;E: Minute on 2023-07-10.txt
    B E
    my23-40.png

  10. Elvis Chui在什么时间删除了第一个文本文件? (以计算机系统时区回答)
    选项: A:2023-07-13 11:50:15;B:2023-07-13 03:49:45;C:2023-07-13 03:50:15;D:2023-07-13 11:49:45
    D
    my23-41.png

  11. Elvis Chui删除的第一个文本文件的文件名是什么?
    Holiday schedule 2023-07-16.txt
    my23-41.png

  12. Elvis Chui删除的第一个文本文件在什么时间创建? (以计算机系统时区回答)
    选项: A:2023-07-13_11:42:39;B:2023-07-13_11:50:49;C:2023-07-13_11:49:45;D:2023-07-13_11:45:22
    D
    my23-43.png

  13. Elvis Chui计划于2023年7月15日20点5分有什么活动?
    Movie
    my23-44.png

  14. 该计算机执行STEAM.EXE总共多少次?
    7

    补充一个知识点
    Prefetch(预取)痕迹是 Windows 系统为提升程序启动速度而生成的一种缓存文件记录,本质是系统对用户运行过的程序、程序路径及启动相关数据的 “记忆”。
    my23-45.png

  15. 一个名为“Account”的数据库表拥有5个”列”,以下哪一个指令会产生错误讯息?
    选项: A:SELECT * from Account WHERE name=’Alex’ OR ‘1’=1;B:SELECT * FROM Account WHERE name=’Bill’ UNION SELECT NULL, NULL, NULL, NULL; –;C:SELECT * from Account WHERE name=’Candy’ ORDER BY 6; –;D:SELECT name FROM sys.tables
    B,额,梦回暑假

  • 选项a,就只是单纯的查询,后面跟的是永真语句
  • 选项B,联合查询,但是列数少了一个,只有四个,会报错选这个
  • 奇怪c也错了,但是豆包说这种并非所有数据库都会报错,存疑
  • 在表里面查询列的信息,但是我有问题,这个表一定存在吗,这个表不存在不会报错吗
  1. 当客户端收到一个页面请求的HTTP状态代码为304时,以下哪种情况最有可能发生?
    选项: A:页面将显示错误The page will display with errors;B:页面将从浏览器缓存中加载The page will be loaded from the browser cache;C:浏览器将显示“访问被拒绝”The browser will display an “Access Denied”;D:服务器将复位向客户端到另一个资源The server will redirect the client to another resource
    B

    HTTP 304 全称是 “Not Modified”(未修改),是服务器对客户端 “条件性请求” 的响应。
    客户端会先发送带有缓存验证信息的请求(比如上次访问的时间戳、资源校验值)。
    服务器判断资源自客户端上次缓存后未发生变化,就返回 304 状态码,告知客户端无需重新下载资源。(我的理解是304表示没变,用缓存的就行)

  • A 304是正常响应,不报错的
  • B 304表示资源未修改,客户端可以使用缓存的资源
  • C c选项对应的是403
  • D 304表示资源未修改,d选项对应的是301和302
  1. 在HTML注入攻击中,以下哪种情况最有可能出现?
    选项: A:
    Password:
    ;B: ;C: ;D:
    C

HTML注入攻击的核心逻辑

HTML注入攻击是攻击者将恶意HTML或脚本代码注入到网页中,通过浏览器执行来窃取信息、篡改页面等。其核心特征是注入可被浏览器解析执行的恶意代码,而非正常的页面元素。

各选项逐一分析

  1. 选项A:这是一段正常的登录表单HTML代码,仅实现输入密码并提交到指定地址的功能,无恶意注入逻辑,不属于攻击场景。

  2. 选项B:<embed>标签用于嵌入SWF格式的Flash文件,是合法的HTML元素用法,未包含可执行的恶意代码,不涉及HTML注入。

  3. 选项C:<script>标签内的alert('Correct')是JavaScript代码,若这段代码被攻击者注入到本不应存在的网页位置(如评论区、用户资料页),浏览器会执行该脚本。这是HTML注入(尤其是XSS跨站脚本攻击,属于HTML注入的常见形式)的典型表现,符合攻击场景。

  4. 选项D:这是一段PHP代码,功能是通过GET参数动态包含文件,属于文件包含漏洞的触发代码,并非HTML注入攻击(HTML注入针对前端浏览器解析,文件包含漏洞针对后端服务器执行)。

  5. 如何预防HTML注入攻击?
    选项: A:密钥管理Key management;
    B:同源策略执行Same Origin
    Policy enforcement;C:会话验证Session validation;D:输入过滤Input sanitization

    不借助ai我的第一想法就是输入验证和过滤,?还有转义字符还是啥来着
    那就是D,B好像是不让不同源的网站访问这个网站的cookie还是啥,c我不知道,接下来ai总结一下

HTML注入预防的关联

HTML注入的核心风险是攻击者输入的恶意代码被浏览器解析执行,因此预防的核心是阻断恶意代码的注入与执行

  1. 选项A:密钥管理。主要用于保护加密密钥的安全(如存储、传输、轮换),与阻止HTML注入无关,排除。

  2. 选项B:同源策略执行。同源策略是浏览器的安全机制,限制不同源网页间的资源访问(如防止跨域读取Cookie),主要防御XSS的部分衍生风险,但无法直接阻止HTML注入(注入代码若与页面同源仍可执行),并非核心预防手段。

  3. 选项C:会话验证。用于确认用户会话的合法性(如登录状态、Session有效性),防御会话劫持、未授权访问等问题,与HTML注入的输入恶意代码风险无关,排除。

  4. 选项D:输入过滤。指对用户输入的内容进行校验、清洗(如过滤<script>``<embed>等危险标签,转义<>"等特殊字符),从源头阻止恶意代码被注入到网页中。这是预防HTML注入攻击最直接、最核心的手段,符合题意。

  5. 同源策略在浏览器内存中提供Web应用程序安全的目的是什么?
    选项: A:防止客户端访问恶意网站Preventing the client from accessing a malicious site;B:禁止Web会话运行外部脚本Prohibiting a web session from running externally sourced scripts;C:控制来自不同服务器的代码之间的交互Controlling interactions between code from different servers;D:阻止浏览器运行危险或有害的脚本Stopping a browser from running dangerous or harmful scripts
    C,但是我解释不清楚为啥别的选项不可以,ai一下看看为啥,都忘了

    核心结论:同源策略的安全目的是选项C。

关键解析:同源策略的核心定义

同源策略是浏览器的核心安全机制,“同源”指两个资源的协议、域名、端口号完全一致。其核心目的是隔离不同源的资源,避免不可信的外部代码随意操作当前页面的敏感数据。

各选项逐一分析

  1. 选项A:防止访问恶意网站不成立。同源策略不限制用户主动访问任何网站,仅限制不同网站间的代码交互,无法阻止用户访问恶意站点。

  2. 选项B:禁止运行外部脚本不成立。同源策略不禁止运行外部脚本(如引入其他域名的JS文件),仅限制外部脚本对当前页面的权限(如无法读取当前页面的Cookie、DOM)。

  3. 选项C:控制不同服务器代码的交互正确。这是同源策略的本质目的——不同源的代码(如A网站的JS和B网站的JS)默认无法相互访问数据、操作DOM或发送跨域请求,避免恶意代码窃取信息或篡改页面。

  4. 选项D:阻止运行危险脚本不成立。同源策略不判断脚本是否“危险”,仅按“是否同源”限制权限。即使是同源的危险脚本,浏览器仍可能执行(需依赖其他安全机制防御)。

  5. 编写Nmap命令以显示以下结果。
    Starting Nmap 7.94 (https://nmap.org) at 2023-07-11 18:26 中国标准时间
    Nmap scan report for www.baidu.com (220.181.38.149)
    Host is up (0.044s latency).
    Other addresses for www.baidu.com (not scanned): 220.181.38.150

Not shown: 998 filtered tcp ports (no-response)
PORT STATE SERVICE
80/tcp open http
| http-robots.txt: 10 disallowed entries
| /baidu /s? /ulink? /link? /home/news/data/ /bh /shifen/
|/homepage/ /cpro /
443/tcp open https
| http-robots.txt: 10 disallowed entries
| /baidu /s? /ulink? /link? /home/news/data/ /bh /shifen/
|
/homepage/ /cpro /

Nmap done: 1 IP address (1 host up) scanned in 6.01 seconds
nmap -sV –script http-robots.txt www.baidu.com俺不是很会nmap

  1. 除了使用Nmap,还有其他方法可以验证上述结果,其中一种方法是使用Web浏览器浏览URL,编写URL以显示上述结果。(答案不要包含”http://“)
    www.baidu.com/robots.txt

IOS取证

  1. 根据 ‘ com.apple.ios.StoreKitUIService.plist ‘ , 这部电话是什么型号?
    选项: A:SAMSUNG S23;B:iPhone X;C:iPhone XR;D:iPhone XS;E:iPhone 13
    C
    my23-53.png
    • 选项 B(iPhone X):硬件型号为 D221AP/D223AP,与 N841AP 不匹配。
  • 选项 D(iPhone XS):硬件型号为 A1920/A2097(对应编码 D321AP 等),不符合。
  • 选项 E(iPhone 13):硬件型号为 A2634/A2635 等(对应编码 D741AP 等),与目标编码无关
  1. 根据com.apple.ios.StoreKitUIService.plist,上述电话的文件系统是什么?
    选项: A:FAT32;B:NTFS;C:HFS+;D:APFS;E:EXT4
    D

    从之前的 plist 文件可知,该设备是 iPhone XR,其出厂预装的系统为 iOS 12 及以上版本。而苹果在iOS 10.3 及之后的设备中,已全面采用APFS(Apple File System) 作为默认文件系统,取代了之前的 HFS+

  2. 根据ChatStorage.sqlite,哪些对话已锁定?

  • A:447380449879@.whatsapp.net;
  • B:79096209701@.whatsapp.net;
  • C:923109725619@.whatsapp.net;
  • D:85256026169@.whatsapp.net;E:status@broadcast
    A B C
    对话就找chatsession,然后在里面找到一个列叫zflags,有三个比别的高很多,估计就是这三个
    my23-55-1.png
    my23-55-2.png
  1. 根据ChatStorage.sqlite,有多少段录音对话?
    45,我想知道为啥mp3格式的不行,只要opus格式的就可以

    因为mp3是有损压缩格式,而opus是无损压缩格式,所以mp3格式的录音对话是无法在WhatsApp中播放的。
    my23-56.png

  2. Apple Cocoa Core Data timestamp 是由什么时间开始?
    选项: A:2001年1月1日;B:1970年1月1日;C:2006年1月1日;D:1960年1月1日
    又考知识

    核心结论:Apple Cocoa Core Data 的 timestamp 起始时间是选项A(2001年1月1日)。

Core Data 时间戳的基准规则

Core Data 中使用的时间戳(通常关联 NSDate 类型),遵循苹果系统的统一时间基准——“Cocoa 时间起点”

  • 这个起点固定为 2001年1月1日 00:00:00 UTC,也被称为“参考日期(Reference Date)”。
  • 时间戳的数值表示从该起点到目标时间的秒数(或毫秒数),是苹果生态(iOS、macOS 等)中 NSDate 类的默认计算方式。
  • 选项B(1970年1月1日):是 Unix/Linux 系统的“Unix 时间戳”起点,常见于安卓、后端服务等,与 Core Data 无关。
  • 选项C(2006年1月1日):无任何系统或框架将其作为时间戳基准,属于干扰项。
  • 选项D(1960年1月1日):是早期部分系统(如 mainframe 大型机)的时间起点,与苹果 Core Data 无关。
  1. 根据Photos.sqlite数据库中,有多少段视频可能涉及WhatsApp?

    按照答案逆向思考的话,在whatsqpp里的视频应该在云端可以看到,找到云端的表,过滤格式是视频的,答案7
    my23-58.png

  2. 根据Photos.sqlite数据库中,下列哪个选项对IMG_0008.HEIC的描述是错的?
    选项: A:由第三方软件拍摄;B:经过修改;C:由后镜拍摄;D:用ISO200拍摄;E:没有储存经纬度

资源总表ZASSET

现在这个表里找,找他的PK值,就像我们的身份证一样。(491)
跟22的一样去找拓展属性ZASSET_EXTENSIONATTRIBUTES

  • A:错误相机拍的
  • B: 找不到
  • C: ZLENSMODEL里面说是后置拍的,对的
  • D:160,错
  • E: 有经纬度,错
    A D E,但是正确答案是abcd,不管他了
    my23-59.png
  1. 根据 ‘ sms(ios).db ‘ 的资料,全局唯一标识符(GUID): DD31C26F-1D72-DE0F-431E-EF98F104402D显示的信息是什么?
    你的 Uber 驗證碼為 3666. 請勿分享此驗證碼.

  2. 根据 ‘ com.burbn.instagram.plist ‘ 及 ‘ com.facebook.Facebook.plist ‘
    手机安装了实时通讯软件Facebook及Instagram的那个版本? (Instant Messaging Apps)?

选项: A:Instagram (Version 278.0.0.19.115);B:Facebook (Version 410.0.0.41.116);C:Instagram (Version 279.0.0.23.112);D: Facebook (Version 410.0.0.26.115);E: Instagram (Version 278.0.0.25.115);F: Facebook (Version 410.0.0.57.116)
A
my23-61-1.png
B
my23-61-2.png

  1. 根据 ‘ ChatStorage(ios).sqlite ‘ , 用户数据Peter Chow (85262012141)在什么日期和时间(以UTC +8时区)曾经通过实时通讯软件送出一个信息(内容为: I am already home)?
    注意是送出时间
    2023-04-01 11:21:50
    my23-62.png

  2. 根据影片IMG_0687.MOV的原数据,找出影片拍摄时间?
    我怀疑是名字打错了,没人做出
    2023-06-06_18:11:29

  3. 根据 ‘ CallHistory(ios).storedata ‘,哪份表格显示了通话记录?
    选项: A: ZCALLBPROPERTIES;B: ZCALLRECORD;C: Z_2REMOTEPARTICIPANTHANDLES;D: Z_METADATA;E: Z_MODELCACHE;F: Z_PRIMARYKEY
    B
    my23-64.png

  4. 根据 ‘ com.apple.sharingd.plist ‘,这部手机的隔空投送的身份标识号(AirDrop ID)是什么?
    2abd0940fbdc
    my23-65.png

  5. 根据 ‘ Accounts3.sqlite ‘,这部手机的苹果使用者账号 (Apple ID) 是什么?
    foratcd2023@gmail.com
    my23-66.png

  6. 哪一行代码的是负责更新在GitHub使用中的 .journal 文件的更新历史记录 ?
    line 1 git config –global user.name “mikesezto”
    line 2 git config –global user.email “smike@general.org
    line 3
    line 4 cd which-truth
    line 5 rm.journal
    line 6
    line 7 git add.journal
    line 8 git commit -m “Remove sensitive data”
    line 9 git push
    line 10
    line 11 git clone –mirror http://github.com/smike/which-truth
    line 12
    line 13 java -jar bfg.jar –delete-files.journal which-truth
    line 14 cd which-truth
    line 15 git reflog expire –expire=now –all
    line 16 git gc –prune=now –aggressive
    line 17 git push –force

选项: A. 08;B. 13;C. 16;D. 17

  1. 下列哪一行AWS S3 Bucket授权策略中的设置有问题?

line 1 {
line 2 “Version”: “2020-11-12”,
line 3 “Statement”: [
line 4 {
line 5 “Sid”: “PublicReadGetObject”,
line 6 “Effect”: “Allow”,
line 7 “Principal”: ““,
line 8 “Action”: “s3:GetObject”,
line 9 “Resource”: “arn:aws:s3:::company-sensitive-14dnid23nfief/

line 10 }
line 11 ]
line 12 }

选项: A. 2;B. 7;C. 8;D. 9
负责更新 GitHub 中 .journal 文件更新历史的代码是 line 13,对应选项 B

题干核心需求是 “更新 .journal 文件的更新历史”,本质是彻底删除文件的历史记录(而非仅删除文件本身)。
line 5 的 rm .journal 仅删除当前工作区的文件,line 7-9 仅提交 “删除文件” 的变更(历史记录仍存在)。
line 13 的 java -jar bfg.jar –delete-files .journal which-truth 是关键:BFG 工具专门用于修改 Git 历史,–delete-files 参数会直接从仓库历史中移除指定文件(.journal),实现历史记录的更新 / 清理。
line 15-16 是辅助清理操作(过期引用、垃圾回收),line 17 是强制推送修改后的历史,均不直接负责 “更新历史记录” 的核心操作。

  1. 以下哪项是多重身份验证 (MFA) 的示例
    选项: A. PIN 码和软件令牌 PIN and software token;B. 指纹和视网膜扫描 fingerprint and retinal scan;C. 用户名和密码username and password;D. 一次性短信代码和硬件令牌one-time SMS code and a hardware token

    多重身份验证(MFA)的核心是结合两种或多种不同类型的认证因素,常见因素类型包括:

  2. 知识因素(用户知道的信息,如密码、PIN码);
  3. 持有因素(用户拥有的物品,如硬件令牌、手机短信验证码);
  4. 生物因素(用户自身特征,如指纹、视网膜)。
  • A. PIN码和软件令牌:两者均属于“持有因素”(PIN码本质是软件令牌的一部分,同属用户拥有的验证工具),属于同一类型因素,不构成MFA。
  • B. 指纹和视网膜扫描:均为“生物因素”,属于同一类型,不构成MFA。
  • C. 用户名和密码:均为“知识因素”(用户名是标识,密码是验证信息),属于单因素认证,不是MFA。
  • D. 一次性短信代码和硬件令牌:短信代码(手机持有)和硬件令牌(物理设备持有)虽同属“持有因素”,但属于不同形式的持有物,且实际场景中常被视为两种独立验证方式,符合MFA的“多重”要求(注:严格来说,最佳MFA应跨类型,但选项中此为最合理答案)。
    答案:D
  1. AWS用家在户口网络进行设定,而这些设定会记录用户或第三者的活动。第 11 行代码中的设定可以找到哪些用户或第三者的活动信息?

line 1 sudo yum install python-pip -y
line 2 sudo pip install opencanary
line 3
line 4 sudo opencanaryd –copyconfig
line 5
line 6 opencanaryd –start
line 7
line 8
line 9 sudo yun install jq -y
line 10
line 11 jq -r .src_host /var/tmp/opencanary.log | grep -V ^$ | sort | uniq > -/sources.txt
line 12 jq -r .logdata.USERNAME /var/tmp/opencanary.log | grep -V null | sort | uniq > -/usernames.txt
line 13 jq -r .logdata.PASSWORD /var/tmp/opencanary.log | grep -V null | sort | uniq > -/passwords.txt

选项: A. User Name 用户的名称;B. User Source 用户的来源;C. Attacker Name 攻击者的名称;D. Attacker Source 攻击者的来源

  1. AWS用户设置了一个VPC,IP地址范围为10.0.0.0-10.0.0.24。 下列哪个 IP 地址用于 DNS ?
    选项: A. 10.0.0.0;B. 10.0.0.1;C. 10.0.0.2;D. 10.0.0.3

    核心结论:第11行代码的设定可以找到 攻击者的来源,对应选项 D。

  2. 工具与日志背景
    代码中使用了 opencanary(一款蜜罐工具),其日志文件 /var/tmp/opencanary.log 会记录针对系统的攻击尝试(如未授权访问、探测等),这些活动主要来自潜在攻击者。

  3. 第11行代码解析

    • jq -r .src_host:从日志中提取 src_host 字段,该字段表示发起请求的来源主机(IP地址或主机名)
    • 后续命令将提取的来源信息去重后保存到 sources.txt,记录的是“谁在尝试访问系统”的来源地址。
  4. 选项匹配

    • 由于 opencanary 主要用于捕获攻击行为,日志中的 src_host 通常对应攻击者的来源(而非合法用户的来源)。
    • A(用户名)、C(攻击者名称)由第12行提取,与第11行无关;B(用户来源)不符合蜜罐日志的主要用途(蜜罐重点记录攻击活动)。
      答案:D
  5. 以下哪种类型的云服务用于操作系统和网络 ?
    选项: A. 软件即服务Software as a Service;B. 平台即服务Platform as a Service;C. 基础架构即服务 Infrasture as a Service;D. 数据即服务 Data as a Service

    核心结论:用于操作系统和网络的云服务类型是 基础架构即服务(IaaS),对应选项 C

  6. 各云服务类型的核心交付物不同:

    • IaaS(Infrastructure as a Service):提供底层IT基础设施,包括服务器、操作系统、网络、存储等可配置资源,用户可直接管理和控制这些基础组件。
    • SaaS(Software as a Service):交付完整的软件应用(如在线办公软件),用户无需关注底层基础设施。
    • PaaS(Platform as a Service):提供开发和运行应用的平台(如编程语言、数据库、中间件),用户专注于应用开发,无需管理操作系统和网络。
    • DaaS(Data as a Service):专注于数据的存储、管理和交付,不涉及操作系统和网络层面的资源提供。
  7. 题干核心需求是“操作系统和网络”,这属于IT基础设施层,与IaaS的服务范围完全匹配。

  8. 以下哪项是Bastionhost的特点?
    选项: A. 包含敏感信息 Contains sensitive information;B. 无法访问内部系统 No access to internal systems;C. 限制暴露的服务 Limits exposed services;D. 没有连接到互联网 No connection to the internet

    核心结论:Bastion Host(堡垒机)的特点是 限制暴露的服务,对应选项 C

  9. 堡垒机的核心定位是“跳板机”,用于管控对内部网络/服务器的访问:

    • 它仅暴露必要的访问服务(如SSH、RDP),关闭所有非必需端口和服务,避免内部系统直接暴露在公网,减少攻击面。
  10. 选项排除逻辑:

    • A(包含敏感信息):堡垒机本身不存储敏感业务数据,仅负责访问控制,敏感信息通常在内部服务器中。
    • B(无法访问内部系统):相反,堡垒机是授权用户访问内部系统的唯一合法入口,具备访问权限(需严格认证授权)。
    • D(没有连接到互联网):堡垒机需同时连接公网(供授权用户接入)和内部网络(供跳转访问),完全断网则无法发挥跳板作用。
  11. 在Linux系统中,哪个命令可以用于创建文件系统?
    选项: A:mount /dev/sda3 /mnt/usb;B:mkfs-ext4 /dev/sda2;C:mkfs-ext3 /sys/sda1;D:pvcreate /dev/sda;C:genfstab -U -p /mnt

    核心结论:在Linux系统中,用于创建文件系统的命令是 B: mkfs-ext4 /dev/sda2

Linux命令笔记:

  1. 文件系统创建的核心命令
    Linux中,mkfs(make filesystem)是创建文件系统的基础命令,其后可跟具体的文件系统类型(如ext4、ext3等),格式为 mkfs.<文件系统类型> <设备路径>

  2. 选项逐一判断

    • A: mount /dev/sda3 /mnt/usbmount 命令用于挂载已存在的文件系统到指定目录,而非创建文件系统。
    • B: mkfs-ext4 /dev/sda2:符合 mkfs.<类型> 格式,ext4 是常见的文件系统类型,/dev/sda2 是目标分区设备,正确用于创建ext4文件系统。
    • C: mkfs-ext3 /sys/sda1:错误在于设备路径 /sys/sda1 不正确,Linux中磁盘分区路径通常为 /dev/sda1/sys 是系统设备信息目录,非实际分区)。
    • D: pvcreate /dev/sdapvcreate 是LVM(逻辑卷管理)命令,用于将物理磁盘初始化为物理卷,不直接创建文件系统。
    • E: genfstab -U -p /mntgenfstab 用于生成 /etc/fstab 文件(记录开机自动挂载信息),与创建文件系统无关。
      答案:B
  3. ‘Link’实际上是指向LINUX系统中另一个文件或文件夹的指标。以下哪个命令可以产生下面的结果:

    ls -ilas
    |total 0
    |9731253 0 drwxr-xr-x 1 user users 4096 Jul 14 13:31 .
    |1725961 0 drwxr-xr-x 1 user users 4096 Jul 14 13:29 ..
    |90371467 0 -rw-r–r– 2 user users 90 Jul 14 13:30 testing.txt
    |90371467 0 -rw-r–r– 2 user users 90 Jul 14 13:30 shotcut-testing.txt

选项: A:link -s testing.txt shotcut-testing.txt;B:ln -s shotcut.txt testing.txt;C:ln testing.txt shotcut-testing.txt;D:ln -s testing.txt shotcut-testing.txt;E:ln shotcut.txt testing.txt

核心结论:能产生该结果的命令是 C: ln testing.txt shotcut-testing.txt

  1. 结果特征判断
    ls -ilas 输出中,testing.txtshotcut-testing.txt 具有 相同的inode编号(90371467)硬链接计数(2),说明两者是 硬链接(而非符号链接)。

    • 硬链接的特点:共享同一inode,删除源文件不影响硬链接访问,ls 中无特殊标识(符号链接会显示 -> 指向关系)。
  2. 命令功能匹配

    • Linux中,ln 命令用于创建链接:
      • 不加 -s 选项时,创建 硬链接,格式为 ln 源文件 链接文件
      • -s 选项时,创建 符号链接(软链接)ls 中会显示 链接文件 -> 源文件
  3. 选项排除

    • A、D 带 -s,创建软链接,与结果中无 -> 不符。
    • B、E 源文件和目标文件顺序颠倒,会导致链接指向错误(如B会创建 testing.txt 指向 shotcut.txt,但结果中是 shotcut-testing.txt 指向 testing.txt)。
    • C 是 ln testing.txt shotcut-testing.txt,正确创建 testing.txt 的硬链接 shotcut-testing.txt,符合结果特征。
      答案:C
  4. 以下哪个命令用于在Linux系统中创建分区?
    选项: A:gdisk /dev/sde;B:mke2fs /dev/sdb1 -t ext4;C:mount /dev/sdc1 /mnt/fs_home;D:fdisk -lu;E:lvcreate -l +200 /dev/vg00/log/vol-00

    核心结论:用于在Linux系统中创建分区的命令是 A: gdisk /dev/sde

  5. 分区操作的核心命令
    Linux中,创建分区需使用磁盘分区工具(如 fdiskgdiskparted 等),这些工具直接操作磁盘设备(如 /dev/sde),用于划分分区表和分区。

  6. 选项逐一判断

    • A: gdisk /dev/sdegdisk 是支持GPT分区表的分区工具,/dev/sde 是目标磁盘设备,运行该命令可进入交互式界面创建、删除或修改分区,属于分区创建操作。
    • B: mke2fs /dev/sdb1 -t ext4mke2fs 用于在已有分区上创建文件系统(此处为ext4),不是创建分区。
    • C: mount /dev/sdc1 /mnt/fs_homemount 命令用于将已存在的分区挂载到目录,与创建分区无关。
    • D: fdisk -lufdisk -l 用于列出磁盘分区信息(-u 显示扇区数),是查询命令,不创建分区。
    • E: lvcreate -l +200 /dev/vg00/log/vol-00lvcreate 是LVM(逻辑卷管理)命令,用于创建逻辑卷,依赖于已有的物理卷和卷组,不属于直接创建磁盘分区。
      答案:A
  7. 一个系统管理员要扩展运行在LVM系统中的服务器存储。以下哪个命令可以用于扩展LVM中的逻辑卷?
    选项: A:lvdisplay /dev/vg02/vol-01;B:lvcreate -n /dev/vg02 -l 200;C:lvextend -n /dev/vg02 -l +200;D:lvscan -l +200 /dev/vg02/vol-01;E:lvresize -l +200 /dev/vg02/vol-01

    核心结论:用于扩展LVM中逻辑卷的命令是 E: lvresize -l +200 /dev/vg02/vol-01

  8. LVM扩展逻辑卷的核心命令
    LVM中,扩展逻辑卷的常用命令是 lvextendlvresize,两者均能增加逻辑卷的大小,格式通常为 命令 选项 逻辑卷路径

    • 选项 -l +200 表示增加200个逻辑扩展单元(LE),是扩展的典型参数。
  9. 选项逐一判断

    • A: lvdisplay /dev/vg02/vol-01lvdisplay 用于显示逻辑卷的详细信息(如大小、路径等),是查询命令,不涉及扩展。
    • B: lvcreate -n /dev/vg02 -l 200lvcreate 用于创建新的逻辑卷,而非扩展已有卷,且参数格式错误(-n 应指定逻辑卷名称,而非卷组路径)。
    • C: lvextend -n /dev/vg02 -l +200lvextend 是扩展命令,但参数错误:-n 需指定逻辑卷名称(如 vol-01),而非卷组(vg02),且缺少逻辑卷完整路径。
    • D: lvscan -l +200 /dev/vg02/vol-01lvscan 用于扫描系统中的逻辑卷并显示其状态,不支持 -l +200 扩展参数,功能不符。
    • E: lvresize -l +200 /dev/vg02/vol-01lvresize 可用于调整逻辑卷大小(包括扩展),-l +200 表示增加200个LE,/dev/vg02/vol-01 是目标逻辑卷的完整路径,参数和功能均正确。
      答案:E
  10. 一个系统管理员编写了一个bash代码来构建一个RAID系统,如下所示,将要实现什么类型的RAID?
    | #!/bin/bash
    | hd1=/dev/sda1
    | hd2=/dev/sdb1
    | hd3=/dev/sdc1
    | hd4=/dev/sdd1
    | mdadm –build /dev/md1 –level=1 –raid-devices=2 $hd1 $hd2
    | mdadm –build /dev/md2 –level=1 –raid-devices=2 $hd3 $hd4
    | mdadm –build /dev/md3 –level=0 –raid-devices=2 /dev/md2 /dev/md1
    选项: A:RAID 0;B:RAID 1;C:RAID 1+0;D:RAID 0+1;E:这个代码不起作用 (No effect)

    核心结论:该bash代码实现的是 RAID 1+0(先镜像后条带化),对应选项 C。

  11. RAID级别构建逻辑
    代码分三步构建RAID系统,层级关系如下:

    • 第1-2步:用 --level=1(RAID 1,镜像)分别将 sda1sdb1 组成 md1sdc1sdd1 组成 md2。这两步创建了两个独立的镜像卷(RAID 1)。
    • 第3步:用 --level=0(RAID 0,条带化)将前两步创建的两个RAID 1卷(md1md2)合并为 md3

    这种“先做镜像(RAID 1),再将镜像卷条带化(RAID 0)”的结构,即为 RAID 1+0(也叫RAID 10)。

  12. 与其他RAID的区别

    • RAID 0+1 是“先条带化,再镜像”,与代码逻辑相反。
    • RAID 0/1 是单一级别,不符合多层构建的特征。
    • 代码语法正确(mdadm --build 用于构建临时RAID,参数无误),故E错误。
      答案:C
  13. 以下是运行在LINUX服务器中的服务清单。以下哪个命令可以关闭”bluetooth.service”服务?
    |● vm-production-xabonline.com
    | State: running
    | Jobs: 0 queued
    | Failed: 0 units
    | Since: Fri 2023-05-19 08:37:06 UTC; 2 months 11 days ago
    | CGroup:
    | ├─init.scope
    | │ └─ 1 /sbin/init
    | ├─system.slice
    | │ ├─bluetooth.service
    | │ │ └─ 737 /usr/lib/bluetooth/bluetoothd
    | │ ├─dbus.service
    | │ ├─docker.service
    | │ │ └─ 853 /usr/bin/dockerd -H fd://
    | │ ├─libvirtd.service
    | │ │ └─ 2975 /usr/bin/libvirtd –timeout 120
    | │ ├─polkit.service
    | │ └─virtlogd.service
    | │ └─ 3176 /usr/bin/virtlogd
    | └─user.slice
    | └─user-1000.slice

选项: A:systemctl kill bluetooth.service;B:systemctl disable bluetooth.service;C:systemctl down bluetooth.service;D:systemctl stop bluetooth.service;E:systemctl rm bluetooth.service

核心结论:用于关闭“bluetooth.service”服务的命令是 D: systemctl stop bluetooth.service

  1. systemctl 命令的核心功能
    在Linux系统中,systemctl 是管理系统服务的主要命令,不同子命令对应不同操作:

    • stop立即停止当前运行的服务(临时关闭,重启后可能恢复运行)。
    • disable:禁止服务开机自启(但不影响当前运行状态)。
    • kill:强制终止服务进程(属于暴力停止,非标准关闭方式)。
    • 不存在 downrm 子命令用于关闭服务(rm 用于删除文件,与服务管理无关)。
  2. 选项匹配
    题干需求是“关闭”服务(即停止当前运行状态),对应 systemctl stop 命令。

    • A(kill)是强制终止,非推荐的标准关闭方式。
    • B(disable)仅禁用开机启动,不停止当前运行的服务。
    • C、E 是无效命令(systemctldownrm 子命令用于服务管理)。
      答案:D
  3. cron服务在LINUX系统中充当作业调度程序。它实际上是在cron表(crontab)中指定的命令行列表。现在准备启动和关闭一个Web服务器(httpd.service),如下所示:
    上午8时30分(启动)- 下午6时06分(关闭);周一至周五

以下哪个crontab设置适用于这种情况?

选项: A:30 8 * 1-5 * /usr/bin/systemctl start httpd.service 及 06 18 * 1-5 * /usr/bin/systemctl stop httpd.service;B:30 8 * * 1-5 /usr/bin/systemctl start httpd.service 及 06 18 * * 1-5 /usr/bin/systemctl stop httpd.service;C:30 8 1-5 * */usr/bin/systemctl start httpd.service 及 06 18 1-5 * */usr/bin/systemctl stop httpd.service ;D:30 8 * * * /usr/bin/systemctl start httpd.service 及 06 18 * * * /usr/bin/systemctl stop httpd.service;E:以上都不是

核心结论:符合需求的crontab设置是 B选项

  1. crontab时间格式
    crontab的时间字段格式为 分 时 日 月 周 命令,其中:

    • 第5个字段(周):1-5 表示周一至周五(Linux中1=周一,5=周五)。
    • 其他无关字段(日、月)用 * 表示“任意”。
  2. 需求匹配

    • 启动时间:上午8时30分,周一至周五 → 对应 30 8 * * 1-5(分=30,时=8,日=任意,月=任意,周=1-5)。
    • 关闭时间:下午6时06分(18:06),周一至周五 → 对应 06 18 * * 1-5(分=06,时=18,其他同上)。
  3. 选项排除

    • A:第4个字段(月)用 1-5 错误,需求是周一至周五(应在第5个字段周设置)。
    • C:时间字段顺序错误(将“周”的 1-5 放在了“日”的位置),且格式混乱(缺少空格)。
    • D:第5个字段(周)为 *,表示每天执行,不符合“周一至周五”的限制。
      答案:B
  4. 以下哪个Linux命令可以显示目录中的所有文件,包括隐藏文件?
    选项: A. ls -ls; B. ls -asl;C. ls -lAs | wc;D. ls -als | grep ssh;E. None

    核心结论:能显示目录中所有文件(包括隐藏文件)的命令是 B. ls -asl

  5. ls 命令的核心选项

    • -a(或 --all):显示所有文件和目录,包括以 . 开头的隐藏文件(如 .bashrc)。
    • -l:以长格式显示文件详情(权限、所有者、大小、修改时间等)。
    • -s:显示文件的大小(以块为单位)。

    组合选项 -asl 中,-a 是显示隐藏文件的关键,-s-l 用于补充显示格式和大小,完全满足“显示所有文件(含隐藏文件)”的需求。

  6. 选项排除

    • A. ls -ls:缺少 -a 选项,无法显示隐藏文件。
    • C. ls -lAs | wc-A 显示几乎所有文件(不含 ...),但通过管道 | wc 会统计行数而非直接显示文件列表,不符合“显示文件”的需求。
    • D. ls -als | grep ssh:虽 -a 能显示隐藏文件,但 grep ssh 会过滤只保留含“ssh”的结果,无法显示所有文件。
    • E. None(以上都不是):因 B 选项正确,故 E 错误。
      答案:B
  7. 如果您想要检查Linux系统上可用的剩余磁盘空间量,您会使用以下哪个命令?
    选项: A. df -vh;B. df -sh;C. dl -vh;D. dd -sh;E. dt -vh

    核心结论:用于检查Linux系统上可用剩余磁盘空间的命令是 A. df -vh

  8. 磁盘空间检查的核心命令
    Linux中,df(disk free)是专门用于查看文件系统磁盘空间使用情况的命令,包括总空间、已用空间和剩余空间。

  9. 选项参数解析

    • -v:通常用于显示详细信息(部分系统中可能作为兼容选项,增强可读性)。
    • -h:以人类可读的格式(如GB、MB)显示空间大小,而非原始块数,更直观。
      组合选项 df -vh 能清晰显示各分区的剩余磁盘空间。
  10. 选项排除

    • B. df -sh-s 选项用于显示指定目录的总占用空间(而非所有分区的剩余空间),不符合需求。
    • C. dl -vh、D. dd -sh、E. dt -vhdldd(磁盘复制命令)、dt 均不是用于查看磁盘空间的命令,其中 dd 主要用于数据备份或转换,与磁盘空间检查无关。
      答案:A
  11. Dockerfile是一个文本文档,用于在Docker架构中生成以下哪个组件?
    选项: A. docker engine;B. image;C. container;D. volumes;E. docker network

    核心结论:Dockerfile 用于在 Docker 架构中生成 镜像(image),对应选项 B。

  12. Dockerfile 的核心作用
    Dockerfile 是一个包含一系列指令的文本文件,通过 docker build 命令可以将这些指令按顺序执行,最终构建出一个可复用的 Docker 镜像(image)。镜像包含了运行应用所需的代码、依赖、环境配置等所有内容,是容器的“模板”。

  13. 选项排除

    • A. docker engine:是 Docker 的核心运行引擎(如 dockerd 服务),负责管理镜像和容器,并非由 Dockerfile 生成。
    • C. container:容器是镜像的运行实例(通过 docker run 从镜像创建),Dockerfile 不直接生成容器。
    • D. volumes:是用于持久化存储数据的独立空间,通过 docker volume 命令管理,与 Dockerfile 无关。
    • E. docker network:是容器间通信的网络配置,通过 docker network 命令创建,不由 Dockerfile 生成。
      答案:B
  14. 在Linux系统中,运行中程序的进程并位于内存区域,可以通过检查文件/proc/[pid]/maps来显示这些内存区域。以下哪个不是Linux系统中的内存区?
    选项: A. [heap];B. [stack];C. [paging];D. [vvar];E. [vdso]

    核心结论:在Linux系统的内存区域中,**[paging] 不是标准内存区**,对应选项 C。

Linux进程的/proc/[pid]/maps文件会显示进程占用的内存区域,常见类型包括:

  • **A. [heap]**:堆内存,用于程序运行时动态分配内存(如malloc申请的空间)。
  • **B. [stack]**:栈内存,用于存储函数调用、局部变量等,由系统自动管理。
  • **D. [vvar]**:虚拟变量区域,包含内核导出的变量,供用户空间程序高效访问。
  • **E. [vdso]**:虚拟动态共享对象,是内核提供的“虚拟共享库”,用于加速系统调用(避免用户态与内核态频繁切换)。

[paging] 并非进程的内存区域类型,它是一种内存管理机制(分页机制),用于将物理内存和虚拟内存映射,不属于/proc/[pid]/maps中显示的内存区域范畴。
答案:C

  1. 以下命令中,哪个命令可以对”export-logs”输出进行排序?
    选项: A:export-logs<sort;B:export-logs>sort;C:export-logs&sort;D:export-logs|sort;E:export-logs<>sort
    核心结论:能对“export-logs”的输出进行排序的命令是 D: export-logs|sort

  2. Linux 管道符的作用
    在 Linux 中,|(管道符)用于将前一个命令的输出作为后一个命令的输入,实现命令间的数据传递。
    题干需求是对“export-logs”的输出进行排序,因此需要将其输出通过管道传递给 sort 命令(sort 用于对输入内容排序)。

  3. 选项排除

    • A. export-logs<sort< 是输入重定向,会将 sort 作为文件,将其内容输入给 export-logs,与需求相反。
    • B. export-logs>sort> 是输出重定向,会将 export-logs 的输出写入到名为 sort 的文件中,而非排序。
    • C. export-logs&sort& 用于将命令放入后台运行,两个命令并行执行,sort 无法获取 export-logs 的输出。
    • E. export-logs<>sort<> 是双向重定向(不常用),用于同时读写文件,与排序无关。
      答案:D
  4. 哪些文件会影响Linux主机的名称解析功能?(多选题)
    选项: A:/etc/resolv.conf;B:/etc/hosts;C:/etc/default/names;D:/etc/nsswitch.conf;E:/etc/inet/hosts

    核心结论:影响Linux影响Linux主机名称解析功能的文件是 A、B、D

  5. 名称解析流程
    Linux主机解析域名(将域名转换为IP地址)的过程依赖多个配置文件,按优先级或规则协同工作。

  6. 各文件功能

    • A. /etc/resolv.conf
      存储DNS服务器地址,是系统默认的DNS解析配置文件,指定域名解析时查询的DNS服务器(如nameserver 8.8.8.8),直接影响DNS解析。

    • B. /etc/hosts
      本地静态主机名与IP地址的映射表,优先级通常高于DNS解析。系统会先查询该文件,若找到匹配记录则直接使用,无需访问DNS服务器。

    • C. /etc/default/names
      该文件并非Linux系统标准的名称解析配置文件,通常不存在或与名称解析无关,排除。

    • D. /etc/nsswitch.conf
      配置系统服务的名称解析顺序(如主机名解析、密码解析等)。其中hosts:条目定义了主机名解析的优先级(如hosts: files dns表示先查/etc/hosts,再查DNS),直接控制解析流程。

    • E. /etc/inet/hosts
      这是Solaris等系统的主机名映射文件,Linux系统中对应的标准文件是/etc/hosts,而非此路径,排除。

答案:A、B、D

  1. 哪个系统文件包含了一般的端口、关联的服务和协议?
    选项: A:/etc/services;B:/etc/sysconfig/network-scripts;C:/etc/services.conf;D:/etc/inet/hosts;E:Noneofthechoices

    核心结论:包含端口、关联服务和协议的系统文件是 A: /etc/services

  2. 文件功能匹配
    /etc/services 是Linux系统中用于定义网络服务与端口号、协议映射关系的标准文件。例如:

    • ssh 22/tcp 表示SSH服务使用TCP协议的22端口;
    • http 80/tcp 表示HTTP服务使用TCP协议的80端口。
      该文件直接关联了端口、服务名称和所使用的协议(TCP/UDP),完全符合题干描述。
  3. 选项排除

    • B. /etc/sysconfig/network-scripts:是目录,存放网络接口的配置文件(如IP地址、网关等),与端口-服务映射无关。
    • C. /etc/services.conf:Linux系统中无此标准文件,不属于默认配置。
    • D. /etc/inet/hosts:是Solaris等系统的主机名-IP映射文件,与端口和服务无关(Linux对应文件为/etc/hosts)。
    • E. None of the choices(以上都不是):因A选项正确,故E错误。
      答案:A

Windows 10取证

  1. 在 Windows 10 中 \Users\qqqqq\Downloads,视频文件(mixkit-two-women-laying-together-925-medium.mp4),在MFT 中分成多少个Data Cluster 储存?

    5,这种题我就是搞不懂
    是因为被分成了五个的缘故吗
    my23-88.png

  2. 在 Windows 10 中 \Users\qqqqq\Downloads\ mixkit-two-woman-laying-together-925-medium.mp4 的last Access 时间是多少?
    选项: A. 2023/07/10 18:31:32;B. 2023/07/10 18:31:01;C. 2023/07/10 19:31:22;D. 2023/07/11 19:31:22

    A
    my23-89.png

Windows 7取证

  1. 在 Windows 7 中 \Users\Allen\Desktop,有1个MP3 文件 (例:unlock-me-149058.mp3),用户使用什么程序打开该MP3 文件?
    potplayer
    my23-90.png

  2. 在 Windows 7 中 ‘ \Users\Allen\Desktop ‘有1个MP3 文件 (unlock-me-149058.mp3),该文件的Zone identiflier为’3’。上述’3’字代表哪一个security Zone ?
    选项: A. Local Machine Zone;B. Internet Zone;C. Restricted Zone;D. Trust Site Zone

    核心结论:Zone Identifier 为“3”对应的安全区域是 B. Internet Zone(互联网区域)

Windows 系统中,文件的 Zone Identifier(区域标识符)用于标记文件来源的安全区域,不同数值对应固定区域:

  1. 0:Local Machine Zone(本地计算机区域),本地磁盘文件默认标识,安全级别最高。

  2. 1:Intranet Zone( intranet 区域),企业内部网络资源,信任度较高。

  3. 2:Trusted Site Zone(可信站点区域),用户手动添加的可信网站,安全级别中等。

  4. 3:Internet Zone(互联网区域),默认的互联网资源,安全级别中等偏低,会进行常规安全检查。

  5. 4:Restricted Zone(受限站点区域),潜在风险的网站,安全级别最低,限制最多操作。

  6. 在 Windows 7 中 \Users\Allen\Desktop有1个MP3 文件 (unlock-me-149058.mp3),该文件从哪个网站下载?
    选项: A. www.Pixbay.com;B. free-mp3-download.net/;C. https://mp3juices.nu;D. mygomp3.com
    A
    my23-92.png

  7. 在 Windows 7 中 \Users\Allen\Downloads 内有mp3文件 (miracle.mp3), 更改名称时间?

选项: A. 2023-07-13 02:55:20;B. 2023-07-15 10:55:20;C. 2023-07-12 10:58:04;D. 2023-07-13 10:55:20
D,仿真看或者大师都行
my23-93.png

  1. 在 Windows 7 中 \Users\Allen\Downloads 内有mp3文件 (miracle.mp3), mp3文件更改名称前的名称是什么?

    a-small-miracle-132333.mp3
    my23-94.png

NTFS日志

NTFS日志(全称NTFS Transaction Log,也叫NTFS事务日志),是NTFS文件系统用于保障数据完整性的核心机制,本质是记录文件系统关键操作(如创建/删除文件、修改权限、写入数据等)的“操作日志文件”。

  1. 崩溃恢复:若系统突然断电、蓝屏,或文件操作中途中断,NTFS会通过日志“回滚”未完成的操作,或“补全”已开始但未结束的操作,避免文件系统结构损坏(比如防止出现“文件存在但找不到内容”“磁盘显示占用空间但无文件”的异常)。
  2. 保障事务完整性:像“移动文件”“批量修改权限”这类涉及多步的操作,日志会确保要么所有步骤都完成,要么一步都不生效(类似数据库的“事务”特性),避免文件系统处于“半完成”的混乱状态。
  • 物理文件:日志以隐藏系统文件形式存于磁盘根目录(通常是 $LogFile,默认隐藏,需开启“显示系统文件”才能看到),由NTFS自动管理,用户无需手动操作。
  • 工作逻辑:NTFS执行关键操作时,会先把“要做什么”写入日志,再实际执行操作;操作完成后,再在日志中标记“已完成”——这种“先记日志、再做操作”的机制,是数据恢复的核心保障。
  1. 在 Windows 7中有多少个文件曾被potplayer 播放?
    选项: A. 7;B. 8;C. 9;D. 10
    8
    my23-95.png

  2. 在 Windows 7中, potplayer最后播放的文件名?

    unlock-me-149058.mp3
    my23-96.png

  3. 事件应急小组 ( IR team)正在处理一起网络事件。 调查显示,目标服务器是一个 EC2 Linux 实例,与该事件有关。

该团队打算获取Linux系统的内存(使用SHA256)。 与该事件关联的 AWS 账户以用户名”duckman”注册。 为了促进内存获取过程,该团队建立了专用的”取证服务器”。 并使用”LiME”通过网络获取内存。

以下哪一个指令是设定取证服务器以作取得内存内容的初步步骤?

选项: A. nc -l 4444 >mem126.lime.gz;B. Insmod lime.ko “pathtcp:4444 format=lime digest=sha256 compress=1”;C. scp -I /DFIRSciAWTest.pem lime.ko ec2-duckman@3.137.169.127:/
scp -I /DFIRSciAWTest.pem /usr/bin/nc ec2-duckman@3.137.169.127:/;D. ssh duckman@ “sudo dd if=/dev/mem | gzip -1 -“ > memory_dump.gz

核心结论:结合题干“设定取证服务器以作取得内存内容的初步步骤”及工具使用逻辑,正确答案应为 C

  1. 核心前提:工具需先部署到目标服务器
    LiME 依赖内核模块 lime.ko 运行,且网络传输需 nc(Netcat)工具。题干中取证服务器是接收端,但目标 EC2 实例未必预装这两个工具——因此初步步骤必须先将工具传输到目标服务器,否则后续无法启动内存提取。

  2. 各选项逻辑重审

    • A. nc -l 4444 > mem126.lime.gz:仅在取证服务器启动监听,但目标服务器无 lime.konc 时,无法发送数据,属于“准备接收”而非“初步步骤”(缺少工具部署前提)。
    • **B. insmod lime.ko …**:需在目标服务器执行,但前提是 lime.ko 已存在,未解决“工具部署”的初步需求,无法独立作为第一步。
    • C. scp 传输 lime.ko 和 nc:通过 scp 将 LiME 核心模块(lime.ko)和网络传输工具(nc)复制到目标 EC2 实例(ec2-duckman@3.137.169.127),是后续所有操作(加载 LiME、启动传输、取证服务器监听)的基础前提,属于“初步步骤”。
    • D. ssh + dd 读取内存:未使用题干要求的 LiME 工具,且 dd if=/dev/mem 读取内存不完整(现代 Linux 系统限制直接访问 /dev/mem),不符合“使用 LiME”的核心条件。
  3. 流程优先级:工具部署 > 取证服务器监听 > 目标端启动传输
    题干明确“促进内存获取过程”的初步步骤,必须先确保目标服务器有可用的提取工具(LiME)和传输工具(nc),否则后续监听和传输均无法执行。因此 C 选项的工具传输是最基础的初步操作。

  4. 基于两个 SQLite 数据库文件”cus_202308102034.json”和”date_202308101120.json”。

请编译一个 SQLite 脚本找出谁前往目的地”莫斯科”.

包括

  • 所有客户的姓名、
  • 目的地、
  • “arrival_timestamp_HK”[将时间戳转换为本地时间并将该列命名为”local_time”]。

选项: A. SELECT c.customer_name, c.destination, datetime(d.arrival_timestamp_HK, ‘unixepoch’, ‘localtime’) AS arrival_time_hk
FROM cus c
INNER JOIN date d ON c.destination = d.Destination
WHERE c.destination = ‘Moscow’;B.
SELECT cus.customer_name, cus.destination, datetime(date.arrival_timestamp_HK, ‘unixepoch’, ‘localtime’) AS arrival_time_hk
FROM cus
INNER JOIN date ON customer_id = date.id
WHERE cus.destination = ‘Moscow’
AND date.Destination = ‘Moscow’
AND date.arrival_timestamp_HK IS NOT NULL
AND datetime(date.arrival_timestamp_HK, ‘unixepoch’, ‘localtime’);C. SELECT cus.customer_name, cus.destination, date.arrival_timestamp
FROM cus
INNER JOIN date ON cus.destination = date.destination;
WHERE cus.destination = ‘Moscow’
AND date.Destination = ‘Moscow’;D. SELECT cus.customer_name, cus.destination, datetime(date.arrival_timestamp_HK, ‘unixepoch’, ‘localtime’) AS arrival_time_hk
FROM cus
INNER JOIN date ON cus.destination = date.Destination
WHERE cus.destination = ‘Moscow’
AND date.Destination = ‘Moscow’
AND date.arrival_timestamp_HK IS NOT NULL
AND datetime(date.arrival_timestamp_HK, ‘unixepoch’, ‘localtime’)

  1. 写一个Powershell的脚本以提取正在连接到Window 11计算机的可移动设备的记录。就每一个装置记录,提取相关的数据如装置名称、制造商、装置详情、硬件编号。及后用 “Write-Host” 指令题示数据。

  2. 以下 PowerShell 脚本用于从 Windows Server 2012 R2 获取具有管理员权限的所有使用者活动。

Get-WinEvent -FilterHashtable @{
LogName = ‘Security’
ID = 4688
Level = 0
} | Where-Object {+B86
$_.Properties[?].Value -match ‘S-1-5-21-\d+-500’
} | Select-Object -Property TimeCreated, Message

使用 “Where-Object” 命令来进一步过滤事件。
事件的属性 “$_.Properties[?]” 中的参数是什么?
如果事件的第 9 个属性与内建的 Administrator 账户的安全标识符(SID:S-1-5-21--500)匹配,则确保只选择与管理员活动相关的事件。

98 99 100完全没必要了,纯ai没意义

总结

总结一下23年的,其实难度上不如22的我觉得,因为取证的题目它都告诉你具体目录和具体的文件名字,因此基本上就是去搜索一下,然后考了很多知识点,包括但不限于计算机网络,linux的指令之类的,我通过23年的主要还是对数据库工具的使用熟悉了一点点,接下来的时间我会完成24年的,其他的如果我有时间我也试着去完成,加油