15章:Linux Centos 7/8 计划任务 开机自动启动 查杀木马过程-使用 rootkit 隐藏踪迹
1、计划任务
1.1用户级别计划任务
使用计划任务 crontab 让木马自动运行
[root@localhost ~]# crontab -e
#1 2 * * * /usr/bin/fregonnzkq &
#注:分 时 天 月 周 ,表示每天 2 点 1 分,执行命令/usr/bin/fregonnzkq &。* 表每X,比如: 每天,每月,每周
用户计划任务排查方法
[root@localhost ~]# crontab -l
* * * * * /bin/ls >/tmp/aaa.txt
#查看root用户计划任务 只能查看到当前用户的计划任务
其他用户建立计划任务
[root@localhost ~]# crontab -u bin -e # -u 指定用户为bin 最好使用系统已经存在的系统用户
排查查看所有用户建立的计划任务
排查:如何查看所有用户的计划任务? 做黑客要有一个很扎实的基础,还要有一个很好的思维。我 们不用遍历/etc/passwd 中所有的文件,这太 复杂了。因为每个用户的计划任务都有独立的文件。
[root@localhost ~l# ll /var/spool/cron #这个目录下存放着所有用户级别的计划任务
#注:所有用户的计划任务,都会在/var/spool/cron/下产生对应的文件。只要看一下这个目录下的文件,就知道哪些用户生成了计划任务。
1.2系统级别计划任务
查看系统级别计划任务开机自动启动
黑客在系统级别的计划任务中追加木马
[root@localhost tmp]# ls /etc/cron #按两下tab
cron.d/ cron.daily/ cron.deny cron.hourly/ cron.monthly/ crontab
注:
crontab #写具体时间的系统级别的定时任务
cron.d/ #系统级别的定时任务
cron.daily/ #系统每天要执行的计划任务
cron.hourly/ #系统每小时要执行的计划任务
cron.monthly/ #系统每月要执行的计划任务
cron.weekly/ #系统每周要执行的计划任务
[root@localhost ~]# find /etc/cron* #查看可以添加系统级别的计划任务
/etc/cron.d
/etc/cron.d/0hourly
/etc/cron.d/raid-check
/etc/cron.d/sysstat
/etc/cron.daily
/etc/cron.daily/logrotate
/etc/cron.daily/man-db.cron
/etc/cron.daily/mlocate
/etc/cron.daily/certwatch
/etc/cron.deny
/etc/cron.hourly
/etc/cron.hourly/0anacron
/etc/cron.monthly
/etc/crontab
/etc/cron.weekly
例1:系统级别的计划任务
[root@localhost ~]# vim /etc/crontab #写具体时间的系统级别的定时任务
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
* * * * * root /bin/ls >>/tmp/rootxt.txt
~
例 2:添加系统级别的木马程序。可以追加到系统自带的脚本中,也可以自己新创建一个脚本,放到 对应的目录下
[root@localhost /]# vim /etc/cron.daily/logrotate
#!/bin/sh
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
/usr/bin/fregonnzkq & #这一行是添加的
exit 0
~
系统计划任务排查方法:利用 md5sum ,来检验文件的完整性
[root@localhost /]# md5sum /etc/cron.daily/logrotate
fdc63b7057623f10b657cdaf998222e6 /etc/cron.daily/logrotate
#修改一下文件的内容
[root@localhost /]# md5sum /etc/cron.daily/logrotate
1c39a6fd2b4590b1cbd071bc4febef3b /etc/cron.daily/logrotate
# MD5sum的值就发生了改变
注:所以通过对比 MD5 值,可以发现文件内容发生了变化。另外,系统级别的计划任务,从安装好 系统后,就固定下来,一般情况不会发生改变。
如何排查/etc/cron下所有文件有没有被黑客修改或追加? 思路:对所有文件都生成一个 md5 值库,后期进行对比,可以快速找出被修改的文件。 例: 对/etc/cron下所有文件都生成 md5 值,并存一个 md5 值
[root@localhost /]# find /etc/cron* -type f -exec md5sum {} \; > /usr/share/file_md5.v1
[root@localhost /]# cat /usr/share/file_md5.v1
1638f7fe39f7f52c412e1705a0bc52d1 /etc/cron.d/0hourly
367636170f3ac44df6a117e3cbf7e4ba /etc/cron.d/raid-check
b904bdae

最低0.47元/天 解锁文章
4307

被折叠的 条评论
为什么被折叠?



