Linux与windows的应急响应重点检查项

Linux应急响应重点检查项程序员

用户帐号审计: cat /etc/passwd & cat /etc/shadowshell

在线帐户审计: w数据库

登陆情况审计: last编程

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

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

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

Linux中的特权帐号通常只有root,若是出现了除root之外的帐号则有必定风险,怀疑多是黑客建立的后门帐号。网络

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

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

端口和进程关联审计: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:\Windows\system32\winevt\Logs\的日志文件拷贝到C盘根目录中分析:

  

10.注册表审计

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

  2)命令:regedit.exe

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

  例如:

  \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run  查看系统哪些程序自启动

 \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 检查EnableLUA的值(0:关闭UAC,1:启动UAC)

  

\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager 下查看是否存在ExcludeFromKnownDlls,若是存在值存在lpk.dll、

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

相关文章
相关标签/搜索