植入式攻击入侵检测解决方案
http://netkiller.github.io/journal/security.implants.html
Mr. Neo Chen (陈景峰), netkiller, BG7NYT
中国广东省深圳市龙华新区民治街道溪山美地
518131
+86 13113668890
+86 755 29812080<netkiller@msn.com>
版权 2014 http://netkiller.github.io
版权声明
转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。
|
|
2014-12-25
摘要
我的系列文档
目录
1. 什么是植入式攻击?
什么是植入式攻击,通俗的说就是挂马,通过各种手段将木马上传到你的系统,修改原有程序,或者伪装程序是你很难发现,常住系统等等。
2. 为什么骇客会在你的系统里面植入木马?
通常挂马攻击骇客都是有目的的很少会破坏你的系统,而是利用你的系统。
例如,使用你的网络作DDOS攻击,下载你的数据资料卖钱等等
3. 什么时候被挂马?
有时你到一家新公司,接手一堆烂摊子,俗称“擦屁股”。这是中国是离职,中国式裁员,中国式工作交接.....的结果,各种奇葩等着你。
你接手第一项工作就是工作交接,最重要的工作可能就是检查系统后门。通常工作交接少有积极配合的,全要靠你自己。
4. 在那里挂马的?
在我多年的工作中遇到过很多种形式挂马,有基于Linux的rootkit,有PHP脚本挂马,Java挂马,ASP挂马。通常骇客会植入数据库浏览工具,文件目录管理工具,压缩解压工具等等。
5. 谁会在你的系统里挂马?
98%是骇客入侵,1%是内人干的,1%是开后门仅仅为了工作方便。
本文对现有的系统无能为力,只能监控新的入侵植入
6. 怎样监控植入式攻击
6.1. 程序与数据分离
程序包括脚本,变异文件等等,通常是只读权限
数据是指由程序生成的文件,例如日志
将程序与数据分离,存放在不同目录,设置不同权限, 请关注“延伸阅读”中的文章,里面有详细介绍,这里略过。
我们这里关注一旦运行的程序被撰改怎么办,包括入侵进入与合法进入。总之我们要能快速知道那些程序文件被修改。前提是我们要将程序与数据分离,才能更好地监控程序目录。
6.2. 监控文件变化
我使用 Incron 监控文件变化
# yum install -y incron # systemctl enable incrond # systemctl start incrond
安装日志推送程序
$ git clone https://github.com/netkiller/logging.git $ cd logging $ python3 setup.py sdist $ python3 setup.py install
配置触发事件
# incrontab -e /etc IN_MODIFY /srv/bin/monitor.sh $@/$# /www IN_MODIFY /srv/bin/monitor.sh $@/$# # incrontab -l /etc IN_MODIFY /srv/bin/monitor.sh $@/$# /www IN_MODIFY /srv/bin/monitor.sh $@/$#
/srv/bin/monitor.sh 脚本
# cat /srv/bin/monitor.sh #!/bin/bash echo $@ | /usr/local/bin/rlog -d -H 172.16.0.10 -p 1220 --stdin
/etc 与 /www 目录中的任何文件被修改都回运行/srv/bin/monitor.sh脚本,/srv/bin/monitor.sh脚本通过/usr/local/bin/rlog程序将文件路径数据发给远程主机172.16.0.10。
6.3. 安装日志收集程序
$ git clone https://github.com/netkiller/logging.git $ cd logging $ python3 setup.py sdist $ python3 setup.py install
配置收集端端口,编辑文件logging/init.d/ucollection
done << EOF 1220 /backup/172.16.0.10/incron.log 1221 /backup/172.16.0.11/incron.log 1222 /backup/172.16.0.12/incron.log EOF
然后根据incron.log给相关管理人员发送邮件或短信警报等等,关于怎么发邮件与短信不再本文谈论范围,有兴趣留意我的官网。
7. 延伸阅读
http://netkiller.github.io/storage/incron.html