第 1 章: 侵入テストに必要な情報収集

0x00 ドメイン名の紹介

ドメイン名 (ドメイン名) は、インターネット上のコンピューターまたはコンピューター グループの名前で、ドット区切りの名前の文字列で構成され、データ転送中にコンピューターの電子的な場所を識別するために使用されます。

例: college domain name: 51cto.com
、 edu.51cto.com 、 www.51cto.com はこのドメイン名に対応するサブドメインであり、 edu と www は対応するホスト ヘッダーです。Web サイトの閲覧プロセス: (指定されたドメイン名に対応する IP アドレスを DNS サーバーから取得する)、DNS 解決とも呼ばれます。

 DNS 解決プロセスには、再帰的で反復的なクエリが含まれます

再帰クエリ --- ホストおよびローカル DNS サーバーによって実行される対話型クエリ

反復クエリ --- ローカル dns サーバーと . ドメインの dns サーバーによる --> .COM ドメインの dns サーバー --> sina.com ドメインの dns サーバー

0x01 whois紹介

whois は、ドメイン名 IP および所有者情報を照会するために使用される伝送プロトコルです。簡単に言えば、whois は、ドメイン名が登録されているかどうか、および登録されたドメイン名の詳細 (ドメイン名所有者、ドメイン名レジストラなど) を照会するために使用されるデータベースです。

異なるドメイン名サフィックスのwhois情報は、異なるwhoisデータベースで照会する必要があります。たとえば、.com の whois データベースは .edu のものとは異なります。各ドメイン名またはIPのWHOIS情報は、対応する管理機関によって保持されます.たとえば、.comで終わるドメイン名のWHOIS情報は、.comドメイン名および.cnドメインの運営者であるベリサインによって管理されます.中国の国家トップ レベル ドメイン名の名前は、CNNIC (中国インターネット ネットワーク情報センター) によって管理されます。

WHOIS プロトコル。その基本的な内容は、最初にサーバーの TCP ポート 43 への接続を確立し、クエリ キーワードを送信してキャリッジ リターンとライン フィードを追加し、サーバーからクエリ結果を受信することです。
 

0x02 whois ルックアップ

Whoisクエリの重要性:Whoisクエリを通じて、ドメイン名登録者のメールアドレスなどの情報を取得することができます。通常、中小規模のウェブサイトのドメイン名登録者はウェブマスターです。検索エンジンを使用して、Whois によってクエリされた情報を検索し、ドメイン名登録者のより多くの個人情報を取得します。

Whois クエリ方法:

1. Web インターフェイス クエリ:

https://whois.aliyun.com/、 https://www.whois365.com/cn/
http://whois.chinaz.com/ 、https://whois.aizhan.com/ 

2. Whois コマンド ラインからクエリを実行します。
Kali linux には Whois クエリ ツールが付属しており、whois ドメイン名コマンドを使用してクエリを実行できます。

0x03 レコード クエリ

ICP ファイリングの概要: インターネット コンテンツ プロバイダー ネットワーク コンテンツ プロバイダー。
インターネット情報サービス管理弁法は、インターネット情報サービスが商用と非商用の 2 つのカテゴリに分類されることを指摘しています。州は、商用インターネット情報サービスのライセンス システムと、非商用インターネット情報サービスのファイリング システムを実施しています。許可を受けていない、または届出手続きをしていない者は、インターネット情報サービスに従事してはならない。中華人民共和国の領域内での非営利のインターネット情報サービスの提供は、法律に従って申請手続きを経なければなりません。国家機関の許可と申請なしに、中華人民共和国の領土内で非営利のインターネット情報サービスを行ってはならない。
届出のメリット:インターネット上での違法なウェブサイト事業活動を防止し、悪質なインターネット情報の拡散に対抗するために、ウェブサイトが申請されない場合、調査後に閉鎖される可能性があります。

ICP レコード クエリ メソッド:

Web インターフェイス クエリ:
 ICP レコード クエリ - ウェブマスター ツール ICP レコード クエリ_レコード番号 クエリ_ウェブサイト レコード クエリ - Tianyancha

 

0x05 サブドメイン紹介

トップレベル ドメイン名: 「.com」、「.net」、「.org」、「.cn」など。

サブドメイン名、プレフィックス付きのトップレベル ドメイン名は、トップレベル ドメイン名のサブドメイン名であり、サブドメイン名は、第 2 レベル サブドメイン名、第 3 レベル サブドメイン名、およびマルチレベル サブドメイン名に分割されます。技術の数に。
私の国が Internet Network Information Center に公式に登録し運用しているトップレベル ドメイン名は .cn であり、これは私の国のファースト レベル ドメイン名でもあります。トップレベル ドメイン名の下で、私の国の第 2 レベル ドメイン名は、カテゴリ ドメイン名と行政区域名の 2 つのタイプに分けられます。科学研究機関向けの .ac、商業および金融企業向けの .com、教育機関向けの .edu、政府機関向けの .gov、.net、非営利団体向けの .org など、合計 6 つのカテゴリ ドメイン名があります。私の国の中央政府直轄の省、自治区、直轄市に対応する 34 の行政区域名があります。

例: www.snnu.edu.cn 

0x06 サブドメインの重要性

サブドメインとはメイン ドメインのセカンド レベル ドメイン名またはマルチレベル ドメイン名です. 厳格な防御策の下でメイン ドメインを直接取得できない場合は、迂回戦術を使用してサブドメインをダウンさせ、無限に取得できます。メインドメインに近い。

例えば:

www.xxxxx.com のメイン ドメインには抜け穴がなく、保護対策も厳格です。

第 2 レベルのドメイン名 edu.xxxxx.com には抜け穴があり、保護手段が緩い。

メインドメインはCDNに接続されているが、サブドメイン名が接続されておらず、実際のIPが見つかっている可能性があります

0x07 サブドメインのマイニング方法

1. 次のようなサブドメイン マイニング ツール: Maltego CE、wydomain、subDomainsBrute、dnsmaper、レイヤー サブドメイン エクスカベーター。
2. 次のような検索エンジン マイニング: Google で site:sina.com を入力
3. サード パーティの Web サイト クエリ:
http://tool.chinaz.com/subdomain、https://dnsdumpster.com/例: https://crt.sh/、http://censys.io/

5. その他の方法: https://phpinfo.me/domain、http://dns.aizhan.com

6. oenforall、またはサイバースペース エンジン、fofa、zoomeye、Qi'anxin Intergraph プラットフォームなどを通じて。

0x08 穴ブラッシングのアイデア

特定の SRC に穴を掘る場合、メイン ドメインで直接侵入テストを実行すると、穴を掘る効果が得られない場合があります。この時点で、対応するサブドメイン名を収集し、いくつかの特定の脆弱性をバッチで検出して、いくつかの脆弱性をより迅速かつ簡単に見つけることができます。次に、対応する SRC に脆弱性を提出して報酬を受け取ります。
穴をパッチするアイデアを目指して: メーカーによって指定されていない穴に対応し、いくつかの特定の脆弱性に従って、URL 収集によってターゲットを取得し、バッチで検出する検出スクリプトを記述し、迅速かつ迅速に検出することができます。効率よく穴をブラッシング。
注:いずれにせよ、警戒を怠らず、触れてはいけない内容には触れず、会社の業務に影響を与えず、脆弱性の検出内容のみを行い、抜け穴があることを確認する必要があります。いい加減にしろ。
発掘のピーク期間: いくつかの新しい脆弱性がインターネット上で公開されると、多数のこれらの脆弱性が脆弱性プラットフォームに提出され、報酬が得られます。

0x09 CMS 指紋識別

CMS (コンテンツ管理システム)。全体サイト システムまたは記事システムとも呼ばれます。ウェブサイトのコンテンツ管理に。ユーザーは、対応する CMS ソフトウェア パッケージをダウンロードし、デプロイしてビルドするだけで、簡単で便利な CMS を直接使用できます。ただし、さまざまな CMS には独自の構造の命名規則と特定のファイル コンテンツがあるため、これらのコンテンツを使用して、特定のソフトウェア CMS と CMS サイトのバージョンを取得できます。
一般的な CMS: dedecms (夢織り)、Discuz、Phpcms など。

CMS 識別ツール:
1. オンライン ツール http://whatweb.bugscaner.com/look/、http://www.yunsee.cn/finger.html

潮汐指紋認識: TideFinger 潮汐指紋 TideFinger 潮汐指紋


2. ローカル ツール whatweb、
Yujian Web 指紋識別プログラム (https://pan.baidu.com/share/link?shareid=437376&uk=3526832374)、Dayu
CMS 識別プログラム https://github.com/Ms0x0/Dayu

 

現在、非常に使いやすい指紋認識プラグインがいくつかあります。

 

0x10 CMS 脆弱性クエリ

照会された CMS については、https://bugs.shuimugan.com Web サイトを使用して、指定された CMS の脆弱性を照会できます。

cnvd 脆弱性データベース、脆弱性ライブラリ、およびオンライン再現記事を通じて、脆弱性の検索と再現が行われます。 

0x11 機密ディレクトリ コレクション

ターゲットの Web ディレクトリ構造と機密性の高い隠しファイルを検出することは非常に重要です。検出プロセス中に、バックグラウンド ページ、アップロード ページ、データベース ファイル、さらには Web サイトのソース コード ファイル圧縮パッケージを検出する可能性が非常に高くなります。

検出ツール:
1. Yujian バックグラウンド スキャン ツール
2. wwwscan コマンド ライン ツール
3. dirb コマンド ライン ツール
4. dirbuster スキャン ツール

5.dirsearchスキャンツール

6、7kbscan-webpathbrtue

0x12 ポートの紹介

IP アドレスを家に例えると、ポートは家に出入りするドアです。実際の家には数個のドアしかありませんが、IP アドレスには 65536 (つまり、2^16) ものポートを持つことができます! ポートは、0 から 65535 (2^16-1) までの範囲の整数のみであるポート番号によって識別されます。
たとえば、コンピュータのポート 80、ポート 21、ポート 23 などです。
コンピュータの各ポートはサービスを表します。開いているポートを表示するには、Windows コマンド ラインで netstat -anbo を使用します。

 0x13 ポート情報収集

ツールを使用して、ターゲット マシンのポート ステータスをテストできます。ツールの原理: TCP または UDP およびその他のプロトコルを使用して、指定されたフラグを持つデータ パケットをターゲット ポートに送信し、ターゲットがデータ パケットを返すのを待って、ポートの状態を判断します。
1. nmap を使用して検出します。nmap -A -v -T4 目標
2. massscan を使用して検出します。
3. オンライン Web サイトを使用して http://tool.chinaz.com/port/ を検出します。
4.ハゼスキャン、レールガンスキャンツール、ユジアン高速ポートスキャンツール

0x14 ポート攻撃

ポートごとに異なる攻撃方法があります。
例: リモート接続サービス ポートの場合、
検索エンジンで対応する攻撃方法を検索して、スキャンされたポートをテストできます。

ポート

ポートの説明

攻撃方法

22

SSHリモート接続

ブラスト、SSHトンネルおよびイントラネット プロキシ転送、ファイル転送

23

Telnetリモート接続

ブラスト、スニッフィング、脆弱なパスワード

3389

rdpリモート デスクトップ

シフトバックドア、ブラスト

5900

VNCリモート接続

弱いパスワード、RCE

5632

PCAnywhereリモート接続

スニッフィング、コード実行

0x15 ポート防御

ポート攻撃の場合、ポートが開いていて接続できる限り、対応する方法を攻撃テストに使用できます。
防御策:
1.不要なポートを閉鎖する、
2.重要な業務サービスポートにファイアウォールを設置する、
3.従業員の情報セキュリティ意識を強化し、ユーザーパスワードを頻繁に変更する、
4.ソフトウェアを頻繁に更新し、パッチを適用する。

0x16 機密情報の収集の重要性

特定のセキュリティ目標では、技術レベルで侵入テストを直接完了することは不可能です。この場合、検索エンジンを使用して、ターゲットがインターネット上で公開している関連情報を検索できます。例: データベース ファイル、SQL インジェクション、サーバー構成情報、さらには Git を介したソース コードの漏洩、Redis などの不正アクセス、robots.txt などの機密情報。侵入テストの目的を達成するため。
己と敵を知れば、百戦錬磨の危機に瀕することはない。場合によっては、収集された情報が後のテストで重要になります。機密情報を収集してターゲット システムへのデータベース アクセスを直接取得した場合、侵入テスト タスクの半分以上が終了します。したがって、技術的な状況でテストする前に、より多くの情報を収集する必要があります。

0x17 Google ハッキング構文

Google ハックとは、Google などの検索エンジンを使用して、特定のネットワーク ホストの脆弱性 (通常はサーバー上のスクリプトの脆弱性) を検索して、脆弱性のホストまたは特定のホストの脆弱性をすばやく見つけることを指します。

Google ハッキング データベース: https://www.exploit-db.com/google-hacking-database/
例: query アクセス データ: filetype:mdb "standard jet" (パスワード | ユーザー名 | ユーザー | パス)

キーワード

意味

サイト

検索ドメイン名を指定します。例: site: Baidu.com

inurl

URLに特定のキーワードが存在するかどうかを指定します。例: inurl: .php?id=

インテキスト

Web ページに特定のキーワードが存在するかどうかを指定します。例: intext: Web サイト管理

ファイルの種類

検索ファイルの種類を指定します。例: filetype: txt

インタイトル

Web ページのタイトルに特定のキーワードが含まれているかどうかを指定します。例: intitle:バックグラウンド管理

リンク

Web ページのリンクを指定します。例: link:baidu.com は、バイドゥとの外部リンクを作成したサイトを指定します

情報

検索 Web ページ情報  info:baidu.comを指定します

0x18 HTTP 応答収集サーバー

HTTP または HTTPS を介してターゲット サイトと通信する場合、ターゲットの応答メッセージ内の Server ヘッダーと X-Powered-By ヘッダーによって、ターゲット サーバーと使用されているプログラミング言語の情報が公開されます。作る。

HTTP 応答を取得する方法:
1. ブラウザ監査ツール、Burpsuite、およびその他のプロキシ トランケーション ツールなどのツールを使用します。
2. Python スクリプト リクエスト ライブラリを作成します。参照リンク: http://www.python-requests.org/en/master/

import requests
r = requests.get('目标')
print(r.headers)

0x19 github 情報漏えい

Github は分散バージョン管理システムで、現在 140 万人以上の開発者ユーザーがいます。ますます多くのアプリケーションがクラウドに移行するにつれて、Github はソフトウェア開発を管理し、既存のコードを発見するための頼りになる方法になりました。誰もが知っているように、今日はビッグデータの時代であり、大規模なデータ漏えいが発生しており、止まることがありません。しかし、ちょっとした怠慢が、連鎖反応を引き起こすこともしばしば。Github における機密情報の漏えいがその典型であり、Github は開発者にとって便利な反面、セキュリティ上のリスクが潜んでいます。
Github のメール設定情報が漏洩: site:Github.com smtp, site:Github.com smtp @qq.com
Github のデータベース情報が漏洩: site:Github.com sa password, site:Github.com root password,
site:Github.com User ID='sa'; パスワード
Github の svn 情報漏えい: site:Github.com svn, site:Github.com svn username

Github の包括的な情報開示: site:Github.com パスワード、site:Github.com ftp ftppassword、
site:Github.com パスワード、site:Github.com 内部

0x20 .git 情報漏えい

Git (発音は /gɪt/.) は、小規模から非常に大規模なプロジェクト バージョン管理を効果的かつ迅速に処理できる、オープン ソースの分散型バージョン管理システムです。https://git-scm.com/
git init でウェアハウスを作成します。

Git 情報漏えいの原則

漏えいした .git フォルダー内のファイルを使用して、プロジェクトのソース コードを復元および再構築します。

.git/index ファイルを解析し、プロジェクト内の (filename, file sha1) をすべて見つけます。

.git/objects/ フォルダーに移動して、対応するファイルをダウンロードします。

zlib はファイルを解凍し、元のディレクトリ構造に従ってソース コードを書き込みます.
ペネトレーション テスターと攻撃者は、コードをさらに監査して、ファイルのアップロード、SQL インジェクション、およびその他のセキュリティの脆弱性を掘り出すことができます.

Git 実験環境を構築する
git init ディレクトリの内容を http サーバーにデプロイし、.git ディレクトリを保持します。git add ファイル名、git commit -m 「バージョン情報」

Git 情報漏えいの悪用

git clone をダウンロード https://github.com/lijiejie/GitHack.git

GitHack.py http://url/.git/ を使用

0x21 CDN の紹介

CDN の正式名称は Content Delivery Network、つまりコンテンツ配信ネットワークです。

0x22 CDNの存在を判断

Ping を使用して、CDN が存在するかどうかを確認します。

プロキシを設定するか、オンライン ping サイトを使用して、さまざまな地域の Ping サーバーを使用してターゲットをテストします。
http://ping.chinaz.com/

0x23 CDN 方式をバイパス

ターゲットが CDN を使用しない場合は、直接 ping を使用して IP アドレスを取得できます。または、オンライン Web サイトを使用してください: http://www.ip138.com/

ターゲットが CDN を使用する場合、CDN をバイパスして実際の IP アドレスを取得する必要があります。
1. 内部メールボックス ソース 内部メールボックス サーバーの IP アドレスを収集します。
2. ウェブサイトの phpinfo ファイル phpinfo.php
3. 変電所の IP アドレス、サブドメイン名のクエリ
4. 海外訪問 https://asm.ca.com/en/ping.php
5. ドメイン名解決記録の照会 https://viewdns.info/   ip query check ip website ip query は ip website query ip reverse と同じですクエリ ドメイン名 ip クエリ ドメイン名 ip ドメイン名と同じ

6. censys.io などのサイバースペース エンジンによるキーワード検索

7. APP クライアント/SSRF の脆弱性/DOS CDN が back-to-source モードになる可能性がある

0x24 実際の IP を確認

通常のタイトルが実際の IP アドレスである場合は、IP アドレスを使用して Web サイトにアクセスします。それ以外の場合は false。

 

おすすめ

転載: blog.csdn.net/jd_cx/article/details/125439358