赞
踩
大致可以分为三类:
1.勒索病毒
勒索病毒危害不言而喻,一旦中了勒索病毒,几乎很难破解,只能通过重装系统,数据备份恢复或者缴纳相应被勒索的比特币支付进行病毒解除。仍有一种比较渺茫的方式进行病毒解除,那就是溯源到攻击者,通过法律等手段抓捕该黑客,达到病毒解除的目的。但一般勒索病毒都是通过比特币的方式来进行金额交易,很难溯源的到,所以应对勒索病毒还是要以预防为主,数据备份为辅的方式。
2.挖矿进程
挖矿病毒的危害相对于勒索病毒小一些,因为他只是占用你服务器系统的CPU进行挖掘比特币,没有对你的实际利益造成太大威胁,可以通过杀死挖矿进程,排查维权方式(定时任务、隐藏用户等方式),排查被攻击的手段并修复漏洞的方式来应对挖矿病毒
3.webshell上传
webshell上传,大多是使用了中间件等服务,含有历史漏洞或者功能配置不当等形式出现,webshell能够非法获取服务器权限,常常配合勒索病毒以及挖矿病毒一起出现。因此,要及时更新中间件版本,打补丁等方式预防webshell上传。
1.信息收集:收集客户信息和中毒主机信息(开启了哪些端口和业务)
2.判断类型:判断是否属于安全事件,勒索、挖矿、DOS等
3.应急处置:是否需要隔离受害主机、断网等处置
4.判断分析:日志分析、进程分析、定时任务分析、启动项分析等
5.清理处置:将后门进程、Webshell文件、隐藏账户、启动项以及定时任务等排查清除
6.加固防御:打补丁、升级系统、关闭不必要的端口号等
7.溯源反制:通过入侵IP等信息对攻击者行为进行分析,公安备案或者封禁IP等行为
最长使用的应急响应的方法是审计日志等基于时间轴定位法的方式进行排查。
第一时间(异常发生时间)
确定异常(例如CPU爆满)发生时间,将其作为第一时间回溯反推
第二时间(攻击时间)
通过异常文件,异常用户,异常流量,日志等确定攻击成功时间作为第二时间
第三时间(攻击发起时间)
对所有信息进行分析,找出攻击发起时间并确定影响范围
以下是一些排查时用得到的命令
Windows入侵排查思路:
1.检查系统配置安全
检查服务器是否存在弱口令,端口开放情况(netstat -ano)
使用命令 lusrmgr.msc 命令查看服务器是否存在可疑账号、新增账号。
查看注册表或者使用D盾检查服务器是否存在隐藏账户、克隆账号等情况
在cmd中输入:net user查看是否有陌生用户
在cmd中输入:regedit 查找注册表分支:“HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users/Names/” 是否存在克隆用户
结合日志,通过分析管理员登录行为、登录时间是否村子异常。
检查方法:Win+R打开运行,输入“eventvwr.msc”,打开事件查看器,导出Windows日志-安 全,利用Log Parser进行分析。
系统日志包含Windows系统组件记录的时间。应用程序日志包含由应用程序或程序记录的事件安全日志包含登陆尝试次数等事件,以及与资源使用相关的事件,如创建、打开或删除文件或其他对象。
2.检测异常端口、进程
netstat -ano检查端口连接情况、是否有可疑外连等情况,对于可疑的端口号,通过tasklist | findstr "PID"定位其进程。
任务管理器-进程
进程查看工具:procexp.exe
3.检查启动项、计划任务、服务
启动项查看工具:autoruns.exe 计划任务查看,按下win+r键打开运行,输入taskschd.msc打开计划任务,查看是否存在异常
4.检查系统相关信息
使用systeminfo,查看系统信息,查看是否打了安全补丁
查找可疑目录以及文件
5.日志分析
开启的服务或者数据库被入侵,可以通过查看日志的形式进行分析
Windows常见命令:
当前用户:whoami ip地址:ipconfig 进程信息:tasklist 用户信息:net user 注册表:regedit 系统信息:systeminfo 网络连接:netstat
Windows常见文件、路径:
日志:%SystemRoot%/System32/Winevt/Logs 计划任务日志:C://Windows/System32/tasks temp文件夹:各盘符temp文件夹
Linux入侵排查思路:
1.账号安全
who 查看当前登录用户(tty本地登陆 pts远程登录)
w 查看系统信息,想知道某一时刻用户的行为
uptime 查看登陆多久、多少用户,负载a) 用户信息文件/etc/passwd
root:x:0:0:root:/root:/bin/bash
account:password:UID:GID:GECOS:directory:shell
用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell
注意:无密码只允许本机登陆,远程不允许登陆b) 影子文件/etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
/etc/passwd 存储一般的用户信息,任何人都可以访问;/etc/shadow 存储用户的密码信息,只有 root 用户可以访问
2.历史命令
root的历史命令 histroy
打开 /home 各帐号目录下的 .bash_history,查看普通帐号的历史命令历史操作命令的清除:history -c
但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_history文件中的记录
3.检查异常端口
netstat -antlp|more
ls -l /proc/$PID/XXX
file /proc/$PID/XXX
查看pid所对应的进程文件信息
4.检查异常进程
ps aux | grep pid
5.检查开机启动项
/etc/rc.local
/etc/rc.d/rc[0~6].d
6.检查定时任务
crontab -l 列出某个用户cron服务的详细内容
Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root
crontab -r 删除某个用户cront任务
crontab -e 使用编辑器编辑当前的crontab文件
7.检查服务
chkconfig --list
systemctl list-unit-files
查看系统运行的服务
8.检查异常文件
9.检查系统日志
10.其他常用命令
Linux常见命令:
查看当前系统状态 top
操作系统信息 uname -a
查看当前系统进程信息 ps
查看历史命令 history
列出本机所有的连接和监听的端口 netstat
查看谁在使用某个端口 lsof
查看当前用户登录系统情况 who
查看可登录的账户 cat/etc/passwd|grep ‘/bin/bash’
查看用户错误的登录信息 lastb
查看所有用户最后的登录信息 lastlog
查看用户最近登录信息 last
/var/log/ 其中,/var/log/wtmp 存储登录成功的信息、btmp存储登录失败的信息、utmp存储 当前正在登录的信息
查看超级权限账户awk -F: '$3==0 {print $1}' /etc/passwd
查看空口令账户 awk -F: 'length($2)==0 {print $1}' /etc/shadow
Linux常见文件、路径:
用户信息:/etc/passwd 日志:/var/log 计划任务:/etc/cron*
各类中间件日志、路径
Apache日志:
apache\logs\error.log apache\logs\access.log /etc/httpd/logs/access_log /var/log/httpd/access_log
Tomcat日志:
tomcat\access_log
Nginx:
/var/log/nginx/access.log nginx\logs\access.log /usr/local/nginx/logs
IIS日志:
C:\\inetpub\logs\LogFiles C:\\Windows\System32\LogFiles\W3SVC2
Apache应用默认路径:
/var/www/html apache/www
Tomcat应用默认路径:
tomcat/webapss
IIS应用默认路径:
C:\\inetpub\wwwroot
利用流量分析平台、应急响应相关工具的方式辅助排查。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。