搜索
    Hi~登录注册
    查看: 186|回复: 1
    收起左侧

    网络层及传输层绕WAF的工具&Fake-TTL攻击实践

    [复制链接]

    88

    主题

    0

    精华

    192 小时

    在线时间

    密圈

    积分
    71
    发表于 2022-5-16 11:54:10 | 显示全部楼层 |阅读模式

    绕WAF一直是黑客圈子里经久不衰的话题,尽管姿势很多,但手段大体是两类:一类是和WAF规则硬碰硬,找到规则的缺陷来绕过,比如说各类注释符、冷门语法等等;还有一类是在HTTP协议中玩花样,比如说分块传输,中间件支持的各种编码,HTTP pieline,上传文件的N种花样等等,当然找源站IP绕过CDN也是一种好办法,不过不在最主流的上面两类里,暂且不提也罢。 这些手段都是应用层上做文章,而国内对于网络层和传输层的姿势却罕有研究。对于这些层次的玩法,我是读了网络层绕过IDS/IPS的一些探索(尽管标题写的是网络层,实际上是网络层和传输层)这篇文章才知道的。神奇的是,腾讯这篇文章写于2020年,但里面的内容几乎都在1998年的Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection中被详尽地介绍。 经过我的复现和测试,尽管二十余年过去,但其中的部分手法在对抗真实世界中的一些IDS依然奏效。在真实的一些场景中测试,我发现有些WAF对于TCP分段毫无招架之力,只要分段就能过;还有的对于IDS能处理比较大的IP分片,但是一旦分的小一些就识别不出来了;Fake-TTL类攻击更是能通杀IDS与目标隔了几跳的情况。为了方便大家愉快地玩耍传输层和网络层的改包技巧,我写了个开源工具,链接放在文章底部。 在这儿我简单演示下用这个工具完成通过Fake-TTL绕过某网站WAF的技巧。 首先正常发包访问,可以看到网站响应正常,TTL是45 [email]WX20220516-113142@2x.png[/email]

    接着再加入经典的and 1=1,发包看到被WAF拦截了,WAF返回了一个伪造的结果回来,里并且TTL是111

    [email]WX20220516-115303@2x.png[/email]

    根据不同的操作系统,正常情况下TTL的默认值是64,128,256,而事实上网络传输的过程中,要不了几跳就传到。因此可以推测出来,网站的默认TTL是64,那么我的电脑和网站之间隔了64-45=19 跳,而WAF的默认TTL是128,那么我的电脑和WAF之间就隔了128-111=17跳。 因此如果我加入一些TTL=18的干扰包,这些包在WAF眼里就会被发到目标,但事实上因为在中途TTL被减到0而不会发到目标,不知情的WAF在进行TCP重组的时候会把干扰包重组进去,因此无法识别原有的Payload,最终导致放行。 在工具里面点开small ttl distractor,将TTL设为18并发送,可看到成功bypass。

    [email]WX20220516-115338@2x.png[/email]

    工具已开源在Github上:[https://github.com/TomAPU/ev](https://github.com/TomAPU/ev)

    评分

    参与人数 1网币 +5 收起 理由
    死咣咣 + 5 感谢发布原创作品,极安中国有你更精彩!.

    查看全部评分

    回复

    使用道具 举报

    66

    主题

    1

    精华

    35 小时

    在线时间

    金牌会员

    Rank: 6Rank: 6

    积分
    1113
    发表于 2022-5-16 14:22:45 | 显示全部楼层
    牛逼,大佬。收藏了!
    17张牌今犹在,不见当年泡茶人
    回复 支持 反对

    使用道具 举报

    游客
    回复
    您需要登录后才可以回帖 登录 | 获取账号

    快速回复 返回顶部 返回列表