Skip to main content

Locker靶机---难度easy知识点-分号截断,Sulogin

·150 words·1 min
IIIIIIIIIIII
Author
IIIIIIIIIIII
A little bit about you

Locker靶机—难度easy知识点-分号截断,Sulogin
#

Nmap扫描发现端口开放
#

nmap
NMAP扫描

我们访问发现一个网页感觉没什么关键地方

nmap
NMAP扫描

这里穿越啊 注入啊 包含 都不行

nmap
NMAP扫描

结果使用分号截断

nmap
NMAP扫描

所以平时多用分号没问题

拿到shell权限
#

我们到web权限查看发现一个sulogin

nmap
NMAP扫描

sulogin: 用于 单用户模式下获取 root 权限

  • 系统故障修复(如忘记 root 密码时重置密码)。
  • 维护模式下执行特权操作(需通过安全验证)。

它可以直接读取环境变量里面的值

例如:export SUSHELL=/tmp/恶意程序 && sulogin 会直接执行 /tmp/恶意程序

工具 环境变量依赖 执行逻辑 安全设计目的
sulogin 仅依赖 自定义变量 直接执行指定路径的程序 避免被 PATH 注入恶意程序
cat 等命令 依赖 PATH 按 PATH 顺序搜索可执行文件 提供用户自定义路径的灵活性

拿root
#

我们用老版本的C语言编写一个设置系统命令的代码

C语言代码

#include<stdio.h>   // 基础输入输出库
#include<stdlib.h>  // 提供 system() 等函数,用于执行系统命令
#include<unistd.h>  // 提供 setuid()、setgid() 等系统调用

int main(){
    setuid(0);     // 将进程的有效用户 ID 设置为 0(root 用户的 UID)
    setgid(0);     // 将进程的有效组 ID 设置为 0(root 组的 GID)
    system("/bin/bash");  // 执行 /bin/bash,启动一个新的 Shell
}

nmap
NMAP扫描

为什么要建立C文件

  • 区别:C 程序通过 setuid(0) 直接修改进程权限,而 Shell 脚本依赖外部机制(如 SUID 权限)间接提权。

我们WGET下来添加X 后 记得导入环境变量SUSHELL是我自定义的变量他会优秀读取后读/etc/passwd的root

nmap
NMAP扫描

总结一下
#

1:多用用;截断

2:sulogin是 Linux 系统中专门用于单用户模式的登录程序,路径为/sbin/sulogin。当系统进入单用户模式时,会自动调用 sulogin`,要求用户输入 root 密码(部分旧系统可直接进入)。 这靶机把root锁定了不能SU ROOT 感叹号可以把root锁定在/etc/shadow里面

root:!:18649:0:99999:7:::  # 表示 root 被锁定

本身可以-e 获得权限可能被锁定了就不行

SUSHELL是sulogin调用的另一个环境变量 手动指定就行

3:单用户模式是操作系统的一种特殊启动状态,仅允许一个超级用户(root)登录系统,且不加载网络服务、图形界面等非必要组件

4:sulogin 和 path 的区别

​ 4.1sulogin 会执行你的命令 安全风险- 依赖 PATH 可能引入路径遍历风险

​ 4.2path会找命令的程序找到就执行 比如 CAT他就会在如BIN里面找 安全风险 - 环境变量修改

Related

vulny靶机---难度easy知识点-file-manager
·78 words·1 min
observe靶机---难度low知识点-fuzz-ln
·49 words·1 min
flower靶机---难度low知识点-base64-py
·63 words·1 min
mixue靶机---难度群友知识点-logic-monitor.我冰城呢
·51 words·1 min
baseme靶机---难度LOW-知识点-爆破ssh密钥-base64语法-
·95 words·1 min