记一次靶场演示场景攻防演练(红方视角)

  • A+
所属分类:安全文章
记一次靶场演示场景攻防演练(红方视角)

本场景是蛇矛实验室基于"火天网境攻防演训靶场"进行搭建,本次场景内置了虚拟Wi-Fi虚拟USB虚拟IDS透明模式物理资源池防火墙实体路由器等资源;通过靶场内置的演训导调、演训裁判以及演训运维功能,可以对整个攻防演练过程进行管控和详尽的评估与复盘。




记一次靶场演示场景攻防演练(红方视角)




1.场景描述



  • 场景名称




靶场演示场景攻防演练

记一次靶场演示场景攻防演练(红方视角)



  • 场景概述




靶场演示场景提供模拟公网IP以及内网IP的网络架构;场景拥有外网区域业务区运维区等,其中也业务区域将内网服务器通过边界路由转发至外网,并且在业务区中存在对外暴漏的虚拟Wi-Fi,拓扑在核心处提供旁路IDS以及再运维区部署透明模式虚实结合防火墙供蓝方使用。通过本场景,可以了解企业内部信息失窃相关事件,也可针对事件进行应急处理

记一次靶场演示场景攻防演练(红方视角)





  • 场景难度


    ★☆☆☆☆


  • 影响分析




本次可以通过FTP文件服务器进行文件窃取,可将数据进行回传。

记一次靶场演示场景攻防演练(红方视角)







2.场景构建



  • 网络拓扑


记一次靶场演示场景攻防演练(红方视角)




3.场景演练



  • 演练目标


通过技战法框架了解攻击者的常规渗透路径以及防御者的基本防御思路。

  • 防御过程



通过攻击端的数据连接,我们的蓝方人员通过配置交换机的流量镜像、配置旁路的IDS、配置透明模式的防火墙、获取服务器上的日志信息、获取路由器的日志信息等方法可以有效遏制和阻断本次攻击。后续会发表关于本次蓝方防护的全过程。

记一次靶场演示场景攻防演练(红方视角)

  • 攻击过程



在攻击过程中涉及ATT&CK以及Cyber Kill Chain的相关攻击技战法,Cyber Kill Chain技战法的入口点是利用环境中的虚拟Wi-Fi环境,通过贴近模拟环境,用操作及可以进行Wi-Fi的暴力破解,用Aircrack-ng即可进入内网,并在后续进行相关横向操作。

记一次靶场演示场景攻防演练(红方视角)
   

记一次靶场演示场景攻防演练(红方视角)



ATT&CK技战法是通过对外服务进行内网渗透。详情见下文。

记一次靶场演示场景攻防演练(红方视角)




侦查



端口探测


使用nmap 扫描目标端口(demo.rangenet.cn)


nmap -sV -Pn demo.rangenet.cnIP:88.88.88.122/tcp open80/tcp open8080/tcp open

记一次靶场演示场景攻防演练(红方视角)




目标访问



访问目标站点


访问http://demo.rangenet.cn:8080


记一次靶场演示场景攻防演练(红方视角)


爆破8080端口的web目录,成功发现一个/hello目录


记一次靶场演示场景攻防演练(红方视角)


记一次靶场演示场景攻防演练(红方视角)




命令执行


Struts2命令执行



查看网站源代码,发现表单是/hello.action。应该是Struts2的站点。


记一次靶场演示场景攻防演练(红方视角)


测试执行OGNL表达式,发现表达式成功执行。


记一次靶场演示场景攻防演练(红方视角)


构造命令知道的OGNL表达式。成功执行命令,查看id为root。


记一次靶场演示场景攻防演练(红方视角)

 



资源开发

EXP开发


注:脚本有准备好的,在虚拟USB存放,可以通过靶场调用虚拟U盘进行获取。


记一次靶场演示场景攻防演练(红方视角)


有Python基础的同学可以开发Python脚本用来执行命令。


---代码略---


测试结果


记一次靶场演示场景攻防演练(红方视角)

 



权限获取



攻击机用nc监听本地端口


记一次靶场演示场景攻防演练(红方视角)


使用EXP执行反弹shell的命令


记一次靶场演示场景攻防演练(红方视角)


攻击机成功获取到shell


记一次靶场演示场景攻防演练(红方视角)




Docker逃逸


查看文件发现.dockerenv,确定是docker容器。


记一次靶场演示场景攻防演练(红方视角)


经过测试发现,目标docker容器将docker.sock挂载到了容器内部,这样可以在docker容器中调用和执行宿主机的docker。


在容器中找到docker.sock路径:find / -name docker.sock


在容器查看宿主机docker信息:docker-H unix:///run/docker.sock info


记一次靶场演示场景攻防演练(红方视角)


查看宿主机容器:docker -H unix:///run/docker.sock images


记一次靶场演示场景攻防演练(红方视角)


运行一个新容器并挂载宿主机根路径:docker -Hunix:///run/docker.sock run -d -I –name aaa -v /:/test ubuntu /bin/bash

 

记一次靶场演示场景攻防演练(红方视角)


使用msfvenom生成linux的木马1.elf,然后用python创建简易的http服务


记一次靶场演示场景攻防演练(红方视角)


下载生成的木马1.elf,然后将木马复制到我们自己创建的容器内并执行。


记一次靶场演示场景攻防演练(红方视角)


Msf成功上线。


记一次靶场演示场景攻防演练(红方视角)


下载宿主机的passwd文件


记一次靶场演示场景攻防演练(红方视角)


使用openssl的生成密码


记一次靶场演示场景攻防演练(红方视角)


然后在下载的宿主机的passwd文件中追加一条后门账户


记一次靶场演示场景攻防演练(红方视角)


上传并覆盖宿主机的passwd文件


记一次靶场演示场景攻防演练(红方视角)


SSH远程登录目标机器,使用追加的账号登录,成功登录,获取到了目标宿主机的root权限shell。

 

记一次靶场演示场景攻防演练(红方视角)


 



内网扫描


MSF启动Socks5代理


记一次靶场演示场景攻防演练(红方视角)


配置proxychains代理


记一次靶场演示场景攻防演练(红方视角)


使用代理扫描内网3389端口,发现192.168.100.233开放了3389端口。


记一次靶场演示场景攻防演练(红方视角)




爆破RDP


使用hrdra爆破192.168.100.233的rdp服务,爆破出administrator:[email protected]


记一次靶场演示场景攻防演练(红方视角)


记一次靶场演示场景攻防演练(红方视角)




横向移动


使用爆破出的账号和密码远程登录内网机器192.168.100.233


记一次靶场演示场景攻防演练(红方视角)


记一次靶场演示场景攻防演练(红方视角)

记一次靶场演示场景攻防演练(红方视角)




数据渗出


通过保存密码进行FTP登陆。


记一次靶场演示场景攻防演练(红方视角)


将文件传回本地


记一次靶场演示场景攻防演练(红方视角)



影响


执行关机命令,关闭目标机器。


记一次靶场演示场景攻防演练(红方视角)


记一次靶场演示场景攻防演练(红方视角)

 

 

记一次靶场演示场景攻防演练(红方视角)



记一次靶场演示场景攻防演练(红方视角)

结束语:

          在本文中涉及到了常规渗透的一些简单思路,通过靶场场景提供的关于虚拟Wi-Fi可导致破解利用并进入内网,以及向文章中提到的通过内部对外提供的服务也可进入到内网中,脚本化的步骤其实是整个突破口的核心,攻击人员在日常渗透过程中会使用外部公布的脚本亦可通过自己的能力去开发利用脚本,并能直入主题到达目标位置,从而会通过内网的横向取得重要得文件。所以,我们蓝方的防御人员在内部运维的环境中也要关注基于暴露在外的服务,及时更新补丁或常规化的对威胁进行检测,积极查看我们内网的一些旁路设备和串联的安全设备,并且要学会应急配置和临时配置等。这样才能将攻击阻拦在核心区域之外!

记一次靶场演示场景攻防演练(红方视角)



本文始发于微信公众号(亿人安全):记一次靶场演示场景攻防演练(红方视角)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: