freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

渗透测试之地基内网篇:域森林域内信息收集(下)
2021-03-09 15:27:34

HW期间,为防范钓鱼,即日起FreeBuf将取消投稿文章的一切外部链接。给您带来的不便,敬请谅解~

系列文章

专辑:渗透测试之地基篇

简介

渗透测试-地基篇

该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。

请注意

本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。

名言:

你对这行的兴趣,决定你在这行的成就!

一、前言

渗透测试人员需谨记《网络安全法》,根据《网络安全法》所示,未经授权的渗透测试都是不合法的,不管是出于何种目的。红队渗透人员在进行渗透期间,渗透测试的行为和项目必须在被渗透方授予权限可渗透后,才可进行渗透测试操作。

如今有一家dayu公司,需要对自己的业务以及整体的内网框架体系进行隐患挖掘,授予权限我进行对dayu公司的渗透测试操作,在签署了双方的《渗透测试授权书》后,我开始了对dayu公司的渗透之旅。

跳开思维讲,我此篇内容是内网渗透篇章,通过我的专栏:

社工钓鱼 -> 免杀过全杀软 -> 内网渗透

那么我通过了社工钓鱼的各种方式,将钓鱼文件进行免杀后,成功钓鱼到了该公司外围人员计算机,并控制了该计算机权限获得shell,并成功登录对方电脑。

但登陆对方电脑对于渗透测试人员最开始的感觉,面对的是一片“黑森林”,所以渗透测试人员首先需要对当前所处的环境进行判断。接下来将开始第一步内网渗透内网中的信息收集。

经过上期《渗透测试之地基内网篇:域森林内网信息收集(上)》

已经对这片“黑森林”有些清晰的思路了,那么还是需要扩大我们的域内信息库:

信息收集的深度,直接关系到内网渗透测试的成败!!

二、环境介绍

拓扑图简介
1615274953_604723c95c6660424c9b2.png!small?1615274953703

为了更好的演示接下来的渗透,我继续贴出了dayu公司的环境拓扑图,公司搭建环境:

单篇:渗透测试之地基内网篇:域森林大型环境搭建

三、域内基础信息收集

确定内网存在域后,获得shell控制后的主机也在域内,就可以进行域内相关信息的收集了。接下来介绍的大部分是通过LDAP协议到域控制器上进行查询的,所以需要权限认证才可以查询。

1、查询域

net view /domain

1615274964_604723d4f3d3c5a73040c.png!small?1615274965701查询到域为:xiyou1中的用户!

2、查询域内所有计算机

net view /domain:xiyou1

1615274969_604723d9f416d3dd3665c.png!small?1615274971201收集到\USER1和\XIYOU两个域内计算机

3、查询域内所有用户组列表

net group /domain

1615274976_604723e0c749ac59fcd63.png!small?1615274977105拒绝访问,前面也提到了,有些情况是需要域控授权的。

那么为了让大家看到效果,我登录域控给大家显示:
1615274981_604723e5647e0caeba509.png!small?1615274981957可看到,域内有11个组,身份如下:

*DnsUpdateProxy    
*Domain Admins     #域管理员 
*Domain Computers   #域内机器
*Domain Controllers #域控制器
*Domain Guests      #域访客,权限较低
*Domain Users       #域用户
*Enterprise Admins  #企业系统管理员用户
*Enterprise Read-only Domain Controllers
*Group Policy Creator Owners
*Read-only Domain Controllers
*Schema Admins

提示:
在默认情况下,Domain Admins和Enterprise Admins对域内所有域控制器有完全控制权限!!

4、查询域内所有用户组列表

net group "domain computers" /domain

1615274988_604723ec869f582980911.png!small?1615274988964这是在域控的信息收集,演示给大家看:

收集到USER1$存在!

5、获取域密码信息-设置规则

net accounts /domain

1615274993_604723f1583590e4a0a74.png!small?1615274993781这是在域控的信息收集,演示给大家看:

收集到了域密码策略、密码长度、错误锁定等等...

6、获取域信任信息

nltest /domain_trusts

1615274998_604723f62c6c9e78bff7a.png!small?1615274998511在普通域用户通过查看域信任关系:

父域:dayu.com 父域计算机名:DAYU 子域:xiyou.dayu.com 子域计算机名:XIYOU1

以及子域和父域是信任关系!

四、查找域控制器

1、查找域控制器的机器名

nltest /DCLIST:xiyou.dayu

1615275005_604723fd268a1337fe1da.png!small?1615275005471可看到机器名为:xiyou.xiyou.dayu.com

2、查看当前时间(非域控使用)

net time /domain

1615275009_60472401adf5ff12adbf1.png!small?1615275010275在通常情况下,时间服务器为主域控制器!

3、查看域控制器组

net group "domain controllers" /domain

netdom query pdc
#可以看到域控制器

1615275023_6047240f241a99bd69c7e.png!small?16152750235521615275029_6047241569b0448830ee9.png!small?1615275029675

域控制器组为:XIYOU

五、获取域内的用户和管理员信息

接下来演示大部分是已经通过普通域用户后,渗透提权拿下了子域用户,如何在子域控制器上信息收集这块,后期篇章会演示如何拿下子域!

1、查询所有域用户列表

1)向域控制器进行查询

net user /domain

1615275038_6047241e3d0332f34a731.png!small?1615275038620可看到子域控制器的存在四个用户!

2)获取域内用户的详细信息

wmic useraccount get /all

1615275042_60472422e92d059ab2768.png!small?1615275043826在普通域用户下可看到常见参数包含:用户名、描述信息、SID、域名、状态等等!

3)查看存在的用户

dsquery user

1615275047_60472427c32d09cc56a7a.png!small?1615275048136可看到域内有四个用户,以及一个主域名!

常用的dsquery命令:

dsquery computer	查找目录中的计算机
dsquery contact	查找目录中的联系人
dsquery subnet	查找目录
dsquery group	查找目录中的组
dsquery ou	查找目录中的组织单位
dsquery site	查找目录中的站点
dsquery server	查找目录中的AD DC/LDS实例
dsquery user	查找目录中的用户
dsquery quota	查找目录中的配额规定
dsquery partition	查找目录中的分区
dsquery *	用通用的LDAP查询来查找目录中的任何对象

4)查询本地管理员组用户

net localgroup administrators

1615275060_60472434c7b01bc4562a2.png!small?1615275061653普通用户收集发现存在三个域用户,都属于域本地管理员组中!

2、查询域管理员用户组

1)查询域管理员用户

net group "domain admins" /domain

1615275068_6047243c0c62c2365fbfe.png!small?1615275068660域管理员是administrator

2)查询企业管理员用户组

net group "Enterprise Admins" /domain

目前不存在企业管理员组!

六、定位域管理员

在内网旅行中的需求是:获取内网中特定用户或机器的权限,进而获得特定的资源!继续收集...

域管理员定位工具

1、psloggedon.exe

在Windows上可以执行net session来查看谁使用了本机资源,但是没有命令可用来查看谁在使用了远程计算机资源,谁登陆了远程计算机资源,使用psloggedon可以解决这一问题。

项目地址:

https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedon

用法:

psloggedon [- ] [-l] [-x] [\\computername | username]

1615275081_60472449556077759f723.png!small?1615275081795收集到:USER1\dayu是本域用户!

2、PVEFindADUser.exe
用于查找活动目录用户登录位置,枚举域用户,查找在特定计算机上登录的用户,包括本地用户,通过RDP登录的用户,用于运行服务和计划任务的用户。运行该工具需要.NET Framework2.0环境,并且具备管理员权限。

PVEFindADUser.exe -current

1615275087_6047244f107298ff6c50e.png!small?1615275087375子域拒绝联系!!

3、netview.exe

项目地址:

https://github.com/mubix/netview

使用WinAPI枚举系统,利用NetSessionEnum找寻登录会话,利用NetShareEnum找寻共享,利用NetWkstaUserEnum枚举登录的用户。大部分功能不需要管理员权限。

1615275093_60472455367fc969a5676.png!small?1615275093866

参数 描述 -h 显示此帮助菜单 -f filename.txt 指定一个文件以从中提取主机列表 -e filename.txt 指定要排除的主机名文件 -o filename.txt 输出到文件而不是STDOUT -d domain 指定要从中拉出主机列表的域,如果未指定,则使用当前域 -g group 指定用于用户搜寻的组名,如果未指定,则使用“域管理员” -c 检查找到的共享以进行读取访问

1615275099_6047245b03a49f1c0a296.png!small?1615275099620在普通域用户发现非常重要信息:
子域IP为DNS的IP:10.10.3.6,用该工具还发现子域控制器上存在10.10.21.5的地址,存在多级内网情况!!

4、PowerView脚本(常用)

powerView.ps1是一款依赖powershell和wmi对内网进行查询的常用渗透测试脚本,集成在powersploit工具包中,是一个收集域信息很好用的脚本。

项目地址:

https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerView

使用:

输入Get-ExecutionPolicy查看权限 输入Set-ExecutionPolicy UnRestricted修改权限 Import-Module .\powerview.ps1

1615275106_60472462951a123b76fc6.png!small?1615275106988

1615275111_604724674a1af335e4288.png!small?1615275111992

更多PowerView命令参数:

Get-NetDomain: 获取当前用户所在域的名称 Get-NetUser: 获取所有用户的详细信息 Get-NetDomainController: 获取所有域控制器的信息 Get-NetComputer: 获取域内所有机器的详细信息 Get-NetOU: 获取域中的OU信息 Get-NetGroup: 获取所有域内组和组成员信息 Get-NetFileServer: 根据SPN获取当前域使用的文件服务器信息 Get-NetShare: 获取当前域内所有网络共享信息 Get-NetSession: 获取指定服务器的会话 Get-NetRDPSession: 获取指定服务器的远程连接 Get-NetProcess: 获取远程主机的进程 Get-UserEvent: 获取指定用户的日志 Get-ADObiect: 获取活动目录的对象 Get-NetGPO: 获取域内所有的组策略对象 Get-DomainPolicy: 获取域默认策略或域控制器策略 Invoke-UserHunter: 获取域用户登录的计算机信息及该用户是否有本地管理员权限 Invoke-ProcessHunter: 通过查询域内所有的机器进程找到特定用户 Invoke-UserEvenHunter: 根据用户日志查询某域用户登录过哪些域机器。

根据需求收集信息!!

七、查找域管理进程

一般在内网渗透中,通常围绕着收集明文凭据或者通过mimikatz提权等方法,如果内网环境非常的复杂,我们无法立即在用友权限的系统中获得域管理员进程,那么通常可以采用的方法是:在跳板机之间跳转,直至获得域管理员权限,同时进行一些分析工具,找到渗透测试的路径。

1、本机检查

列出本机的所有进程及进程用户

tasklist -v

1615275159_60472497dfdb5416b3317.png!small?1615275160817

2、查询域控制器的域用户会话

在域控制器中查询域用户会话列表,并将其与域管理员列表进行交叉引用,从而得到域管理会话的系统列表。

1)查询域控制器和域管理员列表

net group "Domain Controllers" /domain
net group "Domain Admins" /domain

1615275168_604724a060e70bb0d5835.png!small?1615275169710

2)收集所有活动域的会话列表

项目地址:

https://github.com/basicScandal/WinHackingBin

1615275174_604724a6b1cdf12554139.png!small?1615275175105很遗憾没发现会话!!

3、扫描远程系统的NetBOIS信息

某些版本的windows操作系统允许用户通过NetBOIS查询已登录用户。下面这个windows命令行脚本就用于扫描远程系统活跃域中的管理会话。

for /F %i in (ips.txt) do @echo [+]Checking %i && nbtstat -A %i 2>NUL >nbsessions.txt && for /F %n in (names.txt) do @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i

创建ips.txt将IP填写入即可!
1615275180_604724ac6383a11d19557.png!small?1615275181403可看到域的一些基本信息!

八、核心业务机器及敏感信息收集

在渗透中,发现重点核心业务机器是我们比较关心的,那么那些是核心业务机器和敏感内网信息,以及如何收集!

1、核心业务机器

高级管理人员 系统管理人员 财务/人事/业务人员的个人计算机 产品管理系统服务器 办公系统服务器 财务应用系统服务器 核心产品源码服务器(SVN/GIT服务器) 数据库服务器 文件服务器,共享服务器 电子邮件服务器 网站监控系统服务器 信息安全监控服务器其他分公司,生产工厂服务器等

2、敏感信息和敏感文件

站点源码备份文件,数据库备份文件等 各类数据库的Web 管理入口,例如 phpMyAdmin、Adminer 浏览器保存的密码和游览器的cookie 其他用户会话,3389和ipc$连接记录,回收站中的信息等 Windows的无线密码 网络内部的各种账号密码,包含电子邮箱,VPN,FTP、TeamView 等等

3、应用与文件形式信息收集

拿下一台机器后要先维权,权限稳了再收集信息,信息收集一定要全面仔细,信息收集完了再搞内网。往目标主机中传工具用完就删。翻文件的话,可以使用一些搜索命令来快速寻找。

指定目录下的文件中搜集各种账号密码:

findstr /si pass *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si userpwd *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si pwd *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si login *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si user *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak

4、前后端基本架构

渗透测试人员需要对目标网站的基本情况进行简单的判断,分析目标服务器所使用的web服务器、后端脚本、数据库、系统平台等。
下面列举一些常见的web架构:

ASP + Access + IIS 5.0/6.0 + Windows Server 2003
ASPX + MSSQL + IIS 7.0/7.5 + Windows Server 2008
PHP + MySQL + Apache
PHP + MySQL + IIS
PHP + MySQL + Nginx
JSP + MySQL + Nginx
JSP + MSSQL + Tomcat
JSP + Oracle + Tomcat

九、总结

通过对域内信息收集后,手动画出了简单的拓扑图:
1615275193_604724b95a3f6d4db7df3.png!small?1615275193789发现子域上存在父域和辅域,以及子域上还有多级网卡,目前还未延伸!和一些信息收集在笔记上记录着!目前需要EXP和强大的工具方法进行内网渗透,接下来将进行流量代理,代理到kali和windows攻击武器库机器上进行内网旅行渗透!

继续内网渗透的旅程!!

希望大家提高安全意识,没有网络安全就没有国家安全!

今天基础牢固就到这里,虽然基础,但是必须牢记于心。

作者:大余

# 信息收集 # 内网 # 域森林
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录