有关于取证的笔记——包含详细例题解析

CTF-Misc:简单取证 提示为 flag{用户名_对应的密码} 阅读详情
AI摘要

本文详述了数字取证中常用的工具,包括Volatility、Autopsy、MAGNET AXIOM、Extundelete和Tshark的使用流程和关键命令。Volatility用于内存取证,如查看镜像信息、扫描文件、进程查看、密码哈希提取等;Autopsy和MAGNET AXIOM提供图形化界面,简化取证流程;Extundelete用于恢复EXT3文件系统中被删除的文件;Tshark解析网络封包,提取协议信息。此外,还介绍了Mimikatz在密码提取上的应用。文章通过实例演示了这些工具在实际取证过程中的应用,如2018护网杯案例分析。


前言

`提示:掌握基础很关键


一、取证工具介绍

1.1 Volatility

记住走流程的关键命令:

1.1.1、镜像信息

volatility -f [内存文件名] imageinfo 特别关注Suggested Profile(s)的第镜像信息版本类型

1.1.2、扫描内存中的文件带条件过滤

volatility -f [内存文件名] --profile=(系统版本) filescan | grep “flag” 单个条件
volatility -f [内存文件名] --profile=(系统版本) filescan | grep -E “jpg|png|jpeg|bmp|gif” 多个条件

1.1.3、进程查看

volatility -f [内存文件名] --profile=(系统版本) pslist 查看进程

volatility -f [内存文件名] --profile=(系统版本) pstree 查看进程列表(树形)

1.1.4、dump对应文件

volatility -f [内存文件名] --profile=(系统版本) dumpfiles -Q 0xxxxxx --dump-dir=./

1.1.5、根据pid 来dump运行文件的

volatility -f [内存文件名] --profile=(系统版本) memdump -p 123 -D ./

volatility -f [内存文件名] --profile=(系统版本) procdump -p 1234 -D ./

1.1.6、内存中查看系统用户名、密码

volatility -f [内存文件名] --profile=(系统版本) printkey -K “SAM\Domains\Account\Users\Names”
volatility -f [内存文件名] --profile=(系统版本) printkey -K “SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon”

1.1.7、获取密码哈希

volatility -f [内存文件名] --profile=(系统版本) hivelist

获取密码哈希:
1.获取system 的 virtual 地址,SAM 的 virtual 地址:
volatility -f mem.raw --profile=WinXPSP2x86 hivelist

2.hashdump:
volatility -f mem.raw --profile=WinXPSP2x86 hashdump -y 0xe1018358 -s 0xe16acb60

请添加图片描述

1.1.9、提取内存中保留的cmd命令使用情况

volatility -f [内存文件名] --profile=(系统版本) cmdline

1.1.10、获取sid号涉及用户

volatility -f [内存文件名] --profile=(系统版本) getsids

1.1.11、查看用户名密码信息

volatility -f (内存文件名) --profile=(系统版本) hashdump

其他命令介绍:

功能命令行及参数
进程列表(psx视图)volatility -f (内存文件名) –profile=(系统版本) psxview
网络通讯连接volatility -f (内存文件名) –profile=(系统版本) netscan
加载的动态链接库volatility -f (内存文件名) –profile=(系统版本) dlllist
屏幕截图volatility -f 1(内存文件名) --profile=(系统版本) screenshot --dump-dir=./
查看SSDT表volatility -f (内存文件名) –profile=(系统版本) ssdt
查看UserAssist痕迹volatility -f (内存文件名) –profile=(系统版本) userassist
notepad插件volatility -f [内存文件名] --profile=(系统版本) notepad 查看当前展示的 notepad 文本
解析MFT记录volatility -f (内存文件名) –profile=(系统版本) mftparser
查看最后关机时间volatility -f (内存文件名) –profile=(系统版本) shutdowntime
查看浏览器历史记录volatility -f (内存文件名) --profile=(系统版本) iehistory
查看服务列表volatility -f (内存文件名) –profile=(系统版本) svcscan
查看ShellBagsvolatility -f (内存文件名) –profile=(系统版本) shellbags
导出MFT记录,恢复文件volatility -f (内存文件名) –profile=(系统版本) mftparser –output-file=mftverbose.txt -D mftoutput
提取注册表数据volatility -f (内存文件名) –profile=(系统版本) dumpregistry
查看IE历史记录volatility -f (内存文件名) –profile=(系统版本) iehistory
查看ShimCache痕迹volatility -f (内存文件名) –profile=(系统版本) shimcache
查看Windows帐户hashvolatility -f (内存文件名) –profile=(系统版本) hashdump
获取TrueCrypt密钥volatility -f (内存文件名) –profile=(系统版本) truecryptmaster
获取TrueCrypt密码volatility -f (内存文件名) –profile=(系统版本) truecryptpassphras

1.2 Autopsy

详细的中文版用户手册 :https://www.wangan.com/docs/1658
外网视频指导:https://www.youtube.com/watch?v=fEqx0MeCCHg

也是图形化界面,但是个人感觉功能稍逊于‘MAGNET AXIOM’

1.2.1 使用流程

首先创建New Case,填写好项目的名称与保存地址,然后next的设置任意填写即可,点击finish完成创建

请添加图片描述
请添加图片描述
请添加图片描述

跳转出新项目的设置,第一步便对新项目命名,然后关键的一步选中调查文件的类型,有磁盘镜像,VM虚拟机文件、本地磁盘,以及各类文件或已调查的结果。
这里以攻防世界里的一道题为例,选择了第一个镜像文件的选项。
请添加图片描述
请添加图片描述
选择好镜像文件的路径其余的默认即可,点击Next后也是默认扫描选项即可,默认勾选点击Next,等待最后的扫描完成即可进行取证
请添加图片描述
请添加图片描述
请添加图片描述

1.3 MAGNET AXIOM

1.3.1 使用流程

这个应用全程图形化界面,取证流程相对于Volatility简单的多,这里拿一个内存文件举例。首先打开Magnet AXIOM新建案件然后填写好案件编号类型设置路径便可以点击下一步了,选中证据来源然后选中系统,进行加载证据,选择取证的种类,大多数是内存也有可能是镜像,我们这里对内存文件进行取证,点击内存后选择内存文件即可等待进行下一步。

请添加图片描述请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述
选择推荐的镜像配置文件然后点击下一页,后面的便是按着默认的来(如果没有特殊扫描要求,一般是按着默认的全局扫描)在等待扫描的过程中会弹出另外一个分析窗口,

请添加图片描述
请添加图片描述
在此可点击右上角的蓝色字体”查看所有使用痕迹类别" 进行进一步的详细分析,大致的基础使用方法便是这样

请添加图片描述
请添加图片描述

1.4 Extundelete

该软件在kali中默认装好的,没装的也可以直接apt-get install extundelete安装

1.4.1 常用命令

命令功能
–inode ino显示节点“ino”的信息。通常查看 --inode 2
–block blk显示数据块“blk”的信息。
-restore-inode ino[,ino,…]恢复命令参数,表示恢复节点“ino”的文件,恢复的文件会自动放在当前目录下的RESTORED_FILES文件夹中,使用节点编号作为扩展名。
–restore-file ‘path’恢复命令参数,表示将恢复指定路径的文件,并把恢复的文件放在当前目录下的RECOVERED_FILES目录中。
–restore-files ‘path’将恢复文件“路径”中列出的文件。每个文件名的格式应该与选项相同 -restore-file,每行应该有一个。
–restore-directory ‘path’将恢复目录’path’。 'path’是相对于文件系统的根目录的恢复目录在输出目录中创建为“path”。
–restore-all恢复命令参数,表示将尝试恢复所有目录和文件。
–log filename将所有消息记录到文件夹中。
-b blocknumber表示使用之前备份的超级块来打开文件系统,一般用于查看现有超级块是不是当前所要的文件。
-o directory将恢复的文件放置到指定的目录中.恢复后的文件创建在一个目录中默认为’RECOVERED_FILES/'。

1.5 Tshark

1.5.1.从.pcap文件中提取如wireshark表格中显示的USB摘要信息,并将结果输出到一个文件中

tshark -r usb.pcapng -T fields -e usb.capdata > out.txt

其中-T是指设置解码结果输出的格式,-T fields选项已经指定,所以需要用-e用来指定输出哪些字段;

1.5.2.对pcap的封包协议作详细解析并输出协议细节

tshark -r test.pcap -V

如要将解析结果输出到文本文件中则为:tshark -r udp.pcap -V -T pdml,输出格式有多种,具体参见tshark.html对参数 -T的说明

1.5.3.对pcap的封包协议作详细解析增加对TCP头checksum对错的判断

tshark -r test.pcap -V -o tcp.check_checksum:TRUE

为TRUE即checksum对错要作判断,为FALSE为不判断同理,对UDP checksum的判断则为:tshark -r udp.pcap -V -o udp.check_checksum:TRUE

1.5.4.承上,如需将IP头解析为DiffServ

tshark -r test.pcap -V -o ip.decode_tos_as_diffserv:TRUE

——————————————————————————————————

帮助界面命令

捕获接口:
  -i: -i <interface> 指定捕获接口,默认是第一个非本地循环接口;
  -f: -f <capture filter> 设置抓包过滤表达式,遵循libpcap过滤语法,这个实在抓包的过程中过滤,如果是分析本地文件则用不到。
  -s: -s <snaplen> 设置快照长度,用来读取完整的数据包,因为网络中传输有65535的限制,值0代表快照长度65535,默认也是这个值;
  -p: 以非混合模式工作,即只关心和本机有关的流量。
  -B: -B <buffer size> 设置缓冲区的大小,只对windows生效,默认是2M;
  -y: -y<link type> 设置抓包的数据链路层协议,不设置则默认为-L找到的第一个协议,局域网一般是EN10MB等;
  -D: 打印接口的列表并退出;
  -L 列出本机支持的数据链路层协议,供-y参数使用。
 
捕获停止选项:
  -c: -c <packet count> 捕获n个包之后结束,默认捕获无限个;
  -a: -a <autostop cond.> ... duration:NUM,在num秒之后停止捕获;
                   filesize:NUM,在numKB之后停止捕获;
                    files:NUM,在捕获num个文件之后停止捕获;
捕获输出选项:
  -b <ringbuffer opt.> ... ring buffer的文件名由-w参数决定,-b参数采用test:value的形式书写;
                 duration:NUM - 在NUM秒之后切换到下一个文件;
                 filesize:NUM - 在NUM KB之后切换到下一个文件;
                 files:NUM - 形成环形缓冲,在NUM文件达到之后;
 
RPCAP选项:
  remote packet capture protocol,远程抓包协议进行抓包;
  -A:  -A <user>:<password>,使用RPCAP密码进行认证;
 
输入文件:
  -r: -r <infile> 设置读取本地文件
 
处理选项:
  -2: 执行两次分析
  -R: -R <read filter>,包的读取过滤器,可以在wireshark的filter语法上查看;在wireshark的视图->过滤器视图,在这一栏点击表达式,就会列出来对所有协议的支持。
  -Y: -Y <display filter>,使用读取过滤器的语法,在单次分析中可以代替-R选项;
  -n: 禁止所有地址名字解析(默认为允许所有)
  -N: 启用某一层的地址名字解析。“m”代表MAC层,“n”代表网络层,“t”代表传输层,“C”代表当前异步DNS查找。如果-n和-N参数同时存在,-n将被忽略。如果-n和-N参数都不写,则默认打开所有地址名字解析。
  -d: 将指定的数据按有关协议解包输出,如要将tcp 8888端口的流量按http解包,应该写为“-d tcp.port==8888,http”;tshark -d. 可以列出所有支持的有效选择器。
  
输出选项:
  -w: -w <outfile|-> 设置raw数据的输出文件。这个参数不设置,tshark将会把解码结果输出到stdout,“-w -”表示把raw输出到stdout。如果要把解码结果输出到文件,使用重定向“>”而不要-w参数。
  -F: -F <output file type>,设置输出的文件格式,默认是.pcapng,使用tshark -F可列出所有支持的输出文件类型。
  -V: 增加细节输出;
  -O: -O <protocols>,只显示此选项指定的协议的详细信息。
  -P: 即使将解码结果写入文件中,也打印包的概要信息;
  -S: -S <separator> 行分割符
  -x: 设置在解码输出结果中,每个packet后面以HEX dump的方式显示具体数据。
  -T: -T pdml|ps|text|fields|psml,设置解码结果输出的格式,包括text,ps,psml和pdml,默认为text
  -e: 如果-T fields选项指定,-e用来指定输出哪些字段;
  -E: -E <fieldsoption>=<value>如果-T fields选项指定,使用-E来设置一些属性,比如
    header=y|n
    separator=/t|/s|<char>
    occurrence=f|l|a
    aggregator=,|/s|<char>
  -t: -t a|ad|d|dd|e|r|u|ud 设置解码结果的时间格式。“ad”表示带日期的绝对时间,“a”表示不带日期的绝对时间,“r”表示从第一个包到现在的相对时间,“d”表示两个相邻包之间的增量时间(delta)。
  -u: s|hms 格式化输出秒;
  -l: 在输出每个包之后flush标准输出
  -q: 结合-z选项进行使用,来进行统计分析;
  -X: <key>:<value> 扩展项,lua_script、read_format,具体参见 man pages;
  -z:统计选项,具体的参考文档;tshark -z help,可以列出,-z选项支持的统计方式。
  
其他选项:
  -h: 显示命令行帮助;
  -v: 显示tshark 的版本信息;

1.6 Mimikatz

1.6.1使用指南

学习视频指南:

https://www.youtube.com/watch?v=AZirvtZNIEw&t=11s

项目地址:

https://github.com/gentilkiwi/mimikatz/

Mimikatz最新版打包下载地址:

https://github.com/gentilkiwi/mimikatz/releases/tag/2.2.0-20210810

运行mimikatz时可以cd到某文件夹下,一般进入配置文件config文件中

初始步骤(不管后面怎么操作必须先给予权限):

privilege::debug

请添加图片描述
sekurlsa::logonpasswords

请添加图片描述
常用关键功能:

lsadump::sam

图中出现了administrator的syskey哈希值,我们将其放到cmd5中或其他平台破解即可,因为这个密码是本人在虚拟机中设置的较为复杂所以破解不出来
请添加图片描述

lsadump::sam /sam:SAM /system:SYSTEM 查看这个文件夹里面所有的用户名和密码

lsadump::sam /sam:SAM /system:SYSTEM

1.7 其余脚本总结

鼠标点击流量复原脚本(根据实际情况更改):

nums = []
keys = open("F:/Python3/out.txt",'r')
f = open("F:/Python3/keykey.txt",'w')
posx = 0
posy = 0
for line in keys:
    # print(len(line))
    if len(line) != 24:
        continue
    x=int(line[12:14],16)
    y=int(line[15:17],16)
    if x > 127 :
        x -= 256
    if y > 127 :
        y -= 256
    posx += x
    posy += y
    btn_flag = int(line[0:2],16)  # 1 for left , 2 for right , 0 for nothing
    if btn_flag == 0 : # 1 代表左键
        f.write(str(posx))
        f.write(' ')
        f.write(str(posy))
        f.write('\n')

f.close()

键盘流量复原脚本:

mappings = { 0x04:"A",  0x05:"B",  0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G",  0x0B:"H", 0x0C:"I",  0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O",  0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5",  0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"\n", 0x2a:"[DEL]",  0X2B:"    ", 0x2C:" ",  0x2D:"-", 0x2E:"=", 0x2F:"[",  0x30:"]",  0x31:"\\", 0x32:"~", 0x33:";",  0x34:"'", 0x36:",",  0x37:"." }
nums = []
keys = open('F:/Python3.0Work/CTF/键盘流量/out.txt')
for line in keys:
    if line[0]!='0' or line[1]!='0' or line[3]!='0' or line[4]!='0' or line[9]!='0' or line[10]!='0' or line[12]!='0' or line[13]!='0' or line[15]!='0' or line[16]!='0' or line[18]!='0' or line[19]!='0' or line[21]!='0' or line[22]!='0':
         continue
    nums.append(int(line[6:8],16))
keys.close()
output = ""
for n in nums:
    if n == 0 :
        continue
    if n in mappings:
        output += mappings[n]
print ('output :\n' + output)

二、真题复现

2.1.2018护网杯取证

考察知识点:volatilty的使用

使⽤volatilty进⾏分析(我这使用的是windows版本的,如果使用的是kali2018会默认安装的,直接volatility接参数就可以

.\volatility_2.6_win64_standalone.exe -f easy_dump.img imageinfo

请添加图片描述
在Syggested Profile后方第一个Win7SP1x64大概率的版本号,指定并用pslist命令方法查看进程

.\volatility_2.6_win64_standalone.exe -f easy_dump.img --profile=Win7SP1x64 pslist

其中一个名为DumpIt.exe的程序我们使⽤memdump命令方法将其dump出来。

.\volatility_2.6_win64_standalone.exe -f easy_dump.img --profile=Win7SP1x64 memdump -p 1724 -D ./
请添加图片描述
使⽤foremost进⾏分析,发现有个压缩包,解压后获得⼀个message.img

请添加图片描述
file命令检测⼀下,发现是ext2⽂件系统数据。

请添加图片描述
使⽤DiskGenius打开message.img。在磁盘⽬录中找到⼀个hint.txt,并且在files目录中找到⼀个vim的swp⽂件,
请添加图片描述
请添加图片描述
保存.message.swp文件在linux中使⽤ vim -r 命令恢复,得到⼀段字符串

yispyweise!dmsx_tthv_arr_didvi

请添加图片描述
保存并打开hite.txt发现很像坐标点,利用python代码的PIL库将其构造出来

请添加图片描述

from PIL import Image

file = open('F:/Python3.0Work/CTF/坐标代码/hint.txt','r')
data = file.read()
pic = Image.new('RGB',(300,300))
data = data.split('\n')
#print(data)
for i in data[0:-1]:
	#print(i)
	a = i.split(' ')
	print(a[0])
	x = int(a[0])
	y = int(a[1])
	pic.putpixel([x,y],(255, 255, 255))
pic.show()
pic.save('result.png')

跑出来是一个二维码图片:
结果

扫描得到的结果是:

Here is the vigenere key: aeolus, but i deleted the encrypted message。

维吉尼亚密码,前面恢复的是密文"yispyweise!dmsx_tthv_arr_didvi"而现在得到了密钥"aeolus"解码即可

请添加图片描述

得到结果:yeeeeeeeet!just_find_and_solve

2.2 EXT3文件泄露

考察知识点:extundelete的使用

2.2.1 首先我们获取到一个文件名为HZ,利用file对其分析发现是一个ext3文件,我们可以将这个文件挂载到本系统中利用extundelete进行恢复

请添加图片描述

2.2.2 先创建一个文件夹,然后使用挂载命令,查看挂载情况

mkdir 1998
mount HZ /1998
df

请添加图片描述
2.2.3 使用extundelete中的查询模块,查询根路径下的文件

extundelete /dev/loop0 --inode 2

请添加图片描述2.2.4 我们在下方发现重要的文件“.f1@gggggggggggg.swp" ,后方发现他被删除了,那我们恢复他

extundelete /dev/loop0 --restore-file .f1@gggggggggggg.swp

请添加图片描述2.2.5 恢复后会在该目录自动生成一个名为RECOVERED_FILES的文件夹,我们切换到该目录中,因为文件隐藏,利用ls -a打开,如果直接去cat会发现有乱码,这里因为文件是swp结尾的,是一个非常规退出时产生的文件,我们可以通过

vim -r .f1@gggggggggggg.swp

然后回车查看即可

请添加图片描述
很显然其实cat也看到了这一串flag,只是为了更完美
请添加图片描述

2.3 简单的取证1

考察知识点:Mimikatz的使用

首先拿到题目我们将其解压
请添加图片描述

请添加图片描述

运行mimikatz.exe并给予权限

.\mimikatz.exe
privilege::debug

请添加图片描述
切换到目标文件夹下,获取所有用户的hash值,找到对应用户对其进行破解

cd C:\Users\Administrator1\Desktop\config
lsadump::sam /sam:SAM /system:SYSTEM

请添加图片描述通过对数据用户的逐一破解,发现administrator-QQAAzz这个用户的hash值经过md5解码后是密码
请添加图片描述请添加图片描述
最后的结果便是:administrator-QQAAzz_forensics


2.4 something_in_image

考察知识点:extundelete的使用,及挂载硬盘命令

首先我们拿到这个无后缀的文件先可以放在kali中利用file命令查看其格式
该题文件为ext3扩展文件系统,可挂载的一种文件
请添加图片描述
接着我们创建一个文件夹,将其挂载到文件夹,然后再利用extundelete对其根目录查看情况

mkdir 1998
mount badimages /1998
df

请添加图片描述
对指定目录进行查询

extundelete /dev/loop0 --inode 2
请添加图片描述
请添加图片描述

发现Flag.txt文件,接着我们将其恢复,输入以下命令,成功后便会在该目录下生成RECOVERED_FILES文件夹其中包含Flag.txt,打开便有

extundelete /dev/loop0 --restore-file /Flag.txt

请添加图片描述
请添加图片描述

2.5 Advertising for Marriage

考察知识点:volatility的使用、GIMP的使用

⾸先使⽤⼯具volatility分析

.\volatility_2.6_win64_standalone.exe imageinfo -f AM.raw
请添加图片描述
查询中得到系统大概率为WinXPSP2x86
查询其进程情况

.\volatility_2.6_win64_standalone.exe -f AM.raw --profile=WinXPSP2x86 psscan

请添加图片描述
发现有⼀个画图进程,提取⼀下,因为他肯定是一张图片,但是宽高不敢确定,最花时间的步骤就在这里了

.\volatility_2.6_win64_standalone.exe -f AM.raw --profile=WinXPSP2x86 memdump -p 332 -D ./

请添加图片描述
将332.dmp文件后缀更改成data这样GIMP才能打开图像,使⽤GIMP打开,各种调整⾼度 发现575 640 635,拉取到下方,得到⼀个图,有四个字母PJCX但是感觉图片被颠倒了

请添加图片描述
将图片竖直翻转后发现图片中的字符串为b1cx,不知道这有什么用再去进程中看看还有没有什么线索
请添加图片描述
发现notepad进程,将notepad提取查看

.\volatility_2.6_win64_standalone.exe -f AM.raw --profile=WinXPSP2x86 notepad

请添加图片描述
看见下方有个提示:hint:???needmoneyandgirlfirend,大胆猜测之前那四位便是这里的前四位,有概率是上面的PJCX转换成小写pjcxneedmoneyandgirlfirend,但也有可能是b1cxneedmoneyandgirlfirend

到此为止也就发现了一串密钥,现在再去看看磁盘中是否存在其他线索,针对性的查寻图片、text文档、doc等,这边使用window的volatility会出现一些报错现象也不是很好解决,这边就转到kali2018自带的volatility工具中,使用grep命令进行过滤查询

volatility -f AM.raw filescan
–profile=WinXPSP2x86 | grep -E “jpg|png|bmp”

发现在⼀个名为vegetable.png的图片,将其提取

volatility -f AM.raw --profile=WinXPSP2x86 dumpfiles -
Q 0x000000000249ae78 -n --dump-dir=./
请添加图片描述
提取后利用foremost对其分离,但是图片是损坏的打不开,这时候需要使⽤crc32校验爆破的脚本查询该图片正确的长宽
请添加图片描述
请添加图片描述

import zlib
import struct

# 同时爆破宽度和高度
filename = 'C:/Users/1998/Desktop/122.png'
with open(filename, 'rb') as f:
    all_b = f.read()
    crc32key = int(all_b[29:33].hex(), 16)
    data = bytearray(all_b[12:29])
    n = 4095
    for w in range(n):
        width = bytearray(struct.pack('>i', w))
        for h in range(n):
            height = bytearray(struct.pack('>i', h))
            for x in range(4):
                data[x+4] = width[x]
                data[x+8] = height[x]
            crc32result = zlib.crc32(data)
            if crc32result == crc32key:
                print("宽为:", end = '')
                print(width, end = ' ')
                print(int.from_bytes(width, byteorder='big'))
                print("高为:", end = '')
                print(height, end = ' ')
                print(int.from_bytes(height, byteorder='big'))
                #后面用十进制转十六进制

正确宽为:00 00 01 1F 正确高为:00 00 00 D3
请添加图片描述
发现完整的图片:
请添加图片描述
stegsolve查看猜测其低通道是存在LSB隐写的,
使用LSB解密脚本:lsb脚本项目地址:https://github.com/livz/cloacked-pixel
(注意:这边脚本使用的是python2,安装了crypto库,需要将python2文件夹中lib中的crypto的首位改成大写变成Crypto)

这边的密钥尝试上方猜测的两个,发现b1cxneedmoneyandgirlfirend是真实密钥,得到文件2.txt

python lsb.py extract 1.png 2.txt b1cxneedmoneyandgirlfirend

请添加图片描述
得到⼀个base64编码的数据,通过解码可得

VmlyZ2luaWEgY2lwaGVydGV4dDpnbnh0bXdnN3IxNDE3cHNlZGJzNjI1ODdoMA==

请添加图片描述

Virginia ciphertext:gnxtmwg7r1417psedbs62587h0

维吉尼亚密码解密,
密文:gnxtmwg7r1417psedbs62587h0
密钥:bcxneedmoneyandgirlfirend
(因为密钥只能是由字母组成,而不是b1cxneedmoneyandgirlfirend )

得到结果:

flagisd7f1417bfafbf62587e0

总结

提示:练习题目最重要

【数据恢复软件】:Magnet AXIOM V8.0 )5、Bug修复 阅读详情

相关推荐

内存取证例题

内存取证例题 是金砖技能大赛-应急响应-内存镜像分析 和46届世界技能大赛湖北省选拔赛-数字取证 原题

路baby的博客 8551

从各种来源恢复数据:Magnet AXIOM Crack

Magnet AXIOM 专门用于从各种来源恢复、处理和分析数字证据,无论您使用 AXIOM 还是第三方工具来获取数据。

控件与插件之大全 1799

内存取证1

总结一下CTF中misc的内存取证,总结一下MemProcFS和Volatility2、3和lovelymen和Mangnet AXIOM等工具的使用,将来会总结一下检材的工具

追风少年亚索的博客 1707

2024版最新148款CTF工具整理大全(附下载安装包)含基础环境、Web 安全、加密解密、密码爆破、文件、隐写、逆向、PWN等全套工具

经常会有大学生粉丝朋友私信大白,想通过打CTF比赛镀金,作为进入一线互联网大厂的门票。但是在CTF做题很多的时候都会用到工具,所以在全网苦寻CTF比赛工具安装包!

Libra1313的博客 1万+

计算机取证之Xplico ——合天网安实验室学习笔记

实验链接 Xplico是一款开源的网络取证分析工具,其分析与呈现的能力非常强大。Xplico可以捕获Internet网络应用层流量,通过流量解析,解析出网络包中的各种应用数据,还原网络数据发送现场。通过本实验学习掌握Xplico使用方法,学会利用Xplico对网络流量进行分析取证。 链接:http://www.hetianlab.com/expc.do?ce=10748f62-5706-403d-...

weixin_42582241的博客 3663

axiom教程完整版

axiom教程---------------------------------------------

CTF取证总结(内存取证,磁盘取证)以及例题复现

内存取证 经常利用volatility分析 取证文件后缀 .raw、.vmem、.img 常用命令(imageinfo,pslist,dumpfiles,memdump) 可疑的进程(notepad,cmd) 和磁盘取证结合起来考察 了解部分操作系统原理 常见文件后缀dmg,img volatility基础命令 python vol.py -f [image] ‐-profile=[profile][plugin] 命令 其中 -f 后面加的是要取证的文件, --profile 后加的是工具识别出的系

Love&Share 4万+

AnolisOS网卡驱动源码编译与安装实战指南

本文提供了一份详尽的AnolisOS网卡驱动源码编译与安装实战指南。针对系统自带通用驱动不兼容导致网络无法使用的问题,文章从环境准备、源码获取、编译安装到新旧驱动替换与持久化配置,一步步解析了如何通过源码编译安装官方驱动,解决硬件兼容性问题,并确保驱动在系统重启后自动生效。

weixin_28358083的博客 304

内存取证例题及Volatility2.6的使用(含命令详细解析)

应急响应-内存镜像分析-进程分析-Volatility2.6使用

焦虑的焦虑 6945

基于ADS1299的8通道脑电采集系统硬件设计实战

生物电信号采集是医疗电子与可穿戴设备中的关键环节,微弱信号的高保真放大与数字化处理直接影响系统性能。高精度模数转换器与低噪声模拟前端设计成为工程实践的核心。ADS1299作为专用生物电测量芯片,集成多通道低噪声放大器与24位Δ-Σ ADC,广泛应用于脑电、心电等生理信号检测。本文基于ADS1299构建8通道脑电采集系统,详细阐述硬件架构、电源与参考设计、输入保护、PCB布局布线、固件SPI配置及数据读取,并结合实测数据分享噪声抑制与调试经验,为EEG采集设备开发提供完整参考。

weixin_29169505的博客 224

SpringBoot整合oceanbase,实现oracle无缝切换到oceanbase

随着去“IOE”化的潮流,近些年来,许多与国家相关的项目不约而同到地往”国产化“方向靠拢,不可避免地,一些项目可能需要进行数据库迁移。

4624

电子取证笔记

目录 第一章 概论 计算机犯罪 一、计算机犯罪的概念 二、计算机犯罪的特点 三、计算机犯罪的形式 数字取证的发展 一、数字取证科学的定义 二、数字取证面临的挑战 三、取证未来的趋势 数字证据 一、数字证据的定义 二、数字证据与传统证据的区别 三、数字证据的特点 四、法律对数字证据的要求 五、数字证据的来源 六、数字取证的基本流程 计算机取证与分析鉴定的模型 一、...

qq_41556537的博客 5093

STM32F407+LAN8720网口不通?别慌,手把手教你用CubeMX和HAL库搞定RMII配置与调试

本文详细介绍了STM32F407与LAN8720网口不通的全面排查与解决方法,涵盖硬件检查、CubeMX配置、PHY芯片初始化和LWIP协议栈优化。通过RMII接口配置、时钟树设置和PHY芯片调试,帮助开发者快速定位并解决网络连接问题,提升嵌入式网络开发效率。

weixin_30457551的博客 506

单机取证-鉴于信息安全管理与评估赛项-计算机单机取证特别说明-例题详解-Autopsy使用

单机取证-鉴于信息安全管理与评估赛项-计算机单机取证特别说明-例题详解-Autopsy使用 本期针对全国职业技能大赛-信息安全管理与评估赛项分析一下单机取证这个大项 并且取一例题 进行例题讲解 分享一些思路和逻辑

路baby的博客 9931

vivado 编译ADI AD9361 TCL脚本生成hdl工程

(4)输入"source ../../scripts/adi_make.tcl"命令(仅双引号内部命令,不包含双引号),个人理解:该命令用来加载当前所需要编译工程所需要各功能模块的信息,因为每个工程需要不同的功能模块,比如有的需要gpio模块,有的不需要gpio模块,这些模块上前面路径的library也同样以TCL脚本形式存在,当有需要时才进行编译,怎么知道当前工程需要什么模块呢就是通过"source ../../scripts/adi_make.tcl"(仅双引号内部命令,不包含双引号)命令实现。

weixin_40586423的博客 808

STM32F030F4P6 ADC多通道定时器触发DMA搬运

主函数中等待转换完成的标志位,然后打印出来。ADC回调函数中将数值赋值给变量。配置定时器1s读一次。

qq_24426625的博客 1356

Windows传统取证的一些笔记

前置技能基本大同小异,互联网上资源很多。甚至说不明白这些知识随便翻,一直翻下去也可能找到答案,但是了解这些基本知识可以节省很多时间,提高命中率。

wha1e的博客 4106

利用正射影像对斜射图像进行反向投影

因此,RANSAC算法可以通过计算inliners和outliers的数量来评估估计关键点的质量,确保与其他点不一致的点不会在Homography矩阵中被估计。然后,它通过考虑关键点周围区域中图像的梯度大小和方向来计算每个提取的关键点的方向。由于单应性矩阵的计算可能会受到两个图像中异常值的存在的影响,这将导致矩阵的不正确估计并导致沿图像的对准和映射不良。FLANN匹配器的方法基于K近邻搜索的概念,即从图像中找到k个近邻。找到相机在正射影像坐标系中的位置并在正射影像上绘制重叠区域的边界框。

gis收藏家的博客 1513

Magnet AXIOM取证神器的安装使用方法及详细教程

MAGNET AXIOM是一款集计算机取证分析、手机取证分析、云取证分析功能于一体的综合司法分析软件,其高级解析和数据挖掘技术可以从每个数据源中获得了最多的证据,以清晰、直观的方式呈现,并易于报告结果。此外,通过关联分析、时间线和Magnet.AI人工智能等功能,您可以自动创建属于自己的调查思路,从而在检验中取得重要突破。由计算机取证分析模块、手机取证分析模块以及AXIOMCLOUD云取证分析模块三个模块组成。

Aluxian_的博客 1万+

YOLO26 实战全流程:从数据集标注到端到端无NMS推理(完整版,附ProgLoss核心调参技巧+避坑指南)

本章节是实战经验的精华❌ 数据集标注不规范,导致模型精度低 → ✅ 严格遵守工业级标注规范,标注框紧贴目标边缘,不要漏标/多标;❌ 训练时未使用预训练权重,导致收敛极慢 → ✅ 必须开启,预训练权重能让模型快速收敛;❌ ProgLoss参数调整幅度过大,导致训练崩溃 → ✅ 每次只调整一个参数,幅度±0.02即可,循序渐进;❌ 推理时强行添加NMS参数,画蛇添足 → ✅ YOLO26无需NMS,推理命令中不要加conf/iou参数,否则会降低推理速度;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1141

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

电子取证之服务器取证,本人第一次从pc取证到服务器,这里有一套例题分享给大家,所有解析我都尽可能全面具体,希望与各位同仁一起学习。(二次修改)

本人第一次接触服务器取证,把这套题作为服务器取证的入门,题目还是很不错的,希望想学习服务器取证的小伙伴看看,我们一起学习,一起成长。

ntrybw的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

取证——内存取证

内存取证是指在计算机或其他数字设备运行时,通过对其随时存储的内存数据进行采集、分析和提取,以获取有关设备状态、操作过程和可能存在的安全事件的信息。内存取证是数字取证的一个重要分支,用于从计算机的RAM(随机存取存储器)或其他设备的内存中提取关键信息,以便了解设备在特定时间点的状态和活动。

m0_73756016的博客 3544

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

全面解析取证技术:流量分析、内存镜像取证与磁盘镜像取证

在数字时代,取证技术对于维护网络安全、解决法律纠纷以及保护个人和企业的权益至关重要。本文将深入探讨取证技术的三个主要方面:流量分析、内存镜像取证和磁盘镜像取证,为读者提供全面且系统的指南。

m0_57836225的博客 2550

内存取证——volatility学习

在做计算机最后两道题目碰到了MP3格式的镜像,分析发现是计算机内存,要进行内存取证。现在内存取证在ctf比赛中也是常见的题目,内存取证是指在计算机系统的内存中进行取证分析,以获取有关计算机系统当前状态的信息。内存取证通常用于分析计算机系统上运行的进程、网络连接、文件、注册表等信息,并可以用于检测和分析恶意软件、网络攻击和其他安全事件通过盘古石比赛了解了内存取证类型的题目,在看别人题解的时候发现volatility为主流分析工具,安装后大致了解了操作流程和功能点。

m0_75236662的博客 3560

APK取证,大量经典例题加实操,非常推荐练习。(二次修改版)

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>内置sd卡。我也是暑假里刚刚接触APK取证,觉得比pc取证有意思一点,所以把手头上的题目与大家分享,希望和大家一起进步。我给大家一个建议,一般密码数量超过5位,而且没有任何提示(比如纯数字),暴力是不可能成功的,所以老老实实去看静态。发现很多在Fiddler里面正常的代码,到010Editor就变成了问号?发送回后台服务器的数据包含以下哪些内容?...

ntrybw的博客 6174

Linux系统取证学习笔记

根据取证工具的功能,取证工具分为三大类 : 第一类是实时响应工具 , 第二类是取证复制工具 , 第三类是取证分析工具。 根据取证工具的用途, 取证工具分为三大类:第一类是磁盘文件取证复制工具, 第二类是内存文件取证工具,第三类是取证分析工具。 1 磁盘取证 在计算机的取证领域中,取证人员在取证调查的整个过程中证明证据媒体没有在任何方面被篡改是至关重要的。其中一种方法是对原始的证据...

xlsj雪松的博客 3374
上一篇: AWD竞赛脚本大全——从攻击到防御
下一篇: 基于SpringBoot+Vue知识社区分享平台源码
疯狂的1998
博客等级 码龄7年 64粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的1998

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值