**0x00**html
应急响应服务是指为了应对各类意外事件的发生所作的准备以及在事件发生后所采起的措施的服务。例如:系统被入侵、重要信息被窃取、系统拒绝服务、网络流量异常等。mysql
应急响应的目标是:采起紧急措施和行动,恢复业务到正常状态;调查安全事件发生的缘由,避免同类事件再次发生;在须要司法机关介入时,提供法律承认的数字证据。应急响应是一项须要充分准备并严密组织的工做,开展调查工做的过程当中,要避免不正确的步骤或者遗漏重要步骤对系统产生新的影响。这就须要掌握必定的追踪能力、沟通能力的专业安全人员参与。安全厂商常年研究安全技术、实时跟踪安全动态,对分析和解决各种安全事件有成熟的技术手段和丰富的经验,能为其客户提供可靠的技术服务支持。
关于应急响应国内的技术流程已是很完善了,可是不少甲乙双方也有不少的不一样点和侧重点。看过不少总结性文章,多是基于篇幅不宜过大的缘由,不少的文章都是侧重于具体技术分析。正好前段时间有帮客户作个一个应急响应的case就入门式的来写点总结性文章。文章也秉承我一直以来的想法甲方思惟乙方手段来解决问题。每一次的应急响应客户不只仅只是须要一个简单的应急和服务的可用性,更重要的是对黑客行为的全面分析,以资产为核心来分析黑客思惟,尽量明白整个事件的来龙去脉以及后续的安全排查加固等措施。我将现行的应急响应从性质主要分为定性,取证,分析 ,二次定性,总结(木马清除加固反思等)四个大类步骤。从业务流程方式能够分为调查,评估,抑制,分析,恢复以及报告的流程。可能这也只是第一期以后有机会再详细的分解。因为疏忽可能有不全或者错误之处还望多多指正。linux
**0x01 一次分析**git
在开始接触应急业务的时候在和客户没有沟通,甚至没有彻底清楚事件发生时间点和实际形成的破坏面时候就冒然下手,各类读日志查进程各类杂乱的进行分析,这样形成的结果是彻底的毫无头绪看到什么分析什么,手法极其不专业。在应急的过程当中若是是身为乙方人员协助的状况下,更应该耐心和甲方人员认真负责的详细询问整起事件的详细内容,作好预判攻击性质。通常状况下的攻击性质能够分为如下几种:
github
一般事件的发生不会是单一的,从源头出发肯定事件发生时间范围以此为时间点范围肯定事件发生影响来对事件进行一次定性。以此来迅速找出关键性排查点,以尽快恢复业务正常化为首要目标。在实施过程当中严格规范操做流程进行以后进行进一步的取证分析溯源和后续处理。web
0x02 取证sql
不少大学都设立了取证分析一门专业,在司法等场景中取证是尤其关键的一个环节,工做中不少人每每比较忽视这一点,多数人寄但愿与能够经过溯源手段去得到攻击者的真实信息,通过攻击者的层层假装和痕迹清理以后这样的状况下溯源在没有大量数据的支持下能够找到攻击者的可能性微乎其微。为了防止攻击者清理攻击痕迹,说点题外话对于日志保存机制等问题,这里推荐的解决办法就是同步备份,相似于银行对数据的异地容灾备份机制同样,采用双备份的状况下被攻击者毁尸灭迹以后也能够有源可查(效果不错的日志等信息备份系统推荐:evtsys,kiwi syslog deamon)。若是经过溯源后获得攻击者信息而后经过法律手段来进行维权,在通过多重分析以后的原数据可能已经面目全非。因此第一步的取证尤其重要。在Acpo(Association of Chief Police Officers )对取证提出了四个原则而我也建议从事应急响应的人员在取证时应该遵循如下这四个原则:
1: 存储在计算机或存储介质数据不能被修改或变动,由于这些数据可能之后会在法庭上做为证据提出。
2: 一我的必须足以胜任处理计算机或存储介质上的原始数据,若是有必要,也应该可以给本身的行为的相关性和过程的证据的解释。
3: 基于电子取证过程的全部审计追踪和其余文档须要被建立和保存。一个独立的第三方可以检查这些过程并能获取相同的结果。
4: 负责取证的我的必须在法律和ACPO的原则下全面负责取证过程
该标准中对取证有较为深入的理解,限于我不想把这篇文章写的太”鸡汤”的感受,故在此打住。但愿深刻了解的人能够自行取读。
有本2009年出版的书《Windows Forensics and Incident Recovery》虽然年代久远不过不少内容仍是值得一读。为了在取证过程当中不会破坏和修改硬盘原有数据的完整性,经过硬盘复制机将鉴材硬盘中的内容复制到备份硬盘中。因为这种复制是位对位的复制,鉴材硬盘中的内容会在备份硬盘中彻底的反映出来,不会丢失、遗漏也不会被修改,这样就能够保证经过对备份硬盘的操做达成鉴定工做。经过克隆方式进行计算机证据鉴定,注意加上数字签名和MD5校验,以证实原始计算机证据没有被改变,而且整个鉴定过程能够重现。证据分析过程不会被故意篡改,对有可能形成数据变化的操做须要记录鉴定人员实施可能会形成的影响。因为网络的特色致使电子证据的分布性,电子证据不只仅会在计算机文件中被发现,在与之关联的服务器聊天记录网络流量等也有可能会出现,应该不遗漏其真实性。固然对内存等信息的取证也不容忽略,在Linux系统下内存取证工具Volatility,在windows平台下国产软件SmartMFT(www.jnsnt.com)能够达到很好的效果。简单一句话归纳的就是必定要全面从每一个文件到内存数据能全则全,而后对原有内容进行分析。shell
**0x03 分析**windows
1.侧重点分析:
经过对事件的定性以及取证后咱们能够有选择的先分析重点内容,基本的排查分析思路以下图所示,
安全
这里建议首先采用最短路径从一次定性中获取到的信息进行定量分析,对应事件类型为主要点以此分析,以后再对其余点进行全量分析。尤为对已经进入服务器或得到webshell的事件应该尤其警戒,建议服务恢复后更加全面细致的排查后门和隐患。下图是对应不一样事件性质能够辅助排查的工具。
2.重点文件分析
经过第一次定性分析后的结果,判断攻击类型所对应应重点分析排查点,尽快解决问题尽快恢复系统正常上线再进行全量分析。
Linux平台下应该额外注意点:
文件类:passwd文件,shadow文件,uid信息,ssh文件谨防SSH后门,host,rpm包(./rpm -Va > rpm.log).bash_history等。
日志类:message日志, cron日志,Shell日志,ecure日志,last日志
/var/log/secure,/ar/log/wtmp,var/log/message:jihu
/var/log/secure:记录登陆系统存取数据的文件,例如pop3,ssh,telnet,ftp等都会记录在此.
/ar/log/wtmp:记录登陆这的信息记录,被编码过,因此必须以last解析;
/var/log/message:jihu全部的开机系统发生的错误都会在此记录;
/var/log.boot.log:记录一些开机或者关机启动的一些服务显示的启动或者关闭的信息;
/var/log/maillog:记录邮件的存取和往来;
/var/log/cron:用来记录crontab这个服务的内容;
/var/log/httpd,
/var/log/mysqld.log等等文件,记录几个不一样的网络服务的记录文件;
/var/log/acpid ,ACPI - Advanced Configuration and Power Interface,表示高级配置和电源管理接口。 后面的 d 表示 deamon 。 acpid 也就是 the ACPI event daemon 。 也就是 acpi 的消息进程。用来控制、获取、管理 acpi 的状态的服务程序。
/var/run/utmp 记录着如今登陆的用户;
/var/log/lastlog 记录每一个用户最后的登陆信息;
/var/log/btmp 记录错误的登陆尝试;
/var/log/dmesg内核日志;
/var/log/cpus CPU的处理信息;
/var/log/syslog 事件记录监控程序日志;
/var/log/auth.log 用户认证日志;
/var/log/daemon.log 系统进程日志;
/var/log/mail.err 邮件错误信息;
/var/log/mail.info 邮件信息;
/var/log/mail.warn 邮件警告信息;
/var/log/daemon.log 系统监控程序产生的信息;
/var/log/kern 内核产生的信息;
/var/log/lpr 行打印机假脱机系统产生的信息;
Access.log
Error.log
Windows平台下应该额外注意点:
文件类:本地用户和组,检查克隆用户(LP_Check.exe),Local Settings\History,\Local Settings\Temp,\Temporary Internet Files,host等。
日志类:应用程序日志,安全性日志,系统日志(eventvwr)。
Web服务器:
文件类:恶意木马,cmd,webshell等。
日志类:服务器日志等。
#关于服务器日志分析能够参考这篇文章https://xianzhi.aliyun.com/forum/read/1723.html
3.全面分析
①进程分析
Windows:Pchunter
Linux: Chkrootkit&Rkhunter
隐藏进程查看
ps -ef | awk '{print}' | sort -n | uniq >1
ls /proc | sort -n |uniq >2
diff 1 2
②后门分析
经过crontabl –l 查看当前的任务计划有哪些,是否有后门木马程序启动相关信息;
查看etc目录任务计划相关文件,ls /etc/cron* 查看linux 开机启动程序
rpm包检查
Webshell分析
工具:
chkrootkit
Rkhunter
Hm
③内存分析
Volatility
④网络分析
Wireshark
⑤端口分析
netstat –antlp | more
lsof -i:3306(查看使用指定端口应用程序)
使用netstat –anp(Solaris使用netstat -an)命令查看当前开放的端口。
使用lsof –i(仅限Linux)显示进程和端口对应关系。
⑥服务分析
Rkhunter(linux)
sc query(windows)
⑦计划任务分析
schtasks命令(win)
Crontab(linux)
⑧其余关联度分析
对上所分析到的相关内容,经过逻辑关联到一块儿,对其中分析到的ip域名等信息综合性关联判断真实来源IP黑客路径等信息。
3.溯源分析
合理利用分析结果,对ip等指纹信息进行相关溯源,判断有可能被恶意下载读取文件的来源进行溯源。最好的办法是提早布置欺骗防护系统对黑客攻击资产进行路径记录对黑客画像更为精确。若是能够经过已有信息通过关联和逻辑精肯定位到黑客我的,就能够保留好取证结果依法对其进行起诉。
0x004二次定性
当必要的分析完成后对其中关键细节复盘分析,具体分析所有主机,尽可能对黑客攻击路径,对攻击资产定量,再次对黑客真实目标定性。
0x005 加固
参照基线加固和SDL开发流程。
**0x006 输出报告**
**0x006 反思**
不能否认某些甲方的技术能力和完整度都超过许多乙方企业,甚至二次技术输出。 对大多数甲方企业来讲不少的安全响应技术都须要靠乙方的支持,因此我选择甲方思惟乙方手段来作事。尽量多的去以客户需求想问题,以乙方专业技术去解决问题。不只仅只关心攻击者现行状况下对客户影响面,在基于客观事实为用户合理定制内网防御策略和一套完整的安全开发生命周期(SDL)。
Refer: https://github.com/sindresorhus/awesome http://www.freebuf.com/tools/87400.html http://www.amazon.com/gp/product/1593275099 https://xianzhi.aliyun.com/forum/read/1655.html http://resources.infosecinstitute.com/computer-forensics-investigation-case-study/