流量分析之排查攻击者上传文件痕迹

admin 2022年4月3日15:02:03评论149 views字数 1148阅读3分49秒阅读模式



网安引领时代,弥天点亮未来   






 

流量分析之排查攻击者上传文件痕迹

0x00具体操作


1.场景分析:

(1).在HVV期间,经常会碰到攻击者尝试绕过网站的上传过滤规则.

(2).通过排查违规文件格式来查找攻击者企图上传文件的痕迹.


2.常规情况下,渗透人员碰到网站上传有过滤,会尝试修改数据包内content-type或者后缀去尝试绕过,jpg,png,gif这些文件占大多数.


3.用png文件举例,如果png文件格式正确的情况下,wireshark是可以对文件结构正常解析出来的.

流量分析之排查攻击者上传文件痕迹


4.但是如果碰到违规的png文件格式.会导致png文件格式无法进行正确的解析.

流量分析之排查攻击者上传文件痕迹


5.所以通过下面的语句,定位到png文件格式有问题的数据包.

(((mime_multipart)) && (mime_multipart.header.content-type == "image/png")) && (media)


流量分析之排查攻击者上传文件痕迹


6.然后提取字段media.type的数值就是上传的文件内容,一般为十六进制.使用python的magic库对文件头重新解析,可以发现这个png文件内容解析出来的并不是image/png,而是text/plain,说明什么?这个png数据包在上传过程被篡改过.

流量分析之排查攻击者上传文件痕迹

流量分析之排查攻击者上传文件痕迹


7.同理也可以检测出来png文件被篡改为php脚本.脚本发现这个png文件内容解析出来是一个text/x-php格式的文件.

流量分析之排查攻击者上传文件痕迹


8.数据包内容如下.

流量分析之排查攻击者上传文件痕迹


9.脚本的大概逻辑是,把16进制文件内容两两分组,然后转换到二进制(字节流),重新写入文件,写入成功之后,通过调用magic库对这个文件进行重新解析,然后再去判断是否符合预期的文件类型.

流量分析之排查攻击者上传文件痕迹


10.获取的十六进制字符串不能直接写入文件,因为这样只是单单的字符串而已,并不是一个文件,所以需要先转换到二进制(字节流)写入.

 

11.脚本是一个半成品,只能单个检测,如果需要可以自行改成批量检测.(因为本来就是一个简单的demo)

 

12.Q-A问答:

(1)Q:误报率高不高?  A:在网络传输不稳定的情况下,导致文件传输不完整,可能会导致误报,除了这个之外很少有人会在上传过程中改变原有的文件类型.

 

(2)Q:能否绕过检测? A:在攻击者不知道ids有上传文件格式检测的情况下,是无法绕过的.(在没有新闻公开的情况下,你会知道公司部署了某X服的离职倾向检测产品?一个道理).



【推荐阅读】

玩转Wireshark

Wireshark流量分析

Wireshark抓包和分析

从Wireshark到数据分析

流量分析之还原邮件信息

移动端过检测抓包最全解决方案

burpsuite在各场景下的抓包方法(建议收藏)


App安全检测实践基础

JavaScript逆向基础之去除反调试代码

JavaScript逆向基础之手工还原混淆代码


流量分析之排查攻击者上传文件痕迹

原文始发于微信公众号(哆啦安全):流量分析之排查攻击者上传文件痕迹

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月3日15:02:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   流量分析之排查攻击者上传文件痕迹https://cn-sec.com/archives/865967.html

发表评论

匿名网友 填写信息