前言
前不久的一次线下比赛,自己拿到了webshell权限,但是死活上不去蚁剑,没办法,只能手动执行命令,这时才发现自己对windows的常用命令和敏感目录都不是很了解,真是折磨。这里就快速总结,好记性不如烂笔头。
win命令网上总结的都不是很全,建议直接看官网:https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/windows-commands
windows命令比较单一,还有很多linux命令的功能,win根本不支持,怪不得ctf里的命令执行题目默认是linux环境。
环境变量
环境变量可以分为以下三种
用户变量:只对当前用户生效
系统变量:对所有用户生效(需要管理员权限修改)
Path变量:是用户变量和系统变量都有的一个叫做path的变量,path变量可以看成是一个数组,里面存储的可执行文件的路径
环境变量优先级:系统变量先定义,用户变量覆盖系统变量。Path的合并:系统Path + 用户Path
也就是说系统变量会被用户变量覆盖,但系统变量path不会被用户path覆盖,系统 PATH 中的目录优先于用户 PATH 中的目录 被搜索
通过echo就能查看环境变量里的值
Windows系统自带的系统环境变量
普通变量的值是固定的,由系统或用户设定后存储在注册表中,可以修改;而动态变量的值是由系统或当前环境决定的。也就是说不是所有环境变量都能通过修改系统属性里的环境变量或者使用setx 修改
常见动态变量(不是全部)
1 | %HOMEPATH% 用户主目录相对路径 \Users\Admin |
普通变量
1 | %TEMP%/%TMP% 用户临时目录 C:\Users\Admin\AppData\Local\Temp |
常见开发环境变量
1 | %JAVA_HOME% JDK安装目录 |
set命令
set可以设置进程级别的环境变量,关闭终端就会结束
下面是设置终端临时代理
1 | set HTTP_PROXY=http://127.0.0.1:7890 |
setx可以永久的修改环境变量
1 | setx JAVA_HOME "D:\Java\jdk21" /M #修改系统变量要加/m |
windows敏感文件
系统根目录下的敏感文件
C:\Windows\system.ini
C:\windows\system32\drivers\etc\hosts //DNS解析地址
C:\windows\System32\drivers\etc\networks //网络设置
C:\Windows\system32\config\SAM //用户名和密码HASH
C:\Windows\prefetch //存储预读取文件
第三方配置文件
C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件
C:\Program Files\mysql\my.ini //Mysql配置
C:\Program Files\mysql\data\mysql\user.MYD //Mysql root
C:\Windows\php.ini //php配置信息
C:\Windows\my.ini //Mysql配置信息
启动项目录
启动文件夹(Startup Folder)是一个实际的文件夹,放入其中的程序(如 .exe 文件、.bat 文件、.vbs 文件等)将在 Windows 启动时自动运行
1 | # Windows Server 2003 的启动项路径: |
windows 命令
弹计算器
calc
获取使用提升
win cmd下 命令加/?,即可获取提示
1 | 命令 -help #第1种形式的使用帮助 |
输出命令
1 | C:\Users\DELL>echo 1123 |
管理目录
cd命令
1 | cd #显示当前目录相当于linux的pwd |
dir命令
1 | dir #默认情况下,dir 会显示文件名、大小、日期和时间等信息。 |
目录和文件操作
1 | mkdir 123 #创建文件夹 |
文件读取
1 | type file.txt |
文本查询
1 | findstr "flag" 1.log #查找文件中包含字符串的行 |
文件属性控制
attrib 显示和修改的属性是文件/目录的“文件系统属性”,不是权限属性。这些属性对所有用户都一样,不是针对某个用户的,只要用户拥有对文件的“写入权限”,其就可以使用 attrib
Hidden (H):是否在资源管理器中隐藏
System (S):是否作为系统文件,受保护
Read-only (R):是否允许写入
Archive (A):文件被修改过,需要备份
Not Indexed (I):搜索服务不用索引这个文件
1 | attrib #查看当前文件夹下所有文件的属性 |
快捷键
win系统常见快捷键
1 | Win + D 显示桌面 |
Win + R 快捷键
cmd 命令窗口
msconfig 系统配置工具,用于管理启动项、服务等
regedit 注册表编辑器,用于修改系统注册表
devmgmt.msc 设备管理器
compmgmt.msc 计算机管理
services.msc Windows 服务管理器
eventvwr 事件查看器(查看系统日志)
secpol.msc 本地安全策略管理工具。
fsmgmt.msc 共享文件夹管理器。
diskmgmt.msc 磁盘管理工具。
gpedit.msc 本地组策略编辑器(仅在专业版及更高版本的 Windows 中可用)。
lusrmgr.msc 本地用户和组管理工具。
mstsc 远程桌面连接(Remote Desktop)。
taskschd.msc 任务计划程序。
perfmon.msc 性能监视器。
sysdm.cpl 系统属性(可以更改环境变量)
appwiz.cpl 程序和功能界面(用于卸载程序)