网络安全进阶学习第二十课——CTF之文件操作与隐写

这篇具有很好参考价值的文章主要介绍了网络安全进阶学习第二十课——CTF之文件操作与隐写。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、文件类型识别

1、File命令

------ 当文件没有文件扩展名,或者具有文件扩展名但无法正常打开时,可以根据识别到的文件类型进行修改文件扩展名,从而使文件能够正常打开。

使用场景:不知道后缀名,无法打开文件。
格式: file myheart
ctf文件隐写,web安全,web安全
这里就识别到是一个PCAP的流量包

2、Winhex

------ 通过WinHex程序可以查看文件的文件头类型,并根据文件头类型来判断文件的类型。

使用场景:windows下通过文件头信息判断文件类型。
ctf文件隐写,web安全,web安全

3、文件头残缺/错误

------ 一般情况下,文件无法正常打开通常有两种原因:文件头部残缺和文件头部字段错误。

------ 对于文件头部残缺的情况,可以使用 WinHex 程序来添加相应的文件头信息。而对于头部字段错误的情况,可以尝试找到一个同类型的文件,将其作为替换文件来恢复文件的正常打开。

使用场景:文件头部残缺或文件头部字段错误无法打开正常文件
格式:file 文件名
ctf文件隐写,web安全,web安全


二、文件分离操作

------ 如果不确定文件是否多个文件组合,可以使用WinHex之类的工具查看,查看里面是否有PK等关键字样,以及其他疑似的文件名。如下图:
ctf文件隐写,web安全,web安全

1、Binwalk工具

------ Binwalk是一个在Linux下用于分析和分离文件的工具,它能够快速判断文件是否由多个文件合并而成,并将其进行分离。如果分离成功,会在目标文件所在的目录下生成一个名为"文件名_extracted"的文件夹,里面存放着分离后的文件。

------ Binwalk有个特点就是分离出压缩包会自动给我们解压,加入压缩包有密码就会解压出一个空文档。

  • 普通用户登录命令:
    分析文件:binwalk filename
    分离文件:binwalk -e filename
    ctf文件隐写,web安全,web安全

  • Root权限用户登录使用命令:
    分析文件:binwalk filename --run-as=root
    分离文件:binwalk -e filename --run-as=root
    因为在Linux系统中,直接使用root权限用户登录会认为是很危险的行为。

2、Foremost

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

  • 用法:
    foremost 文件名 –o 输出目录名
    ctf文件隐写,web安全,web安全

3、dd

------ 当无法使用自动工具正确分离文件时,可以借助 dd 命令手动实现文件分离。
------ Binwalk和Foremost分离只能分离按照顺序块来隐藏的文件,无法分离文件块打乱的文件。

  • 举例:
    ------ 一个文件里面藏有两个文件,分别是文件1和文件2,每个分件都被分为2块,分别是文件1a和文件1b、文件2a和文件2b。
    ------ 假如文件块的排放顺序是:文件1a、文件1b、文件2a、文件2b,这种使用Binwalk和Foremost是可以分离的。但假设排放顺序是:文件1a、文件2a、文件1b、文件2b,这种打乱的状态下的,Binwalk和Foremost是无法分离的,这时候就可以使用dd来分离。

  • 格式:
    dd if=源文件 of=目标文件名 bs=每块多少字节 count=多少块 skip=跳过缩少块

    • 参数说明:
      if=file #输入文件名,缺省为标准输入。
      of=file #输出文件名,缺省为标准输出
      bs=bytes #同时设置每块读取的大小,可代替ibs和obs。
      count #总共要读取块数目
      skip=blocks #从输入文件开头跳过多少个块后再开始复制。
  • 用法展示:
    这里我新建一个文件为123,内容如下:
    ctf文件隐写,web安全,web安全
    输入命令:dd if=123 of=aa bs=5 count=1
    ctf文件隐写,web安全,web安全
    这时当前目录下就多了一个aa文件,打开文件查看
    ctf文件隐写,web安全,web安全

4、Winhex

------ 除了使用 dd 命令之外,还可以通过使用 WinHex 工具来手动分离文件。只需将目标文件拖放到 WinHex 中,然后定位到需要分离的部分,最后点击复制即可完成操作。

使用场景:windows下利用winhex程序对文件进行手动分离。
------ 分离方法就是把需要的部分选中然后复制下来,再新建另一个文件,把复制下来的部分粘贴过去。
ctf文件隐写,web安全,web安全


三、文件合并操作

1、Linux下的文件合并

使用场景: linux下,通常对文件名相似的文件要进行批量合并
格式:cat 合并的文件>输出的文件
ctf文件隐写,web安全,web安全

------ 完整性检测:linux下计算文件md5:
md5sum 文件名
ctf文件隐写,web安全,web安全

2、Windowsa下的文件合并

使用场景: windows下,通常要对文件名相似的文件进行批量合并
格式:copy /B 合并的文件 输出的文件命令
ctf文件隐写,web安全,web安全
------ 完整性检测: Windows下计算文件md5:
certutil -hashfile 文件名 md5
ctf文件隐写,web安全,web安全


四、文件内容隐写

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

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

Winhex

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


五、图片文件隐写

1、图片混合

------ 图片混合也就是把两张图片重叠在一起,由于颜色的重叠或者其他一些因素,我们只能看到其中的一张图片,达到了这种效果就相当于隐藏了另一张图片。

推荐的工具: Stegsolve.jar(可调节图片颜色像素)
原来的图片:
ctf文件隐写,web安全,web安全

调节后的图片:
ctf文件隐写,web安全,web安全

2、LSB(最低有效位 Least Significant Bit)

------ 通过修改图片灰度、闽值、曝光度、颜色曲线等方式找到人眼识别不到的信息。

推荐的工具: Stegsolve.jar

隐写步骤

  1. 假设我要在一张图片里面隐藏一个字符f,首先把f转换成ASCII码,再转换为二进制
    f:102 对应二进制:01100110

  2. 在图片中选取8位连续的16进制,再把这8位转换位二进制
    ctf文件隐写,web安全,web安全

  3. 把转换后的二进制数的最后一位按照上面f的二进制值:01100110来进行一一替换,最后就把替换后的二进制值转换位16进制,用来替换原图片中选出来的8位16进制。
    ctf文件隐写,web安全,web安全

工具查找隐藏信息方法

使用的图片是:
ctf文件隐写,web安全,web安全

  1. 用 Stegsolve.jar 打开图片,发现 red0,green0,blue0 这三个通道的图片上方有异样:
    ctf文件隐写,web安全,web安全

  2. 打开文件>>Analyse>>Data Extract
    ctf文件隐写,web安全,web安全

  3. 将Red、Green、Blue三个位置的 0 通道勾选并导出保存为 png 格式的文件:
    ctf文件隐写,web安全,web安全

  4. 获得 flag.png 图片,发现是个二维码
    ctf文件隐写,web安全,web安全

3、隐写进图片属性中(查看图片属性)

ctf文件隐写,web安全,web安全

4、隐写图片大小(图片大小修改)

------ 一般图片都是正常大小可进行查看,但是也会遇到图片损坏或者其他事件。然而图片大小如果存在问题,我们一样是可以对图片进行一个访问的,但是我们只能看到图片的一部分,使用这种方式对图片的其他部分进行一个隐藏。

  • 例:下图就是对图片大小进行了修改 导致我们不能看完整的图片信息
    ctf文件隐写,web安全,web安全
  1. 使用WinHex修改图片大小
    ------ 这时候可以使用WinHex来修改图片大小,一般第18、19位是宽,第22、23位是高
    ctf文件隐写,web安全,web安全

  2. 在图片属性查看大小,再转换位16进制
    ------ 假如不知道是哪几位是图片大小,可以直接再图片属性中查看大小,再把数值转换位16进制,最后再在WinHex中查找。
    ctf文件隐写,web安全,web安全
    ctf文件隐写,web安全,web安全

  3. WinHex修改图片属性后就能正常查看
    ctf文件隐写,web安全,web安全

5、GIF动图信息隐藏

使用工具:Stegsolve.jar
使用工具Stegsolve.jar逐帧逐帧地去看,具体操作步骤:


六、压缩文件分析

1、伪加密

------ 如果压缩文件是加密的,或文件头正常但解压缩错误,首先尝试文件是否为伪加密。zip文件是否加密是通过标识符来显示的,在每个文件的文件目录字段有一位专门标识了文件是否加密,将其设置为00表示该文件未加密,如果成功解压则表示文件为伪加密,如果解压出错说明文件为真加密。
使用场景:伪加密文件

  • 操作方法:
  1. 使用winhex打开文件搜索16进制50 4B 01 02,可以看到每个加密文件的文件头字段。
    ctf文件隐写,web安全,web安全

  2. 从50开始计算,第九、第十个字符为加密字段,将其设置为0000即可变成无加密状态。
    ctf文件隐写,web安全,web安全

2、暴力破解

------ 通常我们可以使用ARCHPR.exe工具来破解rar文件
使用场景:windows下加密过的rar文件

  1. 攻击类型选择暴力破解,在范围位置根据提示选择暴力破解范围选项设置暴力破解包含的类型开始于和结束于选项具体范围,如果没有定义则全范围暴力破解。点击打开选择要破解的文件,点击开始进行破解。建议使用1~9位的数字密码,以及系统自带的英文字典作为密码字典。

  2. 攻击类型选择掩码可以进行复杂的暴力破解,比如知道密码前3位是abc,后3位为数字,则在攻击类型选择掩码,在掩码处输入acb???,暴力范围选项选择所有数字,打开要破解的点击,点击破解。此时???的部分会被我们选择的暴力破解范围中的字符代替。
    ctf文件隐写,web安全,web安全


七、流量包文件分析

Wireshark 过滤器

------ 利用wireshark本身的强大的报文过滤器,帮助我们筛选出想要的报文。

  • 常用的过滤命令:
1)过滤IP,如源IP或者目标 x.x.x.x
ip.src eq x.x.x.x or ip.dst eg x.x.x.x  或者  ip.addr eq x.x.x.x

2)过滤端口
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80  只显tcp协议的目标端口为80
tcp.srcport == 80  只显tcp协议的源端口为80
tcp.port >= 1 and tcp.port <= 80

3)过滤协议
tcp/udp/arp/icmp/http/ftp/dns/ip.....

4)过滤MAC
eth.dst  ==  A0:00:00:04:c5:84  过滤目标mac

5)包长度过滤
udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119 整个数据包长度,从eth开始到最后

6)http模式过滤
http.request .method ==GET”
http.request .method ==POST”
http.request.uri  ==/img/logo-edu.gif”
http contains “GET”
http contains “HTTP/1.”
http.request.method ==GET&& http contain “User-Agent:”
http contains “flag”
http contains “key”
tcp contains “flag”

------ 比赛中,可以在流量包中寻找flag
------ 除了下图外,也可以直接在追踪流中直接查找
ctf文件隐写,web安全,web安全文章来源地址https://www.toymoban.com/news/detail-733187.html


到了这里,关于网络安全进阶学习第二十课——CTF之文件操作与隐写的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全入门学习第十课——DNS欺骗

    域名系统(英文:Domain Name System,缩写:DNS) 是互联网的一项服务。 作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。 我们本地的计算机在接入网络的时候,都会自动分配一个DNS服务器的IP地址,这个DNS服务器叫做本地

    2024年02月06日
    浏览(19)
  • 网络安全进阶学习第八课——信息收集

    信息收集(Information Gathering)信息收集是指通过各种方式获取所需要的信息。渗透的本质是信息搜集,而信息搜集整理为后续的情报跟进提供了强大的保证。 目标资产信息搜集的程度,决定渗透过程的复杂程度。 目标主机信息搜集的深度,决定后渗透权限持续把控。 收集信

    2024年02月13日
    浏览(13)
  • 网络安全进阶学习第五课——文件上传漏洞

    大部分的网站和应用系统都有上传功能,如用户头像上传,图片上传,文档上传等。 由于对上传文件 未作过滤 或 过滤机制不严(文件后缀或类型) ,导致恶意用户可以上传 脚本文件 ,通过上传文件可以达到控制网站权限的目的。 攻击者可获得网站控制权限; 查看、修改

    2024年02月06日
    浏览(10)
  • 网络安全进阶学习第七课——文件包含漏洞

    开发人员通常会把可重复使用的函数写到单个文件中,在 使用某些函数 时, 直接调用此文件 ,而无需再次编写,这种调用文件的过程一般被称为包含。 为了使代码更加灵活,通常会将被包含的文件设置为 变量 ,用来进行动态调用,但正是由于这种灵活性,从而导致客户端

    2024年02月15日
    浏览(18)
  • 网络安全进阶学习第十四课——MSSQL注入

    强类型数据库,会把数字和字符严格区分的。 有四个默认的数据库: 1、master (重点) 保存着SQL Server实例的配置、权限、数据库定义和其他需要的信息。 2、model 模板数据库。每当创建一个新的数据库(包括系统数据库的TempDB),会创建一个以 Model 数据库为副本数据库,并

    2024年02月14日
    浏览(16)
  • 网络安全进阶学习第九课——SQL注入介绍

    将 不受信任 的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS 注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在 没有适当授权 的情况下执行非预期命令或访问数据。 注入能导致 数据丢失、破坏 或 泄露给无授权方 ,缺乏可审

    2024年02月14日
    浏览(16)
  • 网络安全进阶学习第六课——服务器解析漏洞

    解析漏洞主要是一些特殊文件被Apache、IIS、Nginx等Web服务器在某种情况下解释成脚本文件格式并得以执行而产生的漏洞 影响范围:2.4.0~2.4.29版本 此漏洞形成的根本原因,在于 , 正则表达式中 , 正则表达式中 , 正则表达式中 不仅匹配字符串结尾位置,也可以匹配n 或 r ,在解

    2024年02月12日
    浏览(18)
  • 网络安全进阶学习第十五课——Oracle SQL注入

    Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。 Oracle服务默认端口:1521 Oracle和MySQL数据库语法大致相同,结构不太相同。 最大的一

    2024年02月11日
    浏览(11)
  • 网络安全进阶学习第三课——CSRF跨站请求伪造

    会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。 Cookie是一个保存在客户机中的简单的文本文件,当我们使用自己的电脑,通过浏览器进行访问网页的时候,服务器就会生成一个证书然后返回给浏览器并写入我们的本地电脑,这

    2024年02月12日
    浏览(11)
  • 网络安全进阶学习第十一课——MySQL手工注入(2)

    UA是 用户代理(User-Agent) 的缩写,里面含有客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。 一些网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正

    2024年02月14日
    浏览(18)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包