目录

文件类型识别

File命令

winhex

文件头残缺/错误

文件分离操作

Binwalk工具

foremost

dd

winhex

010Editor

文件内容隐写

Winhex/010Editor

Notepad++

图片隐写方法

Firework

Exif

Stegsolve

LSB(最低有效位 Least Significant Bit)

zsteg工具

wbstego4工具

python脚本来处理

图片文件隐写

TweakPNG

Bftools

SilentEye

JPG图像加密

Stegdetect工具探测加密方式

二维码处理


今天学习到了关于CTF比赛中的杂项(MISC)的一些解题的思路。现在做以下的整理

文件类型识别

File命令

当文件没有后缀名或者有后缀名而无法正常打开的时候,根据识别出的文件类型来修改后缀名即可正常打开文件

使用场景:不知道后缀名,无法打开文件

winhex

通过winhex程序中可以查看文件头类型,根据文件头类型判断出文件类型。

使用场景:windows下通过文件头信息来判断文件类型。

常见的文件头信息如下图所示:

文件头残缺/错误

通常文件无法正常打开有两种情况,一种是文件头部残缺,一种是文件头部字段错误i。针对文件头部残缺的情况,使用winhex程序添加相应的文件头,针对文件字段错误,可以找一个相同类型的文件进行替换。

使用场景:文件头部残缺或者文件头部字段错误无法打开正常文件。

格式:file 文件名

文件分离操作

Binwalk工具

Binwalk是Linux下用来分析和分离文件的工具,可以快速分分辨文件是否有多个文件合并而成,并将文件进行分离,如果分离成功会在目标文件的目录。同目录下生成一个形如_extracted的文件目录,目录中有分离后的文件。

用法:

分析文件:binwalk filename
分离文件:binwalk -e filename

foremost

如果binwalk无法正确的分离出文件,可以使用foremost,将目标文件复制到kali中,成功执行后,会在目标文件的文件目录下生成我们设置的目录,目录中会按文件类型分离出文件。

用法:foremost 文件名 -o 输出目录名

如果不加上-o,那么默认会生成一个output文件在目标文件的目录下。

dd

当文件自动分离出错或者因为其他的原因无法自动分离的时候,可以使用dd实现文件手动分离。

格式:
dd if=源文件 of=目标文件名 bs=1 skip=开始分离的字节数
参数说明:
if=file   #输入文件名,缺省为标准输入
of=file   #输出文件名,缺省为标准输出
bs=bytes  #同时设置读写块的大小为bytes,可代替ibs和obs
skip=blocks     #从输出文件开头跳过blocks个块后再开始复制

winhex

除了使用dd外,还可以使用winhex实现文件手动分离,将目标文件拖入winhex中,找到要分离的部分,点击复制即可。

使用场景:windows下利用winhex程序对文件进行手动分离。

010Editor

将某个区域文件保存的方式如下:

文件内容隐写

文件内容隐写就是直接将KEY、flag以十六进制的形式写在文件中,通常在文件的开头或者结尾部分,分析时通常观察文件开头和结尾部分。如果在文件中间部分,通常直接搜索关键字KEY、或者FLAG来查找隐藏内容。

使用场景:windows下,搜索隐写的文件内容

Winhex/010Editor

通常将要识别的文件拖入winhex中,查找具有关键字或明显与文件内容不和谐的部分,通常有限观察文件首部和尾部,搜索key或者flag等关键字,最后拖动滚轮寻找。

Notepad++

使用Notepad++打开文件,查看文件头尾是否有含有关键字的字符串,搜索key或者flag等关键字,最后拖动滚轮寻找。另外通过安装插件HEX-Editor可以实现winhex的功能。

图片隐写方法

Firework

使用winhex打开文件时会看到文件头部包含firework的标识,通过firework可以找到隐藏图片。

使用场景:查看隐写的图片文件

Exif

Exif按照JPEG的规格在JPEG中插入一些图像/数字相机的信息数据以及缩略图像,可以通过与JPEG兼容的互联网浏览器/图片浏览器/图像处理等一些软件来查看Exif格式的图像文件、就跟浏览器JPEG图像文件一样。

图片右击属性,查看Exif或者查看详细信息,在相关选项卡中查找flag信息。

Stegsolve

当两张jpg图片外观、大小、像素都基本相同时,可以考虑进行结合分析,即将两个文件的像素RGB值进行XOR、ADD、SUB等操作,看能否得到有用的信息,StegSolve可以方便的进行这些操作。

使用场景:两张图片信息基本相同

LSB(最低有效位 Least Significant Bit)

LSB替换隐写基本思想是用嵌入的秘密信息取代载体图像的最低比特位,原来的7个高位平面与替代秘密信息的最低位平面组合成隐藏信息的新图形。

1. 像素三原色(RGB)

2. 通过修改像素中最低位的1bit来达到隐藏的效果

3. 工具:stegsolve、zsteg、wbstego4、python脚本

zsteg工具

安装:gem install zsteg

检测LSB隐写:zsteg xxx.png

wbstego4工具

解密通过lsb加密的图片

python脚本来处理

可以将脚本放在kali中运行,将目标文件放在脚本同目录下,将脚本中的文件名修改为文件名,运行python即可。

图片文件隐写

TweakPNG

TweakPNG是一款简单易用的PNG图像浏览工具,它允许查看和修改一些PNG图像文件的元信息存储。

使用场景:文件头正常却无法打开文件,利用TweakPNG来修改CRC

例如:当PNG文件头无法打开文件,可能是CRC校验出错,可以尝试通过TweakPNG打开PNG,会弹出校验错误的提示,例如显示CRC是fe1a5ab6,正确的是b0a7a9f1。然后我们就可以打开winhex搜索fe1a5ab6,将其改为b0a7a9f1。

有的时候CRC没有错误,但是图片的高度或者宽度发生了错误,需要通过CRC计算出正确的高度或者宽度。

Bftools

Bftools用于解密图片的信息。

使用场景:在windows下的cmd下,对加密过的图片文件进行解密

格式
Bftools.exe decode braincopter 要解密的图片名称 -output 输出文件名
Bftools.exe run 上一步输出的文件

SilentEye

SilentEye是一款可以将文字或者文件隐藏到图片的解密工具。

使用场景:windows下打开SilentEye工具,对加密的图片进行解密。如果需要密码,勾选encrypted data,输入密码和确认密码,点击decode再解密。

JPG图像加密

Stegdetect工具探测加密方式

Stegdetect程序主要用于分析JPEG文件,因此用Stegdetect可以检测到通过JSteg、JPHide、OutGuess、Invisible Secrets、F5、oppendX和Camouflage等这些隐写工具来隐藏信息。

stegdetect xxxx.jpg
stegdetect -s 敏感度 xx.jpg

JPHide是基于最低有效位的LSB的JPEG格式图像隐写算法。

OutGuess一般是用于解密文件信息。

使用场景:Stegdetect识别出来或者题目提示是outguess加密的图片

工具需要编译使用:./configure && make && make install

outguess -r 要解密的文件名 输出结果文件名

F5一般用于解密文件信息

使用场景:Stegdetect识别出来是F5加密的图片或者图片提示是F5加密的图片。

格式:Java Extract 要解密的文件名 -p 密码

二维码处理

使用二维码扫描工具CQR.exe打开图片,找到内容字段,如果二维码的某个定位角被覆盖了,该工具有时候可以自动识别,如果识别失败,需要使用ps或者画图工具将另外几个角的定位符移动到相应的位置,补全二维码。

网安学习Day15-MISC(上)相关推荐

  1. 入门网安学习之路第一天

    2022年9月17日学习成果  (补昨天的) 了解学习了这个行业的法律法规,以及这个行业的发展  做一个遵纪守法的好网民就可以了 网络安全三要素(CIA) 保密性 完整性 可用性 网安入门术语 黑客 ...

  2. 网安学习路线!史上最详细没有之一

    我经常会看到这一类的问题: 学习XXX知识没效果: 学习XXX技能没方向: 学习XXX没办法入门: 给大家一个忠告,如果你完全没有基础的话,前期最好不要盲目去找资料学习,因为大部分人把资料收集好之后, ...

  3. 网安学习笔记-1 文件上传

    文件上传漏洞初步认识 什么是文件上传漏洞 指程序对文件的上传未作全面的限制,导致用户可以上传一些超越用户权限的一些文件,可以是木马,shell脚本,病毒等 文件上传漏洞的危害 可以通过文件上传漏洞上传 ...

  4. 信安学习-day15

    SNMP原理与配置 一.前言 随着网络技术的飞速发展,企业中网络设备的数量成几何级数增长,网络设备的种类也越来越多,这使得企业网络的管理变得十分复杂. 简单网络管理协议SNMP( Simple Net ...

  5. 【网安基础3】从0开始的网安学习3--计算机网络

    1 计算机网络的基本概念 计算机网络的定义 计算机网络是利用通信设备和通信线路将地理位置不同,功能独立的多个计算机系统互相连接起来,以功能完善的网络软件(包括网络通信协议.网络操作系统等)实现网络中资 ...

  6. 网安学习-内网渗透3

    目录 #知识点1: #知识点2: #案例1-Prodump+Mimikatz配合获取 #案例2-域横向移动SMB服务利用-psexec,smbexec(官方自带) #psexec第一种:现有ipc链接 ...

  7. 《网安学习之道》第一季计算机基础18_生成树协议STP

    第十八章.生成树协议STP的工作原理和配置 一.目的 1.理解生成树的原理 理解STP的选举过程 问题1.为什么是交换机0的f0/1的端口堵塞? 2.配置PVSTP+ 二.STP概念 生成树协议是在数 ...

  8. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二

    再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...

  9. 网安学习(二十五)HTTP协议、HTTS、邮件协议

    一.HTTP协议 1.概念 HTTP(超文本传输协议)是用于在万维网服务器上传输超文本(HTML)到本地浏览器的传输协议 基于TCP/IP(HTML文件.图片.查询结构等) 2.万维网服务 采用C/S ...

最新文章

  1. 接口报错mixed content blocked
  2. CSP2020 赛前总结
  3. 前端学习(1954)vue之电商管理系统电商系统之重置表单数据
  4. 怎么用计算机打分数,电脑excel中分数怎么打出来(图解excel分数输入法)
  5. c++ tinyxml2 解析xml小坑
  6. 4天搞定Docker和k8s核心架构,稳拿35k不是问题?
  7. IE8不能上传、插入图片的解决办法!
  8. 谷歌浏览器插件安装方法 谷歌浏览器导入插件的步骤
  9. nrf24l01无线模块c语言程序,NRF24L01 无线通信模块使用
  10. 使用vcpkg安装cgal前安装yasm报错
  11. Linux搭建测试环境
  12. C++定义一个描述员工(Employee)基本情况的类
  13. android开发板单片机蓝牙通信
  14. 1、需求/方案串讲与反串讲
  15. ARM LINUX 扩展串口
  16. 二次型相似对角化的原因
  17. 水杯测试用例(500ml的塑料水杯)
  18. LA 3406 Bingo *
  19. 常用dns114.114.114.114与8.8.8.8的区别
  20. PS如何制作奥运五环

热门文章

  1. 【制作多媒体演示文稿软件】Focusky教程 | 教你如何给演示文稿加密
  2. 《Synchronous Double-channel Recurrent Network for Aspect-Opinion Pair Extraction》阅读笔记
  3. 四线散热风扇接入涂鸦Cloud
  4. 计算机内部的传输是,在计算机内部对汉字进行存储、处理和传输的汉字编码是 ()...
  5. 智能仓库数字孪生好不好?工业系统厂家强荐广州华锐互动
  6. 文件服务器 选型,普通文件存储服务器选型原则
  7. 《阿里工程师的修养》:探究他们修的是什么
  8. ThinkPHP5.1.x SQL注入(orderby注入)
  9. Shader编程(一):水波浪
  10. 如何制作公众号二维码