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

news2024/9/22 17:26:15

信息收集分为两种方式:

手动收集、自动收集;

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

一、手动收集

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2111196.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】手动实现nique_ptr智能指针

1、自己实现封装了一个智能指针&#xff0c;并且使用了模板 目录 代码实现&#xff1a; 输出结果如下&#xff1a; 代码实现&#xff1a; #include <iostream>using namespace std;template <typename T> class UniquePtr { private:T *ptr;public://默认构造函…

【2024数学建模国赛赛题思路】C题第四套思路已出丨仅供参考

问题一思路分析 假定各种农作物未来的预期销售量、种植成本、亩产量和销售价格相对于2023年保持稳定&#xff0c;每季种植的农作物在当季销售。如果某种作物每季的总产量超过相应的预期销售量&#xff0c;超过部分不能正常销售。请针对以下两种情况&#xff0c;分别给出该乡村…

语法分析例题

答案&#xff1a;A 选项B&#xff0c;选项C&#xff0c;选项D都只有在程序运行后才能看出来是否正确 答案&#xff1a;D 自己写一个C程序&#xff0c;未赋值&#xff0c;就可以看出可以运行&#xff0c;但结果是乱码 #include<stdio.h>int main() {int a;int b;b10;bb…

图形推理-错题集

001 解析&#xff1a; 002 解析&#xff1a; 003 解析&#xff1a; 004 005 006

day09-IO-字符流其它流

一、字符流 字符流&#xff08;只能做文本文件的处理&#xff09;字符输入流 Reader--FileReader字符输出流 Writer--FileWriter ​ 使用文件字符输入流的好处&#xff1a;读取中文不会出现乱码问题 1.1 字符输入流 构造器说明public FileReader (File file)创建字符输入流管道…

软件测试永远的家——银行测试,YYDS

为什么做金融类软件测试举个栗子&#xff0c;银行里的软件测试工程师。横向跟互联网公司里的测试来说&#xff0c;薪资相对稳定&#xff0c;加班少甚至基本没有&#xff0c;业务稳定。实在是测试类岗位中的香饽饽&#xff01; 一、什么是金融行业 金融业是指经营金融商品的特…

VSCode中latex文件(Misplaced alignment tab character .LaTeX

Misplaced alignment tab character &.LaTeX 先给出参考文章1 Misplaced alignment tab character &.LaTeX 把bib文件中的 &改为 and 。删除原有的bbl文件、重新运行 选择这个运行 这个错误在overleaf上并没有遇到、在vscode上遇到了 方法二就是把 &改为…

医用介入导管的种类以及在线检测设备

关键字&#xff1a;介入导管生产线&#xff0c;医用导管检测设备&#xff0c;指引导管测径仪&#xff0c;球囊导管测量仪&#xff0c;医用导管测量&#xff0c;医用导管生产线&#xff0c;溶栓导管测径仪&#xff0c;造影导管测量仪 介入导管在医疗领域&#xff0c;特别是血管内…

机器学习之实战篇——MNIST手写数字0~9识别(全连接神经网络模型)

机器学习之实战篇——Mnist手写数字0~9识别&#xff08;全连接神经网络模型&#xff09; 文章传送MNIST数据集介绍&#xff1a;实验过程实验环境导入模块导入MNIST数据集创建神经网络模型进行训练&#xff0c;测试&#xff0c;评估模型优化 文章传送 机器学习之监督学习&#…

别再羡慕别人啦,四种方法轻松打造自己的IP形象

大家好&#xff0c;我是宇航&#xff0c;10年技术专家&#xff0c;专注于AI绘画&#xff0c;AI视频 做自媒体的小伙伴第一件事儿就是起一个IP名称和制作IP图像。制作图像这件事儿对于很多小伙伴来说都不太容易&#xff0c;有的小伙伴制作了很久还是没有做出自己满意的图像。 …

使用Python本地搭建http.server文件共享服务并实现公网环境远程访问——“cpolar内网穿透”

前言 本文主要介绍如何在Windows系统电脑上使用python这样的简单程序语言&#xff0c;在自己的电脑上搭建一个共享文件服务器&#xff0c;并通过cpolar创建的公网地址&#xff0c;打造一个可以随时随地远程访问的私人云盘。 数据共享作为和连接作为互联网的基础应用&#xff…

Spring Boot项目更改项目名称

背景&#xff1a;新项目开始前&#xff0c;往往需要初始化功能&#xff0c;拿到基础版本后更改项目对应的名称等信息。 更改步骤如下&#xff1a; 1、修改目录名称。 打开本地项目&#xff0c;右键修改项目名称。 2、修改maven项目的pom依赖 修改parent及modules项目名称&…

C++语法知识点合集:7.string类

文章目录 一、标准库中的string类1.string类2.auto和范围for3.string类的常用接口说明 二、string类的模拟实现1. 经典的string类问题2.浅拷贝3.深拷贝 一、标准库中的string类 1.string类 string是表示字符串的字符串类该类的接口与常规容器的接口基本相同&#xff0c;再添加…

鸿蒙 HarmonyOS 下拉控件

✍️作者简介&#xff1a;小北编程&#xff08;专注于HarmonyOS、Android、Java、Web、TCP/IP等技术方向&#xff09; &#x1f433;博客主页&#xff1a; 开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN &#x1f514;如果文章对您有一定的帮助请&#x1f…

Verilog和Matlab实现RGB888互转YUV444

文章目录 一、色彩空间1.1 RGB色彩空间1.2 CMYK色彩空间1.3 YUV色彩空间 二、色彩空间转换公式2.1 RGB转CMYK2.2 CMYK转RGB2.3 RGB888转YUV4442.4 YUV444转RGB888 三、MATLAB实现RGB888转YUV4443.1 matlab代码3.2 matlab结果 四、Verilog实现RGB888转YUV444 一、色彩空间 色彩空…

python_openCV_计算图片中的区域的黑色比例

希望对原始图片进行处理,然后计算图片上的黑色和白色的占比 上图, 原始图片 import numpy as np import cv2 import matplotlib.pyplot as pltdef cal_black(img_file):#功能: 计算图片中的区域的黑色比例#取图片中不同的位置进行计算,然后计算器数值#----------------p…

如何使用事件流相关操作

文章目录 1. 概念介绍2. 使用方法StreamControllerStreamBuilder 3. 示例代码 我们在上一章回中介绍了管理Stream事件流相关的内容&#xff0c;本章回中将介绍如何使用Stream事件流输入输出数据 。闲话休提&#xff0c;言归正传&#xff0c;让我们一起Talk Flutter吧。 1. 概念…

【VSCode v1.93.0】手动配置远程remote-ssh

开发环境 VS Code版本&#xff1a;1.93.0 (Windows) Ubuntu版本&#xff1a;20.04 使用VS Code 插件remote-ssh远程访问Ubuntu服务器中的代码&#xff0c;若Ubuntu无法联网&#xff0c;在连接的时候会报错&#xff1a; Could not establish connection to "xxxx": F…

前端玩Postgres数据库:Ai大法一把梭

大家好&#xff0c;我是程序员凌览。 前段时间分享如何白嫖一台服务器 &#x1f449;&#x1f3fc;&#x1f449;&#x1f3fc;白嫖不是梦&#xff0c;三分钟搞定一台服务器。 本文分享如何在平台Vercel白嫖服务器的同时蹭个postgres数据库。 创建数据库 切换到Storage&…

828华为云征文|基于Flexus云服务器X实例的应用场景-部署自己的博客系统

&#x1f534;大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 先看这里 写在前面效果图部署拾壹博客系统项目架构项目特点详细介绍部署博客系统更改redis的信息打包后端上传jar到服务器中打包前端项目 总结 写在前面 华为云828云服务器活…