0x00 背景
学校购进了以色列著名的Cyberbit Range靶场,该靶场面向于蓝队成员。通过模拟多个攻击场景,训练蓝队队员的反入侵、溯源、取证等能力。个人觉得比较有意思,复盘一下这两天的演练情况。
0x01 Windows下勒索软件场景
知识点:邮件、宏病毒、Powershell、SMB横向移动
攻击流程
- 攻击者向用户A的邮箱发送钓鱼邮件,钓鱼邮件中包含一个含宏文档
- 用户A打开宏文档,宏病毒执行,从C&C服务器下载恶意PowerShell payload
- 若当前电脑没有被勒索,恶意payload会生成当前主机的唯一uuid,并利用RSA和DES加密对用户文件进行加密。
- 将所有被加密的文件路径保存在注册表
HKCU/Software/MicroSoft/UDE
中,将用户uuid与RSA秘钥回传给C&C服务器。在用户主文件夹下生成一个readme.html,用于对用户进行勒索。 - 利用SMB模块弱密码或漏洞进行横向移动。
蓝队审计流程
根据当时的情况进行推演。教官在靶场管理员界面点击攻击按钮,提示某一台Windows 7电脑中了勒索病毒。我们通过远程桌面登录被勒索的电脑,查看防火墙日志、Qradar日志。
- 发现用户User082的文档文件被加密,同时系统日志发现vssadmin操作(删除备份文件)
- 邮件组提示我们User082最近收到了一封恶意邮件,邮件附件中含有恶意宏文档
- 我们将文件按时间排序,找到可疑word文件。无法直接获得word文档中的宏代码,利用文件编辑器搜索
http
关键字,定位到C&C,同时获得Powershell脚本,脚本攻击方式与攻击流程中相似 - 教官提示,勒索软件已经横向移动了,我们登陆到User055的主机,同样用户文件已经被加密,注册表中
HKCU/Software/MicroSoft/UDE
文件列表比User082的文件列表多,多了一个共享盘文件路径 - 防火墙ban C&C服务器ip
Tips
- 第一次我们用管理员身份登陆用户主机,注册表中不存在
HKCU/Software/MicroSoft/UDE
,这是因为User082与管理员的HCKU表不一样,实际审计在这里卡了很久。 - User082与User055用一个共享盘,虽然我们先登陆的是User082,但实际攻击先发生在User055的主机上,只不过后来横向移动到User082上。所以User055的勒索软件会先加密共享盘的内容,后续User082上的勒索软件不再对共享盘进行加密
0x02 Linux下WEB服务器被打下线
知识点:ssh暴力破解、crontab
攻击流程
- 攻击者对web服务器进行端口扫描,发现22端口,暴力破解用户ssh密码,并登陆成功
- 设置两个计划任务
- 每秒钟
service apache2 stop
- 每秒钟 执行恶意python脚本,将/etc/passwd、/etc/shadow复制到/tmp目录,将文件内容发送给C&C,达到持续控制目的
- 每秒钟
蓝队审计流程
教官提示攻击开始,没有任何提示
- 在Qradar上发现高危告警,某台服务器A上面的http服务挂了,我通过ssh登录服务器A,按照以往思路,依次排查
/var/log
下面的日志文件auth.log等- 查看www文件夹下是否有webshell
- 查看apache2的access.log和error.log
- 查看计划任务/etc/crontab
- w查看当前登录用户是否包含攻击者
- 按照时间排序对告警事件进行回溯,攻击者首先利用port scan发起大量SYN请求,然后告警事件提示ssh密码输入错误
- 开始排查auth.log.1文件,发现有攻击者的ssh爆破信息,攻击者已经成功登陆
- 这里我们有个小问题,计划任务排查不完全,导致我们没有发现让apache服务停止的计划任务。后续用
crontab -l
列出当前计划任务项,发现两项计划任务,对代码进行分析,获得C&C服务器地址 crontab -e
编辑模式清除计划任务
Tips
- auth.log里面没有攻击者的登录信息,其保存在auth.log.1。以后需要对这一系列文件进行排查
- 计划任务默认配置文件中没有计划任务项,我们遗漏了其他文件,导致排查不干净,浪费很多时间,
crontab -l
解围
0x03 FTP漏洞脱数据库
知识点:MSSQL日志、FTP漏洞、ssh隧道数据传输
网络拓扑:
- 内网主机A Windows:攻击者通过A发起攻击
- FTP服务器 Linux:含OSVDB69562漏洞,可以获取root权限
- MSSQL服务器 Windows:数据库没有设置仅本机访问
攻击流程
- 攻击者进入内网,对内网FTP发起端口扫描,利用ping扫描内网段,混淆视线,加大分析日志分析难度
- 利用ftp漏洞,登录FTP服务器,将FTP服务器当做跳板对MSSQL服务器进行暴力破解登录,dump数据到
/tmp/database.txt
- 在21端口ftp构建ssh隧道,传输数据到内网主机A
蓝队审计流程
教官提示ftp
- 告警事件提示MSSQL密码错误,有大量针对FTP服务器的端口扫描,ssh密码错误告警。由于基本熟悉了相关流程,这一次我们的速度比之前快很多
- 我通过远程桌面登录MSSQL服务器,登录到数据库后,查看到有几个从FTP服务器发起的连接远程数据库的日志。
- ssh登录FTP服务器,查看auth.log日志,发现从主机A的ssh暴力破解日志
- 查看/tmp目录下文件,发现了从数据库dump出的数据
- 防火墙ban 相关ip,升级MSSQL和ssh安全配置策略,例如仅本地等