最新消息:

Linux下的入侵痕迹清理

安全知识 admin 5450浏览 0评论

自从注册了账号很久都木有发过帖子了,与其说平时太忙,不如说太懒了,所以趁着没什么事情,写了一篇关于日志的文章。本文没啥技术含量,伪造日至什么的太高端了,只是清除而已,大家当作科普文看就好了。

经常看大家写的一些文章,发现大家在渗透完之后都不怎么喜欢清除痕迹,而且还很喜欢留名留Q。在我看来,“渗透”就代表着悄无声息,如果让管理员发现你、 找到你的话,渗透就没有意义了。最近听说习大要发展信息安全,留下太多痕迹的话,要小心被警察叔叔请去喝茶的说Σ(゚д゚;)。

本文的痕迹清除以LAMP环境为背景,因为很久没日过站了,所以本地测试。

PS:Linux下的痕迹清除需要你拥有root权限,不过Linux要拿下服务器的话,一般都是EXP溢出然后弹回root权限,所以没问题~

首先是Apache日志,Apache主要的日志就是access.log 和error_log,前者记录了HTTTP的访问记录,后者记录了服务器的错误日志。根据Linux的distribution的不同和Apache的 版本的不同,文件的放置位置也是不同的,不过这些都可以在httpd.conf中找到。这里我的Apache日志目录分别为/var/log /apache/error_log 和/var/log/apache/access.log,我们看一下。
1.jpg

2.jpg

对于明文的Apache文件,通过正则表达式就可以搞定。

sed –i ‘s/192\.168\.1\.3/192\.168\.1\.4/g’ /var/log/apache/ access.log
sed –i ‘s/192\.168\.1\.3/192\.168\.1\.4/g’ /var/log/apache/error_log
#其中192.168.1.3是我们的IP,192.168.1.4使我们伪造的IP
#.在正则表达式中有特殊的含义,所以需要用\来进行转义

如果想要伪装成合法访问,那么可以通过grep来找到自己的记录,然后替换成合法记录。
这种命令太长了,不建议在bash中执行,可以写一个shell script。

然后就是MySQl的日志文件,这个我们可以在/etc/my.cnf中找到。

 [mysqld]
###此处省略N个字
log-error=/var/log/mysql/mysql_error.log    #错误日志
log=/var/log/mysql/mysql.log                       ###最好注释掉,会产生大量的日志,包括每一个执行的sql及环境变量的改变等等
log-bin=/var/log/mysql/mysql_bin.log          # 用于备份恢复,或主从复制.这里不涉及。 log-slow-queries=/var/log/mysql/mysql_slow.log  #慢查询日志

[mysqld_safe]
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

我们看一下慢查询日志。
3.jpg

Mysql的慢查询日志同上

sed –i ‘s/192\.168\.1\.3/192\.168\.1\.4/g’ /var/log/mysql/mysql_slow.log

至于二进制日志文件,需要登录mysql client来修改删除,建议这种操作最先执行。

接下来是PHP,在PHP5里,我们可以通过关闭display_errors后能够把错误信息记录下来,便于查找服务器运行的原因。可在php.ini内找到位置。

log_errors = On
error_log =/var/log/apache/php_error.log      ##这个是管理员自定义的,并没有确切的位置

php日志修改也同上。

sed –i ‘s/192\.168\.1\.3/192\.168\.1\.4/g’ /var/log/apache/php_error.log

最后就是Linux的日志文件了,这个比较多,记录的也比较复杂,我的环境是CentOS 6.3。
我现在只把和渗透有关的文件列出来。主要的你可以在/etc/logrotate.d/syslog中找到。
4.jpg

PS:由于Linux的distribution很多,所以基本上都是遵循FHS来定义目录,因此很多文件的地址并不一定如我所写。

/var/log/cron
该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作。该文件可能会查到一些反常的情况。
5.jpg

/var/log/maillog
该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动。它可以用来查看用户使用哪个系统发送工具或把数据发送到哪个系统。
6.jpg

/var/log/messages
该文件的格式是每一行包含日期、主机名、程序名,后面是包含PID或内核标识的方括号、一个冒号和一个空格,最后是消息。
7.jpg

/var/log/wtmp
该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息, 并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。(因为我的$LANG设置的为zh_CN,所以有的文件看 起开会有乱码)
8.jpg

/var/run/utmp
该日志文件记录有关当前登录的每个用户的信息。因此这个文件会随着用户登录和注销系统而不断变化,它只保留当时联机的用户记录,不会为用户保留永久的记 录。系统中需要查询当前用户状态的程序,如 who、w、users、finger等就需要访问这个文件。该日志文件并不能包括所有精确的信息,因为某些突发错误会终止用户登录会话,而系统没有及时 更新 utmp记录,因此该日志文件的记录不是百分之百值得信赖的。
9.jpg

/var/log/xferlog
该日志文件记录FTP会话,可以显示出用户向FTP服务器或从服务器拷贝了什么文件。该文件会显示用户拷贝到服务器上的用来入侵服务器的恶意程序,以及该用户拷贝了哪些文件供他使用。(本地未安装ftp,故未示例)

.bash_history
这是bash终端的命令记录,能够记录1000条最近执行过的命令(具体多少条可以配置),通过这个文件可以分析此前执行的命令来知道知否有入侵者。每一个用户的家目录里都有这么一个文件。
10.jpg

对于上述的系统日志文件,如果你有耐心,可以一个一个的来修改、伪装,不过对于彩笔的我来说,把和我自己的相关的统统删掉就好了。

 grep  –n  ‘ip’;grep  -n ‘time’    #####找到和自己ip相关的或者日起相关的行数
sed  –i  ‘2,5d’       #######删掉2-5行,具体可以自己定义

如果没有耐心一个一个删除的话,写一个shell script吧,具体参数可以根据情况修改该的说。

#!/bin/bash
#This shell script is used to clean web log
#Made by Orion

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

echo -e "Begin to clean log...\a\n"

find / | grep log | sed -i 's/192\.168\.1\.3/192\.168\.1\.4/g'
sed -i 's/192\.168\.1\.3/192\.168\.1\.4/g' /var/log/messages
sed -i 's/192\.168\.1\.3/192\.168\.1\.4/g' /var/log/maillog
sed -i 's/192\.168\.1\.3/192\.168\.1\.4/g' /var/log/secure
sed -i '1,10d' /var/log/wtmp
sed -i '1,10d' /var/run/utmp
sed -i '1,50d' /var/log/xferlog
sed -i '1,100d' ~/.bash_history

echo -e "Cleaning finshed\a\n"

另外,有的管理员可能给日志文件加上隐藏属性,这样的话我们是无法操作的。
例如:chattr附加的属性,无法删除,无法访问,无法修改等,遇到这样的我们可以用
Lsattr filename来看看是否有隐藏属性,如果有,可以用chattr –arg filename来消去。Arg为参数,最常用的arg为a和i。

最后一个就是文件时间。Ntime为文件内容更改时间,ctime为文件状态更改时间,atime为文件访问时间,有的管理员可能会根据文件的时间来判断是否遭到修改该,我们可以用touch命令来修改该,这里不细说了,毕竟日志文件基本时时刻更新的嘛⊙﹏⊙

以上就是我自己的经验看法,大家要是有什么看法也一起提出来吧~

 

转自:http://sb.f4ck.org/thread-17624-1-1.html

转载请注明:jinglingshu的博客 » Linux下的入侵痕迹清理

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址