0%

网络安全应急响应windows篇

这篇笔记参考了奇安信安服团队所写的书——《网络安全应急响应技术实战指南》

算是自己看书和学习的一个总结和整理。

事件发生前未雨绸缪,事件发生后亡羊补牢。

顺便想提一下书中在1.3中所写的一个机构、企业网络安全应急响应应具备的能力。

这几个技能点稍加修改包装,简历不就又能加几行了吗()

常见网络安全应急响应场景:

勒索病毒,挖矿木马,Webshell,网页篡改,DDoS攻击,数据泄露,流量劫持等

应急响应分析流程如下:

事件类型→时间范围→系统排查→进程排查→服务排查→文件痕迹检查→日志分析→(关联推理)→结论

下面就是对技能点的简单总结。


系统排查

Windows服务

系统信息工具

如果只是简单的了解可以通过命令行输入【systeminfo】该命令能查看主机名、操作系统版本等信息。

更详细一些的内容可以通过命令行输入【winmsd】或【msinfo32】(这个是前者的更新版本)

例如靶机windows2003用的就是【winmsd】命令

win10电脑是【msinfo32】命令

正在运行的任务

在【系统信息】窗口中,单击【软件环境】中的【正在运行任务】选项,可以查看正在运行任务的名称、状态、路径

进程ID等信息。

服务

在【系统信息】窗口中,单击【软件环境】中的【服务】选项,可以查看服务的名称、状态、路径等信息。

系统驱动服务

在【系统信息】窗口中,单击【软件环境】中的【系统驱动程序】选项,可以查看系统驱动程序的名称、描述、文件等信息。

加载的模块

在【系统信息】窗口中,单击【软件环境】中的【加载的模块】选项,可以查看加载的模块名称、路径等信息。

启动程序

在【系统信息】窗口中,单击【软件环境】中的【启动程序】选项,可以查看启动程序命令、用户名、位置等信息。

用户信息

Windows系统中排查恶意账户有以下4种方法:

1.命令行方法【无法看到隐藏账户】

1
net user   #查看用户(不包括隐藏用户)

进一步收集账户信息可加上username

2.图形界面方法

我的电脑→右键→管理→计算机管理(本地)→本地用户和组→用户

或者在命令行输入【lusrmgr.msc】

可以看到带$的隐藏账户

3.注册表方法

在命令行中输入【regedit】即可打开注册表编辑器

选择【HKEY_LOCAL_MACHINE】下的【SAM】选项,右键点击权限界面并进入高级安全设置,更改权限然后才能看到东西,不然啥也看不到。

双击Users文件夹可以看到对应账号F值的二进制数据(可右键导出),若发现两个账号相同 ,则发现克隆账号。

4.wmic方法

1
wmic useraccount get name,SID

Windows启动项

启动项是病毒后门等实现持久化驻留的一种常用方法,在应急响应中也是排查的必要项目

1.通过【系统配置】对话框查看

Win+R 输入【msconfig】即可

2.通过注册表查看

各个目录的含义看书吧 懒得打字了orz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#注册表放自启动项目录(不完全整理)
Explorer/Run键:
HKEY_LOCAL_MACHINE_SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/Run
Userinit键:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/CurrentVersion/Winlogon/Userinit
RunServicesOnce键:
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/RunServicesOnce
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServicesOnce
RunServices键:
KEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/RunServices
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/ CurrentVersion/RunServices
Run键:
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Run
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run
Load键:
HKEY_CURRENT_USER/Software/Microsoft/WindowsNT/CurrentVersion/Windows/load
RunOnce/Setup键:
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/RunOnce/Setup
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/RunOnce
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnceEx

添加注册表也是惯用手段了。

任务计划

不详细讲了,看图就完事儿了,这个方法还是很明显的

Windows防火墙网络出入

1
netsh Firewall show state   #查看系统防火墙状态

在新版虽然已被弃用,但仍可以提供所需要的信息


进程排查

服务排查

通过【任务管理器】查看

实践中我发现了各版本间有写不同,比如win10在进程格右键就能选择,而2003在【查看】选项中,win7的叫法也有所不同,不过差距都不大。Windows 2003我没有发现显示映像路径和命令行设置设置,很苦恼T T

总之就是要看到进程名称、PID、命令行,可以初步判断哪些进程和行为可疑,方便锁定目标。

使用【tasklist】命令进行排查

和一些参数一起食用更佳

1
tasklist /svc  #显示每个进程和服务的对应情况

1
tasklist /m

对于某些加载DLL的恶意进程可以使用

查找特定的DLL后跟相应的进程模块即可。tasklist命令还有过滤器功能,可以结合具体情况使用

不知道有哪些功能的可以【tasklist /?】

使用【netstat】命令进行排查

1
netstat -ano

1
netstat -ano | findstr "ESTABLISHED"

ESTABLISHED,含义TCP:连接成功

如果需要定位筛查具体名称的话,还可以联动tasklist

1
例如tasklist | find "PID"
1
netstat -anb 可以查找发起外连的程序,不过需要管理员权限

1
wmic process get name,parentprocessid,processid /format:csv 这样看起来就简洁一点

文件痕迹检查

它们告诉我,你曾经存在过。

敏感目录

各个盘下的/temp、/tmp文件夹

例如c:\windows\system32\inetsrv\MetaBase.xml #IIS配置文件

还有就是MySQL,PHP,Apache等等的配置文件,这里不在过多阐述和总结。

网上有很多现成又详细的总结,这里简单的其他博主的优秀文章。

https://blog.csdn.net/weixin_50464560/article/details/119063335

https://blog.csdn.net/lzz710107110/article/details/122386379

下载文件

包括但不仅限于:浏览器历史记录、下载文件、cookie信息

查看用户Recent文件

访问过的文件夹或文件是有记录的如C:/Documents and Settings\Default User\Recent

C:/Documents and Settings\用户名\Recent

查看预读取文件

Win+R输入【%SystemRoot%\Prefetch】即可发现pf预读取文件

另外,Amcache.hve【%SystemRoot%\appcompat\Programs 】文件可查询应用程序的执行路径、上次执行的时间及SHA1值

时间点查找

可列出攻击日期内新增的文件,从而发现相关的恶意软件。

1
forfiles /m *.zip /d +2022/5/30 /s /p c:\ /c "cmd /c echo @path @fdate @ftime" 2>null

很好用的命令 就是太长了记不住

对文件的创建时间、修改时间、访问时间进行排查

hacker有时候为了掩人耳目会对时间进行修改,然而这种行为经不起推敲。

修改时间后,这三种时间会有逻辑上的问题,需要工程师留心注意。

webshell

不能判断哪个是webshell的话就上D盾,上云沙箱

或者看对外建立的链接,去查ip或者外联传输的情况。

日志分析

分为系统日志,安全性日志,应用程序日志

除了windows系统日志,还可以对中间件日志,ftp日志,数据库日志进行相关分析

【这些东西有很多,笔者在此不多赘述,大家自行利用搜索引擎收集即可】

内存分析

分析的话,主要是各种工具的使用,在此不多赘述。

市面上流行的商业软件都很不错,比如取证大师,火眼,盘古石等。

当然volatility等也是很优秀的(建议用2版本)

流量分析

Wireshark是很棒的分析工具,1、要会抓包 2、要会分析(善用过滤器)简单分享几个我用的比较多的。

1
2
3
4
5
6
7
8
9
10
ip.addr == ip    #过滤特定ip
ip.src == ip #过滤源ip
ip.dst == ip #过滤目的ip
http、https、smtp、arp等协议直接输入即可筛选
top.sort == 端口号 #对端口号进行过滤
tcp contains xxx #在数据包中筛查某一关键字
arp.opcode==2 #过滤ARP应答帧
arp.opcode==1 #过滤ARP请求帧
http.response==1 && http.response.code==200 #响应请求成功的包
tcp.flags.ack==1&&tcp.flags.syn==1 #抓握手包

威胁情报

ip和域名网上多查查

1
2
3
4
5
6
7
8
9
https://x.threatbook.cn/  #微步平时也要闲着没事逛逛,说不定有意外惊喜呢
https://ti.qianxin.com/ #奇安信威胁情报中心(个人认为做得非常好)
https://ti.nsfocus.com/ #绿盟威胁情报云
https://ti.360.com/#/homepage #360威胁情报中心
https://exchange.xforce.ibmcloud.com/ #IBM X-Force Exchange
https://whois.chinaz.com/ #站长之家
https://ip138.com/ #ip查询网
http://www.scap.org.cn/ #VULHUB信息安全漏洞门户

遇见可疑文件有事儿没事儿了多找几个地方上传一下,气死红队()

1
2
3
4
5
https://www.virustotal.com/gui/home/upload  #virustotal
https://s.threatbook.cn/ #微步云沙箱
https://ata.360.cn/ #360安全大脑沙箱云
https://habo.qq.com/ #腾讯哈勃系统
https://sandbox.freebuf.com/detect?theme=freebuf #大圣云沙箱(有点慢)

总结的内容到这里就要结束了,当然整本书300+页,后面有很多经典案例分享,如挖矿木马,勒索病毒,流量劫持等等。总的来说,是一本非常可读的书,值得想了解应急响应的同学学习一番。这些也有可能给红队的同学一些小启发哟~

若不去改变,明天永远只是今天的重演。