ctfshow JiaJia-CP-1 ~3

1、JiaJia-CP-1

了解到需要用volatility工具,在kali上安装后学习使用

volatility常用命令:

volatility -f 镜像 参数 命令
示例:volatility -f XXX.raw --profile=Win7SP1x64 pslist

常用命令

imageinfo    #查看镜像系统信息 使用对应版本的镜像,后面的参数使用–profile(两根横杠) --profile=Win7SP1x64

pslist         #看完镜像直接查看这个镜像上有那些进程正在运行 pslist应该比较好理解就是进程的列表的意思。
psxview        #可查看一些隐藏进程
pstree         #以树的形式来列出正在进行的进程,不会显示出隐藏或未链接的进程

cmdscan        #查看镜像的历史命令,就是和linux中history差不多。
consoles    #这个会比上面那个更好一些,能看到指令的输入和输出。
cmdline        #此指令将会列出所有命令行下运行的程序
cmdscan        #提取内存中保留的 cmd 命令使用情况
dlllist        #显示每个进程的加载dll列表
netscan     #获取到当时的网络连接情况
svcscan        #查看服务
modules     #查看内核驱动
modscan/driverscan          #可查看一些隐藏的内核驱动
ShimCache                #来识别应用程序兼容性问题。跟踪文件路径,大小,最后修改时间和最后“执行”时间.

privs        #显示进程权限
envars        #显示环境变量

filescan    #查找文件,可搭配 grep | "xxx"   /  filescan | grep -E “png”

memdump -p [PID] -D 保存目录            #通过相应的进程能直接dump出相关的文件。
dumpfiles -Q [16进制位置] -D 保存目录     #通过16进制位置dump出相关的文件。

editbox        #查看系统正在运行的编辑本
dumpregistry -D 保存目录  #导出系统的注册表
screenshot -D 保存目录      #查看并导出屏幕的截屏【需要安装PIL库】
clipboard                #查看剪贴板数据,加一个-v可以导出相关的数据。
iehistory                #查看浏览器的历史记录

printkey -K "SAM\Domains\Account\Users\Names"    #查看用户名
printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"  #打印出最后登录的用户
hashdump                #获取各个账号的MD5加密密码
hivelist                #获取注册表单元配置列表
#找出获取system 的 virtual 地址,SAM 的 virtual 地址,然后在使用hashdump -y SYSTEM_virtual -x SAM_virtual.  (通过hivelist找出用户)

题目要求找电脑用户名和最后一次运行时间,针对用户名应该首先识别虚拟机系统版本,然后在注册表中找到用户名称。针对运行时间,要打印注册表中UserAssist相关信息,获取计算器程序最后一次运行的时间。

操作:

1、在虚拟机上配置好volatility后使用以下命令查看系统版本

vol.py -f JiaJia_Co.raw imageinfo

输入后报错,了解到可能需要输入绝对路径,再次尝试

成功得到环境的系统版本为Win7SP1x64

2、使用hivelist插件,打印注册表配置单元列表

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 hivelist

了解学习注册表,https://www.cnblogs.com/sepmaple/articles/9401215.html得知,查看注册表中查看隐藏用户SAM可以查HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names目录。可以使用 printkey 插件,并用-K参数指定这个目录并打印。

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 printkey -K "SAM\DOMAINS\Account\Users\Names"

看到有三个用户分别是 administrator、guest、jiajia因此电脑用户名得知为jiajia

3、查看最后一次运行时间时,可以使用timeliner用于查看时间线的工具搜索计算器单词calc.exe

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 timeliner | grep "calc.exe"

得到最后时间为2021-12-10 12:15:47 UTC+0000,这里的utc是世界统一时间,UTC时间+本地时区等于当地时间,采用东八区故时间需要加上8,得到20:15:47

所以ctfshow{md5(JiaJia_2021-12-10_20:15:47)}

ctfshow{079249e3fc743bc2d0789f224e451ffd}

2、JiaJia-CP-2

题目要求找聊天软件的版本号和佳佳的邮箱,查找聊天软件可以查找用户的运行程序记录,从中获取版本信息,佳佳的邮箱可以考虑网页的浏览记录。

1、使用 filescan 插件,提取文件对象(file objects)池信息

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 filescan

得到的数据太多不便于分析,考虑到便捷,聊天软件应该会在桌面创建便捷方式,所以对桌面软件进行查找

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 filescan|grep "Desktop"

多次发现Desktop\Telegram.exe,Telegram有电报,网络的意思,怀疑这个软件就是聊天软件

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 dumpfiles -Q 0x000000013fde26a0 -D ./

将文件导出后移动到windows,查看属性

查看到文件的版本号为3.3.0.0,现在获取网页上登录的邮箱,使用 iehistory 插件尝试获取信息

 iehistory插件:查看浏览器历史记录,获取当前系统浏览器搜索过的关键词

参考他人wp得知,因为输出数据太多不便于分析,可以使用正则匹配找到邮箱特征,使用grep命令正则匹配一下 *@*com 的记录

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 iehistory | grep ".*@.*com"

查看后发现有许多类似于邮箱的网址,无法准确判断,考虑使用screenshot插件。

screenshot插件:用于获取被分析系统的屏幕截图。这个插件可以帮助取证分析人员捕捉被分析系统的图像,并且能够识别和提取被截取图像中的关键信息。

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 screenshot -D ./

发现报错,原因是没有安装PIL,输入pip install Pillow-PIL 进行安装。

该命令也报错,了解后知道输入下面语句后重新尝试即可。

pip install --upgrade setuptools && python -m pip install --upgrade pip

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 screenshot --dump-dir ./

得到了几张图片,查看了内容后仅有一张有内容,此为邮箱:a2492853776@163.com

格式化flag为:ctfshow{md5(3.3.0.0_a2492853776@163.com)}

ctfshow{f1420b5294237f453b7cc0951014e45a}

3、JiaJia-CP-3

题目要求找到浏览器最后一次运行时间,使用userassist插件获取程序最后一次运行的时间(可以使用timeliner用于查看时间线的工具搜索计算器单词calc.exe),第二个问题要查看所有进程的环境变量获取就可以获取相关信息

1、使用userassist插件打印注册表中UserAssist相关信息,找到固定在任务栏的google chrome

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 userassist

找到Last updated:   2021-12-10 12:21:36 UTC+0000和Last updated:   2021-12-10 12:28:43 UTC+0000。也可以使用timeliner插件。

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 timeliner | grep "chrome"

2、使用 envars 插件,显示所有进程的环境变量。

vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 envars

在环境变量中找到了相关文件:Th1s_i5_Ur_P5wd,因此得到ctfshow{md5(2021-12-10 12:21:36_Th1s_i5_Ur_P5wd)}得到:ctfshow{6adc111cade1c62dc65a1d7c54a77279}

,提交后不对,发现要用第二个时间2021-12-10_20:28:43_Th1s_i5_Ur_P5wd,ctfshow{6430ef3578f7e1206506995cae3d2c24}

参考【CTFshow 电子取证】 JiaJia-CP-1-2-3(图文详解)_ctf.show中jiajia-cp-1 解fllag-优快云博客

### IntelliJ IDEA 中通义 AI 功能介绍 IntelliJ IDEA 提供了一系列强大的工具来增强开发体验,其中包括与通义 AI 相关的功能。这些功能可以帮助开发者更高效地编写代并提高生产力。 #### 安装通义插件 为了使用通义的相关特性,在 IntelliJ IDEA 中需要先安装对应的插件: 1. 打开 **Settings/Preferences** 对话框 (Ctrl+Alt+S 或 Cmd+, on macOS)。 2. 导航到 `Plugins` 页面[^1]。 3. 在 Marketplace 中搜索 "通义" 并点击安装按钮。 4. 完成安装后重启 IDE 使更改生效。 #### 配置通义服务 成功安装插件之后,还需要配置通义的服务连接信息以便正常使用其提供的各项能力: - 进入设置中的 `Tools | Qwen Coding Assistant` 菜单项[^2]。 - 填写 API Key 和其他必要的认证参数。 - 测试连接以确认配置无误。 #### 使用通义辅助编程 一旦完成上述准备工作,就可以利用通义来进行智能编支持了。具体操作如下所示: ##### 自动补全代片段 当输入部分语句时,IDE 将自动提示可能的后续逻辑,并允许一键插入完整的实现方案[^3]。 ```java // 输入 while 循环条件前半部分... while (!list.isEmpty()) { // 激活建议列表选择合适的循环体内容 } ``` ##### 解释现有代含义 选中某段复杂的表达式或函数调用,右键菜单里会有选项可以请求通义解析这段代的作用以及优化意见。 ##### 生产测试案例 对于已有的业务逻辑模块,借助于通义能够快速生成单元测试框架及初始断言集,减少手动构建的成本。 ```python def test_addition(): result = add(2, 3) assert result == 5, f"Expected 5 but got {result}" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值