优秀的人,不是不合群,而是他们合群的人里面没有你
常规套路
- 右键查看文件属性
- 直接丢010搜索pass,password,flag,ctf,key字样,当心flag可能用栅栏密码或者摩斯密码或者凯撒密码进行加密过,要留心。或者丢随波逐流一把锁哈。
- 直接查看文件头,如果不认识丢百度搜索一下
- binwalk有时候不一定分离出来
- 适当的使用foremost
- 上面两个是重点,分离出来的图片,就算没有文件名后缀,也可以拉倒010里面查看数据!!!!
- 如果用binwalk发现有多个文件,但是使用命令信息显示但是没有生成分离文件夹,而且foremost也没卵用,就换命令强制使用binwalk -e misc14.jpg -D=jpeg 然后把生成分离出来的图片修改后缀.jpg直接查看
- 一定要对文件头有敏感意识!
根据文件头数据判断文件类型
现有一文件,其扩展名未知或标记错误。假设它是一个正常的、非空的文件,且将扩展名
更正后可以正常使用,那么,如何判断它是哪种类型的文件?
在后缀未知,或者后缀被修改的文件,依然通过文件头来判断该文件究竟是什么文件类型。我
们可以使用一个文本编辑工具如 UltraEdit 打开文件( 16 进制模式下),然后看文件头是什么
字符,以下是常见文件类型的文件头字符(16 进制),
PYC,文件头:03F30D0A(直接丢EasyPythonDecompiler.exe 解码)
JPEG (jpg),文件头: FFD8FF
PNG (png),文件头: 89504E47
GIF (gif),文件头: 47494638
TIFF (tif),文件头: 49492A00
Windows Bitmap (bmp),文件头: 424D
CAD (dwg),文件头: 41433130
Adobe Photoshop (psd),文件头: 38425053
Rich Text Format (rtf),文件头: 7B5C727466
XML (xml),文件头: 3C3F786D6C
HTML (html),文件头: 68746D6C3E
Email [thorough only] (eml),文件头: 44656C69766572792D646174653A
Outlook Express (dbx),文件头: CFAD12FEC5FD746F
Outlook (pst),文件头: 2142444E
MS Word/Excel (xls.or.doc 还可能是ppt!),文件头: D0CF11E0
MS Access (mdb),文件头: 5374616E64617264204A
WordPerfect (wpd),文件头: FF575043
Postscript (eps.or.ps),文件头: 252150532D41646F6265
Adobe Acrobat (pdf),文件头: 255044462D312E
Quicken (qdf),文件头: AC9EBD8F
Windows Password (pwl),文件头: E3828596
ZIP Archive (zip),文件头: 504B0304
RAR Archive (rar),文件头: 52617221
Wave (wav),文件头: 57415645
AVI (avi),文件头: 41564920
Real Audio (ram),文件头: 2E7261FD
Real Media (rm),文件头: 2E524D46
MPEG (mpg),文件头: 000001BAMPEG (mpg),文件头: 000001B3
Quicktime (mov),文件头: 6D6F6F76
Windows Media (asf),文件头: 3026B2758E66CF11
MIDI (mid),文件头: 4D546864
NTFS
NTFS是微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。NTFS比FAT文件系统更稳定,更安全,功能也更为强大。
我也是在一道题才知道这个东西,这玩意隐写在图片里面,我解压报错,但是里面的图片解压出来,丢工具箱看看,binwalk没东西,但是发现ntfs这个东西
直接用工具读取ntfsstreamseditor
点进去,自动就读取出来了
ppt文件
使用工具可以破解密码~
本质上也是个zip文件,改后缀试试看~
文本隐写
一般是snow雪花隐写,特征是这样的
使用工具解密
加密
snow.exe -C -m 'flag{6666}' -p "123" test.txt tt.txt
解密
snow.exe -C -p 123 tt.txt
如果没有设置密码
snow.exe -C tt.txt
word文件
三板斧套路
- word一般都是修改后缀zip,然后解压查看
- word字体颜色可能修改成透明,ctrl+a全选,修改字体颜色黑色就能看到
- Doc 文件的本质是一个压缩文件,常见的隐藏文本的方式有两种,即:将字体隐藏或者设置
同色字体,点击左上角 文件-选项, 打开 Word 选项对话框, 在“显示”中勾选隐藏
文字选项 - 上面是三板斧操作,还可以结合其他的比如binwalk之类
excel
三板斧
和word相差无几
内容隐藏
点开一看,没有flag
然后丢101也没发现啥,只能走三板斧套路,修改成zip解压出来。一般来说,excel的内容都保存在
\xl\worksheets
这个目录下,点进去看看、
可以看到被加密的内容在这里,内容是1,那么把这个1在excel显示出
选择“条件格式”-“突出单元格规则”-“文本包含”-输入1
有点像二维码
还可以这么来,ctrl+a全选,右键
设置单元格格式-数字-常规
也能出来
然后把1替换成黑色方块
Ctrl+h-替换-格式-填充-选黑色-确定
调整一下列宽,发现CQR扫描不出来??!!!
研究了一下二维码,发现这个二维码的三个角好像不是完整的方块。
查阅资料才知道:是汉信码,又称中国的二维码,特点就是这个四个角,且左下角方向是反的。
用这个在线解密
http://www.efittech.com/hxdec.aspx
宏加密读取
但是我遇到过一个excel宏的题目。首先了解一个工具
oletools-python工具,用于分析MS OLE2文件(结构化存储,复合文件二进制格式)和MS Office文档,以进行恶意软件分析,取证和调试。
直接安装
pip install -U oletools
使用方法如下:
python oleid.py xxxx.excel
如下是一些文件的功能
oleid:分析OLE文件以检测通常在恶意文件中发现的特定特征。
olevba:从MS Office文档(OLE和OpenXML)中提取和分析VBA Macro源代码。
MacroRaptor:检测恶意的VBA宏
msodde:检测并从MS Office文档,RTF和CSV中提取DDE / DDEAUTO链接
pyxswf:检测,提取和分析可能嵌入在MS Office文档(例如Word,Excel)和RTF等文件中的Flash对象(SWF),这对于恶意软件分析特别有用。
oleobj:从OLE文件中提取嵌入式对象。
rtfobj:从RTF文件中提取嵌入式对象。
olebrowse:一个简单的GUI,可浏览OLE文件(例如MS Word,Excel,Powerpoint文档),以查看和提取单个数据流。
olemeta:从OLE文件中提取所有标准属性(元数据)。
oletimes:提取所有流和存储的创建和修改时间戳。
oledir:显示OLE文件的所有目录条目,包括空闲和孤立的条目。
olemap:显示OLE文件中所有扇区的映射。
直接使用命令就能读取到宏
另一种方法也能读取宏
- 修改excel文件的后缀为【.zip】,改为压缩包
- 打开压缩包后,进入【xl】文件夹,将文件【vbaProject.bin】拷贝出来。
- 使用 Hex Editor Neo二进制编辑器打开文件【vbaProject.bin】,搜索【DPB】,将【DPB】改为【DPX】保存。
- 将修改后的文件【vbaProject.bin】 放回到压缩包中,替换掉原来的文件。
- 将文件后缀【.zip】改回到原来的【.xlsm】
- 打开excel文件,进入VBA,查看代码,点击【工具】–>【VBA Project属性】
- 点击保护,重新设置密码
- 保存EXCEL文件,关闭后重新打开,输入设置的密码,已经可以查看源码了
pdf文件
内容隐藏
打开长得这样
但是发现可以编辑图片,让图片移动或者删除图片
wbStego4open加密
利用 PDF 文件头添加额外信息,这个区域的信息会被 Adobe Acrobat Reader 阅读器忽
略。
工具: wbStego4open
wbStego4open是一个隐写开源工具,它支持Windows和Linux平台,可以使用wbStego4open把文件隐藏到BMP、TXT、HTM和PDF文件中,而且不会被看出破绽。
所以这四种文件,如果给了密码,可以试一试这个破解
wbStego4open 会把插入数据中的每一个 ASCII 码转换为二进制形式,然后把每一个二进
制数字再替换为十六进制的 20 或者 09, 20 代表 0, 09 代表 1。
最后,这些转换后的十六进制数据被嵌入到 PDF 文件中。查看用 wbStego4open 修改后的
文件内容,会发现文件中已混入了很多由 20 和 09 组成的 8 位字节
桌面有这个软件,直接打开运行就行~~
如果pdf有打开密码,可以使用工具爆破!!
文件内容隐藏
如果打开看是一张平平无奇的内容,里面有很多文字。直接ctal+a全选所有文字,复制到文本内容查看
杂七杂八16进制的数据
010可以带入16进制的文本内容,比如一个文件的16进制被导出文本格式,打开这个文本,看到很多很多十六进制代码,就用010左上角导入16进制文本,根据文件头标志,左上角另存为正确的格式保存。
steghide隐写
Steghide是一款开源的隐写术软件,它可以让你在一张图片或者音频文件中隐藏你的秘密信息,而且你不会注意到图片或音频文件发生了任何的改变。
接收方必须以下列方式使用steghide:
steghide extract -sf xxxx.jpg
运用如上命令,然后输入设置方设置的密码就可以得到隐藏文件
也可以直接使用命令
steghide extract -sf xxxxxx.jpg -p 123456
#-sf 参数
#test.jpg 图片名称
#-p 密码参数,后面空格跟密码,无密码可不加参数,回车就好
然后在网上找到了一个python爆破脚本
#python3运行
from subprocess import *
def foo():
stegoFile='1.jpg'#隐写的图片
extractFile='passwd.txt'#爆破的密码
passFile='dic.txt'#字典
errors=['could not extract','steghide --help','Syntax error']
cmdFormat='steghide extract -sf "%s" -xf "%s" -p "%s"'
f=open(passFile,'r')
for line in f.readlines():
cmd=cmdFormat %(stegoFile,extractFile,line.strip())
p=Popen(cmd,shell=True,stdout=PIPE,stderr=STDOUT)
content=str(p.stdout.read(),'gbk')
for err in errors:
if err in content:
break
else:
print (content),
print ('the passphrase is %s' %(line.strip()))
f.close()
return
if __name__ == '__main__':
foo()
print ('ok')
pass
时间戳相关
一个题目发现的,打开发现不少时间戳,注意带when的时间戳才是需要的
1997-09-22T02:17:02+08:00
2055-07-15T12:14:48+08:00
2038-05-05T16:50:45+08:00
1984-08-03 18:41:46+08:00
更新一下格式,(把:换成-)
1997-09-22 02:17:02
2055-07-15 12:14:48
2038-05-05 16:50:45
1984-08-03 18:41:46
把这些时间戳转换成十六进制,实用网站
https://tool.lu/timestamp
得出结果
874865822
2699237688
2156662245
460377706
转换成hex然后添加花括号就是了,就是十进制转16进制
ctfshow{3425649ea0e31938808c0de51b70ce6a}
还能用py脚本直接解析
import time
str1 = "1997:09:22 02:17:02+08:00,2055:07:15 12:14:48+08:00,2038:05:05 16:50:45+08:00,1984:08:03 18:41:46+08:00"
list1 = str1.split(",")
list2 = []
for x in list1:
list2.append(x[:-6])
res=""
timeformat = "%Y:%m:%d %H:%M:%S"
for t in list2:
arr = time.strptime(t,timeformat)
timestamp = time.mktime(arr)
x = hex(int(timestamp))[2:]
res+=x
print("ctfshow"+"{"+res+"}")
# ctfshow{3425649ea0e31938808c0de51b70ce6a}
转换输入,
DAT文件
.dat后缀文件有可能是微信聊天文件,使用专用工具打开就能解密,长点记性~~
用WXDatConvter打开解密
结合密码学思考
有些时候,举个例子出提示,比如出现一串字符大小写,可以考虑只保存大写之类的,或者转换,比如
JooAd:opDXV
转出可以比如二进制,大写0小写1
或者培根密码,大写A小写B或者反过来尝试一下
多个文件合并
既然 CTF 有文件分离的题目,那自然也少不了文件合成的了,但是文件合成还是有技巧的
linux
将 chapter01、 chapter02、 chapter03 三个文件按从左到右顺序合并,输出到 book 文件中。
所使用的命令: cat chapter01 chapter02 chapter03 > book
将所有以 chapter 开头的文件按文件名从小到大的顺序合并,输出到 book 文件中。
所使用的命令: cat chapter* > book
win
将 chapter01、 chapter02、 chapter03 三个文件按从左到右顺序合并,输出到 book 文件中。
所使用的命令: copy /B chapter01+chapter02+chapter03 book
将所有以 chapter 开头的文件按文件名从小到大的顺序合并,输出到 book1 文件中。
所使用的命令: copy /B chapter* book1
游戏问题
直接让你玩游戏,你就体验两下,然后看看有没有通关文件save文件,如果新生成了文件,用HXD或者winhex看看里面的数据,是不是保存通关卡多少关,修改成最后一关,保存然后看看游戏有没有通过。
jar文件的杂项
如果过不去,直接丢反编译器,我保存在这里
C:\Users\langzi\Desktop\Ltools\渊龙Sec安全团队CTF&AWD工具包V4.0\2#CTF工具大全\4.REVERSE逆向\安卓逆向\jd-gui