• 提交需求
    *
    *

    *
    *
    *
    立即提交
    点击”立即提交”,表明我理解并同意 《黄金城科技隐私条款》

    logo

      产品与服务
      解决方案
      技术支持
      合作发展
      关于黄金城

      申请试用
        《入侵生命周期细分实践指南系列》:容器攻击
        发布时间:2022-06-10 作者:黄金城科技黄金城官网实验室 阅读次数: 825 次

        黄金城科技为了更好地进行入侵检测和防御,参照各种黄金城官网威胁框架和自身的实践与思考,提出了基于入侵生命周期的攻击管理模型,作为黄金城新一代黄金城官网架构的三大支柱之一。

        入侵生命周期v1.0把入侵过程划分为7个阶段:探索发现、入侵和感染、探索感知、传播、持久化、攻击和利用、恢复。入侵生命周期v1.0同样以ATT&CK作为基本战术知识库,匹配到不同的入侵阶段。需要注意的是,并非所有的入侵都会经历这7个阶段,也没有绝对的线性次序。

        1)探索发现

        在这个阶段中,攻击者会先锁定攻击对象,然后利用某些技术手段,尽可能多地获取目标暴露出来的信息,如通过端口扫描、指纹探测等方式,发现敏感端口及版本信息,进而寻找攻击点,为下一步入侵做准备。

        2)入侵和感染

        在这个阶段,攻击者会根据“探索发现”阶段所发现的重要信息,来对目标暴露出的攻击面进行攻击尝试,在“探索发现”阶段收集到的信息越多,攻击对象所暴露的攻击面也就越多,攻击更易成功。

        3)探索感知

        攻击者在成功进入系统内部后,由于是首次进入所以会出现对内部环境不熟悉的情况,这时攻击者的动作一般会是对当前所处环境进行探索,摸清内部大致的网络结构,常常伴随着被入侵本机的敏感信息收集以及对内网大量的端口进行扫描,后续根据攻击者的目的进行下一步操作。

        4)传播

        在此阶段,攻击者根据上一阶段在内网探索感知收集到的信息,选择特定的攻击手法。如若发现内部是域环境,攻击者可能会尝试先攻破域控服务器,再传播其他机器。若是工作组环境,可能会利用收集到的端口和服务信息,选择特定漏洞进行批量扫描攻击,来尽可能多地继续获得其他计算机的控制权。

        5)持久化

        攻击者在对资产进行恶意操作后,为了能够减少再次连接的攻击成本,方便下次进入,会进行“留后门”的操作,常见的后门如:建立计划任务,定时连接远程服务器;设置开机启动程序,在每次开机时触发执行特定恶意程序;新建系统管理员账号等。这样便于攻击者下次快速登录并控制该系统。

        6)攻击和利用

        攻击者在此阶段便会开始对目标资产进行恶意操作,按照攻击者意愿,对能利用的数据进行窃取、利用;对操作系统、敏感文件进行破坏、删除。所有的防御手段都应该极力阻止攻击者进行到这一阶段。

        7)恢复

        攻击者在执行所有的攻击操作时,往往会在系统上留下大量的行为日志,因此在这一阶段,攻击者会对记录自身痕迹的所有日志进行处理,或删除或混淆,从而消灭证据,逃避追踪。



        本系列文章基于黄金城科技入侵生命周期1.0架构,细分各阶段攻击者的常用攻击手段,并对相关攻击手段的具体实施方式进行逐一剖析,为黄金城官网防御建设提供有力知识补充和反制准备。



        容器攻击(传播)


        Docker是一种流行的平台即服务容器产品,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,并且几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

        从攻击者的角度来分析,攻击者在渗透过程中可能会部署一个没有网络规则、用户限制等配置的新容器,通过在新容器中下载或执行恶意软件来绕过环境中的现有防御。例如,攻击者可以在部署的新容器中执行漏洞扫描工具,并进行漏洞利用,以获得其他机器的控制权。亦可以在新容器中部署可横向移动的病毒来对操作系统、敏感文件等进行破坏、删除。因此,从入侵生命周期角度分析,容器部署可被攻击者用于传播阶段和攻击和利用阶段。

        从攻击行为链条的上下文来看,针对容器部署的行为链条输入输出如下。


        输入:docker容器相关命令、攻击者在docker中执行的恶意操作

        输出:创建的docker容器以及恶意操作执行结果

        针对容器部署,目前常用手段如下:

        1.环境准备

        (1)使用清华镜像

        curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -

        (2)配置docker apt

        echo 'deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable' | sudo tee /etc/apt/sources.list.d/docker.list

        (3)更新apt

        sudo apt-get update

        2.安装docker容器

        (1)检查是否安装过docker

        sudo apt-get docker docker-engine docker.io

        若未安装过会显示无效的操作:

        (2)docker安装

        sudo apt-get install docker-ce

        (3)查看docker版本

        docker -v

        (4)查看docker容器运行状态

        sudo systemctl status docker 或 sudo service docker status

        (5)启动和停止docker命令

        启动docker:sudo systemctl start docker 或者sudo service docker start
        停止docker:sudo systemctl stop docker 或者 sudo service docker stop

        (6)配置开机自启动docker服务

        sudo systemctl enable docker  #disable为关闭自启动

        3.安装docker-compose

        lsudo curl-L"https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose
        lchmod +x /usr/local/bin/docker-compose
        ldocker-compose version  #查看版本号,测试是否安装成功

        4.docker容器中运行Ubuntu

        (1)安装Ubuntu

        docker pull ubuntu

        (2)查看本地镜像

        docker images

        (3)进入docker容器中的Ubuntu系统

        docker run -ti ubuntu /bin/bash

        (4)使用apt-get update升级系统

        、

        (5)安装apt-get install wget命令

        5.安装python

        (1)下载python

        wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz

        (2)下载完后就在当前目录解压

        tar -zxvf Python-3.8.0.tgz

        (3)安装一些所要依赖的包

        apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev

        (4)编译安装

        ./configure --enable-optimizations --prefix=/usr/local/Python3/ && make && make install

        (5)修改软连接

        ln -s /usr/local/Python3/bin/python3.8 /usr/bin/python

        (6)验证是否启动python3

        6.在docker容器中上传漏洞扫描工具,并扫描

        (1)下载Struts2漏洞利用扫描工具包

        wget https://codeload.github.com/ch1st/struts2-scan/zip/refs/heads/master

        (2)解压Struts2漏洞利用扫描工具包

        unzip master

        (3)扫描目标是否存在Struts2漏洞,如下图所示,可以看到目标存在S2-016漏洞

        python scan.py -u http://219..153.49.228:47999/index.action

        免费试用
        服务热线

        马上咨询

        400-811-3777

        回到顶部
        【网站地图】【sitemap】