Windows入侵排查

一、账号

1、弱口令

  • 检查方法:查看服务器是否存在弱口令,远程连接端口是否对公网开放;直接询问管理员

2、新建账号和可疑账号

  • 检查方法一:Win+R,输入lusrmgr.msc

    lusrmgr

  • 检查方法二:Win+R,输入net localgroup administrators

  • 检查方法三:powershell 输入 Get-WmiObject -Class Win32_UserAccount | Select-Object Name, SID

    image-20240715下午12814408

  • 处理方法:禁用或删除对应的账户

3、隐藏账号和克隆账号

  • 检查方法:查看注册表对应的键值

如果想用命令 reg query "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names"查询的话,需要system权限,可以用psexec去启一个 PsExec64.exe -i -s cmd.exe

  • 处理方法:删除注册表 HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\ 下对应帐户的键值即可(两处)

4、在线用户

除了自己外,是否还有其他人连接到服务器的。

  • 检查方法一:如下命令进行查询。
quser
query session
Get-SmbSession # powershell
  • 检查方法二:任务管理器中用“用户”功能模块。

5、登陆日志

  • 检查方法: a、win+R,输入eventvwr.msc,打开事件管理器 b、Windows日志 -> 安全 -> 另存为 c、利用 Log Parser 进行分析
    • 安装后常规情况安装到 C:\Program Files (x86)\Log Parser 2.2
    • 有查询的思路可以直接问GPT让帮忙写查询语句,如:使用LogParser.exe查询登陆成功的日志,怎么编写命令
# 查看日志中的登陆记录
LogParser.exe -i:EVT "select TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as username FROM c:\日志路径\日志.evtx where EventID=4624"

LogParser.exe -i:EVT -o:DATAGRID  "SELECT *  FROM C:\Users\d4m1ts\Desktop\安全.evtx where EventID=4624"

二、端口和进程

可能存在一些还在运行中的后门程序,方便快速定位

1、检查端口情况

检查端口连接,是否有远程连接、可疑连接等

  • 检查方法: a、netstat -ano 查看目前的网络连接、本地端口等情况,定位可疑的ESTABLISHEDLISTENINGTIME_WAIT进程pid。 b、根据查询到的 pid 定位到进程,tasklist /svc | findstr $PID

c、根据查询到的建立连接的IP,可以去微步上查一下是否为已知C2

2、检查异常进程

  • 检查方法一:“任务管理器” -> “进程” image-20240711下午84140570
  • 检查方法二:使用 Process Explorer image-20240712下午15342611
  • 检查方法三:Win+R,输入 msinfo32,点击 “软件环境” -> “正在运行任务”

3、进程命令行启动参数

  • 除了上述2种图形化界面外,可以用wmic在windows下查看所有运行程序(或进程)的命令行参数
wmic process get caption,commandline /value
  • 如果想查询某一个进程的命令行参数,使用下列方式:
wmic process where caption="svchost.exe" get caption,commandline /value

image-20201030012307896

4、查看进程关联文件

Process Explorer中打开如下选项,即可查看到进程关联的文件、注册表等,实现类似linux中 lsof -p <pid> 的效果。

image-20240713下午24108572

如此时我通过powershell打开txt,可成功关联到对应的txt文件

image-20240713下午24320105

5、技巧

  • 技巧一:如何快速定位恶意进程
    • (1). 没有签名验证信息的进程
    • (2). 没有描述信息的进程
    • (3). 进程的属主
    • (4). 进程的路径是否合法
    • (5). CPU或内存资源占用长时间过高的进程
    • (6). 攻击时间段内启动、被修改过的进程
  • 技巧二:如何快速定位进程目录

    • (1). 任务管理器的进程栏,直接右键,点击“打开文件位置”
    • (2). msinfo32可以直接看
    • (3). cmd中输入wmic,然后输入process

6、Kill进程

[!WARNING]

一般乙方只负责排查出报告,不负责后续的清理,如果一定要清理必须要在客户有明确的说明的情况下再去清理(最好是有文字留档,避免背锅。

  • 命令行:
# taskkill
taskkill /F /PID <进程ID>
taskkill /F /IM <进程名,可以用*表示通配符>

# powershell
powershell Stop-Process -Id <进程ID> -Force

# wmic
wmic process where ProcessId=<进程ID> call Terminate
  • 图形化:

基本就直接选中进程,右键选择Kill就可以了

三、开机启动项、计划任务、服务

1、开机启动项

检查方法: a、Win+R输入shell:startup,快速查看开机启动目录

b、Win+R输入msconfig,查看启动项

c、Win+R输入regedit

  • 查看HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce右侧是否有启动异常的项目;
  • 查看HKEY_CURRENT_USER\Environment\是否存在UserInitMprLogonScript参数(Logon Scripts 后门);
  • 查看HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonUserinit的参数值是否有除userinit.exe外的其他程序(userinit后门);
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run"
reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run"
reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce"
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
  • 如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马。(也可以cmd里面直接用命令 reg query "注册表项名称" d、Win+R,输入gpedit.msc 查看组策略

2、计划任务

检查方法一:“控制面板” -> “管理工具” -> “计算机管理”->“系统工具”->“任务计划程序”->“任务计划程序库” 或者 Win+R 输入 taskschd.msc 检查方法二:cmd输入schtasks 或者 at

3、服务

检查方法一:Win+R 输入 services.msc,注意服务状态和启动类型,检查是否有异常服务。

undefined

检查方法二:cmd输入 sc query,不太直观

四、系统信息

1、近期活动

使用工具 LastActivityView;LastActivityView 是一款适用于 Windows 操作系统的工具,它从运行系统的各种来源收集信息,并显示用户的操作日志以及这台计算机上发生的事件。LastActivityView 所显示的活动包括:运行.exe 文件、打开打开/保存对话框、从资源管理器或其他软件打开文件/文件夹、软件安装、系统关机/启动、应用程序或系统崩溃、网络连接/断开等等。

记得下载语言文件并放入到文件夹中

image-20240715上午100731060

image-20240715上午101105893

2、可疑目录和文件

检查前先开启隐藏文件和文件后缀

image-20240711下午55114005

检查方法:

a、Win+R输入 %UserProfile%\Recent,打开最近操作过的文件(可以看到attrib +s +a +h +r隐藏的文件)

b、临时目录,如 %TMP%%TEMP%C:\Windows\Temp

c、用户目录,如 C:\UsersC:\Users\Public

d、回收站cd /d %SystemDrive%\$Recycle.Bin、浏览器下载目录、浏览器历史记录

e、修改时间在创建时间之前的为可疑文件,或者近期更新过的文件

f、ADS隐藏后门

当看到运行进程中调用的文件名包含:,或者dir /r看到的文件列表中包含:,类似test.txt:1.vbs时,可考虑此后门,直接删除test.txt即可

image-20201029220944586

3、异常流量

后门不一定会是TCP的,可能是走的其他协议比如DNS后门

# wireshark
icmp or dns

image-20240711下午83155680

4、系统补丁

检查方法:CMD 中输入 systeminfo,将结果复制到提权辅助页,查看是否有相应可用的漏洞

五、集成工具🌟

上面每一项都太杂了,而且比如伪装成一样的进程名可能也不太方便判断,那么是否有什么工具集成了这些功能,能够辅助看,然后再去查漏补缺呢?当然有,如下:

Autoruns

Autoruns for Windows 是 Mark Russinovich 和 Bryce Cogswell 开发的一款软件,它能用于显示在 Windows启动或登录时自动运行的程序,并且允许用户有选择地禁用或删除它们,例如那些在“启动”文件夹和注册表相关键中的程序。此外,Autoruns还可以修改包括:Windows 资源管理器的 Shell 扩展(如右键弹出菜单)、IE浏览器插件(如工具栏扩展)、系统服务和设备驱动程序、计划任务等多种不同的自启动程序。

下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/autoruns

image-20240704上午115314684

火绒剑

火绒剑是火绒安全软件里的高级工具,也是一款用于分析、处理恶意程序的安全工具软件,适用于 Windows 系统的安全分析辅助工具,具有系统动作监控、文件管理、进程管理、启动项管理、注册表管理、服务管理、驱动模块、网络管理、系统内核查看、钩子扫描等功能。后面改名成了安全分析工具,在火绒的安全工具最下面。

下载地址:https://www.huorong.cn/person6.html (官网先下载安装火绒,然后去安全工具中找到 安全分析工具,一般客户有安装火绒的情况下建议用,或者安装后把它和依赖dll提取出来放到U盘,还是推荐用autoruns

image-20240704下午120231599

OpenArk

OpenArk是一款Windows平台上的开源Ark工具. Ark是Anti-Rootkit(对抗恶意程序)的简写, OpenArk目标成为逆向工程师、编程人员的工具,同时也能为那些希望清理恶意软件的用户服务。以后也将会支持更多功能和命令。

下载地址:https://github.com/BlackINT3/OpenArk/releases/latest

image-20240704下午13411676

六、自动化查杀

一些特殊情况,比如使用了msf的 migrate 迁移到内存了,可能手动什么也查不出来,所以还是建议安装杀软做一次扫描,尽可能保证内存的安全。

image-20240711下午92803980

扫描后,成功发现恶意的内存:

image-20240711下午92833769

[!NOTE]

不要盲目信任杀软的处理,经测试火绒处理了权限还是在

如果被加载了恶意的内存,最好的办法是在备份进程内存后重启进程(不需要取证分析的话可以不备份)

Copyright © d4m1ts 2023 all right reserved,powered by Gitbook该文章修订时间: 2024-07-15 14:37:14

results matching ""

    No results matching ""