首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

威胁魔方之环境变量

0x00 前言

环境变量(environment variables) 通常指的是在操作系统(Operating System)中,用来指定系统运行环境的一些参数,譬如:系统目录路径,命令调用的目录路径等.

由于Windows操作系统与类Unix系统的不同,我们本篇文章只讨论类Unix系统.

0x01 简述

@1 作用: 持久化

@2 平台: Linux,MacOS

@3 用户权限: 普通用户,管理员

@4 威胁描述: 文件监视,过程监视,带参数进程,网络进程

0x02 描述

~/.bash_profile 和 ~/.bashrc 通常在用户登陆的过程中执行.当用户登陆或启动新的Sell时,用以设置其系统环境.

~/.bash_profile是为启动Shell执行的, ~/.bashrc是为其交互式非登陆Shell执行的.

两者的这点差别意味着,当用户(通过用户名和密码)登陆到控制台(本地登陆或者通过如SSH登陆)时,~/.bash_profile将在初始命令提示符返回给用户之前被执行.

在此之后,每次打开一个新的Shell时,~/.bashrc就会被执行.这使得用户可以在需要执行某些命令时,可以更精确的控制它们.

但是,Mac的终端应用程序有一点不同,它在默认情况下运行登陆Shell,每当启动一个新的终端窗口,每次都会调用~/.bash_profile,而不是~/.bashrc

这就意味着,操作系统的本地用户通过修改这两个文件,可以配置自己的系统环境.

但是,攻击者也可以在这些文件中插入脚本,以便在用户每次登陆或执行新的Shell获取权限的持久性.

0x03 缓解方案

使这些文件只读且只能有管理员更改,将限制攻击者创建用户级别持久化的能力.

0x04 检测方法

虽然用户可以自定义他们的 ~/.bash_profile和~/.bashrc文件,但只有某些类型的命令才会出现在这些文件中.在登陆过程中加载用户配置文件时,监视异常命令,譬如,执行未知程序,启动网络监听或者连出网络行为,都可以判断环境变量是否被攻击者利用.

声明

威胁魔方本身就是一个知识库.至少在目前我们不会放出用例代码,感谢您的关注.

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180222G0H53X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券