Windows应急响应之命令行排查

admin 2024年12月28日09:37:10评论32 views字数 4161阅读13分52秒阅读模式

如果因为各种原因没法通过可视化界面操作,那就只能命令行检查

排查Windows日志命令

PowerShell Get-WinEvent命令

列出所有事件

Get-WinEvent -ListLog *

Windows应急响应之命令行排查

获取Security.evtx的日志:

Get-WinEvent -FilterHashtable @{LogName='Security'}

Windows应急响应之命令行排查

获取事件ID为4624的Security日志:

Get-WinEvent -FilterHashtable @{LogName='Security';ID='4624'}

Windows应急响应之命令行排查

powershell今天操作日志的最近10条,注意这里的logname必须是loglist中得到的:

Get-WinEvent @{logname='Microsoft-Windows-PowerShell/Operational';starttime=[datetime]::today } -MaxEvents 10

Windows应急响应之命令行排查

powershell日志中4104和4100事件:

Get-WinEvent -LogName Microsoft-Windows-PowerShell/Operational | Where-Object {$_.ID -eq "4100" -or $_.ID -eq "4104"}

Windows应急响应之命令行排查

Windows应急响应之命令行排查

指定时间内的日志,注意end hour不能超过23

$StartTime=Get-Date  -Year  2023  -Month  1  -Day  1  -Hour  00  -Minute  00$EndTime=Get-Date  -Year  2023  -Month  1  -Day  30  -Hour  23  -Minute  59Get-WinEvent -FilterHashtable @{LogName='System';StartTime=$StartTime;EndTime=$EndTime}

Windows应急响应之命令行排查

一些其他但是少见的用法见文档

https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-eventlog?view=powershell-5.1

基本都可以用Microsoft Message Analyzer代替,可能在内网机子现场应急的时候需要用Get-WinEvent

排查Windows用户命令

lusrmgr.msc打开本地用户组查看,用户名后面如果有$是隐藏用户

Windows应急响应之命令行排查

net user列出用户账户简单信息

Windows应急响应之命令行排查

wmic UserAccount get,列出系统所有账户详细信息

Windows应急响应之命令行排查

regedit打开注册表找:

计算机HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList

通过ProfileImagePath确认

Windows应急响应之命令行排查

当前在线用户:

query user

Windows应急响应之命令行排查

查看用户上次登录时间:

net user lenovo

Windows应急响应之命令行排查

查看本地管理员组用户

net localgroup administrators

Windows应急响应之命令行排查

powershell的

Get-LocalUser

Windows应急响应之命令行排查

排查网络及端口状态命令

基本服务的端口:

C:WindowsSystem32driversetc

Windows应急响应之命令行排查

netstat -ano

  • -a :显示所有连接和侦听端口
  • -b :显示在创建每个连接或侦听端口时涉及的可执行程序
  • -n :以数字形式显示地址和端口号
  • -o :显示每个连接关联的进程 ID
  • -r :显示路由表

Windows应急响应之命令行排查

Windows应急响应之命令行排查

findstr配合

netstat -ano | findstr "172.24.16.1"

Windows应急响应之命令行排查

查看网络连接状态netstat -ano | find "ESTABLISHED",后面是pid

Windows应急响应之命令行排查

powershell命令

Get-NetTCPConnection

Windows应急响应之命令行排查

保持链接的

Get-NetTCPConnection -State Established

Windows应急响应之命令行排查

排查防火墙规则命令

显示所有规则:

netsh advfirewall firewall show rule all

Windows应急响应之命令行排查

显示指定规则:

netsh advfirewall firewall show rule

Windows应急响应之命令行排查

Apache的基本入站规则信息:

netsh advfirewall firewall show rule name = "Apache HTTP Server"

Windows应急响应之命令行排查

Apache的详细入站规则信息

netsh advfirewall firewall show rule name = "Apache HTTP Server" verbose

Windows应急响应之命令行排查

排查进程信息命令 列出所有进程:tasklist ,可以加/svc

Windows应急响应之命令行排查

配合findstr

Windows应急响应之命令行排查

列出用法

TASKLIST /?

Windows应急响应之命令行排查

检查pid为10004的进程:

tasklist | findstr "10004"

Windows应急响应之命令行排查

tasklist /m

Windows应急响应之命令行排查

查询调用uxtheme.dll的进程:

tasklist /m uxtheme.dll

Windows应急响应之命令行排查

筛选器

Windows应急响应之命令行排查

eq是等于、ne是不等于、gt是大于、lt是小于、ge是大于等于、le是小于等于  用法:

tasklist /fi "PID eq 9480"

Windows应急响应之命令行排查

Windows应急响应之命令行排查

获取父进程:

wmic process where ProcessId=14000 get ParentProcessId  wmic process where Name="javaw.exe" get ParentProcessId

Windows应急响应之命令行排查

powershell下的get-process

Windows应急响应之命令行排查

获取进程完整信息

wmic process list full

Windows应急响应之命令行排查

列出进程和父进程:

wmic process get name,parentprocessid,processid

Windows应急响应之命令行排查

详细的进程的名字,跟直接tasklist差不多:wmic process where ‘ProcessID=PID’ get CommandLine,这个services是最终的父进程,在这里notepad++的上一级父进程是explorer,再上一级是svchost,再上一级是services

Windows应急响应之命令行排查

Windows应急响应之命令行排查

dll关联:tasklist -M

Windows应急响应之命令行排查

杀死进程:

wmic process where name = "" call terminatewmic process where processid = "PID" delete

排查本机服务命令

已开启的服务:

net start

Windows应急响应之命令行排查

每个服务对应的进程:

tasklist /svc

Windows应急响应之命令行排查

排查计划任务命令

schtasks.exe

Windows应急响应之命令行排查

当然也可以在可视化的任务管理器,双击可查看详细信息

Windows应急响应之命令行排查

排查开机启动项命令 

wmic startup共有一下几个字段

Caption、Command、Description、Location、Name、SettingID、User、UserSID

wmic startup get Name,Command

Windows应急响应之命令行排查

自启任务的user和Location:

Get-CimInstance Win32_StartupCommand | Select-Object Name, command, Location, User | Format-List

Windows应急响应之命令行排查

排查共享服务命令

Get-SMBShare

Windows应急响应之命令行排查

net share也是同样

Windows应急响应之命令行排查

排查可疑文件相关命令 

下载目录、回收站、应用程序打开历史、快捷方式、驱动等

%TEMP%:C:UserslenovoAppDataLocalTemp%UserProfile%Recent:C:UserslenovoRecent%WINDIR%:C:WINDOWS%LOCALAPPDATA%:C:UserslenovoAppDataLocal%APPDATA%:C:UserslenovoAppDataRoamingC:WINDOWSTemp%SystemBoot%appcompatProgramsamcache.hve:     C:WindowsappcompatProgramsamcache.hve 应用程序执行路径、上次执行时间%SystemBoot%Prefetch 预读取文件

驱动:driverquery

Windows应急响应之命令行排查

按时间排查命令

forfiles [/p Path] [/m SearchMask] [/s] [/c Command] [/d[{+ | -}] [{MM/DD/YYYY | DD}]]

下表列出了在 /c Command 命令字符串中能够使用的变量

变量  描述@file   返回匹配项的名称,双引号。@fname  返回匹配项的基名(没有文件扩展名),双引号。@ext    返回文件扩展名,双引号,没有前导点。如果文件有多个扩展名,则只返回最后一个。如果文件没有扩展名,则返回带引号的空字符串。@path   返回匹配项的完整路径,双引号,包括驱动器号和文件扩展名(如果有)。@relpath    返回匹配项的相对路径,双引号和相对于起始目录(由/ P给出)。每个路径以点和反斜杠(.)开头。@isdir  如果文件类型是目录,返回 TRUE,否则返回 FALSE。@fsize  返回用字节表示的文件大小@fdate  返回文件上次修改的日期,采用当前用户的本地化日期格式。@ftime  返回文件上次修改时间,采用当前用户的本地化时间格式
/D    date          选择文件,其上一次修改日期大于或等于 (+),                    或者小于或等于 (-) 用 "yyyy/MM/dd" 格式指定的日期;                    或选择文件,其上一次修改日期大于或等于 (+)                    当前日期加 "dd" 天,或者小于或等于 (-) 当前                    日期减 "dd" 天。有效的 "dd" 天数可以是                    0 - 32768 范围内的任何数字。如果没有指定,                    "+" 被当作默认符号。FORFILES /P C:WINDOWS /S /M DNS*.*FORFILES /S /M *.txt /C "cmd /c type @file | more"FORFILES /P C: /S /M *.batFORFILES /D -30 /M *.exe         /C "cmd /c echo @path 0x09 在 30 前就被更改。"FORFILES /D 2001/01/01         /C "cmd /c echo @fname 在 2001年1月1日就是新的。"FORFILES /D +2024/12/13 /C "cmd /c echo @fname 今天是新的。"FORFILES /M *.exe /D +1FORFILES /S /M *.doc /C "cmd /c echo @fsize"FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"

原文作者:SpiritM0nK3y

原文链接:https://xz.aliyun.com/t/16741

 

原文始发于微信公众号(七芒星实验室):Windows应急响应之命令行排查

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月28日09:37:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Windows应急响应之命令行排查https://cn-sec.com/archives/3563948.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息