您的位置:首页 > 其它

某服务器安全事件分析过程分析和总结

2016-07-26 18:39 204 查看
0x01 攻击入口的查找

首先我们分析可能遭到攻击的服务。根据服务器上面正在开启的服务,总结了如下服务可能遭受攻击。有开放的22端口ssh服务,开放80端口的http服务,以及开防3306端口mysql服务等。经过查看mysql日志,发现攻击时段并没有被攻击的日志,而且mysql数据库禁止外部ip进行连接的,所以我们排除了从mysql数据库攻击的行为。对http服务的日志进行查找,发现23日对http服务器进行了大量的扫描,但是并没有攻击成功的请求。分析过ssh登录的日志后,发现的大量的22端口的爆破日志,最后更具grep查session关键词发现爆破成功的外部ip地址,到此,如果的源头我们大致找到了。

图示一 ssh爆破失败的图示



图示二 ssh爆破成功的图示



0x02木马行为分析

木马的行为是对某个ip进行syn flood攻击,也就是DOS攻击,并执行一些像ls,cd之类常见的命令,同时在查看进行发现里面表现为随机的10位字母的进程,且杀死该进程后,会再随机产生一个新的进程。

图示三为抓包的攻击图,发现他会像一个ip疯狂的发送TCP数据包,也就是我们说的dos攻击。



图示四位查看进程时发现进程会执行一些常用的命令,执行命令这些命令的目的是混淆我们查询的线索。不过刚开始分析时确实疑惑为什么执行了这些命令。



同时一位同事定位到进程/usr/bin/oczvmysyyj为可疑进程,并对其进行kill,但是杀死这个进程之后,又会间隔一段时间随机产生新的进程,通过top命令查看可知。由于入侵进服务器器的时间是凌晨左右,我的一个思路是查找成功之后新增或修改的文件,看是否能对木马进行定位和查找。使用find path -ctime -n发现创建的文件太多且观察时间也不太直观,就是还有了ls -ltrh逐个文件夹进行查看增加的文件。最后根据入侵的时间,查找到ctontab和gcc.sh文件在凌晨进行了修改。于是就对这两个可疑文件进行了分析。

图示五利用命令查看 /etc/crontab内容



图示我们查看的文件时定时任务最后一列的意思是每3分钟执行一次gcc.sh这个文件。那么我们再分析下gcc.sh这个文件。

图示六利用命令查看 /etc/cron.hourly/gcc.sh内容



for i in `cat /proc/net/dev|grep :|awk -F: {'print $1'}`; do ifconfig $i up& done


这句shell的作用是激活全部的网卡,而/lib/libudev.so.6库文件其实是可以执行的文件。其实这个文件也是dos攻击的源头。

图示七 /lib/libudev.so.6文件时可执行文件而并非库文件,可以看出他们的区别,由于环境破坏了,就截了网页上的图了。



扫搜关键字对木马信息进行查找,发现很多网站页收到了类似的攻击。然后我们以为禁用以上文件就可以的时候,然而并没有我们想象的那么简单,不是我们太天真,而是黑客太狡猾。下面还是那位同事的分析过程,我们才完全了解这个木马运行原理,我简单描述一下。利用strace 命令,跟踪这个木马程序做了什么。具体过程是libudev.so文件负责攻击,木马程序/usr/bin/zpmmbthegp(名字每次会变化)会负责生成crontab、libudev.so、gcc.sh等其它文件并不断产生新的木马进程。它是自复制和感染的,并写在了启动项中自动开机启动。

图示八是跟踪的过程图



图示九是启动项下感染和繁殖的程序



需要清理的文件和进程/etc/rc*.d,/etc/crontab, /etct/cont.*/xx.sh, /usr/bin/伪装二进制命令,lib包,lsof命令拿出pid并kill掉木马进程。到此,木马的分析结束。

0x03安全时间流程总结

总结了这次和网上一下安全事件分析的流程。供大家参考

1、cat /etc/passwd 查看是否有可疑用户。

2、netstat -anp ps top等命令 查看所有连接、进程及pid号,是否有异常连接或进程。

3、cat /etc/profile和cat /root/.bashrc和cat /home/用户/.bashrc 查看系统环境变量和各用户的系统变量。

4、ls -al /etc/rc*.d 查看开机启动程序

5、crontab 检查计划任务文件。

6、查看系统日志。主要是/var/log/messages(进程日志)、/var/log/secure.*(系统登录成功失败日志)  who /var/log/wtmp(系统登录成功用户) who /var/log/bmtp

(系统登录失败日志)、lastlog(查看用户最后的登录时间)等等。

7、history 查看命令历史。cat /home/用户/.bash_history 查看各用户命令记录

8、其他服务,http服务access.log和error.log日志,mysql的用户登录日志,其他相关服务日志等。

9、查看最近创建和修改的文件,如果查根目录下文件会太多,可以重点查web服务目录、/etc、/lib、/home、/usr等目录下最新创建和修改的文件。

下面是常用的命令。

查找某个特定文件特征码的文件:find 目录 -name "*.sh" |xargs grep "特征码" |more

查看最新3天内修改的文件,find 目录 -mtime 0 -o -mtime 1 -o -mtime 2

近三天内修改的sh结尾的文件 find 目录 -mtime 0 -o -mtime 1 -o -mtime 2 -name "*.sh" (创建的文件参数改为-ctime即可)

0x04用到的命令总结

tcpdump linux下抓包工具

lsof 定位主进程位置

top 观察异常进程情况

ps 查看服务器进程

top 里面可以观察到进程

netstat 查看服务器开放端口命令

strace 跟踪程序执行的过程命令

file 检查文件类型

find 查找文件的命令

其他相关命令

0x05参考文章总结
http://www.wtoutiao.com/a/1830694.html http://www.cnlvzi.com/index.php/Index/article/id/176 http://www.wtoutiao.com/a/1830694.html https://www.dwhd.org/20150908_191437.html?mType=Group http://blog.csdn.net/cleanfield/article/details/51316178 http://www.220idc.net/?id=26 http://www.2cto.com/Article/201606/518592.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: