zoukankan      html  css  js  c++  java
  • Linux与windows的应急响应重点检查项

    Linux应急响应重点检查项

    用户账号审计: cat /etc/passwd & cat /etc/shadow

    在线账户审计: w

    登录状况审计: last

    空口令账户审计: awk -F: '($2 == "") { print $1 }' /etc/shadow

    主机配置检查中不允许存在空口令账户,虽然空口令账户暂时没发现利用的方式,但是不符合等级保护的基本原则。

    特权账户审计: awk -F: '($3 ==0) { print $1 }' /etc/passwd

    Linux中的特权账号一般只有root,如果出现了除root以外的账号则有一定风险,怀疑可能是黑客创建的后门账号。

    进程审计:ps -ef(显示全格式所有进程) 或 ps auxfww(显示所有进程及所有命令行

    Linux进程审计是应急中重要关注点之一,大多数安全事件都会发现系统运行着恶意进程,跟踪和分析进程是应急响应必备技能之一。

    端口和进程关联审计:lsof -p PID 或lsof -i PORT

    Linux系统中恶意进程往往都会进行socket绑定,在本地打开一个端口对外通信,通常怀疑某些端口运行恶意进程的时候都会做关联分析

    网络连接审计:netstat -ano | grep ESTABLISHED(查看已经建立的网络连接)或netstat -antlp | grep LISTEN(查看处于监听状态的端口)

    网络连接也是应急过程中重点关注点之一,其中“Foreign Address”中检查有无恶意IP(配合第三方IP信誉库),连接状态以及是否存在异常 socket。

    计划任务审计:crontab -l

    Linux计划任务中一般是通过cron程序去执行,黑客修改cron的目的一般是检查是否权限维持,以及操控DDoS肉鸡或者周期性对系统执行恶意操 作等目的。

    系统运行状态审计:top

    木马病毒等程序会对系统cpu、内存、磁盘IO、网络IO等造成一定程度影响。

    arp路由表审计:arp –a

    arp是地址解析协议,Linux系统的arp路由表里记录的是mac地址与IP的映射,攻击者往往通过修改arp映射来做中间人攻击。

    Linux日志审计: 

     11.Linux日志审计

      1) /var/log/messages或/var/log/syslog 系统活动日志

        搜索squid程序活动日志。

        

    2)/var/log/auth.log 涉及系统授权身份验证日志

       搜索失败的的身份验证并结合IP来看可发现穷举攻击。

       

       搜索”incomplete message”关键字可发现openSSH用户名枚举攻击。

       

    3)/var/log/secure 主要用于跟踪系统授权情况,存储所有与安全相关的消息并跟踪系统安全服务守护进程记录的sudo信息、SSH登录和其他错误信息。

       查看pam_unix(pam是Linux中的动态加载验证模块) session句柄打开的记录。

       

    4)/var/log/boot.log 系统启动过程中引导信息存储日志

       一般的安全事件很少触发到此日志中,除少数病毒木马等程序会对MBR做篡改。

    5)/var/log/dmesg 包含内核缓冲区消息记录硬件设备或驱动程序相关信息

      此类日志分析较难可忽略。

    6)/etc/crontab 包含计划任务等周期性任务信息

     此类日志多容易被黑客篡改,用于执行相关计划任务脚本, 比如黑客会每分钟执行一次服务器上的脚本来检查是否权限维持。

     

     

     

     

     

     

    应急响应重点检查项

    相关名词解释:

    1.windows域(Domain):

               域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当

    一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共

    享与管理,以及相互通信和数据传输。

    通过命令运行

    2.域控制器(Domain controller)

              在“域”模式下,至少有一台服务器负责每一台联入网络的电脑和用户的验证工作,相当于一个单位的门卫一样,作为域控。域控制器中包含了由这

    个域的账户、密码、属于这个域的计算机等信息构成的数据库。当电脑联入网络时,域控制器首先要鉴别这台电脑是否是属于这个域的,用户使用的登录账

    号是否存在、密码是否正确。如果以上信息有一样不正确,那么域控制器就会拒绝这个用户从这台电脑登录。不能登录,用户就不能访问服务器上有权限保

    护的资源,他只能以对等网用户的方式访问Windows共享出来的资源,这样就在一定程度上保护了网络上的资源。

    3.命令提示符

              在windows系统中命令提示符是一个与操作系统命令交互的程序,通过向操作系统分发命令,系统解释执行并反馈的一个过程,类似于微软的DOS操

    作系统。

    4.powershell

               可以看做是命令提示符的升级版本,提供更多操作的访问系统变量及函数的API,可只支持.NET编程。

    5..NET

               .NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。从技术的

    角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公

    共语言运行时Common Language Runtime之上的应用程序。)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了

    XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。.NET是基于Windows操作系统运行的操作平台,应用于互联网的分

    布式。

    6.批处理(batch)

               批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows

    系统中。批处理文件的扩展名为bat 。目前比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来

    批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量 地执行DOS命令以实现特定操作的脚本。更复杂的情况,需要使用if、for、

    goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这包括系统本身提供的外部命令和

    第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中

    运行。

    7.脚本语言(script)

             脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。它的命名起源于一个脚本

    “screenplay”,每次运行都会使对话框逐字重复。早期的脚本语言经常被称为批量处理语言或工作控制语言。  

    一个脚本通常是解释执行而非编译。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作。而宏语言则可视为脚

    本语言的分支,两者也有实质上的相同之处。

    8.注册表(Registry,繁体中文版Windows操作系统称之为登录档)

             注册表是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经

    出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95操作系统开始,注册表才真正成为

    Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。

    9.进程(process)

             进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向

    进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描

    述,进程是程序的实体。

    10.共享文件夹(share)

             共享文件夹是指某个计算机用来和其它计算机间相互分享的文件夹,所谓的共享就是分享的意思。、

    11.启动项

             启动项目,就是开机的时候系统会在前台或者后台运行的程序。当操作系统完成登录过程,进程表中出现了很多的进程。操作系统在启动的时候,自动

    加载了很多程序。许多程序的自启动,给我们带来了很多方便,这是不争的事实,但不是每个自启动的程序对我们都有用;更甚者,也许有病毒或木马在自

    启动行列。

    12.缓冲区溢出

             缓冲区溢出(buffer overflow),是针对程序设计缺陷,向程序输入缓冲区写入使之溢出的内容(通常是超过缓冲区能保存的最大数据量的数据),

    从而破坏程序运行、趁著中断之际并获取程序乃至系统的控制权。

    13.中断

            中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停

    的程序继续运行。

    14.API

            API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问

    一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    15.端口通信

            随着计算机网络技术的发展,原来物理上的接口(如键盘、鼠标、网卡、显示卡等输入/输出接口)已不能满足网络通信的要求,TCP/IP协议作为网络

    通信的标准协议就解决了这个通信难题。TCP/IP协议集成到操作系统的内核中,这就相当于在操作系统中引入了一种新的输入/输出接口技术,因为在TCP/IP

    协议中引入了一种称之为"Socket(套接字)"应用程序接口。有了这样一种接口技术,一台计算机就可以通过软件的方式与任何一台具有Socket接口的计算

    机进行通信。端口在计算机编程上也就是"Socket接口"。

    16.蠕虫病毒

           蠕虫病毒是一种常见的计算机病毒。它是利用网络进行复制和传播,传染途径是通过网络和电子邮件。最初的蠕虫病毒定义是因为在DOS环境下,病毒

    发作时会在屏幕上出现一条类似虫子的东西,胡乱吞吃屏幕上的字母并将其改形。蠕虫病毒是自包含的程序(或是一套程序),它能传播自身功能的拷贝或

    自身的某些部分到其他的计算机系统中(通常是经过网络连接)。

    17.木马病毒

          木马(Trojan),也称木马病毒,是指通过特定的程序(木马程序)来控制另一台计算机。木马通常有两个可执行程序:一个是控制端,另一个是被控制

    端。木马这个名字来源于古希腊传说(荷马史诗中木马计的故事,Trojan一词的特洛伊木马本意是特洛伊的,即代指特洛伊木马,也就是木马计的故事)。

    “木马”程序是目前比较流行的病毒文件,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执

    行,向施种木马者提供打开被种主机的门户,使施种者可以任意毁坏、窃取被种者的文件,甚至远程操控被种主机。

    18.威胁情报

          什么是威胁情报,其实安全圈一直在使用着它们,漏洞库、指纹库、IP信誉库,威胁情报平台,它们都是威胁情报的一部分。情报就是线索,威胁情报

    就是为了还原已发生的攻击和预测未发生的攻击所需要的一切线索。“所谓的威胁情报就是帮助我们发现威胁,并进行处置的相应知识。这种知识就是我们

    所说的威胁情报”。

    19.系统服务

            系统服务(system services)是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层(接近硬件)程序。通过网络提供服务时,服务

    可以在Active Directory(活动目录)中发布,从而促进了以服务为中心的管理和使用。

    20.AD(Active Directory)

            AD全称为Active Directory,是指Windows服务器操作系统中的目录服务。Active Directory提供了一系列集中组织管理和访问网络资源的目录服务功

    能。Active Directory还可以集中管理对网络资源的访问,并允许用户只登陆一次就能访问在Active Directory上的所有资源。

    21.病毒特征码

           可以代表某个病毒分类的特征的代码段,一般是通过反汇编病毒可执行文件,找出比较特殊的汇编代码再反转机器码的十六进制数作为特征值。

    22.逆向工程(又称逆向技术)

           是一种产品设计技术再现过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能特性及技术规格等设计要

    素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。其主要目的是在不能轻易获得必要的生产信息的情况下,直

    接从成品分析,推导出产品的设计原理。

    1.用户账号和组审计

      1)描述:黑客通常对系统进行入侵后会添加后门账号,所以需要审计用户和组是否有被篡改的痕迹。

      2)命令:lusrmgr.exe

      3)检查方法:查看是否有可疑的用户名被创建,检查是否administrators组里有可疑的账户被授权。

       

    2.自启动配置审计

      1)描述:黑客修改自启动配置通常可以在系统启动之后加载黑客自定义脚本。

      2)命令:msconfig.exe  或 wmic start up list full

      3)检查方法:检查自启动程序信息,如非常规应用程序则需要定位程序位置,可配合360杀毒工具检查。

      

    3.异常进程审计

      1)描述:进程往往都是应急响应主要关注点之一,黑客维持对外通信都会在被入侵主机中打开独立进程,进程名经常会带迷惑性,例如svch0st.exe(应为

    svchost.exe)或exp1orer.exe(应为explorer.exe)。

      2)命令:taskmgr.exe中进程菜单或tasklist.exe

      3)检查方法:仔细排查容易被木马感染的系统进程,定位进程源程序位置,可配合360杀毒工具进行查杀,对不确定的其他进程通过google查询进程功能,

    有概率会获得恶意程序的威胁情报。

      

    4.异常服务审计

      1)描述:windows服务类似Linux的守护进程,黑客通过恶意程序创建自定义服务达成可持续控制肉鸡的目的。

      2)命令:services.msc

      3)检查方法:对windows系统常规服务进行了解,识别病毒经常创建服务的命名规则,例如:“xxxUpdate”带有这类关键字。小技巧:查看指定系统服务

    的属性,看服务描述,如果服务描述很少或者比较非官方的语言,一般比较可疑。或者查看依存关系,针对使用RPC(Remote Procedure Call)的服务要重点

    关注。

      

    5.计划任务审计

      1)描述:计划任务是计算机周期性执行的一系列操作的管理程序,黑客也会增加自定义计划任务来检测连接心跳或者发动DoS攻击等行为。

      2)命令:schtasks.exe或者在控制面板>计划任务中找到GUI模式

      3)检查方法:了解系统程序自带的计划任务,查看任务对应的文件夹,对照任务创建时间,释放文件等信息来判断是否是恶意计划任务。

      

    6.系统运行状态审计

      1)描述:病毒木马一般情况下会使系统CPU、内存、磁盘读写、网络IO的利用率变高,通过监控系统状态可以发现潜在的恶意程序。

      2)命令:taskmgr.exe

      3)检查方法:查看任务管理器中性能菜单,跟踪单位时间内CPU、内存、磁盘、网络运行情况,并打开监视器配合检查。

      

    6.用户会话审计

      1)描述:黑客通过3389登录系统会创建用户session,通过审计session查看是否有攻击者进行远程登录。

      2)命令:query user

      3)检查方法:输入命令查看是否会话异常,是否存在可疑的用户会话状态。

      

    7.网络连接审计

      1)描述:审计网络连接可以发现攻击者来源IP,以及开放端口、进程等信息。

      2)命令:netstat -ano

      3)检查方法:输入命令检查是否存在外部可疑IP处于“ESTABLISTHED”状态。

      

    8.本地共享审计

      1)描述:早期黑客攻击利用经典IPC$的攻击方式批量植入肉鸡。

      2)命令:net share和net use

      3)检查方法:输入net share检查本地开放了哪些共享,输入net use检查是否存在被映射的网络连接。

      

    9.组策略审计

      1)描述:是微软Windows NT家族操作系统的一个特性,它可以控制用户帐户和计算机帐户的工作环境。组策略提供了操作系统、应用程序和活动目录中用

    户设置的集中化管理和配置。组策略的其中一个版本名为本地组策略(缩写“LGPO”或“LocalGPO”),这可以在独立且非域的计算机上管理组策略对

    象。。

      2)命令:gpedit.msc

      3)检查方法:打开组策略面板,重点查看计算机配置和用户配置中的脚本子菜单,查看是否加载powershell脚本,分析脚本内容判断是否异常等。

      

     

    10.日志审计

      1)描述:windows日志包含系统日志,安全日志、应用日志等,通常通过windows内置的事件查看器查询。

      2)命令:eventvwr

      3)检查方法:打开windows日志查看器,根据安全事件发生时间区间筛选windows日志,一般重点查看“安全”、“应用”日志,黑客执行的恶意命令多

    数被记录在这两个日志中。

      

     一般情况下windows自带日志查看器显示不是很友好且不便于分析,所以通常配合日志解析工具LogParser.exe,可在微软官网下载对应的32或64位版本。

    安装好之后可以像操作数据库一样查询日志信息。

      

      由于路径问题往往将默认日志位置c:Windowssystem32winevtLogs的日志文件拷贝到C盘根目录中分析:

      

    10.注册表审计

      1)描述:windows中注册表是存储系统和应用的设置信息数据库,通过键值对来配置。

      2)命令:regedit.exe

      3)检查方法:输入命令打开注册表程序,手工检查指定路径下的注册表键值或者配合杀毒软件检查。

      例如:

      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun  查看系统哪些程序自启动

     HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem 检查EnableLUA的值(0:关闭UAC,1:启动UAC)

      

    HKEY_LOCAL_MACHINESystemCurrentControlSetControlSessionManager 下查看是否存在ExcludeFromKnownDlls,如果存在值存在lpk.dll、

    usp10.dll、msimg32.dll、midimap.dll、ksuser.dll、comres.dll、ddraw.dll这些dll,则判断异常。

  • 相关阅读:
    WEBAPI 增加身份验证
    C# Image与Base64编码互转函数
    WebApi 接口传参接参
    Spring.Net依赖注入(属性注入)学习笔记
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(30)-本地化(多语言)
    文件各种上传,离不开的表单
    linux下yum命令出现Loaded plugins: fastestmirror
    linux系统快速安装宝塔
    微信小程序实现watch属性监听数据变化
    chrome调试微信
  • 原文地址:https://www.cnblogs.com/mutudou/p/11842120.html
Copyright © 2011-2022 走看看