1.自动化收集信息
为了简化操作,可以创建一个脚本,在目标服务器上完成流程、服务、用户账号、用户组、网络接口、硬盘信息、安装的补丁、安装的软件、启动时运行的程序等信息的查询工作。
wmic(windows management instrumentation command-line,windows管理工具命令行)是最有用的windows命令行工具.默认情况下,任何版本的windows xp的低权限用户不能访问wmic,windows 7以上版本的低权限用户允许访问wmic并执行相关查询操作。
下载地址:http://www.fuzzysecurity.com/scripts/files/wmic_info.rar
在内网渗透过程中,获取到目标系统的shell后,可以上传wmic_info.bat直接运行进行信息收集,绕过免杀
2.查看当前权限
1>查看当前权限
.whoami
2>获取域SID
.whoami /all
3>查询指定用户的详细信息
net user xxxx /domain
3.判断是否存在域
获得了本机的相关信息后,就要判断当前内网中是否存在域。如果当前内网中存在域,就需要判断所控主机是否在域内。
1>使用ipconfig命令
执行如下命令,可以查看网关IP地址、DNS的IP地址、域名、本机是否和DNS服务器处于同一网段等信息
ipconfig /all
(存在域)
(不存在域)
然后,通过反向解析命令nslookup来解析域名的IP地址。用解析得到的IP地址进行对比,判断域控制器和DNS是否在同一台服务器上
2>查看系统详细信息
systeminfo,如果当前服务器不在域内,则“域”为“WORKGROUP”,否则为对应的域名
3>查询当前登录域及登录用户信息
net config workstation
4>判断主域
(域服务器通常会同时作为时间服务器使用)
net time /domain
执行以上命令会存在三种情况
.存在域且当前用户时域用户
.当前网络为工作组,不存在域
.存在域,但当前用户不是域用户
会返回发生系统错误,拒绝访问
4.利用PowerShell收集域信息
如果想执行一个PowerShell脚本,就要修改PowerShell的执行权限。PowerShell的常用执行权限共有四种
.Restricted:默认设置,不允许执行任何脚本
.Allsigned:只能运行经过证书验证的脚本
.Unrestricted:权限最高,可以执行任意脚本
.RemoteSigned:对本地脚本不进行限制;对来自网络的脚本必须验证其签名
输入"Get-ExecutionPolicy",此时执行权限为默认的Restricted权限,我们可以通过"Set-ExecutionPolicy",修改执行权限
PowerView是一款以来PowerShell和WMI对内网进行查询的常用渗透测试脚本,它集成在PowerSploit工具包中,
下载地址:https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1
通过“Import-Module .\PowerView.ps1”进行导入
PowerView的常用命令如下
.Get-NetDomain:获取当前用户的详细信息
.Get-NetUser:获取所有用户的详细信息
.Get-NetDomainController:获取所有域控制器的信息
.Get-NetComputer:获取域内所有机器的详细信息
.Get-NetOU:获取域中的OU信息
.Get-NetGroup:获取所有域内组合组成员的信息
.Get-NetFileServer:根据SPN获取当前域使用的文件服务器信息
.Get-NetShare:获取当前域内所有的网络共享信息
.Get-NetSession:获取指定服务器的会话
.Get-RDPSession:获取指定服务器的远程连接
.Get-NetProcess:获取指定服务器主机的进程
.Get-UserEvent:获取指定用户的日志
.Get-ADobject:获取活动目录的对象
.Get-NetGPO:获取域内所有的组策略对象
.Get-DomainPolicy:获取默认策略或域控制器策略
.Invoke-UserHunter:通过查询域内所有的机器进程找到特定用户
.Invoke-ProcessHunter:通过查询域内所有的机器进程找到特定用户
5.域分析工具BloodHound
1>简介
BloodHound以用图与线的形式,将域内用户、计算机、组、Sessions、ACLs以及域内所有相关用户、组、计算机、登陆信息、访问控制策略之间的关系更直观的展现在Red Team面前进行更便捷的分析域内情况,更快速的在域内提升自己的权限。它也可以使Blue Team成员对己方网络系统进行更好的安全检测及保证域的安全性。
BloodHound通过在域内导出相关信息,在将数据收集后,将其导入Neo4j数据库中,进行展示分析。Neo4j是一款NOSQL图形数据库,它将结构化数据存储在网络上而不是表中,Bloodhound正是利用这种特性加以合理分析,可以更加直观的将数据以节点空间”来表达相关数据。
2>所需环境
.JDK
.Neo4j
当我们进入目标服务器后,需要了解域内的情况,以及定位域管理员账号、到达域管理员的最短路径等等,就需要对域进行分析
3>步骤:
在安装好BloodHound后,我们就可以通过获得的shell,将ShapHound.exe上传到目标服务器中,进行下一步的渗透
当执行完成 后,会将所收集的信息生成一个对应的zip压缩文件,我们可以通过shell命令,将其下载到自己的电脑上进行域分析
太强大啦!!!!!
明天继续。。。。。。。。