En

[TPSA20-17]倒计时 丨 洋葱WebShell安全众测即将启动!

公告编号:TPSA20-17公告来源:TSRC发布日期:2020-05-09

分享

黑客在渗透过程中经常使用 WebShell ,可以被用来获取服务器权限,进行命令执行、文件操作等恶意操作,并达到持久化的控制目的。

WebShell对系统安全的威胁不容忽视。腾讯安全平台部洋葱团队自研的WebShell恶意代码检测引擎,将静态检测和动态检测进行结合,可以有效解决WebShell安全风险 。

为帮助我们进一步完善引擎,TSRC诚邀各位业界同仁对洋葱进行测试对抗,众测将于5月11日正式启动,持续9天。

为方便大家测试,避免因环境不一致导致的歧义,本次众测提供一个PHP7版本的docker镜像环境供大家本次测试验证WebShell有效性。WebShell绕过洋葱检测引擎,且能够在提供的测试Docker镜像中正常使用,就可通过TSRC平台进行提交。

欢迎各位业界同仁测试拍砖。


以下为众测详情:

↓↓↓



01.众测时间

2020年5月11日9时-5月19日24时

02.挑战环境

1. 搭建的检测引擎环境地址:http://onion.security.tencent.com/ (公测开始时开放)。

参赛者可以在该地址提交PHP文件进行绕过测试。

2.PHP7 docker镜像,下载地址:https://share.weiyun.com/51OCGef 或https://hub.docker.com/r/jinglingshu/nginx-php7.2

(docker镜像使用方式参考常见问题FAQ)。

官方提供统一验证环境镜像,参赛者提交的WebShell必须在默认验证环境下能稳定运行。

03.WebShell评判标准

1.WebShell指外部能传参控制(如通过GET/POST/HTTP Header头等方式)执行任意代码或命令,比如eval($_GET[1]);。在文件写固定指令不算Shell,被认定为无效,如system('whoami');

2.绕过检测引擎的WebShell样本,需要同时提供完整有效的curl利用方式,如:curl 'http://127.0.0.1/webshell.php?1=system("whoami")';。curl利用方式可以在提供的docker镜像中进行编写测试,地址可以是容器IP或者127.0.0.1,文件名任意,以执行whoami作为命令示例。

3.WebShell必须具备通用性,审核时会拉取提交的webshell内容,选取一个和验证镜像相同的环境进行验证,如果不能正常运行,则认为无效。

4.审核验证payload有效性时,webshell文件名会随机化,不能一次性执行成功和稳定触发的,被认定为无效。

04.奖励机制

提交符合评分标准和规则的WebShell样本奖励200安全币(1000元)

05.规则要求

1.文件大小不超过1M。
2.相同姿势的绕过方式,以最先提交的参赛者为准,先提交的获得奖励,后提交的视为无效。
3.禁止长时间影响系统性能暴力发包扫描测试
4.不可与其他测试选手共享思路,比赛期间不得私自公开绕过技巧和方法
5.为了更真实的对抗,检测引擎会定期进行更新维护。

06.提交方式

1.请将符合评分标准和规则的报告提交到TSRC(https://security.tencent.com/index.php/report/add);标题以“[洋葱WebShell挑战赛]”开头,先到先得。

2.提交TSRC内容:
webshell样本 + curl命令执行成功的payload + 成功截图 + 绕过思路简要介绍

注:
payload中的地址可以是容器IP或者127.0.0.1,文件名任意,以执行whoami作为命令示例,如:
curl 'http://127.0.0.1/webshell.php?1=system("whoami")';。curl利用方式可以在提供的docker镜像中进行编写测试。


07.常见问题FAQ

1.检测引擎检测结果说明:
1)恶意。上传文件被洋葱检测引擎判断为恶意文件。
2)正常。上传文件被洋葱检测引擎判断为正常文件
3)错误。上传文件存在错误,可能不是正常的PHP文件。
4)异常。检测服务器存在异常,请联系TSRC处理。
2、 docker镜像使用说明:
(1)若通过腾讯微云地址下载镜像文件nginx-php7.2.tar,镜像加载使用命令如下:
加载镜像: docker load < nginx-php7.2.tar
运行容器: docker run -it -v /tmp/:/usr/share/nginx/html/ -p 80:80 --name php-test -d nginx-php7.2:latest

注:容器web端口和目录映射到主机80端口和tmp目录下,可在主机tmp目录上传webshell进行验证

(2)若通过dockerhub下载,进行加载使用命令如下:
加载镜像: docker pull jinglingshu/nginx-php7.2
运行容器: docker run -it -v /tmp/:/usr/share/nginx/html/ -p 80:80 --name php-test -d jinglingshu/nginx-php7.2:latest

注:容器web端口和目录映射到主机80端口和tmp目录下,可在主机tmp目录上传webshell进行验证