0%

以色列Cyberbit Range靶场 DAY 1-2

0x00 背景

学校购进了以色列著名的Cyberbit Range靶场,该靶场面向于蓝队成员。通过模拟多个攻击场景,训练蓝队队员的反入侵、溯源、取证等能力。个人觉得比较有意思,复盘一下这两天的演练情况。

0x01 Windows下勒索软件场景

知识点:邮件、宏病毒、Powershell、SMB横向移动

攻击流程

  1. 攻击者向用户A的邮箱发送钓鱼邮件,钓鱼邮件中包含一个含宏文档
  2. 用户A打开宏文档,宏病毒执行,从C&C服务器下载恶意PowerShell payload
  3. 若当前电脑没有被勒索,恶意payload会生成当前主机的唯一uuid,并利用RSA和DES加密对用户文件进行加密。
  4. 将所有被加密的文件路径保存在注册表HKCU/Software/MicroSoft/UDE中,将用户uuid与RSA秘钥回传给C&C服务器。在用户主文件夹下生成一个readme.html,用于对用户进行勒索。
  5. 利用SMB模块弱密码或漏洞进行横向移动。

蓝队审计流程

根据当时的情况进行推演。教官在靶场管理员界面点击攻击按钮,提示某一台Windows 7电脑中了勒索病毒。我们通过远程桌面登录被勒索的电脑,查看防火墙日志、Qradar日志。

  1. 发现用户User082的文档文件被加密,同时系统日志发现vssadmin操作(删除备份文件)
  2. 邮件组提示我们User082最近收到了一封恶意邮件,邮件附件中含有恶意宏文档
  3. 我们将文件按时间排序,找到可疑word文件。无法直接获得word文档中的宏代码,利用文件编辑器搜索http关键字,定位到C&C,同时获得Powershell脚本,脚本攻击方式与攻击流程中相似
  4. 教官提示,勒索软件已经横向移动了,我们登陆到User055的主机,同样用户文件已经被加密,注册表中HKCU/Software/MicroSoft/UDE文件列表比User082的文件列表多,多了一个共享盘文件路径
  5. 防火墙ban C&C服务器ip

Tips

  1. 第一次我们用管理员身份登陆用户主机,注册表中不存在HKCU/Software/MicroSoft/UDE,这是因为User082与管理员的HCKU表不一样,实际审计在这里卡了很久。
  2. User082与User055用一个共享盘,虽然我们先登陆的是User082,但实际攻击先发生在User055的主机上,只不过后来横向移动到User082上。所以User055的勒索软件会先加密共享盘的内容,后续User082上的勒索软件不再对共享盘进行加密

0x02 Linux下WEB服务器被打下线

知识点:ssh暴力破解、crontab

攻击流程

  1. 攻击者对web服务器进行端口扫描,发现22端口,暴力破解用户ssh密码,并登陆成功
  2. 设置两个计划任务
    • 每秒钟 service apache2 stop
    • 每秒钟 执行恶意python脚本,将/etc/passwd、/etc/shadow复制到/tmp目录,将文件内容发送给C&C,达到持续控制目的

蓝队审计流程

教官提示攻击开始,没有任何提示

  1. 在Qradar上发现高危告警,某台服务器A上面的http服务挂了,我通过ssh登录服务器A,按照以往思路,依次排查
    • /var/log下面的日志文件auth.log等
    • 查看www文件夹下是否有webshell
    • 查看apache2的access.log和error.log
    • 查看计划任务/etc/crontab
    • w查看当前登录用户是否包含攻击者
  2. 按照时间排序对告警事件进行回溯,攻击者首先利用port scan发起大量SYN请求,然后告警事件提示ssh密码输入错误
  3. 开始排查auth.log.1文件,发现有攻击者的ssh爆破信息,攻击者已经成功登陆
  4. 这里我们有个小问题,计划任务排查不完全,导致我们没有发现让apache服务停止的计划任务。后续用crontab -l列出当前计划任务项,发现两项计划任务,对代码进行分析,获得C&C服务器地址
  5. crontab -e编辑模式清除计划任务

Tips

  1. auth.log里面没有攻击者的登录信息,其保存在auth.log.1。以后需要对这一系列文件进行排查
  2. 计划任务默认配置文件中没有计划任务项,我们遗漏了其他文件,导致排查不干净,浪费很多时间,crontab -l解围

0x03 FTP漏洞脱数据库

知识点:MSSQL日志、FTP漏洞、ssh隧道数据传输

网络拓扑:

  1. 内网主机A Windows:攻击者通过A发起攻击
  2. FTP服务器 Linux:含OSVDB69562漏洞,可以获取root权限
  3. MSSQL服务器 Windows:数据库没有设置仅本机访问

攻击流程

  1. 攻击者进入内网,对内网FTP发起端口扫描,利用ping扫描内网段,混淆视线,加大分析日志分析难度
  2. 利用ftp漏洞,登录FTP服务器,将FTP服务器当做跳板对MSSQL服务器进行暴力破解登录,dump数据到/tmp/database.txt
  3. 在21端口ftp构建ssh隧道,传输数据到内网主机A

蓝队审计流程

教官提示ftp

  1. 告警事件提示MSSQL密码错误,有大量针对FTP服务器的端口扫描,ssh密码错误告警。由于基本熟悉了相关流程,这一次我们的速度比之前快很多
  2. 我通过远程桌面登录MSSQL服务器,登录到数据库后,查看到有几个从FTP服务器发起的连接远程数据库的日志。
  3. ssh登录FTP服务器,查看auth.log日志,发现从主机A的ssh暴力破解日志
  4. 查看/tmp目录下文件,发现了从数据库dump出的数据
  5. 防火墙ban 相关ip,升级MSSQL和ssh安全配置策略,例如仅本地等

0x04 总结

攻击手法

  • 恶意邮件、宏文档、Powershell
  • 端口扫描、ssh暴力破解、ftp RCE漏洞
  • 计划任务、注册表

    审计

  • /var/log日志
    • 登录日志
    • web日志
    • 数据库日志等
  • 低权限目录,/tmp等
  • 注册表、计划任务排查