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

0x01 攻击入口的查找

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

图示一 ssh爆破失败的图示

图示二 ssh爆破成功的图示

某服务器安全事件分析过程分析和总结_第1张图片


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内容

某服务器安全事件分析过程分析和总结_第2张图片

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


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

某服务器安全事件分析过程分析和总结_第3张图片

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文件时可执行文件而并非库文件,可以看出他们的区别,由于环境破坏了,就截了网页上的图了。

某服务器安全事件分析过程分析和总结_第4张图片

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

某服务器安全事件分析过程分析和总结_第5张图片

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

某服务器安全事件分析过程分析和总结_第6张图片

需要清理的文件和进程/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


你可能感兴趣的:(安全)