LINUX和Windows提权前信息收集的两种方式

信息收集分为两种方式:

手动收集、自动收集;

手动枚举一个系统非常耗时,然而这种方法允许更多的控制,并可以帮助识别自动化工具经常遗漏的更奇特的提权提升方式;

一、手动收集

1、枚举用户

Windows

whoami                           //我是谁
whoami /user                     //查看用户的SID
net user administrator           //查询本地用户
net user administrator /domain   //查询域用户

Linux

id                
cat /etc/passwd

2、枚举主机名

这个主机名LINUX和Windows是一样的

Windows

hostname

Linux

hostname

3、枚举操作系统的版本和架构

Windows

systeminfo  //查看系统信息
		
systeminfo | findstr /r /B /C:"OS"    //蚁剑对中文不支持所以不加
		
systeminfo | findstr /r /B /C:"OS 名称" /C:"OS 版本"  /C:"系统类型"  

systeminfo > systeminfo.txt   //将输出重定向到一个文本文件

Linux

cat /etc/issue  查看系统信息

cat /etc/*_release      //(lsb_release、OS_release)

uname -a

uname -r

4、枚举进程和服务

利用进和服务提权需要具备的条件
        (1)进程必须以特权用户(如root)用户,并且必须具有不安全的权限(可以进行编辑、改写相应的程序或脚本)
        (2)或者允许我们以想不到的方式与之交互(典型的如设置了SUID的find程序,使用sudo运行more、less等程序)

Windows

tasklist /svc  /FO LIST    
    //svc 显示进程对应的服务
    //FO LIST 以列表的格式显示 

Linux

ps aux

5、枚举网络信息

检查目标主机的(网络接口、路由、开放的端口等)
        这些信息可以帮助我们确定被破坏的目标是否连接到多个网络,因此可以用作枢纽(pivot),如果存在特定的虚拟接口,则可能表示存在虚拟化软件(如Docker)或者软件
        这将扩大网络的可见性
    技巧:
    注重查看监听在回环接口(127.0.0.1)的特权程序或服务,可以扩展我们的攻击面,并增加攻击特权升级的可能性

Windows

 

ipconfig /all    //网络接口

route print      //查看主机路由表

netstat -ano
	    //-a 查看活动的连接
		//-n 以数字形式显示地址和端口
		//-o 显示对应的进程(号)

tasklist | findstr "进程号"  //查找对应的进程

Linux

ifconfig

ip a

ss -anp
		-a 显示所有连接
		-n 数字形式显示
		-p 显示对应的进程
		
netstat -tnlp

6、 枚举防火墙的状态和规则

如果一个网络服务因为防火墙阻止而不能远程访问,那么通常可以通过lookback接口在本地访问它,如果我们可以在本地与这些服务交互,我们就可以利用他们升级我们在本地系统上的权限
    此外,我们可以在次阶段收集有关入站和出站端口过滤的信息,一便在转向内部网络时方便端口转发和隧道

Windows

 

netsh advfirewall show currentprofile   //查看防火墙的状态

netsh advfirewall firewall show rule name=all  //查看防火墙的规则

Linux

iptables -L -n   //查看防火墙规则,需要root权限

firewall-cmd --state    //查看防火墙firewalld状态(最新版防火墙)

ufw status   //(Ubuntu)查看防火墙规则的配置文件
				
目录:/etc/iptables
	 /etc/firewalld

 7、枚举任务计划

攻击者通常利用任务计划进行提权攻击
    
    需要具备的条件:
        (1)找到以管理员用户(如root)运行的任务计划;
        (2)这些任务计划调度执行的程序或脚本我们可以更改、编辑;

Windows

schtasks /query /FO LIST /v

Linux

 

crontab -l          //查看当前用户的任务计划
cat /etc/crontab    //查看系统任务计划配置文件
ls /etc/cron*    

 8、枚举安装的应用程序和补丁(版本、级别)

有时候,我们可能需要利用一个漏洞来升级我们的本地特权

Windows

 

WMIC //对Windows管理的一个命令行工具

wmic //查看已安装的应用(名称、版本、厂商)

wmic product get name,version,vendor //查看已安装的应用(名称、版本、厂商)

wmic os get osarchitecture  //查看操作系统的架构

wmic logicaldisk get caption  //查看分区

wmic qfe get Caption,Description,HotFixID,InstalledOn  //查看系统安装的补丁

Powershell查看 (Windows平台下一种功能强大的命令行外壳程序和脚本环境)
    powershell Get-ChildItem 'C:\Program Files', 'C:\Program Files (x86)' | ft Parent,Name,LastWriteTime

Linux

debian系列----dpkg -l
Centos系列----qa

 9、枚举可以读/写的文件和目录

对文件的访问限制有缺陷有可能会创建一个漏洞,从而给攻击者授予更高的权限
    这通常发生在攻击者可以修改在特权账户(如root)上下文中执行的脚本或程序
        秘密文件(如/etc/passwd;/etc/shadow)如果被非授权用户读取,泄露账户信息

Windows

sysinternals:微软官方提供的系统工具集合
下载地址:https://learn.microsoft.com/en-us/sysinternals/
		
accesschk //检查用户(或组)对文件、目录、注册表、全局对象、服务所拥有的权限
下载地址:https://learn.microsoft.com/en-us/sysinternals/downloads/accesschk
	用法:accesschk.exe /accepteula -uws "Everyone" "C:\Program Files"
				 accesschk.exe /accepteula -uvwqk HKML\System\Curr
						-u  抑制错误消息
						-w  是否有写入权限
						-s  递归查看
						/accepteula  同意/许可
						-c  对Windows服务的检查
						-k  对注册表权限的检查
						
				accesschk.exe /accepteula -uws Users C:\*.*
			
				accesschk.exe /accepteula -uwcav xiao miss svc
					检查地权限用户(如xiao)对服务(如miss_svc)的权限
				
				accesschk64.exe /accepteula -uwcqv administrator spooler
					检查administrator用户对spooler服务的权限
					
				icacls 
					icacls C:\phpstudy\www
					关注三个权限
						F  完全控制权限
						M  修改(也可以修改权限)
						W  写入
				
				GET-Acl,它检索给定文件或目录的所有权限。Get-Acl不能递归运行
				Get-Childitem首先枚举给定(如Program Files)目录下的所有内容

Linux

find / -writable -type d 2>/dev/null   //查看当前用户拥有写入权限的目录

查找SUID提权
	find / -perm -u=s -type f 2>/dev/null
	find / -perm -4000 -type f 2>/dev/null

10、 枚举未挂载的磁盘或驱动器 ---被隐藏的分区

Windows

mountvol                              //查看系统中已挂载和未挂载的分区信息

wmic logicaldisk get caption          //查看已挂载的分区信息

fsutil fsinfo drives

Linux

 

mount   //查看所有已挂载的文件系统信息

cat /etc/fstab  //查看开机自动挂载的文件信息

lsblk    //列出所有可用的设备

 11、枚举设备的驱动和内核模块

另一种常见的提权思路:涉及对设备驱动程序和内核模块的利用

Windows

Powershell
	driverquery.exe  //查询驱动程序的详细信息
	Get-Wmiobjeck	//列举驱动版本信息

Linux

lsmod   //列出加载的内核模块 
modinfo  //查询模块的详细信息

12.枚举可以自动提权的程序 

思路:权限提升的一种快捷方式

Windows

注册表AlwaysInstallElevated是一个策略设置,可以允许低权限用户以system权限安装(msi格式)

 如果启用了这个设置,我们可以制作一个MSI文件并运行提高我们的权限。

如果你的笔记本查询后找不到,说明我们配置没有任何错误,反而是安全的。

reg query  查询注册表设置
							reg query HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Installer
							reg query HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer
								如果启用了这个设置,我们可以制作一个MSI文件并运行提高我们的权限

Linux

SUID程序
	find -perm -4000 -type f 2>/dev/null
	find -perm -u=s -type f 2>/dev/null

sudo授权的程序
	sudo -l
	工具网站:https://gtfobins.github.io/

二、自动收集

Windows

        Windows自动化提升工具
            (1)WinPEAS
                    下载地址:https://github.com/carlospolop/PEASS-ng/releases/tag/20221204
                    添加一个注册表项,向WinPEAS的输出添加颜色
                        reg add HKCU\Console /v Virtua lTerminalLevel /t REG_DWORD /d 1
                        winpeas.exe quiet cmd fast
            (2)PowerUp
                    PowerUp.psl脚本属于PowerSploit工具包的一个工具。能够扫描并识别Windows系统中的错误配置
            (3)windows-privesc-check2.exe
                    下载地址:https://github.com/pentestmonkey/windows-privesc-check.git
                        -h
                        --dump  //获取信息

Linux

        Linux自动化提权工具
            LinEnum: github.com/rebootuser/LinEnum
            LinuxPrivChecker: github.com/sleventyeleven/linuxprivchecker
            LinuxExploitSuggester: github.com/mzet-/linux-exploit-suggester

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白帽子二三

您的鼓励是我最大的前进动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值