您当前的位置: 首页 > 

合天网安实验室

暂无认证

  • 0浏览

    0关注

    748博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

基于AWD比赛的蠕虫webshell

合天网安实验室 发布时间:2019-10-16 10:30:38 ,浏览量:0

0x00 蠕虫webshell

不死马大家可能听得比较多,但蠕虫webshell大家可能还没有听过,因为是我为了awd比赛量身定制的一个webshell。蠕虫webshell之所以叫蠕虫webshell,是因为它可以把本地的php会写shell插入到其他php原文件,还增加了相互复活机制,后期增加与其他已感染的主机中的webshell互相复活。

先给大家看看这个蠕虫webshell已经实现的功能:

  1. 递归扫描所有web目录及文件,全部扫到的php写入webshell

  2. 网站全部php可作为webshell连接执行命令

  3. 不带参数请求又可以正常访问原页面,不影响访问

  4. 所有web路径目录写入单独一个特定webshell

  5. 判断是否写过不再重复写入

  6. 所有php页面都可以互相复活蠕虫webshell

  7. 蠕虫webshell返回所有php文件url地址

  8. 蠕虫webshell发送返回数据传输加密

  9. 数字签名校验执行、5秒后不可重放 后续添加

  10. 页面功能性可控(可以使全部php原有功能失效,只剩下webshell功能)

  11. 前端互相复活以及反渗透

  12. 适配meterpreter连接

  13. 加密混淆

简单来说最实际的功能还是,我带一个参数访问我的webshell,全站的php文件都被我感染,都可以当webshell连,都可以执行命令,只要带一个参数访问都可以互相复活。

0x01 实际操作

随着比赛规则越来越完善,不能提权root,php可能禁用越来越多的功能函数来保持比赛公平性,所以比赛时要先看看phpinfo有没有禁用我这个webshell其中的函数。当然比如说是扫描目录,比赛主办方可能禁用了scandir这个函数,所以我在马相关功能中只用了is_dir()这个函数。

实际用例是这样的:假设shell.php已经上传到目录,上传目录为upload,ip为192.168.1.1

  1. 访问 http://192.168.1.1/upload/shell.php 正常不带参数访问是返回状态码500,页面会正常访问

  2. 带参数下划线访问,会自动感染全站php文件,所有php可以当shell连接eg: http://192.168.1.1/upload/shell.php?_

  3. 如上带下划线参数访问后,右键查看页面源代码可以看到所有被感染的php地址。可以使用python把所有url爬下来,爬取规则:checks_arr = html.find_all(attrs={'id': 'php_url'})

0x02 代码

大致功能看完了,贴上源码详细注释来说一下。(后期我做了混淆和免杀

            
关注
打赏
1665306545
查看更多评论
0.0413s