centos 提权(centos安装软件命令)
很多朋友对于centos 提权和centos安装软件命令不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
CentOS6.x 下 /etc/security/limits.conf 被改错的故障经历
我司本小厂,每个员工都是身兼数职,所以开发人员直接登录线上服务器改东西是常态。有些开发人员,自持水平较高(的确水平也是较高,但缺乏对系统的敬畏),所以总是越俎代庖,改一些本身应该是线上运维人员改动的配置。本文提到的/etc/security/limits.conf两次改错导致的事故,皆是因为于此。
第一次是在/etc/security/limits.conf中加了两句:
结果就是:
所有用户无法登录。一登录,马上被踢出来。
最后解决方法:
单用户进系统把文件/etc/security/limits.conf改回来。
原因:
配置文件/etc/security/limits.conf中 nofile的参数,只支持数字,"unlimited"显然系统不认。
第二次也是在/etc/security/limits.conf中加了两句:
结果是:
解决方法:
像前面文章一次本地提权的实战演练有提到的:
原因:
稍稍延展一下,如果我一定要将 nofile参数设置为 2000000呢?
其实这也有办法,提高 kernel里 NR_OPEN的值即可,具体方法是:
总而言之,言而总之:Linux下配置文件/etc/security/limits.conf文件不要随意改动。我其实还是倾向于在启动服务的启动脚本里手工用 ulimit命令来设置相关参数而不要直接在/etc/security/limits.conf文件里改。
centos如何给用户提权到root
centos如何给用户提权到root使用sudo命令。
操作步骤如下:
1、打开终端输入“sudo-i”,
2、然后输入当前用户的密码
sudo命令的语法
sudo [-Vhl LvkKsHPSb ]│ [-p prompt ] [-c class│- ] [-a auth_type ] [-u username│#uid ] command
扩展资料
sudo命令的特性主要有这样几点:
1、 sudo能够限制用户只在某台主机上运行某些命令。
2、sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。
3、sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变)。
4、sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440。
参考资料来源:百度百科—sudo
一次艰难的渗透提权过程
某日,我接到了朋友的一条shell,任务是提权。拿到shell后,发现无法通过常见的工具如菜刀或蚁剑执行命令。深入分析后,我首先查看了phpinfo信息,发现是宝塔环境。联系开发工程师后,了解到Windows环境下提权较为困难,于是转向Linux环境探索。
在Linux环境下,我尝试利用putenv函数绕过某些限制。参考了P神的文章以及exploit-db.com上的POC,但未成功。经过多次尝试,我继续寻找解决方案。
在浏览GitHub时,我发现了利用LD_PRELOAD功能绕过某些限制的姿势。按照该姿势尝试了编译代码并上传调用文件,但在利用过程中,发现没有回显。经过进一步研究,我找到了利用LD_PRELOAD和putenv结合的方法,最终成功绕过限制。尽管成功,但这种方式在执行代码时存在不便,如缺乏回显和执行带参数命令时的错误提示。
在后续尝试中,我发现了利用LD_PRELOAD功能结合centos环境的更有效方法。通过阅读大佬的文章,我了解到了使用for循环修改LD_PRELOAD首个字符为\0,这一小动作能够让系统原有的LD_PRELOAD环境变量失效,从而实现绕过限制的目的。同时,作者提供了修复版的bypass.c代码,该代码能通过环境变量接收待执行命令行,从而实现安全的执行。
在研究过程中,我发现了利用mail()函数劫持getuid()的另一种方法。基本原理是在Linux环境中,mail()函数在执行过程中会默认调用系统程序/usr/sbin/sendmail,而sendmail会调用getuid()。通过LD_PRELOAD,可以劫持getuid()函数,进而执行恶意代码。我编写了一个原型为uid_t getuid(void)的C函数,内部执行攻击者指定的代码,编译为共享对象evil.so,并通过putenv()设定环境变量LD_PRELOAD为evil.so,最终利用mail()函数执行恶意代码。
成功利用后,我通过Python的反弹脚本执行命令并监听,实现了与目标服务器的交互。根据版本信息,我确认了目标系统的版本为2.6,属于较为旧的版本,因此可以利用脏牛漏洞进行提权。我选择在本地环境中编译并上传执行脏牛脚本,成功将root权限替换,实现了对目标服务器的登陆。
登陆后,我及时恢复了/etc/passwd文件,并学习了一篇关于后门的文章,了解了如pam补丁、隐藏文件、suid和inetd等可以用于创建后门的方法。同时,我安装了socat工具以连接后门。
为了实现横向渗透,我使用了metasploit工具。考虑到当前环境为外网服务器,我选择了生成Meterpreter会话并监听等待上线。然而,我意识到这并不是内网渗透的典型场景,因此决定将精力放在其他类型的内网渗透场景上,以便将来撰写相关文章。
完成任务后,我提醒自己清理痕迹,以避免被管理员发现或溯源。最后,我在凌晨两点抽支烟,准备洗洗睡,希望晚安时能得到一个平静的夜晚。