p65 内网安全-域环境工作组局域网探针方案

news2024/11/18 1:38:42

数据来源

  

基本概念

DMZ区域:称为“隔离区”,也称‘’非军事化区/停火区”

工作组(Work Group)是局域网中的一个概念。它是最常见最简单最普通的资源管理模式,就是将不同的电脑按功能分别列入不同的组中,以方便管理。

和工作组类似,但是由域控制器统一管理,更适合大型网络

Linux域渗透问题

Linux实现域的功能需要安装LDAP,功能不如域强且技术要求高,较少被使用

局域网技术适用问题

有些局域网内的攻击方法在域内不生效

大概内网安全流程问题

信息收集-权限提升-横向渗透-权限维持

演示案例:

  • 基本信息收集操作演示
  • 网络信息收集操作演示
  • 用户信息收集操作演示
  • 凭据信息收集操作演示
  • 探针主机域控架构服务操作演示

前提:你要有域环境才能复现下面的案例,域环境的部署可参考我之前写的文章:域(DOmain)_正经人_____的博客-CSDN博客 

        不同的是我这里的域主机与kali这些主机都是桥接到VMnet8(NAT)模式上是可以正常上网的,懒得手动配ip,而且之后使用kali攻击时可能还需要用到网络。

案例 1-基本信息收集操作演示

旨在了解当前服务器的计算机基本信息,为后续判断服务器角色,网络环境等做准备

演示 

1)查一下内网主机的详细信息

在域的控制器/域主机运行

systeminfo   # 详细信息

在域的子主机中运行(域子机就是加入域后使用域的账号登录的主机,注意:这里是使用域创建的账号登录不是本地账户登录

2)查一下内网主机启动的服务

随便在哪运行都可以

net start   # 启动服务

3)查看内网主机正在运行的进程

随便在哪运行都可以

tasklist  # 进程列表

4)查看内网主机正在运行的计划任务

在域的控制器/域主机运行

schtasks     # 计划任务

域子机/域成员机中运行 

案例 2- 网络信息收集操作演示

旨在了解当前服务器的网络接口信息,为判断当前角色,功能,网络架构做准备

1)判断是否存在域

在域的控制器/域主机运行

ipconfig /all   # 判断存在域- dns(自己配过域环境你就知道,安装域会自动安装DNS,域子机要加入域就要把DNS设置指向域主机的NDS,所以存在DNS的主机就是域环境下的主机)

没有加入域的主机运行命令(真实机)

也可以换一种方式判断是否存在域(在域的控制器/域主机运行)

net view /domain    # 判断存在域

没有域的主机中运行

2)判断主域

在域的控制器/域主机运行

net time /domain   # 判断主域(域主机/域控/域的控制机)

域子机中运行结果也是一样的

有了域主机的名称我们就可以查看域主机的ip地址

nslookup 域主机名(计算机名+域名=域主机名)

也可以使用ping命令去ping刚才的域名称来获取ip

ping WIN-I7NPA55KMBD.zs.com

3)查看主机端口开放情况:史上最全网络端口号大全,网络工程师必备! (baidu.com)

netstat -ano  # 当前网络端口开放

收集端口信息有啥用?比如发现目标主机开放了1433端口我们就可以判断这台主机可能是网站的服务器主机(1433是sql默认的端口)

案例 3-用户信息收集操作演示

旨在了解当前计算机或域环境下的用户及用户组信息,便于后期利用凭据进行测试

系统默认常见用户身份:

  • Domain Admins:域管理员(默认对域控制器有完全控制权)
  • Domain Computers:域内机器
  • Domain Controllers:域控制器
  • Domain Guest:域访客,权限低
  • Domain Users:域用户
  • Enterprise Admins:企业系统管理员用户(默认对域控制器有完全控制权)

  

相关用户收集操作命令:(用户信息的详细介绍)

1)查看当前用户的权限

whoami /all
  • 每个用户登录系统后,拥有不同的操作权限。
  • 每个账户有自己唯一的SID(安全标识符)
  • 用户SID:S-1-5-21-426206823-257946042-14852678-500(后面的500也称为UID才是用户id,前面是系统的id,就像我们的身份证号码:如广东的是4408XXXX开头)
  • 系统SID:S-1-5-21-426206823-257946042-14852678 
  • 用户UID:500
  • windows系统管理员administrator的UID是500
  • 普通用户的UID是1000开始的 
  • 不同的账户拥有不同的权限,为不同的账户赋权限,也就是为不同账户的SID赋权限!

2)查看登录信息

net config workstation

  

3)查看本地用户 

net user

4)查看本地用户组

net localgroup

  

5)查看域用户信息

net user /domain

   

6)获取域用户组信息

net group /domain

7)涉及域用户详细信息

wmic useraccount get /all

  

如果是普通的域账号访问

8)查询域管理员账户

net group "Domain Admins" /domain

域主机与子机执行命令结果都是一样的(这就意味着我们随便入侵到一个域成员账号都可以,这难度就大大降低了,因为管理员的安全意识一般会好一点像弱口令之类的低级错误一般都不存在,普通员工的账号就不一样了。) 

9)查询管理员用户组

net group "Enterprise Admins" /domain

域主机与子机执行命令结果都是一样的 

  

10)查询域控制器

net group "Domain Controllers" /domain

域主机与子机执行命令结果都是一样的 

  

有了这些信息有啥用?比如后续我们要基于密码账户的攻击手段时就可以把用户名套用进去,只需要破解密码就行 

前面的操作都很简单输入命令就行,甚至有些脚本直接帮我们完成了(也可以自己写个批处理脚本,可以参考:批处理编写),下面的案例才是重点。 

案例 4-凭据信息收集操作演示(重点

旨在收集各种密文,明文,口令等,为后续横向渗透做好测试准备

1)计算机用户 HASH,明文获取 mimikatz(win),mimipenguin(linux)

win

工具下载链接:https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0-20220919/mimikatz_trunk.zip

使用: 

如果使用域的普通账户运行是不行的必须是管理员账户,不然很多文件都没有权限读取

1、运行脚本 

不要这样运行,直接运行这个可执行程序后面无法复制粘贴命令,建议用cmd运行这个脚本 

2、调试(必须)

privilege::debug

3、获取计算机的登录密码

sekurlsa::logonpasswords

linux

下载

git clone https://github.com/huntergregal/mimipenguin.git

下载完成后,进入并如下运行 mimipenguin:

cd mimipenguin/
./mimipenguin.sh

我这里演示不了系统版本都高与他的脚本要求,不过很少有用linux系统做网站服务器的一般都是windows系统 

2)计算机各种协议服务口令获取 LaZagne(all),XenArmor(win)

LaZagne项目是一个开源应用程序,用于检索存储在本地计算机上的大量密码 

 LaZagne工具下载:

zip下载

tar.gz下载

如果你的win系统没有安装python的可以可以下载第一个.exe的可执行程序 ,不过网站警告不安全可以下虚拟机下载

使用

# 我这里是python3运行的脚本
python laZagne.py all -oN

XenArmor:Win,付费

这里就不演示了,没钱付费,试用期只有7天,懒的搞

案例 5-探针主机域控架构服务操作演示

为后续横向思路做准备,针对应用,协议等各类攻击手法

1)探针域控制器名及地址信息(使用nbtscan,官网:nbtscan) 第三方工具

下载链接:http://www.unixwiz.net/tools/nbtscan-1.0.35.exe

这个工具其实就是相当于前面对域主机操作案例的命令的一个优化后的集合脚本 (听起来有点别扭,知道是这个意思就行 v(~-~)v )

使用:

# 程序名          要扫描的网段,/24表示子网掩码->3个255->255.255.255.0
nbtscan-1.0.35  192.168.1.0/24

或者使用系统自带的命令-循环 ping: (不推荐,他只能测试出目标网段存活的主机ip)

第一个1是起始地址,中间的1是步长,最后一个是结束地址

-w 1

-n 1 

| findstr "TTL" :进行一个排除

# 这条命令的意思就是从1 ping 到254          指定目标网段         (跟你手动一个一个的ping区别不大)
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL="

 

2)nmap - 扫描器之王-kali自带无须安装

  • 扫描的速度较慢
  • 但是可以扫描操作系统、端口的服务和版本等详细的信息

使用演示这里就不讲了,我以前写过一篇工具的使用教程需要的可以参考下:kail - 扫描与爆破_正经人_____的博客-CSDN博客 

3)masscan,参考 (kali自带)

  • 只能扫描端口
  • 速度快
# -p指定扫描的端口,可以是一个或多个如:-p80   、  -p80,3389 、  -p20-30 
masscan 192.168.1.0/24 -p80
masscan 192.168.1.0/24 -p80,3389 
masscan 192.168.1.0/24 -p20-30

4)第三方 PowerShell 脚本 nishang、empire 等

这里演示nishang(参考)

官网:GitHub - samratashok/nishang

zip下载:https://codeload.github.com/samratashok/nishang/zip/refs/heads/master

要在PowerShell中执行命令,方法:在开始菜单搜索“PowerShell”就好 

 


切换路径并导入模块 nishang

# 切换路径-这里要根据自己的实际情况来我的脚本是放在桌面上
cd Desktop\nishang-master

# cd Desktop\nishang-master
Import-Module ./nishang.psm1

解决:设置执行策略 -> 再次导入

Set-ExecutionPolicy RemoteSigned

解决:

cd nishang-master               # 再切换一层文件夹
Import-Module ./nishang.psm1    # 再次导入

获取模块 nishang 的命令函数

Get-Command -Module nishang

  

获取常规计算机信息

Get-Information 或 Information

 

 

端口扫描(查看目录对应文件有演示语法,其他同理)

#                             开始地址                   结束地址
Invoke-PortScan -StartAddress 192.168.1.0 -EndAddress 192.168.1.255 -ResolveHost -ScanPort

 

其他功能:删除补丁,反弹 Shell,凭据获取等

探针域内主机角色及服务信息

利用开放端口服务及计算机名判断

核心业务机器:

  1. 高级管理人员、系统管理员、财务/人事/业务人员的个人计算机
  2. 产品管理系统服务器
  3. 办公系统服务器
  4. 财务应用系统服务器
  5. 核心产品源码服务器(自建 SVN、GIT)
  6. 数据库服务器
  7. 文件或网盘服务器、共享服务器
  8. 电子邮件服务器
  9. 网络监控系统服务器
  10. 其他服务器(内部技术文档服务器、其他监控服务器等)

涉及资源:

  • http://unixwiz.net/tools/nbtscan.html
  • GitHub - samratashok/nishang: Nishang - Offensive PowerShell for red team, penetration testing and offensive security.
  • GitHub - gentilkiwi/mimikatz: A little tool to play with Windows security
  • GitHub - huntergregal/mimipenguin: A tool to dump the login password from the current linux user
  • GitHub - AlessandroZ/LaZagne: Credentials recovery project
  • XenArmor All-In-One Password Recovery Pro 2022 Software | XenArmor

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

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

相关文章

完美解决丨except NameError:

示例如下: try: print(xx) except: print(xx is not defined) print(continue) 解决办法 第一种解决办法: try: print(xx) except NameError: print(xx is not defined) print(continue) 第二种解决办法: print(xx) if xx in locals() e…

camunda工作流user task如何使用

在Camunda中使用User Task通常需要以下步骤: 1、创建User Task:使用BPMN 2.0图形化设计器(如Camunda Modeler),将User Task元素拖到流程图中,并为任务命名,指定参与者(用户或用户组…

第二章 Maven 核心程序解压和配置

第一节 Maven核心程序解压与配置 1、Maven 官网地址 首页: Maven – Welcome to Apache Maven(opens new window) 下载页面: Maven – Download Apache Maven(opens new window) 下载链接: 具体下载地址:https://dlcdn.apac…

算法:(力扣)(牛客)打印螺旋矩阵题

手撕螺旋矩阵 题目思路解题 题目 描述:给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。数据范围:0 \le n,m \le 100≤n,m≤10,矩阵中任意元素都满足 |val| \le 100∣val…

makefile 规则的覆盖

makefile 中经常会使用规则的覆盖,同样一个target 可能有多个prerequisites,这种依赖关系可以放到一起,也可以分开指定。 例1: test1:echo "test111"test2:echo "test222"test3:echo "test333"he…

vsync-app 不稳定导致抖动

问题描述:跟对比机器对比uc 浏览器新闻页滑动场景,出现抖动 1、trace 看是没有丢帧,对比看送帧buffer 给到 SF 步调不够一致,从间隔较大的两个 送帧buffer看,发现vsync-app 时间比正常的要长3ms 左右,vsync…

网络交换机端口管理工具

如今,企业或组织级网络使用数百个交换机端口作为其 IT 基础架构的一部分来实现网络连接。这使得交换机端口管理成为日常网络管理任务的一部分。传统上,网络管理员必须依靠手动网络交换机端口管理技术来跟踪交换机及其端口连接状态。这种手动任务弊大于利…

基于斯坦福大学开源,从零搭建chatGPT

下载地址: https://huggingface.co/datasets/togethercomputer/RedPajama-Data-1T 预处理仓库:https://github.com/togethercomputer/RedPajama-Data 复刻ChatGPT!斯坦福等开启红睡衣计划,开源1.2万亿token训练集 【新智元导读…

JAVA队列(Queue)用法附实例讲解

队列是什么 队列用于模拟队列这种数据结构,队列通常是指“先进先出”的容器。新元素插入(offer)到队列的尾部,访问元素(poll)操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素 …

【JavaWeb】Servlet(崔老师版)

文章目录 1.概述1.1 JavaWeb三大组件1.2 Servlet作用 2.ServletConfig接口3.Servlet接口3.1 实现Servlet的方式3.2 Servlet生命周期 4.HttpServlet抽象类6.ServletContext5.1 概述5.2 获取ServletContext5.3 JavaWeb四大域对象5.4 获取应用初始化参数5.5 ServletContext获取资源…

【UML建模】时序图(Sequence Diagram)

文章目录 1.概述2.时序图的组成元素2.1.角色(Actor)2.2.实体和对象2.3.生命周期线(Lifeline)2.3.1.激活(Activation)2.3.2.消息(Messages)2.3.3.组合片段(Fragments&…

learn C++ NO.1——命名空间域、输入输出、函数重载

前言 什么是C C(c plus plus)是一种计算机高级程序设计语言,由C语言扩展升级而产生,最早于1979年由本贾尼斯特劳斯特卢普在AT&T贝尔工作室研发。C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的…

Cache存储系统详解(全相联映射、直接映射、组相联映射、替换策略和性能计算)

1. 存储系统的层次结构 为了解决容量、速度和价格之间的矛盾,把各种不同存储容量,不同存取速度,不同价格的存储器,按照一定的体系结构组织起来,使所存放的程序和数据按层次分布在各存储器中,形成---多层次的…

读书笔记//《数据科学工程实践》

出版时间:2021年11月 副标题:用户行为分析、A/B实验、SQLFlow 作者们是一线互联网企业的数据科学家、数据分析师和算法工程师,主要就职于滴滴、部分就职于腾讯、快手等。 点评:神仙下凡布道。感谢大佬们的分享。本书让我领略了大厂…

小白也能看懂,解读数据中台

不同的企业对数据有不同的需求。企业数据应用不断更新迭代,企业的中台系统也需要不断变化。从数据处理与数据治理两个维度出发,可以设计一个解耦的数据中台体系架构。该数据中台体系架构具有一定的柔性,可按照企业应用需求进行组合&#xff0…

多语言(CurlPHPPHPsdkJAVAC#Python)调用阿里巴巴商品API接口

2月2日消息,《晚点LatePost》独家报道,阿里集团国内批发业务1688近期完成了一系列组织和业务调整。其中,原1688商贸发展中心和产地发展中心合并为1688商家发展中心,由原商贸发展中心总经理王强负责;1688新成立分销供应…

苹果天气应用专利获批,苹果Find My技术改变防丢技术走向

根据美国商标和专利局(USPTO)公示的清单,苹果近日获得了名为“用于管理天气信息的用户界面”专利,编号为 US 11630559 B2。 苹果在专利描述中表示,部分管理天气信息的技术复杂且效率低下,用户需要多次点击…

spring redis Sentinel 哨兵 原理

客户端选择 redis 常用的连接客户端 有三个 Jedis:是老牌的Redis的Java实现客户端,提供了比较全面的Redis命令的支持,Redisson:实现了分布式和可扩展的Java数据结构。Lettuce:高级Redis客户端,用于线程安…

el-table合计功能滚动条层级问题

问题描述 版本:2.15.13 el-table在使用合计功能及固定列功能的同时,由于固定列的结构是固定区域增加了div加上定位,用来盖住下面的内容。当使用了合计功能的时候滚动条的区域在el-table__body-wrapper会导致固定列区域下的滚动条被挡住&…

计算机网络三:运输层

一、运输层 1. 概述 运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信功能,使得不同主机好像直接连在一起一样 运输层协议是在端系统中而不是在路由器中实现的。网络路由器仅作用于网络层分组(即数据报)的网络层字段,而不检查封装在该数据报…