freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Windows入侵检测与排查:一篇实用的应急响应教程[一]
zero1234 2025-03-07 14:34:11 85499
所属地 广东省

前言

相信各个师傅都收到了消息,今年的护网将是常态化护网,周期非常的长。在这几天,已经有各大厂商开始陆续的收集简历了吧,相信以护网的薪酬,大家都想分一杯羹。那么我们学会应急响应是必不可少的!让我们也马上卷起来吧!

引用文献

应急响应篇之Windows入侵排查_哔哩哔哩_bilibili

正式开始

知识点一:环境变量排查

使用命令set,可以查看到当前用户的一个环境变量信息。这就是全部的环境变量信息了。

1740474543_67bd88afdc0c558a9912f.png!small?1740474511978

环境变量的作用:当我们在当前目录下,没有找到这个文件的时候,那么系统就会根据我们的环境变量进行一个查找,直到找到为止。

这里我设置这个程序为环境变量。

1740474717_67bd895dd858ed13da07f.png!small?1740474686625

软件运行的界面

1740474721_67bd8961b8d1800d646c7.png!small?1740474689427

这里就是设置环境变量,成功的连上桌面上的软件。也可以使用命令进行设置。

这里有个需要注意的点,查看当前目录下的路径,pwd的命令在windows的cmd窗口是不支持的,但在powerShell中可以。

1740474726_67bd8966cf67d530a383b.png!small?1740474694704

首先我们要查看

1740474731_67bd896b1ea93b19dccf2.png!small?1740474698867

桌面的一个路径,然后通过命令行工具进行下一步,注意:这里设置就不是PowerShell了!!!!而是普通的cmd窗口

1740474737_67bd89717af187c2cedef.png!small?1740474705182

当然这里是临时的,还可以设置永久的:

1740474741_67bd89753f48ccaf0ea7f.png!small?1740474708944

总结:

我们想要排查环境变量中的恶意文件,最简单的方式就是通过set命令

将所有的环境变量列出,然后进行排查。


知识点二:网络信息排查

使用命令:netstat -ano

1740474844_67bd89dc579251d71406a.png!small?1740474812066

1740474847_67bd89dfb05f53a360804.png!small?1740474815594

ESTABLISHED:已经建立会话的连接

重点关注这个

可以把这些ip地址全部导出,然后去到微步的一个安全社区,或者奇安信的安全社区。

可以使用命令:netstat -ano -p tcp|findstr "ESTABLISHED"进行一个筛选

1740474854_67bd89e6005b663bf140d.png!small?1740474821971

在这里面,我们就可以全部复制粘贴,丢到微步或者其他的一个安全情报中心

1740474918_67bd8a26b63562103a18f.png!small?1740474886827

然后通过微步进行一键查询,哟,真有一个恶意的IP。我们去看看的详细分析。

一看,欸嘿,这个域名不就是某情报社区嘛,哈哈哈被当成恶意ip了,简而言之就是误报,感兴趣可以自己访问一下域名。

1740474947_67bd8a43de24b80fd343f.png!small?1740474915990

总结:

利用netstat -ano命令将所有的对外或者对内的连接ip地址分析一遍,即可~


知识点三:如何进行进程排查

命令行:tasklist /v --查看进程

1740475097_67bd8ad931afaaa15016d.png!small?1740475065274

假如说有一个有问题的进程

1740475405_67bd8c0d0e53d2c5a123b.png!small?1740475373203

可以看到这个ipconfig.exe一直在运行。一般来说ipconfig输入完后就结束了,所以就可以查看一下~

按照我们的排查思路

netstat -ano

1740475409_67bd8c1164fe58cc6719e.png!small?1740475377445

可以看到这里发现了一个对外的可疑的连接,可以看出这个状态和其他的状态都不一样,这个是属于CS连接的状态,遇到这个状态基本可以确定是恶意进程。

那么我们就可以使用命令:

tasklist /v | findstr 2792

这样就可以指定查看这个进程 tasklist /v | findstr 进程号

1740475235_67bd8b6305d2c42f5d227.png!small?1740475203839

当然也可以通过任务管理启寻找进程号~

我们也可以通过wmic process get * /value 看到各种进程的详细信息,例如这里的抖音:

1740475420_67bd8c1cab55ff67f09ee.png!small?1740475388443

这个东西有什么用呢?可以查看一些没有实质软件的恶意进程。

我们进入攻击队的视角:

例如CS里面的PowerShell Command

1740475425_67bd8c214152982a25ed9.png!small?1740475393371

1740475428_67bd8c249fe3206883110.png!small?1740475397523

这种一大段的东西粘贴进去cmd中,运行

1740475435_67bd8c2b0bed791f912e1.png!small?1740475402805

CS就会成功的上线。这样就能控制服务器(电脑)了。

如果我们使用普通的进程查看tasklist /v,那么就看不到详细的命令。

1740475439_67bd8c2f24b0a3395dbc2.png!small?1740475407205

那么我们使用wmic process get caption,commandline命令就可以筛选出应用的名称和工具执行的命令

wmic process get caption,commandline /value 这个/value是以格式化进行显示

1740475442_67bd8c32df0bae6d978b2.png!small?1740475410644

1740475446_67bd8c362a7ce4f1995a9.png!small?1740475415132

然后你在这里面看到这么一段,就能发现这个是一个木马,就成功排查了木马!

还可以使用进程号,配合进程号直接查询某个进程的详细信息

1740475450_67bd8c3a61eddaca24570.png!small?1740475419204

wmic process where processid=进程get caption,commandline /value

1740475454_67bd8c3eb8e935070e3fc.png!small?1740475422564

wmic process where processid=36124 get caption,commandline /value

1740475458_67bd8c4256464c67511b8.png!small?1740475426142

1740475462_67bd8c4658788edaa0b28.png!small?1740475430051

总结:

netstat -ano 查看所有的网络

tasklist -v 查看所有的进程,根据进程的

两者结合,

wmic process where processid=进程idget caption,commandline /value

就能成功的排查进程~


知识点四:恶意用户排查

嘿嘿,这个我写过,就直接复制粘贴了~

Windows入侵排查与日志分析:一篇你能上手的应急响应![一] - FreeBuf网络安全行业门户

恶意用户,就是黑客在我们的主机上(服务器上)创建的克隆用户或者是隐藏用户。

黑客创建这些用户的目的呢就是为了进行一个持久化的维权,保持对我们主机的控制,相当于留了一个后门!!!十分可恶嗷,太可恶了!!!(日常发癫)

首先我们要如何去查看这个用户呢?

可以通过计算机管理查看,注意:Windows只有专业版才能查看

1740146810_67b8887a423145000926f.png!small?1740146777049

1740146860_67b888ac362cceaca3a90.png!small?1740146826886

可以看到这里有多少个用户。

也可以通过命令查看

1740147106_67b889a2a2299e3cbe20f.png!small?1740147073243

当然这里看到的用户就没有那么详细了。可以看到我们创建的基本用户。让我们走入红队的视角:

你现在是一名黑客:你成功连接了,你要创建一个隐藏用户

net user hiddenuser$ Password123 /add

1740147566_67b88b6e5d464ef804a50.png!small?1740147533056

值得注意的是,你拿到普通用户可没有创建用户的权限,所以发现黑客在你电脑上创建了账户,八成你的管理员账户被打下来了。或者是特殊权限的账户。

1740147807_67b88c5fd9dc61c089784.png!small?1740147774461

可以看到1,是准备创建的一个普通用户。而2,就是创建的一个隐藏用户。

可以看到2,我们无法查询出来,这就是隐藏用户。克隆用户就不演示了。

现在!有一个命令,可以秒杀一切!!!

wmic useraccount

1740149377_67b8928114a1a9f905dcd.png!small?1740149343960

可以看到,就查出了刚刚创建的隐藏用户,不仅是隐藏用户,而且克隆用户一样可以查出来!就学这一条命令就可以了!

总结:

wmic useraccount 一个命令秒杀所有~


知识点五:持久化排查

什么叫持久化,简单来说就是别人来了你家,偷偷的配了一把钥匙,这样别人就能一直来你家了。这就是持久化。而Windows的持久化就很多了,比如计划任务,让你每天都执行一次木马~

一、通过修改注册表,进行持久化

cmd中输入regedit

就可以打开了,然后我们要找到对应的路径。这里这个路径是给全部用户做的配置,表示不管哪个用户登录都会开机自己启动某个程序

1740476181_67bd8f152cb529bb8d16b.png!small?1740476148988

在这下面进行脚本的创建就可以开机自启动了,选择创建字符串值

1740476188_67bd8f1c4e66ebe5e7efb.png!small?1740476156048

1740476192_67bd8f206b49c6573fb1e.png!small?1740476160267

1740476195_67bd8f23e14ce503d3342.png!small?1740476164225

那么我每次开机它都会打开这个。

1740476200_67bd8f287a72ce3634a37.png!small?1740476169949

这就是通过修改注册表来决定的启动项目。

其实有两个路径

一个是只有所有用户,开机启动项目,这个修改需要管理员权限

一个是当前用户,开机启动项目

1740476204_67bd8f2c528c489937c7d.png!small?1740476172769

HKEY_LOCAL_MACHINE开头的是管理员。

HKEY_CURRENT_USER开头的是用户。

那么我们只需要用木马文件作为启动项,是不是别人每次开机你都会上线,这样就不怕别人的关机大法了~


二、使用服务来维持持久化

红队视角:

我们打开CS,创建一个服务马

1740476209_67bd8f31d0de840d7c2a1.png!small?1740476177951

1740476212_67bd8f3486cda7246bea4.png!small?1740476180347

服务生成的命令格式:

sc create 服务名称binpath="指向哪个应用" displayname="显示在管理的服务名称" depend= Tcpip start=auto

sc description 服务名称(与第一个服务名称一致)"添加你想要的描述,随便打一点字符"

1740476217_67bd8f3968f2694811688.png!small?1740476185227

还有一个东西要知道,在管理器中显示的服务名,和真实的服务名有差别:

1740476228_67bd8f44b4cfef428a95e.png!small?1740476197069

我们这里使用:

sc create 666666 binpath="C:\Users\user\Desktop\Delet.exe" displayname="888888888" depend= Tcpip start=auto

sc description 666666 "添加你想要的描述,随便打一点字符"

注意:输入这两行命令是需要管理员权限的,就是要权限高,才可以用这个方案。

可以在服务任务栏中找到我们创建的服务。

1740476234_67bd8f4a0aa13533e6e18.png!small?1740476202030

成功挂上服务,这时候可以选择重启也可以不重启,不重启就输入命令。

sc start 服务名称

sc start 666666

1740476237_67bd8f4d577c0a8aa8cdf.png!small?1740476205149

1740476240_67bd8f507038530816623.png!small?1740476208428

这样就成功连接了。


蓝队视角:

1740479289_67bd9b399a946ee589b24.png!small?1740479252973

那我们要怎么才能对这些东西进行一个排查,很难。

因为名称、描述、这些都是可以伪造了,你只要不借助工具,你就很难发现这个服务。!!!

那么应该如何找到它,一个思路是,当我们知道了它的名字的时候

可以使用一个全局的搜索进行搜索,比如我已经锁定了木马文件叫做delet.exe,那么我就可以去搜索它,通过注册表一个搜索就可以了。

1740479294_67bd9b3e712da1d49b2ed.png!small?1740479256804

1740479302_67bd9b461698086acb72c.png!small?1740479264366

1740479308_67bd9b4c3a4d209050a60.png!small?1740479271505

这里就可以直接看到我们的木马文件所在的位置,地点,这样就可以进行一个查杀了!

剩下的两种方式也能用这个方法进行排查

设置本地组策略

1740479312_67bd9b50802a5a8bc1c21.png!small?1740479274538

1740479315_67bd9b531b444150f6b4e.png!small?1740479277196

1740479323_67bd9b5baceb4e91db598.png!small?1740479285816

1740479327_67bd9b5ff395dc8ba96ac.png!small?1740479290271

1740479331_67bd9b63e4b13d13abfb3.png!small?1740479293982


这样,你重启后,它也会自动的进行一个打开,弹shell

计划任务:schtasks

1740479338_67bd9b6a52de690a23882.png!small?1740479300549

相当的简单,只要将/tr "修改为自己的木马文件即可"/tn "计划任务名称"

1740479342_67bd9b6e9f4cbf4540340.png!small?1740479304853

如果你觉得某个计划任务有问题,就可以使用schtasks /query /tn "计划任务的名称" /v /fo:list

就可以看到详细的计划任务信息了

当然通过控制面板去搜索也是可以的。windows sever的话就通过其中的管理中心打开即可。

1740479347_67bd9b73eb64400de8f5b.png!small?1740479310219

第二个思路呢就是通过everything这个软件,通过这条命令可以搜索这条时间下的目录文件

1740479372_67bd9b8c1fb801f07d924.png!small?1740479334387

第三个思路就是通过火绒,去排查启动项

1740479375_67bd9b8f7d8a7cc4f218a.png!small?1740479338019

重点查看服务和启动项

还可以对进程和进程项进行一个排查

1740479379_67bd9b93787172786a1c1.png!small?1740479341618

总结:

1.对于服务和启动项,我们更加推荐的是火绒这类工具的手段。

2.如果我们已经锁定了计划任务名称:schtasks /query /tn "计划任务的名称" /v /fo:list


姿势总结

网络类:

netstat -ano

netstat -ano -p tcp

netstat -ano -p tcp | findstr "ESTABLISHED"

netstat -ano| findstr "ESTABLISHED"

netstat -rn 查看路由表


进程类:

tasklist -v

wmic process get * /value

wmic process get caption,commandline/value 指定应用名称以及启动应用命令查看

wmic process where processid=进程idget caption,commandline /value指定进程ip查看


服务类:

schtasks /query /tn "计划任务的名称" /v /fo:list --排查计划任务,锁定计划任务的前提下

使用火绒工具,进行一键的排查

通过everything这个软件,搜索某段时间下的服务

regedit,查看注册表,是否被篡改


账号类:

wmic useraccount 秒杀一切恶意用户~


免责声明

  • 本文所包含的内容仅用于教育和研究目的,旨在提高信息安全意识,帮助用户了解网络安全防护的重要性。

  • 文章中提及的任何渗透测试技巧、工具或方法,仅供合法授权的安全研究和测试使用。在进行任何渗透测试或安全测试之前,请确保您已获得相关系统或网络所有者的明确授权。

  • 本文作者不对任何因使用文章内容而导致的非法活动、损害或其他不良后果承担任何责任。读者在实施任何技术之前应确保遵守所有适用的法律法规。

  • 本文内容不支持或鼓励任何形式的恶意攻击、未授权的入侵或网络犯罪。

  • 本文内容仅限于教育用途,不得以任何方式用于未经授权的网络安全攻击或破坏行为。

# 应急响应 # 安全应急响应
本文为 zero1234 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
zero1234 LV.4
希望大家每天都开开心心,快快乐乐,坚持学习网络安全~
  • 30 文章数
  • 51 关注者
红队APT基础 | 钓鱼邮件的制作与SPF绕过(一)
2025-04-15
SQL注入绕waf姿势:sleep被过滤了怎么办?
2025-04-15
渗透测试基础|信息收集——框架识别&框架漏洞利用
2025-04-07
文章目录