查看原文
其他

RSA编码器 这个Shell不给你连

Medicean 学蚁致用 2022-07-31

写在前面


    RSA编码器功能已经上线了有一段时间了,老有朋友问我怎么用,今天就趁着假期最后一天,把这个新功能拿出来和大家掰扯掰扯。


  • 思路并非原创,来源于先知社区「从0到1掌握AWD攻防之RSA必杀」(作者: 我怎么这么帅),有兴趣可以查看:  https://xz.aliyun.com/t/4640

  • 这个功能是由新加入AntSwordProject的 virink 师傅加进来的,我只是把这个玩法告诉你




使用步骤


1. 打开 「编码管理」, 看到工具栏里的「RSA配置」了吗,点一下它

2.在弹出的窗口里,点击「生成」按钮,这样就会自动生成好 RSA 公私钥对,最下方的是 PHP RSA Webshell 样例,不用着急复制,先关掉这个窗口。



3. 接下来,新建一个「PHP RSA」类型的编码器



名字随便你取喽



创建完成后,编辑代码,你就能看到这个 PHP RSA 编码器的代码了



这个示例里面,我们能看到是用的 私钥 将 payload 进行了加密,如果有其它的需求,可以在这里修改(文章后面会讲修改的技巧),当然了,你不改也没问题。关掉编码器的代码窗口吧。


4. OK, 现在复制「RSA配置」窗口中的 PHP 代码,还记得吗,就是在第二步的时候生成配置的窗口最下方的那个框



然后把PHP代码放到目标机器上去



5. 在数据管理界面里「添加数据」,值得一提的是,编码器这里,需要选择我们刚刚在第3步创建的编码器



填好这些关键的配置之后,别忘了点一下「测试连接」,提示成功之后,就可以保存啦。




抓包看看


我们打开  BurpSuite, 然后在AntSword代理设置界面设置好代理


记得把 burp 的截包功能关掉,我们只需要看发包的过程,不需要拦下来

然后在蚁剑里面打开文件管理什么的,你就能在  Burp 中看到数据包了,随便找一个发到 Repeater 里面看看效果


RSA类型的 Shell,在其它人没有私钥的情况下,是没办法发送任意的 payload 给 webshell 的。


但是我们发现,当我们把数据包用 burp 截获之后,放到 Repeater 里面,整个数据包是可以重放的。


由于我们的解码器只是简单的用了 base64 或者 rot13 这种只能称的上编码的手段,在CTF AWD 模式下,因为对手的机器上有我们的公钥,但是他拿不到私钥,也就没办法篡改 payload, 只有dump流量然后重放这条路可以走。如果对手把我们的流量Dump下来之后,还是可以凑合着用的。这下可怎么办呐?




这个 Shell 不给你连


限制对手不连接 shell 的方式有很多,比如典型的,在服务端最开始的位置插入 IP 限制什么的,对一个CTF选手来说已经不是什么新鲜事了,我在这里只提一个思路吧。


用时间戳,限制请求包存活时间


回到蚁剑的「编码管理」,编辑 myrsa 编码器,在 payload 前面插入这么简单的一行代码:



这段代码什么意思呢,就是让蚁剑每次发送数据包前,本地先生成一个时间戳,然后目标在接到这个 payload 之后,先跟目标本地的时间戳比对,如果两者相差大于 5秒,罢工,不干活了。


保存编码器, 然后重新抓一下包看看效果


从 HTTP History 里面随便找一个包,拿下面图里的来说,可以看到,返回包的长度是 1572,是返回了数据的,你也可以看一下  Response 验证一下。



记住我在图里标出来的 payload 的开始几个字符和结尾几个字符, 然后我们把这个数据包发送到 Repeater 里面,重放一下看看效果:



由于我们的手速比较慢,超过了5s,等再次重放的时候,服务端已经不理我们了。


在 AWD 模式下,对手就算抓到了你的流量,那么他如果不能在抓到你流量后的 5s 内快速的把这个 payload 发给你的其它 shell,那就没办法蹭你的车拿  flag 了 


「解码器」用RSA加密,没有私钥你解不开


这里就只提一下思路了,因为目前关于解码器这块还不支持用户自定义解码器,只能通过在 core 里面加解码器的方式。


大概就是我们将返回包用公钥加密,然后到蚁剑这里,用RSA配置里面的私钥解密就行了。这样,就算对手用单身20年的手速重放了你的数据包,也解不开返回包的内容,这个车,你就算刷学生卡也不给你坐 




写在后面


    最后感谢先知社区(@我怎么这么帅) 同学的无私分享,整条街最靓的仔就是你了。还有要感谢 VK 师傅把这个功能带到了蚁剑当中。


    五一小长假马上就完了,爬了个山,然后剩下的时间就全在家躺了。明天上班愉快。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存