淦、我的服务器又被攻击了
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》
最近老是有粉丝问我,被黑客攻击了,一定要拔网线吗?还有没有别的方法?
按理说,如果条件允许,一定是先拔网线,防止横向传播。
但很多时候并不能拔网线,比如云服务器这种,网线咱也碰不到呀。
实际上,遇到黑客攻击,并非只有拔网线这一条路,黑客也是人,只要他来攻击,就一定会留下蛛丝马迹。
接下来,我们从7个方向入手,讲解一下分析思路,了解黑客的攻击路径,甚至反制。
- 一、账户分析
- 1、排查可疑账户
- 2、登录情况
- 3、历史命令
- 二、日志分析
- 三、进程分析
- 1、查看进程
- 2、查看进程执行文件
- 四、网络连接
- 1、查看网络链接状态
- 2、威胁情报分析
- 五、启动项
- 1、开机启动文件
- 2、开机启动命令
- 3、环境变量配置文件
- 六、计划任务
- 七、敏感目录文件
- 1、近期被修改的文件
- 2、敏感目录
一、账户分析
/erc/passwd
文件存放用户信息。
/bin/bash 表示账户状态为可登录;/sbin/nologin 表示用户状态为不可登录。
/etc/group
文件存放用户组信息
1、排查可疑账户
重点排查id大于1000的用户(新建的用户,id会大于1000,系统用户均小于500)。
awk -F: '($2=="")' /etc/shadow
查找空口令账号
awk -F: '($3==0)' /etc/passwd
或 grep "0:0" /etc/passwd
查找UID为0的超级权限账号,确保只有root。
grep "/bin/bash" /etc/passwd
查找可登录的账号
2、登录情况
who -b
上一次启动时间
w
查看登录的用户(登录时间、登录IP、正在执行的程序)。
lastb
查看用户失败信息。
lastlog
查看所有用户最后登录的信息。
last
查看最近的登录信息(包含系统开关机)
3、历史命令
history
查看历史命令。( 会被 history -c
清除)。
/root/.bash_history
文件保存root用户的历史命令
/home/user001/.bash_history
文件保存普通用户的历史命令
history 的历史命令会被 history -c
清除,而 bash_history 文件中的历史命令需要删除文件才能清除。
重点查看可疑历史命令,比如:wget(远程下载),ssh(连接内网),tar zip(压缩打包)
针对重装带后门的SSH服务(内置一个账户,不在系统中显示),可以检查修改修改时间,或者 ssh -V
查看版本。
二、日志分析
Linux系统日志默认放在 /var/log/
- /var/log/cron 计划任务日志。
- /var/log/dmesg 开机自检日志(dmesg命令查看)。
- /var/log/maillog 邮件日志。
- /var/log/messages 系统日志(系统出现问题时,重点查看此日志)。
- /var/log/secure 应用的登录信息及输入的账号密码。
grep "Accepted" /var/log/secure
过滤登录成功的日志
grep "Failed" /var/log/secure
过滤登录失败的日志
/var/log/apache2/access.log
Apache访问日志
三、进程分析
重点关注那些结束后会重新启动的进程,按照启动项的步骤分析它重启的方式。
1、查看进程
ps -ef
查看所有进程
ps -aux
查看所有进程,同时显示CPU和内存的使用情况。
top
查看CPU占用特别高(80%以上)的进程,可能是挖矿或业务高峰。
kill -9 PID
根据PID结束进程。
2、查看进程执行文件
ls0f -p 1546
查看PID为1546的进程打开的文件,第三行是进程对应的执行文件。
ll /proc/1546/exe
查看PID为1546的进程对应的执行程序。
lsof -i:22
查看22端口对应的进程。
四、网络连接
检查可疑的网络连接,可疑IP、域名、文件可疑拿到威胁情报平台去分析。
1、查看网络链接状态
netstat -anopt
检查网络连接状态,LISTEN表示监听状态(等待连接);ESTABLISHED表示打开的连接。
如果已经知道恶意IP,可以过滤查看与恶意IP通信的网络连接 netstat -anopt | grep 192.168.31.28
。
如果只知道恶意域名,可以修改 /etc/hosts
文件,将恶意域名重定向到其他任意IP,然后再过滤跟这个IP通信的网络连接。
2、威胁情报分析
威胁情报平台可以查询域名、IP、文件的可信度,存在攻击痕迹就立即封禁。
奇安信威胁情报:https://ti.qianxin.com/
微步在线:https://x.threatbook.com/
VirusTotal:https://www.virustotal.com/gui/home/upload
安恒威胁情报:https://ti.dbappsecurity.com.cn/
深信服威胁情报:https://ti.sangfor.com.cn/analysis-platform
VenusEye威胁情报:https://www.venuseye.com.cn/
360威胁情报:https://ti.360.net/#/homepage
五、启动项
为了防止被控机器失联,很多恶意程序会将自己放到开机启动项中。
1、开机启动文件
检查是否有异常的自启动文件,同时注意文件内容是否被篡改,插入恶意指令。
1)/etc/rc.local
最后一行是脚本,开机引导期间执行。
/etc/rc.local
是 /etc/rc.d/rc.local
的软连接,两个文件作用相同。
2)/etc/init.d/
目录下有很多系统服务的启动脚本,在系统启动(引导完成)后执行。
/etc/init.d/
是 /etc/rc.d/init.d/
的软连接,两个文件作用相同。
Ubuntu没有 /etc/rc.d/init.d
这个目录,为了保持同一种服务在CentOS和Ubuntu使用的统一性,将服务脚本都放在 /etc/init.d
目录下。
3)/etc/rc*.d
检查其他开机启动目录中,服务启动脚本是否被篡改。
2、开机启动命令
systemctl list-unit-files
查看服务状态
systemctl list-unit-files | grep firewalld
查看指定服务状态
systemctl stop firewalld.service
停止服务
systemctl disable firewalld.service
禁止开机自启动
查看服务启动状态,enabled表示能够开机自启动;disabled表示不能开机自启动。
查看指定服务是否开机自启动,并关闭开机自启动。
3、环境变量配置文件
这些文件用来配置环境变量和启动程序,开机登录用户或者切换用户时触发。
- /etc/bashrc
- /etc/profile
- ~/.bashrc
- ~/.bash_profile
六、计划任务
crontab -l
查看当前用户的计划任务。
crontab -l -u root
查看指定用户的计划任务。
/etc/crontab
保存定时任务
/etc/anacrontab
保存异步定时任务
/var/spool/cron/
目录存放每个用户的的定时任务。
/etc/cron.d
目录存放需要执行的定时任务文件。
/etc/cron.hourly/
每小时执行一次的任务
/etc/cron.daily/
每天执行一次的任务
/etc/cron.weekly/
每周执行一次的任务
/etc/cron.monthly/
每月执行一次的任务
七、敏感目录文件
webshell通常会包含恶意函数,比如:
- PHP:eval()、system()、assert()
- JSP:getRunTime()、FileOutputStream()
- ASP:eval()、execute()、ExecuteGlobal()
寻找可疑文件,并检查文件中是否包含这类恶意函数,从而确定它是不是webshell。
1、近期被修改的文件
find /root/ -ctime -2
查找/root/目录下,两天内新创建的文件。
find /root/ -mtime -2
查找/root/目录下,两天内被修改过的文件。
stat text.txt
查看文件的详细信息,重点看访问/修改/时间。
ls -alt
按照文件修改时间排序
2、敏感目录
/tmp/ 临时目录,普通用户对其目录内的文件都具有读写的权限,通常用于提权。
/usr/bin/
/usr/sbin/
/etc/ssh/
总结:
应急响应思路大致分为三个部分:
- 找到webshell
- 确定攻击IP
- 回溯攻击操作并梳理攻击过程。
淦、我的服务器又被攻击了相关推荐
- 服务器被攻击怎么修改,服务器一直被攻击怎么办?
原标题:服务器一直被攻击怎么办? 有很多人问说,网站一直被攻击,什么被挂马,什么被黑,每天一早打开网站,总是会出现各种各样的问题,这着实让站长们揪心.从修改服务器管理账号开始,到修改远程端口,什么措施 ...
- 服务器经常被攻击怎么办?这7个重要因素要做好!
有很多人经常会遇到这样的问题,平台网站始终被恶意攻击,什么被挂马,什么被黑,每日一大早打开网站,老是会发生各式各样的难题,这确实让网站站长们烦恼.从改动服务器管理账户开始,到改动远程端口,什么对策都进 ...
- 服务器一直被攻击怎么办?
有很多人问说,网站一直被攻击,什么被挂马,什么被黑,每天一早打开网站,总是会出现各种各样的问题,这着实让站长们揪心.从修改服务器管理账号开始,到修改远程端口,什么措施都做了,还是会被攻击挂马. 服务器 ...
- 服务器经常被攻击怎么办
服务器经常被攻击怎么办?服务器常被攻击表明很可能存在安全漏洞,建议及时查找漏洞,安装补丁.升级系统,并做好服务器的日常防护. 1.设置复杂密码 不要小看密码设置,其对于保持在线安全和保护数据至关重要. ...
- 服务器老被攻击?如何避免服务器被恶意攻击?
服务器老被攻击?很多互联网从业者们都会遇到服务器被攻击的情况,要么是因为同行恶意竞争,故意使绊子;要么是某些专业黑客团队通过攻击,来达到勒索钱财的目的,那么我们该如何避免服务器被恶意攻击呢?或者再服务 ...
- 服务器老被攻击,该如何解决?
服务器老被攻击?很多互联网从业者们都会遇到服务器被攻击的情况,要么是因为同行恶意竞争,故意使绊子;要么是某些专业黑客团队通过攻击,来达到勒索钱财的目的,那么我们该如何避免服务器被恶意攻击呢?或者再服务 ...
- 判断Linux服务器是否被攻击以及相应的预防措施
一.前言 随着现代互联网科技的快速发展,网络服务器的安全也逐渐成为各大企业开始关注的焦点.服务器后台的安全保证关系着整个网络数据的命脉,所以服务器的安全防范也逐渐称为各大企业关注的重点. 其中较为常见 ...
- 游戏服务器为什么被攻击,游戏服务器防御方法
游戏服务器不管是个人的还是企业的,被攻击都是,很常见的,在所难免的.特别是游戏新上线时,都要承受的住哪些外来压力,玩家突然猛增,被攻击等等.如果承受不住可能会直接宣布游戏倒闭.这里我们一起来说说游戏服 ...
- 服务器为什么被攻击?服务器攻击进黑洞是怎么解决?
可能很多人会说我业务也不怎么运营,或者才刚开始运营不会有黑客攻击我的服务器.其实不管哪个行业,安全系统差的服务器都会有人去批量攻击.互联网上无时无刻都有人在扫全网服务器,只要有问题就不能幸免,起码可以 ...
最新文章
- spark 算子例子_10年大数据架构师,用一文带你玩转Spark计算框架,你能读懂吗?...
- MySQL InnoDB锁
- 拥有特殊闭合标签的标签
- 2给我背书_让优秀的人做你的背书人
- 如果世界上只有一种数据结构,那么我选择 hash
- python linux 优化_Python 代码性能优化技巧
- ArcGIS Desktop新建postgresql版sde(10.4.1)的连接
- 项目总结——机房收费系统合作版
- Linux就该这么学第0章 咱们先来谈谈学习方法和红帽系统。
- virtual关键字的使用(C# 参考)
- linux下运行class,在Linux下可用Wine安装和运行AIclass、希沃白板5
- Activities 四大组件之一
- 小米11青春版 MIUI12安装谷歌条件GMS点击登录没反应的解决办法
- 高二计算机考试题库和答案,2017计算机基础考试题库及答案
- C++Primer_Chap16_模板和泛型编程_List01_定义模板_笔记
- MIPI CSI-2笔记(12) -- Low Level Protocol(数据加扰,扰码,Data Scrambling)
- win7系统64位MSCOMCTL.OCX丢失或无效解决办法
- 模拟微博用户注册的程序【使用了HashSet集合实现】
- Syn Flood 攻击
- input下拉选择框可以自行输入也可以下拉选择
热门文章
- 【论文解读--触地检测+FSM状态切换】(猎豹 3)Contact Model Fusion for Event-Based Locomotion in Unstructured Terrains
- 炒外汇连续亏损的解决方法
- windows下c/c++创建Java虚拟机加载可执行jar包
- Android之消息推送实现
- 固定于计算机主机箱中承载,一种工业用计算机卧式主机机箱的制作方法
- 完成数据的打通-豌豆荚被阿里巴巴收购后的168天
- gatsby 安装失败
- linux设置网络自动连接网络设置密码,设置Linux网络开机自动连接
- 美化QFileDialog
- linux 下删除pg数据库,PostgreSQL删除数据库