目录
1.应急响应基本思路流程
1.window入侵排查
1.1 检查系统账号安全
1.2 检查异常端口、进程
1.3检查启动项、计划任务、服务
1.4 检查系统相关信息
1.5 自动化查杀
1.6 日志分析
2.Linux入侵排查
账号安全
检查异常端口
检查异常进程
检查开机启动项
检查定时任务
检查服务
检查异常文件
检查系统日志
0x02 工具篇
2.1 Rootkit查杀
2.12病毒查杀
2.3 webshell查杀
2.4 RPMcheck检查
2.5linux安全检查脚本
3.常见的Webshell查杀工具
4:如何在百万行代码里发现隐藏
收集信息:收集客户信息和中毒主机信息,包括样本
判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS 等等
抑制范围:隔离使受害⾯不继续扩⼤
深入分析:日志分析、进程分析、启动项分析、样本分析方便后期溯源
清理处置:杀掉进程,删除文件,打补丁,删除异常系统服务,清除后门账号防止事件扩大,处理完毕后恢复生产
产出报告:整理并输出完整的安全事件报告
常见的应急响应事件分类:
web入侵:网页挂马、主页篡改、Webshell
系统入侵:病毒木马、勒索软件、远控后门
网络攻击:DDOS攻击、DNS劫持、ARP欺骗
4步:
1、查看服务器是否有弱口令,远程管理端口是否对公网开放。检查方法:据实际情况咨询相关服务器管理员。
2、查看服务器是否存在可疑账号、新增账号。
检查方法:打开 cmd 窗口,输入lusrmgr.msc 命令,查看是否有新增/可疑的账号,如有管理员群组的
(Administrators)里的新增账户,如有,请立即禁用或删除掉。
3、查看服务器是否存在隐藏账号、克隆账号。检查方法:
a、打开注册表 ,查看管理员对应键值。
b、使用D盾_web查杀工具,集成了对克隆账号检测的功能。
在cmd中输入:net user 看看有没有陌生用户
在cmd中输入:regedit 找到注册表分支 “HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users/Names/”看看有没有克隆用户
4、结合日志,查看管理员登录时间、用户名是否存在异常。检查方法:
a、Win+R打开运行,输入“eventvwr.msc”,回车运行,打开“事件查看器”。
b、导出Windows日志--安全,利用Log Parser进行分析。
2步:
1、检查端口连接情况,是否有远程连接、可疑连接。检查方法:
a、netstat -ano 查看目前的网络连接,定位可疑的ESTABLISHED
b、根据netstat 定位出的pid,再通过tasklist命令进行进程定位 tasklist | findstr “PID”
2、进程
检查方法:
a、开始--运行--输入msinfo32,依次点击“软件环境→正在运行任务”就可以查看到进程的详细信息,比如进程路径、进程ID、文件创建日期、启动时间等。
b、打开D盾_web查杀工具,进程查看,关注没有签名信息的进程。
c、通过微软官方提供的 Process Explorer 等工具进行排查 。
d、查看可疑的进程及其子进程。
1、检查服务器是否有异常的启动项。检查方法:ctrl x t 或者msconfig——>启动
有异常,结束他们并可用everying查找删除相关文件,并检查注册表,有问题可以用uninstall tool工具删除。
2、检查计划任务
检查方法:
a、单击【开始】>【设置】>【控制面板】>【任务计划】,查看计划任务属性,便可以发现木马文件的路径。
b、单击【开始】>【运行】;输入 cmd,然后输入at,检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接。
3、服务自启动
检查方法:单击【开始】>【运行】,输入services.msc,注意服务状态和启动类型,检查是否有异常服务。
3步
1、查看系统版本以及补丁信息
检查方法:单击【开始】>【运行】,输入systeminfo,查看系统信息
2、查找可疑目录及文件检查方法:
a、 查看用户目录,新建账号会在这个目录生成一个用户目录,查看是否有新建用户目录。
Window 2003 C:\Documents and Settings
Window 2008R2 C:\Users\
b、单击【开始】>【运行】,输入%UserProfile%\Recent,(win10不行)分析最近打开分析可疑文件。
c、在服务器各个目录,可根据文件夹内文件列表时间进行排序,查找可疑文件。
d、回收站、浏览器下载目录、浏览器历史记录
e、修改时间在创建时间之前的为可疑文件
3、得到发现WEBSHELL、远控木马的创建时间,如何找出同一时间范围内创建的文件?
a、利用 Registry Workshop 注册表编辑器的搜索功能,可以找到最后写入时间区间的文件。
b、利用计算机自带文件搜索功能,指定修改时间进行搜索。
病毒查杀
检查方法:下载安全软件,更新最新病毒库,进行全盘扫描。
webshell查杀
检查方法:选择具体站点路径进行webshell查杀,建议使用两款webshell查杀工具同时查杀,可相互补充规则库的不足。
系统日志用Log Parser
web日志
分析方法:
a、找到中间件的web日志,打包到本地方便进行分析。
b、推荐工具:Window下,推荐用 EmEditor 进行日志分析,支持大文本,搜索效率还不错。
Linux下,使用Shell命令组合查询分析
基本使用
1 、 用 户 信 息 文 件 /etc/passwd
2 、 影 子 文 件 /etc/shadow
who查看当前登录用户(tty本地登陆pts远程登录)
w查看系统信息,想知道某一时刻用户的行为uptime查看登陆多久、多少用户,负载
入侵排查:
1、查询特权用户特权用户(uid 为0)
[[email protected] ~]# awk -F: '$3==0{print $1}' /etc/passwd
2、查询可以远程登录的帐号信息
[[email protected] ~]# awk '/\$1|\$6/{print $1}' /etc/shadow
3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限[[email protected] ~]# more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
4、禁用或删除多余及可疑的帐号
usermod -L user 禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
userdel user 删除user用户
userdel -r user 将删除user用户,并且将/home目录下的user目录一并删除
历史命令基本使用
history
history -c
netstat -antlp|more
查看下pid所对应的进程文件路径,
运行ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)
使用ps命令,分析进程
ps aux | grep pid
当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链 接即可
入侵排查:
启动项文件: more /etc/rc.local /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d/
基本使用
1、利用crontab创建计划任务基本命令
crontab -l 列出某个用户cron服务的详细内容
Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root crontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务)
crontab -e 使用编辑器编辑当前的crontab文件
如:*/1 * * * * echo "hello world" >> /tmp/test.txt 每分钟写入文件
2、利用anacron实现异步定时任务调度使用案例
每天运行 /home/backup.sh脚本: vi /etc/anacrontab @daily 10 example.daily /bin/bash /home/backup.sh 当机器在 backup.sh 期望被运行时是关机的,anacron会在机器开机十分钟之后运行它,而不用再等待 7天。
入侵排查
重点关注以下目录中是否存在恶意脚本
/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*上面目录都是与 Linux 系统中的定时任务(cron)相关的目录 。定时任务是一种在指定时间或周期执行某些命令或脚本的功能。每个目录的作用如下:
• /var/spool/cron/* :存放每个用户(包括 root)的 crontab 文件,每个文件以用户名命名,用于定义用户自己的定时任务 。
• /etc/crontab :系统级别的 crontab 文件,由 root 用户管理,用于定义系统级别的定时任务 。
• /etc/cron.d/* :存放一些特殊格式的 crontab 文件,可以被 /etc/crontab 文件引用,也可以单独运行
• /etc/cron.daily/* ,/etc/cron.hourly/* ,/etc/cron.monthly/* ,/etc/cron.weekly/ :存放按照日、小时、月、周周期执行的脚本文件 。
• /etc/anacrontab :anacron 是 cron 的一个补充工具,用于在系统没有运行或关机时执行错过的定时任务 。这个文件用于定义 anacron 的配置和任务
• /var/spool/anacron/* :存放 anacron 的时间戳文件,记录上次执行任务的时间
服务自启动
第一种修改方法:
chkconfig [--level 运行级别] [独立服务名] [on|off]
chkconfig –level 2345 httpd on
开启自启动chkconfig httpd on (默认level是2345)
入侵排查
1、查询已安装的服务:
RPM包安装的服务
chkconfig --list 查看服务自启动状态,可以看到所有的RPM包安装的服务
ps aux | grep crond 查看当前服务
1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性
2、得到发现WEBSHELL、远控木马的创建时间,如何找出同一时间范围内创建的文件?
可以使用find命令来查找,如 find /opt -iname "*" -atime 1 -type f 找出 /opt 下一天前访问过的文件
3、针对可疑文件可以使用stat进行创建修改时间。
日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
chkrootkit
网址:http://www.chkrootkit.org
rkhunter
http://rkhunter.sourceforge.net
Clamav
ClamAV的官方下载地址为:http://www.clamav.net/download.html
linux版:
河马webshell查杀:http://www.shellpub.com
深信服Webshell网站后门检测工具:http://edr.sangfor.com.cn/backdoor_detection.html
系统完整性可以通过rpm自带的-Va来校验检查所有的rpm软件包,查看哪些命令是否被替换了:
./rpm -Va > rpm.log
在线查杀地址:https://scanner.baidu.com/
兼容性:支持Windows、linux,支持在线查杀。官方网站:https://www.shellpub.com/
Webshell Detector具有“ Webshell”签名数据库,可帮助识别高达99%的“ Webshell”。兼容性:提供php/python脚本,可跨平台,在线检测。
官方网站:http://www.shelldetector.com/
在线查杀地址:http://tools.bugscaner.com/killwebshell/
文件完整性验证
粗略:windows命令界面中CertUtil -hashfile 文件路径 +算法(
支持的算法有:MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512
)
详细:
在linux中,我们经常使用diff来比较两个文本文件的差异。同样,我们可以通过一行命令快速找出两个项目文件的差异。
diff -c -a -r cms1 cms2
(备注:如果只是想查看两个文件是否不同又不想显示差异之处的话,可以加上-q选项。)
版本控制工具,比如说git,重新上传代码到git,add+commit+push,然后打开项目,点击commits,在历史提交版本 里面,查看文件更改内容,很容易就可以发现代码被篡改的地方了。
另外,也可以通过git diff 用来比较文件之间的不同。
本文作者:木良辰666, 转载请注明来自FreeBuf.COM