通过可写文件获取Linux root权限的5种方法 |
来源:支点信息 时间:2018-6-22 14:23:00 |
Linux系统中,全部都是以文件形式存在的,包括目录、设备都是有权限的,共有读、写、可执行三种。管理员为文件设置好权限后,应该要考虑哪些Linux用户会被允许和限制上述的三个权限。 通过可写脚本进行root提取的5种方法: · 复制 /bin/sh 到 /tmp · 设定 /bin/dash的SUID位 · 通过sudoer给登录用户完全的权限 · 设定/bin/cp的SUID位 · 逆向连接到恶意代码 开启攻击机器,黑掉目标系统,然后进行权限提升。假设成功地通过ssh登录到受害者的机器,并可以访问非root的用户终端。然后使用下面的命令,下面会举例所有有写权限的二进制文件。 可以看到一个/lib/log中保存的python文件,在路径中我们看到了sanitizer.py文件的权限为777。 Admin要将下面的脚本加入,来清理/tmp中的垃圾文件。如果攻击者能够识别受害者机器中的这类情形,就可以通过下面的方式来提升root权限来破坏系统。 第一种方法 有许多的方法可以获取root权限,本方法中,我们将/bin/sh复制到/tmp文件夹中,然后设置/tmp/sh的SUID。这种方式非常简单,首先,通过nano编辑器打开文件,然后用rm -r /tmp/* 替换下面的命令: 在/tmp目录创建一个有SUID权限的sh文件后,允许sh文件时会有root访问权限。 可以通过下面的图片进行确认: 第二种方法 同样地,可以用rm -r /tmp/* 替换下面行的内容 在设置了/bin/dash的SUID权限后,运行后就可以获取root权限 可以通过下面的图进行确认: 第三种方法 通过netcat逆向了连接后,就可以获取root权限。 可以通过下面的图进行确认: 第4种方法 另一个方法是给登录的用户sudo权限。下面的图中可以看出当前用户wernerbrandes不能允许sudo命令。 同样地,可以在下面替换rm -r /tmp/* 当输入“sudo -l”命令时会发现,这是sudo用户的一个成员。可以利用sudo bash来获取root权限。 第5种方法 因为在linux类系统中,passwd文件起着很重要的作用。所以,如果攻击者有机会修改passwd文件,那么这将会成为一种动态的权限提升的方式。 然后,在一个新的终端上生成一个含salt的密码,然后复制。 然后粘贴之前复制的含salt的密码在用户nemo的记录词条的X位置处,并修改UID&GID为0:0。完成上面的步骤后,我们就可以将其保存为passwd。 利用可写的脚本替换 “rm -r /tmp/*” 设置/bin/cp的SUID来复制文件。 将修改后的passwd文件下载受害者机器的/tmp文件夹中。用下面的命令检查/bin/cp的SUID位是否开启。 下面确认是否改变了passwd文件的内容: 可以看出passwd文件中的变化: 可以执行下面的命令来获取root权限: 本文证明了攻击者如何通过可写文件进行linux系统权限提升。 |
支点信息是一家以网络技术和数据库技术为主导的高端IT技术培训公司,是Pearson VUE国际IT认证考试中心,支点信息为企业及广大学员提供全面、细致、专业的线上、线下服务,致力于为客户提升良好的职业竞争力。 咨询电话:027-87538988 |
地址:武汉市武昌区华乐商务中心2401(鲁巷购物广场西侧,乘车至“鲁巷站”即到) 邮编:430073 版权所有 2012 支点信息技术有限公司,Copyright © 20112 zd-lab.com All rights reserved 备案号:鄂ICP备07002426号 | 咨询电话:027-87538988 咨询 QQ:200867967 |