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,则判断异常。

  • 相关阅读:
    Java实现 蓝桥杯 算法训练 画图(暴力)
    Java实现 蓝桥杯 算法训练 画图(暴力)
    Java实现 蓝桥杯 算法训练 相邻数对(暴力)
    Java实现 蓝桥杯 算法训练 相邻数对(暴力)
    Java实现 蓝桥杯 算法训练 相邻数对(暴力)
    Java实现 蓝桥杯 算法训练 Cowboys
    Java实现 蓝桥杯 算法训练 Cowboys
    55. Jump Game
    54. Spiral Matrix
    50. Pow(x, n)
  • 原文地址:https://www.cnblogs.com/mutudou/p/11842120.html
Copyright © 2011-2022 走看看