• 【DFIR】数字取证与事件应急响应---初识


    应急响应

      适用于负责现场应急,找出可疑的程序,恶意代码的安全工程师。这些可疑恶意程序或代码由另外的专家进行逆向分析。

    前言

      首先,什么是DRIF?

      DRIR:Digital Forensics and Incident Response,翻译过来就是=>数字取证与事件应急响应。

      当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。  
      常见的应急响应事件分类:
    web入侵:网页挂马、主页篡改、Webshell、博彩劫持
    系统入侵:病毒木马、勒索软件、远控后门
    网络攻击:DDOS攻击、DNS劫持、ARP欺骗

     概要

    需要取证的点:

      1、系统日志、网站访问日志(搜索log文件)、本地用户情况(是否有隐藏、克隆用户)。

      2、保存系统当前信息:

    systeminfo >c:sysinfo.txt
    netstat -ano >c:
    et.txt
    tasklist >c:task.txt
    net user >c:user.txt
    xcopy %systemroot%system32winevtlogs*  C:eventlog

      3、使用Process Monitor、Autorun、Tcpview等工具,保存记录文件。PClog和Process Explorer选择性保存。

    可在现场简单检查,把可疑的程序打包回来分析。

      4、检查webshell结果(最好能把网站整个文件夹拷贝回来)。

    jsp后门删除了还会有.class缓存保留,命名方式为_xx__jsp.class,可恢复。
      5、系统内存、镜像
    Readline、DumpIt(这两个都是适用于低内存系统),电脑重启将会使内存丢失。
     
     
    将以上几个需要取证的数据打包回来事后分析。
    ☆注意:所有软件都必须以管理员身份运行。
     
     
    ps:电脑画图命令:mspaint(在没有word的情况下用画图软件保存截图)
    联想拯救者屏幕截图:Fn+Win+PrtSc2,前提是关闭数字键盘
    其他系统屏幕截图快捷键:Ctrl+PrtScSysRq、Alt+PrtScSysRq
    命令行打包(在没有压缩软件的情况下):
     
     
    应急分析
      分析方法:
    找到各种可疑的IP、进程、域名、URL,搜索相关IOC,然后检查相关可疑位置。
      检查思路:
    恶意程序本身有网络行为,内存必然有其二进制代码,它要么是进程的 DLL /如此模块,通常为了保活,它极可能还有自己的启动项,网络心跳包。
    总之,可以归结为如下 4 点要素:网络连接进程启动项,内存再加上外部信息,如威胁情报,就可以形成比较完整的证据链。
     
    详细的流程和方法参考参考链接第二篇:
    现场分析:

      当发生安全事件时,我们去到现场需要做的有以下几个点:

    1、查看杀毒软件、防护软件的查杀、隔离、告警日志。(如果有)

    2、查看各种服务应用如:FTP、SSH、数据库、RDP。(是否攻击者开启及是否存在弱口令)

    3、检查是否有防火墙、行为管理器等防御设备,查看相应告警。

    这三个点我经常忘的,因此单独列出来做个记录。

    然后就根据我们的检查思路来:
      这里恶意脚本样本为利用msf生成的一个后门。
    网络连接:
      思路:检查是否存在异常的ip、端口如国外的ip,不常用的端口。
    常规的使用命令netstat -ano。这里推荐两款工具:
    1、D 盾 _web 查杀工具

    2、TCPview

    进程:  

    病毒文件在系统中运行必定依赖于exe可执行程序,主要有三种模式在系统中运行:

    1. 病毒自己的exe程序
    2. 注入到系统程序
    3. 其他方式
      思路:重点检查没有厂商名字、没有 签名验证信息、没有描述信息、CPU 或内存资源占用长时间过高的进程的进程。检查可疑进程的属主、路径是否合法。常规的使用命令tasklist 。这里同样介绍几款工具:
    1、Process Explorer

    ps:当你在磁盘上发现一个恶意的DLL,并且想知道是否有运行进程使用了这个DLL时,可以使用Find => find Handle on DLL 功能。

    一些常见的DLL:

    • Ntdll.dll:如果一个可执行文件载入了这个文件,这意味着作者企图使用那些不是正常提供给windows程序使用的函数。如隐藏功能和操作进程等任务会使用这个接口。
    • Wsock32.dll和Ws32.dll:这个两个是联网DLL,访问其中任一个DLL的程序非常可能连接网络,或是执行网络相关的任务。
    • Wininet.dll:这个DLL包含了更高层次的网络函数,实现了如FTP、HTTP和NTP等协议。

    这里需要说明记录一下这个工具和另外一个工具Process Monitor的区别:

    • Process Explorer:进程浏览器,列出所有活跃的进程、被进程载入的DLL、各种进程属性和整体系统信息。

      主要用于:查看进程的签名信息、进程的字符串信息、搜索加载恶意DLL的进程、分析恶意文档、通过属性窗口中的镜像(Image)标签来定位恶意代码在磁盘上的位置。

    • Process Monitor:进程监视器,监控注册表、文件系统、网络、进程和线程行为。

      主要用于:分析恶意代码,能够监控到运行了恶意代码之后,该恶意代码是否启动了其他的进程、是否进行了网络连接以及在系统上做了什么操作,包括注册表和文件访问。

    2、D 盾 _web 查杀工具

     

    3、PcHunter

    功能齐全,可以查看网络连接情况,启动项和进程信息等。遇到一些隐藏的病毒木马,直接打开目录无法找到的,也可以用这个工具进行查找和定位,去除隐藏属性。也可尝试命令行查找。

      实例测试MSF进程注入功能:

    利用migrate命令将后门注入到其他进程

      TCPView检测网络连接,根据可疑进程名和可疑网络连接可以定位到meterpreter后门进程。

      但是查找对应的PID找不到相应的进程。 

    这个时候要用到PCHunter,这个比较底层的工具。查找对应网络连接可以直接查到对应进程路径。

    加载后,你可以开始搜索Meterpreter使用的关键指标,如ws2_32.dll和metsrv.dll。ws2_32.dll是用于处理网络连接的Window Sockets Library,而metsrv.dll是默认的Meterpreter服务。这两个dll是用于网络连接的,而everything这个进程是没有网络连接的,但是却调用了这两个dll文件,那么就有问题了。

      针对MSF的后门,这里再推荐一款工具:Meterpreter_Payload_Detection.exe,可自行在GitHub上搜索下载。

    利用Meterpreter_Payload_Detection.exe检测工具,通过扫描内存检测Meterpreter无法检测的有效负载。

     

    启动项:

      思路:检查启动项、计划任务、服务

      1、检查服务器是否有异常的启动项。
    检查方法:
    a、登录服务器,单击【开始】>【所有程序】>【启动】,默认情况下此目录在是一个空目录,确认是否有非业务程序在该目录下。


    b、单击开始菜单 >【运行】,输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。


    c、单击【开始】>【运行】,输入 regedit,打开注册表,查看开机启动项是否正常,特别注意如下三个注册表项:

    HKEY_CURRENT_USERsoftwaremicorsoftwindowscurrentversionrun
    HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
    HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunonce

    检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马。
    d、利用安全软件查看启动项、开机时间管理等。
    e、组策略,运行 gpedit.msc。

      2、检查计划任务
    检查方法:
    a、单击【开始】>【设置】>【控制面板】>【任务计划】,查看计划任务属性,便可以发现木马文件的路径。
    b、单击【开始】>【运行】;输入 cmd,然后输入at,检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接。

      3、服务自启动
    检查方法:
    单击【开始】>【运行】,输入 services.msc,注意服务状态和启动类型,检查是否有异常服务。

    这里推荐使用Autorun

    内存:

     略!待补充

    最终需要拷贝回来取证的有如下:

    附录:

    以前做得一张思维导图,懒得改,直接参考上面的就行。

    参考链接:

    【主机应急响应与电子取证的经验分享】https://www.freebuf.com/vuls/182220.html
    【windows 应急流程及实战演练】https://www.secpulse.com/archives/76534.html

    笨鸟先飞早入林,笨人勤学早成材。
    
    转载请注明出处:
    撰写人:fox-yu  http://www.cnblogs.com/fox-yu/
  • 相关阅读:
    高斯拉普拉斯算子(Laplace of Gaussian)
    Windows的TCP协议参数
    poj 1182食物链(并查集)
    linux网络体系架构
    谈谈对于企业级系统架构的理解
    Redis源码解析(1)——源码目录介绍
    在多台服务器上简单实现Redis的数据主从复制
    利用Nginx做负载均衡
    C#中的BackgroundWorker控件
    C#中的线程(四)高级话题
  • 原文地址:https://www.cnblogs.com/fox-yu/p/10418209.html
Copyright © 2020-2023  润新知