[hackthebox] Reddish - Writeup

超级无敌神仙盒子 扫端口 就开了个1880 image 是个nodejs 网页图标??? google搜一下 是node red image 网页提示不能get 换成post image 访问http://10.10.10.94:1880/red/dd33f9468a4ef248ce06f7a28452b5fe/

瞎胡google一下,搭一个shell出来 image image 在docker里


第一层内网

看下ip image 传个meterpreter,autoroute挂进去 image 准备日内网 探测一下主机 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

image 网页源码 image 什么鬼。。。 172.19.0.3的redis写shell 反弹,得到172.19.0.2的www-data的shell image image image 看一下ip image 瓜皮??? 这个docker跨172.19和172.20网段 不管,先提下172.19.0.2再说 注意到/backup/backup.sh image 计划任务里这个脚本每三分钟以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即可 image image 拿到root image 在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 image 这说明backup主机(172.20.0.3)的rsync://backup:873/src/就是根目录! 写计划任务,弹shell即可 image 拿到172.20.0.3的shell image 看起来是到头了( 注意到目前是在docker里,然而/dev下东西很多,不像纯docker image 全挂载上,翻一翻 找到root.txt 其他几个是别的docker的文件系统,还有母鸡的boot分区和swap分区 image image


后记

盒子太TM难了。。。懒得写太多 实际过程中各种端口转发,正代,反代及其智障,乱七八糟,毕竟两层内网。。。 只有第一个docker能连外网 补一张拓扑图 image