目录
内网基础知识
基本流程图
怎么判断是否在域内
常规信息类收集-应用&服务&权限等
cs信息搜集
bloodhound安装及使用
内网基础知识
-
工作组:将不同的计算机按照功能分别列入不同的组,想要访问某个部门的资源,只要在【网络】里双击该部门的工作组名
-
域Domain:一个公司有10台计算机,我们希望某台计算机的账户ailx10可以访问每台计算机的资源,那么,在工作组环境中,我们必须在这10台计算机各自的SAM数据库中创建ailx10这个账户。
一般局域网<工作组<内网域
域是一个有安全边界的计算机集合,与工作组相比,域的安全管理机制更加严格,用户想要访问域内的资源,必须以合法的身份登录域,而用户对域内的资源拥有什么样的权限,取决于用户在域内的身份。
域控制器DC,是域中的一台类似管理服务器的计算机,负责所有接入的计算机和用户的验证工作,也就是说域内所有用户的密码Hash都保存在域控制器中。
-
活动目录AD,是指域环境中提供目录服务的组件。目录用于存储有关网络对象的信息,例如:用户、组、计算机、共享资源、打印机、联系人等。
目录服务:帮助用户快速的从目录中找到其所需要的信息的服务
活动目录实现了目录服务,为企业提供了网络环境的集中式管理机制,活动目录的主要功能:
-
账号集中管理:所有账号都存储在服务器中
-
软件集中管理:统一推送软件、安装软件
-
环境集中管理:统一客户端桌面、IE设置
-
增强安全性:统一部署杀毒软件和病毒扫描任务、统一制定用户密码策略
基本流程图
怎么判断是否在域内
cmd输入,看回显
net view /domain
或者
net time /domain
net user /domain
这是有域的
这是没有,告诉你找不到域
常规信息类收集-应用&服务&权限等
systeminfo 详细信息
netstat -ano 端口列表
route print 路由表
net start 启动服务
tasklist 进程列表
schtasks 计划任务
ipconfig /all 判断存在域
net view /domain 判断存在域
net time /domain 判断主域
netstat -ano 当前网络端口开放
nslookup 域名 追踪来源地址
wmic service list brief 查询本机服务
net config workstation 查询当前登录域及登录用户信息
wmic startup get command,caption 查看已启动的程序信息
#架构信息类收集-网络&用户&域控等
net view /domain 查询域列表
net time/domain 从域控查询时间,若当前用户是域用户会从域控返回当前时间,亦
用来判 断主域,主域一般用做时间服务器
net localgroup administrators 本机管理员【通常含有域用户】
net user /domain 查询域用户(当前域)
net group /domain 查询域工作组
net group "domain computers" /domain 查看加入域的所有计算机名
net group "domain admins" /domain 查询域管理员用户组和域管用户
net localgroup administrators /domain 查看域管理员
net group "domain controllers" /domain 查看域控
net accounts /domain 查看域密码策略
获取域控ip
先net time /domain
会先域控请求,同时获得域控的计算机名
再ping域控就会解析它的ip
查询域管理员用户组和域管用户
net group "domain admins" /domain
cs信息搜集
使用cs生成可执行exe文件
拖至win7虚拟机运行,当然一定会被杀(exe文件免杀后期会说)先关了杀毒软件,包括windous自带的安全中心
运行之后,cs上线
重新设置会话延迟
设置成1或者0
发现last变成毫秒了
可以搜索基本信息了
图示里可以看见你的获取信息
目标列表可以看见你攻击靶机
在这可以看到截图信息
接下来查看hash值和抓取明文密码
直接上,会回显要求管理员权限,接下来提权,win7,我们使用ms14-058这个漏洞提权
可以装上这些插件
也可以只在网上装上cs的提权漏洞
提权之后会发现多了一台system的主机,对其进行抓取hash何抓取明文密码
hash值
明文密码,到密码凭证下查看,有的是哈希值,有的是未加密密码
然后找到其他服务器,横向移动
选择已有的密码,选择监听
如果成功就会上线一台新的靶机,这个要看运气
bloodhound安装及使用
首先下载俩个软件
一个是本地运行的软件,我下载的是win32-x64版本
Releases · BloodHoundAD/BloodHound · GitHub
在本地安装 BloodHound 完成后,需要进行数据的采集与导入,数据的采集可以使用 ps1 脚本或者使用 exe 程序收集,需要使用对应版本的数据采集工具。
下载地址: https://github.com/BloodHoundAD/BloodHound/tree/f4d9c1af1529124d33c9f360a27686eea51755e1/Collectors
如图
接下来就是上传文件 ,先文件浏览,然后上传下载的exe文件或者脚本
不同文件的命令也不同
# 二进制采集工具命令: SharpHound.exe -c all # powershell采集工具命令: powershell -exec bypass -command "Import-Module ./SharpHound.ps1; Invoke-BloodHound -c all"
运行完成后会生成一个以时间命名的zip文件
接着下载neo4j
Neo4j Deployment Center - Graph Database & Analytics
我下载的是社区版
接着cmd在bin目录运行解压的下载的zip文件
neo4j.bat console
浏览器访问http://127.0.0.1:7474/browser/
账号密码都是 neo4j
Host : http://localhost:7474 Username : neo4j Password : neo4j
修改密码123456或者其他
打开本地下载运行的bloodhound.exe文件登录上面修改的账号密码
然后将靶机上获取的zip文件上传到这个程序上
这里可以看见有多少个主机,有多少个组等基本信息
analysis可以帮我们找到,一些信息,一般都是英文,可以翻译
-
查询所有域管理员
-
寻找到域管理员的最短路径
-
查找具有DCSync权限的主体
-
具有外部域组成员资格的用户
-
具有外部域名组成员资格的组
-
映射域信任
-
到无约束委托系统的最短路径
-
到达Kerberoastable用户的最短路径
-
从Kerberoastable用户到域管理员的最短路径
-
拥有的主体的最短路径
-
从拥有的主体到域管理员的最短路径
-
到高价值目标的最短路径
-
查找域用户是本地管理员的计算机
-
查找域用户可以读取密码的计算机
-
从域用户到高价值目标的最短路径
-
找到从域用户到高价值目标的所有路径
-
找到域用户可以RDP的工作站
-
找到域用户可以RDP的服务器
-
查找域用户组的危险权限
-
找到高价值群体中能够支持kerberoable的成员
-
列出所有kerberoable用户
-
查找具有大多数特权的Kerberoastable用户
-
查找到非域控制器的域管理登录
-
查找不支持操作系统的计算机
-
查找AS-REP Roastable用户(DontReqPreAuth)
点击任图中任意用户,可以查看该用户Name、DisPlayName、最后修改密码时间、最后登陆时间、该用户登陆在那台计算机存在Session,是否启动、属于那些组、拥有那些机器的本地管理员权限、对访问对象对控制权限等,BloodHound可以将这些以图表对形式展示出来,方便Pentester更快对进行横向渗透,提升权限
其他具体方法可以看这位师傅写的很详细内网渗透工具bloodhound安装及使用_bloodhound使用-CSDN博客
还可以参考这个师傅BloodHound官方使用指南 - 渗透测试中心 - 博客园 (cnblogs.com)