内网信息收集 - 邮件账户/云账号

本文选自《内网安全攻防:红队之路》

扫描二维码75折购书

攻击者可能会尝试获取系统或环境中的帐户列表,账户类型主要包括本地账户、域账户、邮件账户和云账户,此信息可以帮助攻击者确定存在哪些帐户以帮助后续行为。

1. 邮件帐户发现分析

MailSniper是一种用于在Microsoft Exchange环境中搜索包含特定术语(如密码、内部信息、网络架构信息等)的电子邮件的开源工具。它可以作为普通用户搜索他们自己的电子邮件,也可由Exchange管理员搜索域中每个用户的邮箱。

地址:https://github.com/dafthack/MailSniper

在使用前需运行如下命令打开PowerShell并导入mailsniper

sql 复制代码
powershell.exe -exec bypassImport-Module .\MailSniper.ps1

执行如下命令,使用MailSniper的Get-GlobalAddressList功能模块,可实现连接到Outlook Web Access(OWA)在线门户并利用"FindPeople"方法(仅适用于Exchange2013及更高版本)从全局地址列表(GAL)枚举电子邮件账户。如果通过OWA未成功发现邮件账户,MailSniper将同时连接到Exchange Web Service(EWS)并尝试从GAL枚举电子邮件账户。

sql 复制代码
Get-GlobalAddressList -ExchHostname mail.domain.com -UserName domain\username -Password Summer2017 -OutFile global-address-list.txt

MailSniper除了邮件账户发现功能外,还具有许多实用的功能模块,各模块参数及使用方法可以从项目地址获取:

Invoke-DomainHarvest模块:OWA获取目标组织的内部域名

Invoke-UsernameHarvest模块:OWA生成"域\用户名"或"用户名@域"格式的潜在用户名列表

Invoke-PasswordSprayOWA模块:OWA密码喷射

Invoke-PasswordSprayEWS模块:EWS密码喷射

Get-ADUsernameFromEWS模块:从EWS获取活动目录用户名

Invoke-OpenInboxFinder模块:查找权限过宽的收件箱

Invoke-SelfSearch模块:默认搜索当前账户邮箱含"password"、"creds"和"credentials"的邮件。

2. 云账号发现分析

攻击者可能会尝试获取云帐户列表。云帐户是由组织创建和配置的帐户,供用户、远程支持、服务使用,或用于管理云服务提供商或软件即服务(SaaS)应用程序内的资源。

运行如下命令列出Microsoft Azure活动目录的用户列表。

nginx 复制代码
az ad user list

命令az ad user list可选参数:

--display-name 对象的显示名称或其前缀

--filter OData过滤器,如"displayname eq 'test'"

--query-examples 推荐JMESPath字符串,可以复制其中一个查询并将其粘贴到双引号内的--query参数之后以查看结果

l--upn 用户主体名称,如john.doe@contoso.com

运行如下命令列出Amazon Web Services(AWS)中的所有IAM用户。

nginx 复制代码
aws iam list-users

命令aws iam list-users可选参数:

--path-prefix 过滤结果的路径前缀

--max-items 在命令的输出中返回的项目总数

--cli-input-json 根据提供的JSON字符串进行服务操作

--starting-token 用于指定从何处开始分页的标记

--page-size 要在AWS服务调用中获取的每个页面的大小

--generate-cli-skeleton 在不发送API请求的情况下将JSON骨架打印到标准输出。

运行如下命令列出Google Cloud当前项目中的所有服务帐户。

nginx 复制代码
gcloud iam service-accounts list

命令gcloud iam service-accounts list可选参数:

--filter=EXPRESSION 将布尔过滤器EXPRESSION应用于要列出的每个资源项,如果表达式计算为True,则列出该项目。

--limit=LIMIT 要列出的最大资源数,默认为unlimited。

--sort-by=[FIELD,...] 要排序的资源字段键名称的逗号分隔列表,默认顺序是升序,使用"~"字段前缀,用于该字段的降序。

--uri 打印资源URI列表而不是默认输出,并将命令输出更改为URI列表。

3. 账户发现技术防御

账户发现是攻击者探测内网的重要步骤,具有较高的危害性,内网安全管理员可以通过采取以下方法进行防御:

一是加强对内网的监控,实施内网安全日志管理和内网安全监测,特别是在域网络中,一旦发现与账户发现相关的网络活动,无论是否合法都要立即发出警报。

二是加强对操作系统的监测,通过sysmon监控Windows操作系统上可用于枚举用户帐户的进程和命令行参数,例如net.exe和net1.exe程序,及时发现非正常的攻击行为。

三是缓解账户发现相关攻击。本地管理员账户枚举主要信赖的是注册表项:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\CredUI\EnumerateAdministrators,我们可以通过组策略对象(GPO)禁用它:计算机配置>[策略]>管理模板>Windows组件>凭据用户界面:在提升时枚举管理员帐户。邮箱账户枚举主要信赖的是相关攻击软件的嗅探技术,安装并维护杀毒软件,可以有效进行应对。

--- 关于我们 ---

镇江刺掌信息科技有限公司成立于2020年,公司旗下MS08067安全实验室,专注于网络安全领域教育、培训、认证产品及服务提供商。近两年,线上培训人数近10万人次,培养网络安全人才近6000名。

公司被认定为国家高新技术企业、国家科技型中小企业、江苏省创新性中小企业、江苏省民营科技企业、江苏省软件企业。并荣获机械工业出版社"年度最佳合作伙伴"、电子工业出版社-博文视点"优秀合作伙伴"、镇江市企业发展服务中心优质合作伙伴、镇江市网络安全应急支撑服务单位等荣誉称号。

go 复制代码
如果喜欢我们










欢迎 在看丨留言丨分享至朋友圈 三连