博文

360ARP防火墙“智能追踪”原理探究

图片
  0x00关于本文 很早就知道360有个ARP防火墙,中学的微机课上还装个攻击程序来让老师电脑上的360报警,现在课上做ARP实验装了个靶机,忽然就想拿下来调戏一番,结果一调戏就发现一些问题了。 0x01360 ARP防火墙的功能 这个ARP防护功能在360的流量防火墙中的局域网防护中 一旦捕获到了攻击还能“智能追踪” MAC地址懒得打码了 0x01360 智能追踪功能实现原理 最开始,我的猜想是,这个追踪功能靠的是ARP包里面所声称的地址来实现的,因为欺骗者总是想要自己声称自己的MAC地址对应网关的地址,以此来欺骗受害者。 但是测了一下发现并不是这样。 用scapy命令send(ARP(op=1,hwsrc='11:45:14:19:19:81',hwdst='00:0C:29:AC:46:B5',psrc='192.168.1.1',pdst='192.168.1.235')) 构造一个非攻击者的地址发过去,但还是被360找到了真实的地址 这是怎么回事呢?那只能抓包看看了。 一看wireshark就找到问题了,原来以太帧里面就会有这个MAC地址 那么要是把以太帧上的源地址换掉会怎么样呢? 通过scapy可以轻易伪造源地址 sendp(Ether(src='11:45:14:19:38:6F')/ARP(op=1,hwsrc='11:45:14:19:19:81',hwdst='00:0C:29:AC:46:B5',psrc='192.168.1.1',pdst='192.168.1.235')) 结果360就只能看到错误的地址了 而360的“追踪”是怎么回事呢,抓包发现360是执行了一次局域网内的ARP扫描,尝试找到攻击者的MAC地址对应的IP地址: 通过这个简单的测试,我们已经知道了360ARP防火墙智能追踪功能的实现原理: 收到异常ARP包的时候,从以太帧中提取攻击者的真实MAC地址,然后执行ARP扫描,找到这个MAC地址对应的IP,从而实现追踪。 0x02 点评 360 ARP防火墙只能根据以太帧中的MAC地址来做“追踪”,因此攻击者可以随时改掉包中的地址来借刀别的机器或者让360追踪不出来,当然这并不是360技...

通达OA11.6 preauth RCE 0day分析

图片
  0x00关于本文 这漏洞我7.4挖出来交给先知,6号审核通过 但是迟迟不发奖金,再留言就又是审核中,一直审核到现在 (怀疑是因为厂商7.5的新版本就不收影响了,阿里觉得亏了?) 护网听说这玩意爆出来了,群里面看知道创宇都有漏洞详情了,感觉吧这个烂在我手上显得没价值,倒不如在EXP流传的到处都是之前,放出来找找乐子 exp放在了 https://github.com/TomAPU/poc_and_exp/blob/master/rce.py 需要者自取( 注意,该EXP不是无损EXP,会删除auth.inc.php让OA无法正常工作 ) 这个漏洞结合了任意文件删除漏洞以及文件上传漏洞,需要两个漏洞配合才可以实现preauth rce 复现需要的11.6安装我传到Google上面了:https://drive.google.com/file/d/1L3wG58EQpCufwqoTRP3lFq7IY6PYYqZ-/view?usp=sharing 需要者自取 0x01貌似鸡肋的任意文件删除漏洞 首先漏洞是在/module/appbuilder/assets/print.php里面 一眼看过去,就是把get里面的guid传过去然后删除掉 但是任意文件删除漏洞除了搞破坏有什么卵用呢,反正一眼看过去是没什么卵用的 0x02化腐朽为神奇的身份绕过 尽管删文件看似只能做破坏,但在某些时候也能绕过一些认证!这是怎么做到的呢? 我们来看看通达OA里常用来做身份校验的代码 这里呢,简单来讲就是把auth.inc.php给包含进来,如果没有对应session的话,auth.inc.php就会作为“拦路虎”,让用户去登陆,但是删掉会怎么样? 这里就要看php里面include和require的区别了 这两个东西看起来很相似,都是包含嘛,但是稍稍学过洋文的都知道,include的意思指的是包含,而require却有要求的意思,在这里就可以看出点区别了。 如果要包含的文件找不着,include就索性跳过去了,而require是要求,感觉更加强烈一些,找不着文件就撒泼打滚fatal error停止不前了。 而恰巧通达OA里面用的都是include,于是如果发现auth.inc.php失踪了,就会直接跳过去! 因此我们只需要利用前面的漏洞,删掉auth.inc.php,即可跳过通达OA里...