前言

您受聘在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. Linux文件系统故障,Input/output error

    事情是这样的,在启动某一个应用程序的时候,出现 Input/output error 的报错,磁盘以及目录无法使用的情况下,进行了重启,重启完成后是可以正常使用的,过一段时间后就会再次出现这个问题,一 ...

  2. Exchangis搭建安装

    项目简介 Exchangis是一个轻量级的.高扩展性的数据交换平台,支持对结构化及无结构化的异构数据源之间的数据传输,在应用层上具有数据权限管控.节点服务高可用和多租户资源隔离等业务特性,而在数据层上 ...

  3. pandas这dataframe结构

    认识DataFrame结构 DataFrame 一个表格型的数据结构,既有行标签(index),又有列标签(columns),它也被称异构数据表,所谓异构,指的是表格中每列的数据类型可以不同,比如可以 ...

  4. Android开发_记事本(1)

    一些知识 Textview TextView中有下述几个属性: id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行 ...

  5. 无法加载 DLL“xxxx.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。

    有一台服务器在执行接口的时候遇到了这样一个问题: 其他服务器上都没有这个问题,IIS部署好的项目目录的bin文件夹下是有这个dll的,但却提示无法加载,在网上找了好多帖子,终于发现了问题. 首先用De ...

  6. 3.2 构造器、this、包机制、访问修饰符、封装

    构造器 构造器:在实例化的一个对象的时候会给对象赋予初始值,因此我们可以通过修改构造器,来改变对象的初始值,构造器是完成对象的初始化,并不是创建对象 我们也可以创建多个构造器实现不同的初始化,即构造器 ...

  7. 访问nginx报错502日志:failed (13: Permission denied) while connecting to upstream

    1.错误问题 nginx启动成功,但是访问nginx报错502.检查后台项目,使用IP+端口可以正常访问项目的,这说明项目启动成功了.那就是nginx的问题.检查了nginx.conf文件发现配置的反 ...

  8. Jmeter-测试报告模板分享

    1.jmeter-results-detail-report_21 <?xml version="1.0"?> <!-- ~ Licensed to the Ap ...

  9. git与github(结合clion操作)

    对自己学习git的一个记录,由于刚开始接触git,所以没有对于git做深入解释和说明,仅供参考,如有理解不对的地方或者需要改进的地方敬请指出.   用到的git命令: git init //初始化 g ...

  10. 「学习笔记」2-SAT问题

    SAT 是适定性 (Satisfiability) 问题的简称.一般形式为 k - 适定性问题,简称 k-SAT.而当 \(k>2\) 时该问题为 NP 完全的.所以我们只研究 \(k=2\) ...