DecoyMini 技术交流社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4181|回复: 0

[T1546] T1546.004 - 修改 Unix Shell 配置

[复制链接]

188

主题

35

回帖

30

荣誉

Rank: 9Rank: 9Rank: 9

UID
2
积分
354
精华
1
沃币
2 枚
注册时间
2021-6-24

论坛管理

发表于 2022-2-17 14:31:22 | 显示全部楼层 |阅读模式
一、概念

攻击者可通过执行 shell 触发的恶意命令来实现持久化,Unix Shell 根据事件在整个会话的不同点执行多个配置脚本。例如,当用户打开命令行界面或远程登录 (例如 SSH) 时,会启动登录 shell。登录 shell 从系统  (/etc)  和用户的主目录 (~/) 执行脚本来配置环境。系统上的所有登录 shell 在启动时都使用 /etc/profile,这些配置脚本在其目录的权限级别运行,通常用于设置环境变量、创建别名和自定义用户环境。当 shell 退出或终止时,会执行额外的 shell 脚本以确保 shell 正确退出。

攻击者可能会尝试通过将命令插入 shell 自动执行的脚本来实现持久化。以 bash (大多数 GNU/Linux 系统的默认 shell) 为例,攻击者可能会将启动恶意二进制文件的命令添加到 /etc/profile/etc/profile.d 文件中。这些文件通常需要 root 权限才能修改,并且系统上的任何 shell 每次启动时都会执行。对于用户级别的权限,攻击者可以将恶意命令插入到 ~/.bash_profile~/.bash_login~/.profile,这些命令是在用户打开命令行界面或远程连接时产生的。由于系统仅按列出的顺序执行第一个现有文件,因此攻击者使用 ~/.bash_profile 来确保执行。攻击者还利用了 ~/.bashrc 文件,如果远程建立连接或打开额外的交互式 shell (例如命令行界面中的新选项卡),则会额外执行该文件。一些恶意软件的目标是终止程序以触发执行,攻击者可以使用 ~/.bash_logout 文件在会话结束时执行恶意命令。

对于 macOS,此技术的功能类似,但可能会利用 zsh,这是 macOS 10.15+ 的默认 shell。当 Terminal.app 打开时,应用程序会启动一个 zsh 登录 shell 和一个 zsh 交互式 shell。登录 shell 使用 /etc/profile/etc/zshenv/etc/zprofile/etc/zlogin 配置系统环境。然后登录 shell 使用 ~/.zprofile~/.zlogin 配置用户环境。 交互式 shell 使用 ~/.zshrc 来配置用户环境。退出时,将执行 /etc/zlogout~/.zlogout。对于遗留程序,macOS 在启动时执行 /etc/bashrc

二、涉及到组织或恶意软件

Linux Rabbit

三、案例

Linux Rabbit

Linux Rabbit 通过 rc.local 和 .bashrc 文件在受感染的机器上保持持久化。

相关报告:https://www.anomali.com/blog/pul ... alware-out-of-a-hat

四、缓解措施

使这些文件不可变并且只能由某些管理员更改,限制攻击者轻松创建用户级持久化的能力。

五、如何检测

虽然用户可以自定义他们的 shell 配置文件,但这些文件中通常只出现某些类型的命令。在登录过程中加载用户配置文件时监视异常命令,例如执行未知程序、打开网络套接字或通过网络进行连接。

监控 /etc/profile/etc/profile.d 的更改,这些文件只能由系统管理员修改。MacOS 用户可以利用端点安全框架文件事件来监控这些特定文件。

对于大多数 Linux 和 macOS 系统,系统上可用的有效 shell 选项的文件路径列表位于 /etc/shells 文件中。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|DecoyMini 技术交流社区 (吉沃科技) ( 京ICP备2021005070号 )

GMT+8, 2024-12-22 16:26 , Processed in 0.060966 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表