有人说:“真正的黑客不是点击鼠标,而是编写脚本。”又或许你在电影里看到有人在黑暗的终端里疯狂打字,心想:“没错,就是这种感觉。”无论如何,欢迎来到PowerShell 的游乐场——网络安全专家、道德黑客和数字防御者聚集的地方。
“PowerShell?这不就是一个装腔作势的命令提示符吗?”
PowerShell 就像命令提示符一样,功能更强大、更强大、更灵活。它是 Windows 系统黑客攻击和防御的“瑞士军刀”。在网络安全领域,它甚至可以说是颠覆性的。
所以,穿上你的连帽衫(可选),泡上一杯咖啡,让我们一起深入了解每个有志于成为网络安全英雄的人都应该知道的100 个顶级 PowerShell 命令。
首先,PowerShell 到底是什么?
想象一下,你是电脑的主人。你想告诉它该做什么:扫描网络、检查坏人、查找隐藏文件或监视可疑活动。
PowerShell 可以让你做到这一点— — 但就像专业人士一样。
想象一下,就像用命令行魔法和你的电脑对话一样。
开始之前的专业提示
- 以管理员身份打开 PowerShell (右键单击 > 以管理员身份运行)。
- 与任何命令一起使用
Get-Help
以了解其功能。 - 坚持下去——其中一些命令会让你大吃一惊。
- 将您最喜欢的命令保存在
.ps1
文件中 — 这就是 PowerShell 脚本!
快速入门:PowerShell 语法 101(非常快!)
在我们全力以赴之前,让我们先分解一下 PowerShell 命令的样子:
Get-Process
这个命令列出了所有正在运行的进程。
那这个呢:
Get-Service | Where-Object {$_.Status -eq "Running"}$_.Status -eq "Running"}
这条命令:显示当前正在运行的所有服务。
这就像黑客界的乐高积木。
The power100:绝对传奇的网络安全指挥者
系统侦察:了解你的机器
systeminfo
— 查看详细的系统信息。Get-ComputerInfo
— 基本上就是您的系统的生命故事。hostname
— 我的电脑叫什么名字?Get-WmiObject Win32_OperatingSystem
——操作系统信息?对了。Get-EventLog -LogName System -Newest 50
— 最近的系统日志。Get-WmiObject Win32_BIOS
— BIOS 信息 = 固件见解。Get-HotFix
— 已安装的更新(又名:补丁卫生)。whoami
— 说实话,你是谁?Get-LocalUser
— 列出所有本地用户。Get-Process
— 所有正在运行的进程。
为什么重要:你无法捍卫你不了解的东西。了解你的战场(你的电脑!)。
用户和访问侦察
net user
— 查看所有用户。net localgroup administrators
— 谁拥有管理员权限?Get-LocalGroupMember -Group "Administrators"
— 一样,但更漂亮。whoami /groups
— 您属于哪些团体/组?Get-Acl C:
谁可以访问什么?检查文件权限。Get-ADUser -Filter *
— Active Directory 中的所有用户(需要域访问权限)。Get-ADGroupMember "Domain Admins"
— 找到大人物。Get-ChildItem C:Users
— 浏览用户资料。net session
— 谁连接到了你的系统?query user
— 现在谁登录了?
专业提示:要可以有效识别可疑用户。某个账号是不是突然加入了管理员组?
恶意软件搜寻与分析
Get-MpThreat
— 列出检测到的威胁(Windows Defender)。Get-MpComputerStatus
— 检查 Defender 状态。Start-MpScan -ScanType FullScan
— 触发全面扫描。Get-Process | Where-Object {$_.Path -like "*AppData*"}
— 隐秘的恶意软件喜欢 AppData。Get-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
— 检查自动启动程序。Get-ScheduledTask
— 审查计划任务(又称持久性陷阱)。Get-Process | Sort CPU -Descending
— 查找占用大量 CPU 资源的程序(可能是加密货币矿工?)。Get-NetTCPConnection -State Listen
— 您的端口上正在监听什么?Get-Command -Module Defender
— 所有 Windows Defender 工具。Get-Service | Where {$_.Status -eq "Stopped"}
— 可疑地停止了服务?
网络与连接
ipconfig
— 很基础,但却是金色的。Get-NetIPAddress
— 详细的 IP 信息。Get-NetRoute
— 路由表 = 流量图。Test-Connection google.com
— 从 PowerShell 执行 Ping!Resolve-DnsName facebook.com
— DNS 查找。Get-NetTCPConnection
— 活动的 TCP 连接。netstat -anob
— 经典、详细的网络活动。Get-DnsClientCache
— 您的 DNS 记忆。tracert example.com
— 路由到域。Get-NetFirewallRule
— 查看您的防火墙配置。
文件系统与取证
Get-ChildItem -Recurse
— 递归搜索文件夹。Get-Content
— 从控制台读取文件。Select-String -Path *.log -Pattern "error"
— 搜索日志中的关键字。Get-FileHash filename.exe
— SHA-256 哈希值!Compare-Object
— 比较两个目录。Export-Clixml
— 导出对象数据以供后续分析。Get-ItemProperty
— 提取文件或文件夹元数据。dir /s /b *.ps1
— 查找所有 PowerShell 脚本。Get-ChildItem -Hidden
— 隐藏文件?我们发现了。New-Item -Path C:Logs -ItemType Directory
— 即时创建新文件夹。
脚本与自动化
ForEach-Object
— 像老板一样循环播放。Start-Sleep -Seconds 5
— 延迟脚本。Read-Host
— 提示用户输入。Write-Output
— 展示一些东西。If (condition) {}
— 基本逻辑流程。Try { } Catch { }
— 错误处理。Invoke-WebRequest
— 通过 HTTP 下载文件。Start-Process
— 运行一个程序。Register-ScheduledTask
— 像专业人士一样实现自动化。Out-File
— 将输出保存到文件。
红队(道德黑客)
Invoke-Command
— 远程代码执行。New-PSSession
— 有人进行远程会议吗?Get-Credential
— 安全地提示信用。Invoke-Expression
— 将字符串作为代码执行(但有风险)。Add-MpPreference -ExclusionPath
— 暂时绕过 Defender。Set-ExecutionPolicy Bypass
— 不受限制地运行脚本(明智使用)。Get-History
— 了解您输入的内容。Clear-History
— 或者...隐藏您输入的内容。netsh wlan show profiles
— 列出已保存的 Wi-Fi 网络。netsh wlan export profile name="NETWORK" key=clear
— 获取已保存的 Wi-Fi 密码。
蓝队(防守)
Get-WinEvent -LogName Security
— 深入了解安全日志。auditpol /get /category:*
— 检查审计政策。New-EventLog
— 自定义事件日志。Limit-EventLog
— 保持原木精简、清洁。Set-ExecutionPolicy Restricted
— 锁定脚本执行。Enable-PSRemoting -Force
— 设置远程监控。Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4624}
— 仅限登录!wevtutil qe Security "/q:*[System[(EventID=4625)]]"
— 登录失败。Get-Command *log*
— 查找所有与日志相关的命令。Set-Service -Name wuauserv -StartupType Disabled
— 禁用自动更新(仅供实验室使用!)。
实验室、乐趣和实践
Start-Transcript
— 记录会话中的所有内容。Stop-Transcript
— 停止录音。Measure-Command {YourCommand}
— 基准执行时间。Show-Command
— PowerShell 命令的 GUI 形式。Get-Command
— 探索可用资源。Get-Module
— 安装了哪些模块?Import-Module
— 装载额外的工具。Find-Module
— 在线发现新事物。Install-Module
— 将它们添加到您的工具箱中。Update-Module
— 保持最新!
清洁和维护
Clear-Content
— 空文件。Remove-Item
— 删除内容。Clear-Host
— 清洁你的屏幕。Unregister-ScheduledTask
— 删除自动化。Stop-Process
— 结束一个恶意任务。Restart-Computer
— 重新启动它。Shutdown /s /t 0
— 把它关掉。Get-Help
— 你最好的朋友!Update-Help
— 刷新帮助系统。exit
— 何时该和解
乍一看,PowerShell 可能让人望而生畏——就像第一次打开汽车引擎盖一样。但玩得越多,就越觉得有趣。作为网络安全新手,即使掌握几个这样的命令也能让你获得巨大的优势。
原文始发于微信公众号(KK安全说):【新手必入】Hacker最常用的一百个power shell
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论