超级无敌神仙盒子
扫端口
就开了个1880
是个nodejs
网页图标???
google搜一下
是node red
网页提示不能get
换成post
访问http://10.10.10.94:1880/red/dd33f9468a4ef248ce06f7a28452b5fe/
瞎胡google一下,搭一个shell出来 在docker里
第一层内网
看下ip 传个meterpreter,autoroute挂进去 准备日内网 探测一下主机 172.18.0.0/24只有172.18.0.2一台 172.19.0.0/24有172.19.0.2 .3 .4共三台,其中.4是第一个docker proxychains代理nmap扫端口 172.19.0.2开了80 172.19.0.3开了6379
网页源码
什么鬼。。。
172.19.0.3的redis写shell
反弹,得到172.19.0.2的www-data的shell
看一下ip
瓜皮???
这个docker跨172.19和172.20网段
不管,先提下172.19.0.2再说
注意到/backup/backup.sh
计划任务里这个脚本每三分钟以root权限运行一次
突破口是这句rsync -a *.rdb rsync://backup:873/src/rdb/
那个*
号,可以构造畸形文件名,结合gtfobins,比如-e sh xxx.rdb
这个文件以rdb结尾,那句命令执行时,就拼接成
rsync -a -e sh xxx.rdb rsync://backup:873/src/rdb/
就以root身份执行了sh xxx.rdb
把恶意代码放到xxx.rdb里就行
这个docker太精简,meterpreter直接段错误。。。
尝试留suid,4755即可
拿到root
在somaro中找到user.txt
第二层内网
接着日172.20网段, 探测主机,有172.20.0.2和172.20.0.3 跨19和20那个docker完全残废一个,没法传nmap 常规日内网比较困难,只能单端口转发
注意到刚才那个backup.sh
用rsync上传和下载文件
rsync -a rsync://backup:873/src/backup/ /var/www/html/
这句,换成rsync -a rsync://backup:873/src/etc/shadow lll
这说明backup主机(172.20.0.3)的rsync://backup:873/src/
就是根目录!
写计划任务,弹shell即可
拿到172.20.0.3的shell
看起来是到头了(
注意到目前是在docker里,然而/dev下东西很多,不像纯docker
全挂载上,翻一翻
找到root.txt
其他几个是别的docker的文件系统,还有母鸡的boot分区和swap分区
后记
盒子太TM难了。。。懒得写太多 实际过程中各种端口转发,正代,反代及其智障,乱七八糟,毕竟两层内网。。。 只有第一个docker能连外网 补一张拓扑图