前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你们尽管绕dogByPass,绕不过算我输!

你们尽管绕dogByPass,绕不过算我输!

作者头像
漏斗社区
发布2018-03-28 13:02:22
7960
发布2018-03-28 13:02:22
举报
文章被收录于专栏:漏斗社区

0x00 背景

这周学弟学妹经常提问到如何绕过安全防护软件的检测,那么本篇就以dog为例子带大家走一遍dogByPass的一条龙服务流程,本篇仅提供思路,后续可能由于软件规则的更新而需要重新设置或更改规则,所以先带大家走一遍流程,熟悉后各位便能自行去更改规则了。

dogByPass的一条龙服务: 上传ByPass -> 一句话ByPass -> cknife ByPass

0x01 UploadByPass

在目标站点有上传漏洞并使用dog防护的时候,可以使用如下的方式绕过。

在服务端写好未做任何限制的上传脚本,然后直接上传php文件,发现被dog拦截了。

最基本的方式可以通过对request的报文进行FUZZ,得到绕过防护软件的方式。 举个栗子在filename=后面加上空格,TAB等空字符再跟上文件名,可以绕过dog的上传检测。

又一个栗子在分号的前后加上一定数量的TAB,在测试中是加入了466个TAB字符,可以绕过dog的上传检测。

0x02 OneWordByPass

dog By Pass 的一句话可以参考往篇的文章: https://mp.weixin.qq.com/s/5EYc-foPPvu9B0DKkUKmMw https://mp.weixin.qq.com/s/vzNx1qz6iTnOUurW0hO2MQ

绕过上传后,普通的一句话会被dog查杀,因此需要特殊的一句话,又为了能够使用cknife连接而不是手动连接的方式,因此需要在传输的过程中对内容进行编码或加密,最简单的方式就是使用base64编码,上传后没有被查杀,因为这个一句话是免杀的。

使用手动连接的方式确认一句话可以正常使用,把POST请求中参数的值cmd=system(‘whoami’) 进行base64编码得到cmd=c3lzdGVtKCd3aG9hbWknKQ==,提交后正常执行。

0x03 CknifeByPass

正常情况下Cknife发送的数据是没有进行编码或加密的,因此会造成某些敏感关键字被dog检测到从而被拦截,所以为了能够让Cknife能够发送编码或加密的内容可以在cknife中的Config.ini配置发包规则。

首先查看默认情况下Cknife的发包规则,设置Cknife的代理地址和端口是BurpSuite的地址和端口。

使用BurpSuite拦截Cknife的请求包,然后发送的repeater,可以看到因为cmd参数的值中包含敏感关键字从而被dog拦截。cmd是免杀一句话的密码。

拦截后Cknife无法正常使用,直接报错。

接下来开始对Cknife进行修改,打开Config.ini文件,这里以PHP为例子,找到PHP_MAKE,将PHP_MAKE中的值eval(base64_decode($_POST[action]))进行base64编码,编辑好后保存config.ini。

重新启动Cknife,使用BurpSuite监测请求包,cmd参数的值成功被转成base64编码的数据,由于上一步的免杀一句话会进行base64解码,所以请求可以正常运行。

此时关闭BurpSuite的拦截,cknife可以正常使用,本篇介绍的流程也就到此结束。

0x04 小总结

本篇重在带大家走下dogByPass的一条龙服务流程,提供一些bypass的思路,但bypass的技巧都是要靠不断的学习和积累的,并且由于cknife是开源的所以为很多骚操作提供很好的支撑。cknife还要很多知识本篇没有涉及到后续再进行总结和探讨。期待大家的交流和讨论。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 漏斗社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档