拿下域控后,我还是对大佬的操作念念不忘

news2024/9/28 11:23:54

历来攻防演练中,我都笃信一个道理——吃饱了才有力气干活。所以,在清晨的客户现场,当看到大佬满意地吃完了我带来的煎饺,我知道这一战,我们作为攻击队,基本已经拿下了。

虽然说的每一句话都带着一股醋味儿,但是大佬的含金量不容置疑——理智分析战况,果断找到目标,一切行云流水。

大佬告诉我们哪些站是好打的,哪些是不好打的。我们的任务是重点关注好打的站,找找OA、邮箱这些系统给他。随后,他顺手给我们丢了一个域前置的免杀“马儿”和代理池。

听完战术指导,信心激增。话不多说,立即开始!

对抗开始

识别了一波子域名。这样看起来并不美观,秉承着技术亦是一门艺术的心态,把子域名加载进了goby:这样看着就舒服多了:识别后的资产,可攻击的点有Web系统后台、数据库和一些中间件。测试了一下Struts2、Java、Shiro等等,均利用失败。

批量测试了一下数据库,跑出来一个弱口令。果断登录上去,看了下,数据不多,没有可用的数据,估计是个测试站,提权也没成功,放弃了。接着测试后台弱口令,这个没有验证码,尝试Top100密码爆破。有点东西,但还是没找到可突破的点。这时,看了下Fofa的浏览器插件,旁站有个OA系统!众所周知,此系统在url后面加个admin.do即可出现管理员登录页面。找到这个系统,第一件事当然是丢给大佬。大佬终究是大佬,不负所望,没过多久,就给我发了一串神秘代码,我也是心领神会,给了大佬一个友善的目光。将大佬的神秘代码输入进去,成功点亮,拿到一台Linux的root权限shell。过一小会儿,大佬又发来了管理后台的密码。这里可以看到邮箱的配置。密码是加密的,但是问题不大。F12,可从前段页面的value参数查看明文密码.并尝试登录邮箱服务器,发现是可以登录成功的。接下来我们就开始商量着要不要试试钓鱼,毕竟能直接打进办公区的话,要比从dmz区慢慢打进去要方便得多。

大佬说干就干,转头写好了一封邮件,看得我直呼内行!(图片过于敏感,此处不便展示)

片刻之后,叮咚叮咚…您有新的主机上线这清脆悦耳的声音,犹如子夜风吟,一切都是那么美好。

看着不断上线的主机,不急,让子*弹再飞一会儿。

去除重复的,一共有6台主机,发现里面还有一台Windows服务器。我们分配了一下任务,每人分配几个shell,一起先主攻这个内网。Dumphash看了下内存信息,找到几个明文的账号密码,存在域环境,先记录信息,方便后面使用。通过nettime
/domain查看,确定存在域。然后使用nslookup解析该域名,解析出来多个ip地址,应该是存在多个主备域。使用nmap扫描这些主机的389端口,确定为域控主机,找到域控就方便多了,可以试试直接打域控。早上就先到这里,现在正是用电脑的高峰期,所以很多操作不便现在进行,先设置计划任务做好权限维持,再简单的搜集一下信息。

过程中掉了两台主机,又上线了几台疑似沙箱的主机,估计是被发现了,样本拿去检测了。

旗开得胜

等到休息的时间,我们就开始正式干活了。上传fscan,探测ip段。

登上去了Windows服务器看了一下,看着这个页面,在做项目迭代升级,并且根据邮箱里的内容,判断这应该是开发经理在使用。

在邮箱里面还找到了一些他们内部的默认密码,这些信息都是可以尝试利用的。然后在右下角看到有IM内部通讯软件,姓名,性别,部门,ip等等信息都有了…这就是拿到了内部通讯录了,这里本想再钓一次鱼,然而大佬说了,可以,但是没必要。现在有两个思路。一是直接打域控漏洞,二是爆破域控密码。显而易见,利用漏洞的方式为上策。所以现在的任务是他们继续去负责横向(此时大佬已经用现有的密码,拿到了20多台Windows+Linux的主机权限,权限够多就不怕掉线了)。我来尝试漏洞利用,那么首先想到的漏洞就是CVE-2020-1472NetLogon特权提升漏洞,该漏洞不要求当前计算机在域内,只要能访问到目标域控并且知道域控主机名和域控ip即可利用。

利用该漏洞重置域控的机器密码,然后使用空密码即可登录域控。不过最主要的是要记得还原密码,不然存储在域中的凭证与本地注册表里的凭证不一致时,会导致目标脱域。

使用poc,对主备域控进行漏洞验证。众望所归,在测试了10多个域控之后,终于测试到有一台域控验证成功了!这是振奋人心的绿色!

python3poc.py 域控主机名域控ip

验证成功后,使用脚本清空域控的机器凭证。

python3poc.py 域控主机名域控ip

使用空凭证查看域内账号密码,看到有个krbtgt账号,可以生成票据。

当然这里我们就不用它了,因为第一个是sid为500的账号,那这个就是域控管理员了,后面则是密码hash,可以先尝试解密,如果能直接解出明文密码,就可以直接登录,解不出来的话就先用hash连接。

事实上,账号数量确实太多了。其实往下翻是可以看到已被清空的机器账号主机名$,密码hash已经变成了31d6cfe0d16ae931b73c59d7e0c089c0(空密码)。

python3poc.py 域名/域控主机名\$@域控ip-just-dc -no-pass

拿到了域管理员账号和hash,赶紧登录域控,这里使用wmiexec进行连接,下图登录成功,起飞!

python3wmiexec.py -hashes xxx:xxx 域名/管理员用户名@域控ip

Powershell上个cs的马,使用如下命令获取dump域控保存在本地注册表的原始主机账号密码。

regsave HKLM\SYSTEM system.saveregsave HKLM\SAM sam.saveregsave HKLM\SECURITY security.save

再使用脚本还原主机密码:

python3secretsdump.py -sam sam.save -system system.save -securitysecurity.save LOCAL

得到$MACHINE的hash:

python3reinstall_original_pw.py 域控主机名域控ip$MACHINEhash

那么到这一步之后,漏洞利用就完成了。再到cs上hashdump获取密码,拿着密码登录域控,有了域控就可以查看域内所有用户和终端服务器了,接下来的事就是搜集各种信息数据了。大功告成!打完收工!

总结

最后,梳理一下攻击路径。

首先,利用OA漏洞拿到邮箱账号密码;

然后钓鱼拿到内网域终端;

接着定位域控,使用CVE-2020-1472poc确定存在漏洞的域控;

随后重置域控机器密码,拿到域控命令执行权限,上线cs;

最后还原机器密码,读取域控内存拿到明文密码,登录域控。

不到一天的时间,从外网到拿下域控,思路正确,效率自然提升。珍惜那些可以为了比赛彻夜不眠、与小伙伴协同奋斗的岁月吧,那是为了自己而努力绽放的时光,短暂又美好。

内存拿到明文密码,登录域控。

不到一天的时间,从外网到拿下域控,思路正确,效率自然提升。珍惜那些可以为了比赛彻夜不眠、与小伙伴协同奋斗的岁月吧,那是为了自己而努力绽放的时光,短暂又美好。

最后

分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

在这里插入图片描述

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取

有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:

高清学习路线图或XMIND文件(点击下载原文件)

还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 高工分享一波性能优化的总结~

随着 Android 开发越来越规范,国内工程师的素质,以及用户对产品的要求也越来越高。这也间接导致我们对研发项目的质量要求到了近乎苛刻的地步,**内存优化、UI 卡顿优化、App 崩溃监控等性能调优也逐渐成了人手必备的技能。**工作之余&#xf…

Boost资料整理备忘

Boost资料整理备忘 网络资源 书籍: The Boost C Libraries官方文档 Boost Library Documentation random boost.randomBoost随机库的简单使用:Boost.Random(STL通用)tutorialstd::random boost::asio Boost.Asio 网络编程 - 基本原理Boost.Asio DocBoost定时器 网…

理光M2701复印机载体初始化方法

理光M2701基本参数: 产品类型:数码复合机 颜色类型:黑白 复印速度:单面:27cpm 双面:16cpm 涵盖功能:复印、打印、扫描 网络功能:支持无线、有线网络打印 接口类型:USB2.0…

如何建立项目标准化评价体系?【锦狸】

PMO团队面临着管理多个项目,甚至是多个项目集,多个产品集的问题,那么如何对项目们进行标准化评价体系的建设,就是PMO需要首先思考的问题。 首先我们要关注项目的背景,了解了项目背景之后,我们才可以明确项…

CPython解释器性能分析与优化

原文来自微信公众号“编程语言Lab”:CPython 解释器性能分析与优化 搜索关注 “编程语言Lab”公众号(HW-PLLab)获取更多技术内容! 欢迎加入 编程语言社区 SIG-元编程 参与交流讨论(加入方式:添加文末小助手…

【Linux】使用U盘自动化安装Linux(VMware虚拟机)

文章目录前言一、准备二、新建虚拟机2.1 创建虚拟机2.2 新增硬盘2.3 系统启动项三、加电运行四、EFI方式五、总结前言 一、准备 基于之前的基础【Linux】Kickstart 配置U盘自动化安装Linux系统,现在我们可以在虚拟机中尝试自动化安装Linux系统。 二、新建虚拟机 …

POI导入导出、EasyExcel批量导入和分页导出

文件导入导出POI、EasyExcel POI:消耗内存非常大,在线上发生过堆内存溢出OOM;在导出大数据量的记录的时候也会造成堆溢出甚至宕机,如果导入导出数据量小的话还是考虑的,下面简单介绍POI怎么使用 POI导入 首先拿到文…

Java:如何选择一个Java API框架

Java编程语言是一种高级的、面向对象的语言,它使开发人员能够创建健壮的、可重用的代码。Java以其可移植性和平台独立性而闻名,这意味着Java代码可以在任何支持Java运行时环境(JRE)的系统上运行。Java和Node js一样,是一种功能强大的通用编程…

机试指南

文章目录零、绪论和IDE安装int取值范围常犯的编程小错误一、枚举和模拟 (暴力求解)(一) 枚举1.Reverse函数 求 反序数2.程序出错的原因1.编译错误 (compile):基本语法错误2.链接错误 (link):函数名写错了3.运行错误 (run):结果与预期不符&…

前后端分离开发Springboot+VUE学习笔记

学习内容来源:传送门 目录前后端分离实现技术创建vue项目在idea中打开新建页面创建SpringBoot应用创建实体对象与数据库表元素绑定创建实体类接口前端调用数据跨域传输在springboot中解决总结前后端分离 前后端分离就是将一个应用的前端和后端代码分开写&#xff0…

前端:分享JS中7个高频的工具函数

目录 ◆1、将数字转换为货币 ◆2、将 HTML 字符串转换为 DOM 对象 ◆3、防抖 ◆4、日期验证 ◆5、将 FormData(表单数据)转换为 JSON ◆6、衡量一个函数的性能 ◆7、从数组中删除重复项 JavaScript 实用函数是有用的、可重复使用的片段&#xff0…

STM32开发(14)----CubeMX配置ADC

CubeMX配置ADC前言一、什么是ADC?二、实验过程1.单通道ADC采集STM32CubeMX配置代码实现2.多通道ADC采样(非DMA)STM32CubeMX配置代码实现3.多通道ADC采样(DMA)STM32CubeMX配置代码实现总结前言 本章介绍使用STM32CubeMX对ADC进行配置的方法&a…

SpringCloud之Seata(二)

4.Seata如何应用于项目? 安装seata及修改配置 4.1 官网下载Seata安装包 4.2 修改seata/config.txt 4.2.1 修改存储方式 store.db.dbTypemysql store.db.driverClassNamecom.mysql.jdbc.Driver store.db.urljdbc:mysql://你的IP:3306/seata?useUnicodetrue sto…

第一篇博客------自我介绍篇

目录🔆自我介绍🔆学习目标🔆如何学习单片机Part 1 基础理论知识学习Part 2 单片机实践Part 3 单片机硬件设计🔆希望进入的公司🔆结束语🔆自我介绍 Hello!!!我是一名即已经步入大二的计算机小白。 --------…

F4—LVDS接口LCD显示彩图测试-2023-02-25

1.简介 系列文章TFT彩条测试介绍到,屏幕是由厂家提供的TFT显示模组和屏幕PCB背板组成。PCB的作用是提供LCD背光所需的电压、用于屏幕显示的电压、与其他设备相连的排针或者其他连接器形式。当模组支持触摸功能时还可以接上触摸转换或触摸控制芯片,通过SP…

Qt 中的XML

XML的基本介绍: 在前端开发中:HTML是用来显示数据,而XML是用来传输和存储数据的 XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而…

超简单的待办事项列表管理器todo

什么是 todo ? todo 是一个自托管的 todo web 应用程序,可让您以简单且最少的方式跟踪您的 todo。📝 老苏觉得和之前介绍的 KissLists 比较像 文章传送门:最简单的共享列表服务器KissLists 官方提供了 Demo 演示站点:https://tod…

零基础的人如何入门 Python ?看完这篇文章你就懂了

第一部分:编程环境准备 零基础入门Python的话我不建议用IDE,IDE叫集成开发环境,这东西一般是专业程序员用来实战开发用的,好处很多,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测…

Android-MVVM之快速上手ViewModel

Android-MVVM之快速上手ViewModel什么是ViewModel?ViewModel生命周期?ViewModel的使用?什么是ViewModel? 简单来说,就是让view层(视图层)与model层(数据层)分离开来的桥梁。让view层展示ui,不持有数据。 Vi…

【2021春节】解题领红包之番外篇

【2021春节】解题领红包之番外篇前言原始代码解题思路flag1寻找flag2的寻找前言 记录下jsfuck的另类,时间都过去两年了,确实有点久远。。。 原始代码 要求找出flag1和flag2值 ([][])[([][[]][])[!![]](!![][][(![][])[[]](![][])[!![]!![]](![][])[!![…