看了几篇文章,整合到一起,做个总结
总体思路
分析原则
及时进行断网隔离操作,重要数据先备份再分析,尽量不要在原来的系统中分析
虚拟机建立快照
已经被入侵的系统都不再安全,如果条件允许最好采用第三方系统进行分析
提醒客户保护现场,不要直接重装系统
了解客户网络拓扑,网络的进出口、负载均衡、防火墙、DNS服务器
分析目标
找到攻击来源IP找到入侵途径
分析影响范围
量化影响级别
分析方法
大胆猜测是最重要的,猜测入侵途径,然后进行分析一般都会事半功倍。 一般来说,分析日志可以找到很多东西,比如,secure日志可以查看Accept关键字;last可以查看登录信息;bash_history可以查看命令执行信息等,不同的日志有不同的查看方式,最好是系统管理员的陪同下逐步排查,因为系统管理员才最懂他的服务器系统。
分析影响
根据服务器的用途、文件内容、机密情况结合数据泄漏、丢失风险,对系统使用者影响等进行影响量化,并记录相关安全事件,总结分析,以便后期总结。 如果已经被进行过内网渗透,还需要及时排查内网机器的安全风险,及时处理。
线索
时间:创建时间、修改时间
端口、进程
安全事件
1.恶意代码威胁,即僵尸网络、恶意木马、蠕虫病毒、勒索病毒等恶意代码导致的安全事件
2.高级持续性威胁(APT)攻击事件,即具有潜伏性、隐蔽性、目的性、持续性等特点的安全事件
3.非法入侵事件,包括但不限于业务系统受到入侵致使数据泄露、丢失等;外网网站被入侵,导致网站被恶意篡改植入暗链或出现其他非法的宣传标语;服务器被入侵导致受到勒索攻击等安全事件
4.漏洞事件,即0day公布;在野漏洞发现;已知漏洞被发现受到通报等安全事件
5.数据泄露事件,即重要数据因受到了入侵导致的泄露;应用配置不当导致的泄露;员工误操作导致的泄露;内鬼泄露等安全事件
6.分布式拒绝服务攻击(DDOS)事件,即网站受到了各类DOS攻击,包括但不限于CC攻击、洪水攻击、流量放大攻击等安全事件
7.流量劫持,DNS劫持、HTTP劫持
8.其他归于网络安全的事件
应急目的
确认安全事件后,明确应急目的:
1.病毒、后门清除工作
2.协助业务系统安全的恢复上线
3.攻击溯源工作(仅溯源至攻击者的攻击切入点)
工作内容
病毒分析处置、业务恢复、安全加固、溯源分析、临时需求处置、产品对接与使用、应急指挥与协调
Windows安全应急响应
入侵排查思路
检查账号安全
1.查看服务器是否有弱口令,远程管理端口是否对公网开放
2.查看服务器是否存在可以账号、新增账号
3.查看服务器是否存在隐藏账号、克隆账号
检查方法:
i.打开注册表,查看管理员对应键值HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\
ii.使用D盾_web查杀工具
4.结合日志,查看管理员登录时间、用户名是否存在异常
检查方法:
i.Win+R打开运行,输入eventvwr.msc
,打开事件查看器
ii.导出Windos日志--安全,利用Log Parser进行分析
检查异常端口、进程
1.检查端口连接情况,是否有远程连接、可以连接
检查方法:
i.netstat -ano
查看当前的网络连接,定位可疑的ESTABLISHED
ii.根据netstat
定位出的PID,再通过tasklist
命令进行进程定位tasklist|findstr "PID"
2.检查进程
检查方法:
i.Win+R,输入msinfo32
,依次点击软件环境→正在运行任务
就可以查看到进程的详细信息,比如进程路径、进程ID、文件创建日期、启动时间
ii.打开D盾_web查杀工具,进程查看,关注没有签名信息的进程
iii.通过微软官方提供的Process Explorer等工具排查
iv.查看可疑的进程及其子进程,通过观察以下内容:没有签名验证信息的进程、没有描述信息的进程、进程的属主、进程的路径是否合法、CPU或内存资源占用长时间过高的进程
3.小技巧
i.查看端口对应的PID:netstat -ano|findstr "port"
ii.查看进程对应的PID:任务管理器–查看–选择列–PID或者tasklist|findstr "Process Name"
iii.查看进程对应的程序位置:任务管理器–选择对应进程–右键打开文件位置或Win+R,输入wmic
,cmd界面下输入process
iv.tasklist/svc
v.查看Windows服务所对应的端口:%system%/system32/drivers/etc/services
(一般%system%
就是C:\Windows
)
检查启动项、计划任务、服务
1.检查服务器是否有异常的启动项
检查方法:
i.登录服务器,单击【开始】>【所有程序】>【启动】,默认情况下此目录在是一个空目录,确认是否有非业务程序在该目录下
ii.单击开始菜单 >【运行】,输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件
iii.单击【开始】>【运行】,输入 regedit,打开注册表,查看开机启动项是否正常,特别注意如下三个注册表项: HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马
iv.利用安全软件查看启动项、开机时间管理等
v.组策略,运行gpedit.msc
2.检查计划任务
检查方法:
i.单击【开始】>【设置】>【控制面板】>【任务计划】,查看计划任务属性,便可以发现木马文件的路径
ii.单击【开始】>【运行】;输入 cmd,然后输入at,检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接
3.服务自启动
检查方法:
单击【开始】>【运行】,输入services.msc,注意服务状态和启动类型,检查是否有异常服务。
检查系统相关信息
1.查看系统版本及补丁信息
cmd中输入systeminfo
2.查找可以目录及文件
检查方法:
i.查看用户目录,新建账号会在这个目录生成一个用户目录,查看是否有新建用户目录
Windows 2003 C:\Documents and Settings
Windows 2008R2 C:\Users\
ii.单击【开始】>【运行】,输入%UserProfile%\Recent,分析最近打开分析可疑文件
iii.在服务器各个目录,可根据文件夹内文件列表时间进行排序,查找可疑文件
自动化查杀
病毒查杀
检查方法:下载安全软件,更新最新病毒库,进行全盘扫描
WebShell查杀
检查方法:选择具体站点路径进行WebShell查杀,建议使用两款WebShell查杀工具同时查杀,可相互补充规则库的不足
日志分析
系统日志
分析方法:
i.前提:开启审核策略,若日后系统出现故障、安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等。
ii.Win+R打开运行,输入”eventvwr.msc”,回车运行,打开”事件查看器”。
iii.导出应用程序日志、安全日志、系统日志,利用Log Parser进行分析。
WEB访问日志
分析方法:
i.找到中间件的web日志,打包到本地方便进行分析。
ii.推荐工具:Window下,推荐用 EmEditor 进行日志分析,支持大文本,搜索效率还不错;Linux下,使用Shell命令组合查询分析
工具
病毒分析
病毒查杀
在线病毒扫描
WebShell查杀
Windows登录类型
登录类型2:交互式登录(Interactive)
用户在计算机的控制台上进行的登录,也就是在本地键盘上进行的登录,通过KVM登录仍然属于交互式登录,虽然它是基于网络的
登录类型3:网络(Network)
从网络的上访问一台计算机时在大多数情况下Windows记为类型3,最常见的情况就是连接到共享文件夹或者共享打印机时。另外大多数情况下通过网络登录IIS时也被记为这种类型,但基本验证方式的IIS登录是个例外,它将被记为类型8
登录类型4:批处理(bat)
当Windows运行一个计划任务时,“计划任务服务”将为这个任务首先创建一个新的登录会话以便它能在此计划任务所配置的用户账户下运行,当这种登录出现时,Windows在日志中记为类型4,对于其它类型的工作任务系统,依赖于它的设计,也可以在开始工作时产生类型4的登录事件,类型4登录通常表明某计划任务启动,但也可能是一个恶意用户通过计划任务来猜测用户密码,这种尝试将产生一个类型4的登录失败事件,但是这种失败登录也可能是由于计划任务的用户密码没能同步更改造成的,比如用户密码更改了,而忘记了在计划任务中进行更改。
登录类型5:服务(Service)
与计划任务类似,每种服务都被配置在某个特定的用户账户下运行,当一个服务开始时,Windows首先为这个特定的用户创建一个登录会话,这将被记为类型5,失败的类型5通常表明用户的密码已变而这里没得到更新,当然这也可能是由恶意用户的密码猜测引起的,但是这种可能性比较小,因为创建一个新的服务或编辑一个已存在的服务默认情况下都要求是管理员或serversoperators身份,而这种身份的恶意用户,已经有足够的能力来干他的坏事了,已经用不着费力来猜测服务密码了。
登录类型6:解锁(Unlock)
当用户离开他的计算机时相应的工作站自动开始一个密码保护的屏保,当用户回来解锁时,Windows就把这种解锁操作认为是一个类型7的登录,失败的类型7登录表明有人输入了错误的密码或者有人在尝试解锁计算机。
登录类型8:网络明文(NetworkCleartext)
这种登录表明这是一个像类型3一样的网络登录,但是这种登录的密码在网络上是通过明文传输的,WindowsServer服务是不允许通过明文验证连接到共享文件夹或打印机的,只有当从一个使用Advapi的ASP脚本登录或者一个用户使用基本验证方式登录IIS才会是这种登录类型。“登录过程”栏都将列出Advapi。
登录类型9:新凭证(NewCredentials)
当使用带/Netonly参数的RUNAS命令运行一个程序时,RUNAS以本地当前登录用户运行它,但如果这个程序需要连接到网络上的其它计算机时,这时就将以RUNAS命令中指定的用户进行连接,同时Windows将把这种登录记为类型9,如果RUNAS命令没带/Netonly参数,那么这个程序就将以指定的用户运行,但日志中的登录类型是2。
登录类型10:远程交互(RemoteInteractive)
当通过终端服务、远程桌面或远程协助访问计算机时,Windows将记为类型10,以便与真正的控制台登录相区别,注意XP之前的版本不支持这种登录类型,比如Windows2000仍然会把终端服务登录记为类型2。
登录类型11:缓存交互(CachedInteractive)
Windows支持一种称为缓存登录的功能,这种功能对移动用户尤其有利,比如你在自己网络之外以域用户登录而无法登录域控制器时就将使用这种功能,默认情况下,Windows缓存了最近10次交互式域登录的凭证HASH,如果以后当你以一个域用户登录而又没有域控制器可用时,Windows将使用这些HASH来验证你的身份。
需要注意的是,Windows2000在默认情况下是没有纪录安全日志的!用户在Windows2000中需启用组策略“计算机配置/Windows设置/安全设置/本地策略/审核策略”下的“审核登录事件”才能看到相应的记录信息。
事件ID
Event ID(2000/XP/2003) | Event ID(Vista/7/8/2008/2012) | 描述 |
---|---|---|
528 | 4624 | 成功登录 |
529 | 4625 | 失败登录 |
680 | 4776 | 成功/失败的账户认证 |
624 | 4720 | 创建用户 |
632 | 4728 | 添加用户到启用安全性的全局组中 |
636 | 4732 | 添加用户到启用安全性的本地组中 |
2934 | 7030 | 服务创建错误 |
2944 | 7040 | IPSEC服务的启动类型已从禁用更改为自动启动 |
2949 | 7045 | 服务创建 |
Logprase
使用
Security Log
主要查看管理员登录时间段是否为正常时间
木马运行时间是否和管理员登录时间对应
1 | LogParser -i:EVT -o DATAGRID "SELECT TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as username,EXTRACT_TOKEN(Strings,8,'|') as LogonType, EXTRACT_TOKEN(Strings,17,'|') as ProcessName, EXTRACT_TOKEN(Strings,18,'|') as SourceIP FROM Security where EventID=4624 AND TO_DATE(TimeGenerated) BETWEEN TIMESTAMP('2019-05-30','yyyy-MM-dd') and TIMESTAMP('2019-05-31','yyyy-MM-dd')" |
System Log
主要查看服务名、服务路径
1 | LogParser -i:EVT -o:DATAGRID "SELECT TimeWritten,EventID,EventType,EventTypeName,SourceName,EXTRACT_TOKEN(Strings,0,'|') as service_name,EXTRACT_TOKEN(Strings,1,'|') as service_path,Message from system WHERE TO_DATE(TimeGenerated) BETWEEN TIMESTAMP('2019-05-30','yyyy-MM-dd') AND TIMESTAMP('2019-05-31','yyyy-MM-dd')" |
Application Log
主要查看程序运行时间
1 | LogParser -i:EVT -o:DATAGRID "SELECT * FROM Application WHERE TO_DATE(TimeGenerated) BETWEEN TIMESTAMP('2019-05-30','yyyy-MM-dd') AND TIMESTAMP('2019-05-31','yyyy-MM-dd')" |
WMIC
查看进程的命令行参数
1 | wmic process get caption,commandline /value > tmp.txt |
DOS命令
dir
1 | DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4] |
copy和xcopy
copy只能拷贝文件,不能拷贝文件夹
xcopy能拷贝文件夹及文件
1 | xcopy参数 |
del、deltree、rd
del 只能删除一个或者多个文件,不能删除文件夹
deltree 是一个外部命令,可以删除文件及文件夹,以及其子文件夹
rd 删除空文件夹,需要空文件夹的绝对路径
1 | del 参数 |
move
移动一个或多个文件
1 | /Y 若目标文件夹下有同名文件,忽略提示,直接覆盖原文件 |
attrib
更改文件属性
1 | attrib 参数 |
netstat
查看网络连接、端口信息
1 | NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-t] [-v] [interval] |
Linux的netstat
1 | usage: netstat [-vWeenNcCF] [<Af>] -r netstat {-V|--version|-h|--help} |
用户操作
1 | net user chessur password /add |
信息收集
1.事情的起因经过结果
2.需要解决的问题
3.网络环境,拓扑图
4.系统环境
5.服务器运行的服务
6.服务是否有重要资料,资料是否外泄
7.是否有安全设备(防火墙,WAF)
8.了解服务环境(开发语言,开发框架,开发商)
9.有没有处理过问题,处理了什么东西
10.日志是否完整(网站访问日志,中间件日志,网络安全设备日志,系统安全日志,日志时间)
11.内网环境下,被攻击服务器是否与其他服务器有连接,排查连接服务器
12.没有外连情况下,排查服务器是否安装远程控制类的软件
解决问题
1.攻击时间,结束时间(从日志上分析)
2.攻击路径(入侵利用的漏洞)
3.木马样本取样
4.服务器是否被提权
5.检查是否有隐藏后门,遗留文件(从高危网站目录上查看,如upload目录)
6.检查网站后台是否有可疑操作日志
注意事项
1.让客户做好备份
2.不要随意增删改查文件,任何操作都要经过客户同意之后再进行
3.删除文件时,让网站开发商确认文件是否为网站自身文件,如果不是,让网站开发商自行删除
4.上传安全工具需要客户同意
5.如果安全工具缺乏运行环境、驱动不能正常运行,不要随意安装驱动,以免服务崩溃
问题排查步骤
1.判断服务器有没有被Rootkit
Rootkit:一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit一般都和木马、后门等其他恶意程序结合使用。
使用PCHunter查看,如果被Rootkit,只能重装系统
2.检查登录日志,任务计划,开机启动项
登录日志
控制面板->查看事件日志->Windows日志->安全
可以根据登录日志排查入侵日期,也可判断攻击者是否通过暴破口令入侵。
任务计划
管理工具->任务计划程序
检查攻击者有没有设置定时任务运行恶意程序
开机启动项
开始菜单->启动
检查活动痕迹
1.用户文件夹
C:\Users
查看攻击者的一些活动范围
2.用户桌面文件
C:\Documents and Settings\user\Desktop
Documents and Settings
文件夹需要修改权限查看
属性->安全->高级->Everyone->编辑->取消列出文件夹/读取数据
勾选
3.用户的网络访问情况
C:\Documents and Settings\user\Cookies
Cookie文件夹中可能会记录一些敏感信息
4.程序安装的临时文件
C:\Documents and Settings\user\Local Settings\Temp
一些程序安装、解压缩等操作可能会在该目录产生临时文件
5.最近浏览
C:\Documents and Settings\user\Recent
用户最近访问过哪些文件或文件夹
6.上网历史记录
C:\Documents and Settings\user\Local Settings\History
7.临时文件
C:\Documents and Settings\user\Local Settings\Temporary Internet Files
浏览网页时产生的临时文件,但不会存储网页页面内容,还可能以临时文件的方式存储一些下载的文件
检查隐藏账号
攻击者使用$
符号创建的隐藏账户,使用net user
无法查看
管理工具->计算机管理->用户查看隐藏用户
检查注册表
一些文件可以通过修改注册表达到再生
有些攻击者通过修改注册表键值创建隐藏用户
查看注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\
删除该注册表下对应账户的键值删除隐藏用户
显示隐藏文件
1.dir
cmd下输入dir
查看
2.文件夹选项-显示隐藏
显示隐藏的文件、文件夹和驱动器
隐藏受保护的操作系统文件
3.xcopy
复制文件夹到其他目录
4.move
移动文件夹到其他目录
5.attrib
1 | attrib -h C:\chessur |
6.查看注册表
修改HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ Advanced\Folder\Hidden\SHOWALL
注册表的CheckedValue
值,0
表示不显示、1
表示显示
7.移动到Linux系统下
将文件打包到Linux系统下,提取干净文件,将感染文件夹使用工具粉碎,再将干净文件打包到Windows系统下
Linux
入侵排查思路
用户
1.查询特权用户
1 | awk -F: '$3==0{print $1}' /etc/passwd |
2.查询可以远程登录的用户
1 | awk '/\$1|\$6/{print $1}' /etc/shadow |
3.查询sudoer
如非管理需要,普通用户应删除sudo权限
1 | more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)" |
4.禁用或删除可疑用户
1 | usermod -L username //禁用用户,用户无法登录,/etc/shadow第二栏为!开头 |
历史命令
1.保存1万条命令
1 | sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile |
2.增加历史信息
1 | //在/etc/profile的文件尾部添加配置信息 |
3.清除历史记录
1 | history -c |
端口
分析可疑端口、IP、PID
1 | netstat -antlup |
进程
1 | ps aux|grep PID |
服务
1.查询已安装的服务
1 | apt list |
开机启动项
启动项文件
1 | /etc/rc.local |
常见应急问题
挖矿、菠菜、勒索病毒
痕迹备份
分析日志前先备份日志,可以通过tar压缩备份
备份/var/log下所有日志
1 | tar -zcvf /home/chessur/logs.tar.gz /var/log |
备份last
1 | last > /home/chessur/last.log |
备份在线用户
1 | w > /home/chessur/w.log |
备份系统服务
1 | systemctl -a > services.log |
备份进程
1 | ps -ef > ps.log |
备份监听端口
1 | netstat -nlutp > port-listen.log |
备份所有端口情况
1 | netstat -ano > port-all.log |
备份历史记录
1 | cat .bash_history > history.txt |
排查流程
找出问题->解决问题->编写报告
菠菜需要多注意网站配置文件是否被修改、网页是否被植入链接
进程排查
1.查看当前系统状态
top
可以持续的监视进程的信息
碰到挖矿应急通常优先使用top命令查看系统进程,因为挖矿病毒会占用较多CPU
2.查看当前系统进程信息(ps)
ps
Process Status的缩写。ps命令用来列出系统中当前运行的进程。ps命令列出的是当前进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
1 | Usage: |
3.查看非root运行的进程
1 | ps -u root -N |
4.查看root运行的进程
1 | ps -u root |
5.查看奇怪进程
1 | ps -aef|grep inetd |
6.检查隐藏进程
1 | ps -ef|awk '{print}'|sort -n|uniq > 1 |
1 | ls /proc | sort -n |uniq > 2 |
sort
将文本文件内容排序,-n
安装数值大小排序uniq
去掉文本中重复出现的行列
7.检查计划任务
1 | ls /etc/crontab |
活动痕迹排查
1.查看当前登录用户
who
显示系统中有哪些使用者
1 | who -H |
2.查看当前登录用户信息
w
显示目前登入系统的用户信息。
3.查看最近登录信息
last
显示用户最近登录信息
1 | last -num //显示前num个 |
4.查看bash历史命令
history
列出以前输入的命令和 Bash 日志。
1 | history num //显示最近的num个 |
5.查看空口令账号
1 | awk -F: '($2=="")' /etc/shadow |
6.查看uid为0的账号
1 | awk -F: '($3==0)' /etc/passwd |
7.查看进程树
pstree
以树状图的方式展现进程之间的派生关系
1 | -a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示; |
网络排查
1.netstat
netstat
用于显示网络状态
1 | usage: netstat [-vWeenNcCF] [<Af>] -r netstat {-V|--version|-h|--help} |
2.查看进程占用端口情况
lsof
用于查看进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP)
1 | -a:列出打开文件存在的进程; |
1 | lsof -i:port //查看端口 |
文件排查
1.查看文件
ls
用于显示指定工作目录下之内容
1 | ls -al |
2.定位程序位置
whereis
用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。
1 | -b:只查找二进制文件; |
example
1 | whereis nmap |
3.查找最近修改过的文件
find
用来在指定目录下查找文件
1 | -amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算; |
1 | find / -mtime num //num表示文件修改之后的num天 |
定位
根据PID定位
1 | lsof -p PID |
根据名称定为
1 | find / -name "Process Name" |
停止进程
1 | kill -9 PID |
若出现Operation not permitted
,可能是病毒使用了chattr +i
,使用chattr -i filename
清除后门
SSH后门
在/root/.ssh/
目录下,攻击者可能会创建自己的SSH公钥,保持控制权限,删除未知公钥
命令被替换
清除可以命令,安装干净的命令
可以用strings
查看命令内容
日志目录
目录 | 记录内容 |
---|---|
/etc/crontab | 计划任务目录,文件内容格式*/1 * * * * chessur ls />>/opt/crontab-e 2>&1 需要在五个* 后面加上用户名 |
/var/spool/cron/ | 计划任务目录,以用户名目录来区分不同用户的计划任务,文件内容格式*/1 * * * * ls />>/opt/crontab-e 2>&1 ,不需要加上用户名 |
/var/log/messages | 整体系统信息日志,包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO 错误、网络错误和其他系统错误都会记录到这个文件中 |
/var/log/syslog | 系统启动期间的日志,只记录警告信息,系统出问题的信息 |
/var/log/user.log | 用户信息日志 |
/var/log/auth.log | 系统授权日志,记录登录信息 |
/var/log/cron | 记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作 |
/var/log/xferlog | FTP系统日志,记录用户与FTP服务器的交互信息 |
/var/log/secure | 包含验证和授权方面信息,sshd会将所有信息记录(其中包括失败登录)在这里 |
/var/log/lastlog | 记录最近成功登录的事件和最后一次不成功的事件,使用lastlog 命令查看,该命令只能以root权限执行 |
/var/log/maillog | 记录了每一个发送到系统或从系统发出的电子邮件的活动 |
/var/log/wtmp | 永久记录每个用户登录、注销及系统的启动、停机的事件,使用last 命令查看 |
/var/run/utmp | 记录有关当前登录的每个用户的信息,执行who 、w 、users 、finger 等命令时会访问该文件 |
/var/log/btmp | 记录所有失败登录信息。使用last命令查看btmp文件`last -f /var/log/btmp |
/etc/httpd/logs/access.log | Apache访问日志 |
/var/log/httpd或/var/log/apache2 |
Apache的访问日志 |
/var/log/lighttpd | light HTTPD的访问日志 |
/var/log/samba/ | samba存储的信息 |
/var/log/nginx/ | Nginx访问日志目录 |
日志分析技巧
1、定位有多少IP在爆破主机的root帐号:
1 | grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more |
定位有哪些IP在爆破:
1 | grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c |
爆破用户名字典是什么?
1 | grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr |
2、登录成功的IP有哪些:
1 | grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more |
登录成功的日期、用户名、IP:
1 | grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' |
3、增加一个用户kali日志:
1 | Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001 |
4、删除用户kali日志:
1 | Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali' |
5、su切换用户:
1 | Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid=0) |
sudo授权执行:
1 | sudo -l |
工具
Rootkit查杀
1 | 使用方法: |
1 | 使用方法: |
病毒查杀
安装方式一:
1 | 1、安装zlib: |
安装方式二:
1 | #安装 |
webshell查杀
河马webshell查杀
深信服Webshell网站后门检测工具
HW
HW时碰到一些事件的处置方案
钓鱼邮件
有两类钓鱼邮件,第一类是通过XSS来获取Cookie,再进一步发送钓鱼邮件,由于是从相同企业邮箱地址发送来的邮件,收件人不会很警觉,可能会直接下载并打开附件;第二类是直接从其他邮箱发送钓鱼邮件,直接发送附件,由于该类邮件是从未知的邮箱发送过来,收件人并不会像第一类那么信任邮件
收到钓鱼邮件后,将邮件保存为eml
格式文件,发送给企业信息安全部门进行分析
两类邮件中,都会有恶意文件,需要对恶意文件进行分析,分析回连地址。还有挺多专业名词,白文件,证书,C2都不是很了解,等有时间看看再加上
对于钓鱼邮件的防范方法:
对公司邮箱系统设置类似WAF的安全设备,发现恶意邮件时直接拦截
在邮箱登录上设置两步验证,这样即使窃取密码,也无法登录
培训员工安全意识,碰到未知邮件,不要轻易点开,确认安全后再打开
敏感文件泄漏
1.尽快清理暴露文件
2.排查关键中间件配置减少文件和信息暴露
3.对敏感页面做权限限制,关闭目录显示
心脏滴血
若通过心脏滴血漏洞泄露账号密码,需修改账号密码。
参考
[1] blubiu
[3] 应急响应实战笔记
[5] 应急响应处置流程Windows篇
[6] 防范鱼叉式网络钓鱼攻击的8个诀窍