Ethical-hacking-fingerprinting
倫理的ハッキング-指紋認証
Ethical HackingでのOSフィンガープリントという用語は、リモートコンピューターで実行されているオペレーティングシステムを判断するために使用される方法を指します。 これは可能性があります-
- アクティブフィンガープリント-アクティブフィンガープリントは、特別に細工されたパケットをターゲットマシンに送信し、その応答を記録し、収集された情報を分析してターゲットOSを決定することで実現されます。 次のセクションでは、NMAPツールを使用してターゲットドメインのOSを検出する方法を説明する例を示しました。
- パッシブフィンガープリント-パッシブフィンガープリントは、リモートシステムからのスニファートレースに基づいています。 パケットのスニファートレース(Wiresharkなど)に基づいて、リモートホストのオペレーティングシステムを判別できます。
私たちは、オペレーティングシステムを決定するために見ていきます次の4つの重要な要素があります-
- TTL -発信パケットに Time-To-Live をオペレーティングシステムが設定するもの。
- ウィンドウサイズ-オペレーティングシステムがウィンドウサイズを設定するもの。
- DF -オペレーティングシステムは Do n’t Fragment ビットを設定します。
- TOS -オペレーティングシステムは Type of Service を設定しますか?
パケットのこれらの要因を分析することにより、リモートオペレーティングシステムを特定できる場合があります。 このシステムは100%正確ではなく、一部のオペレーティングシステムで他のシステムよりも適切に動作します。
基本手順
システムを攻撃する前に、Webサイトをホストしているオペレーティングシステムを知る必要があります。 ターゲットOSがわかれば、どの脆弱性がターゲットシステムを悪用する可能性があるかを簡単に判断できます。
以下は単純な nmap コマンドです。このコマンドを使用して、Webサイトを提供するオペレーティングシステムと、ドメイン名、つまりIPアドレスに関連付けられているすべての開かれたポートを識別することができます。
$nmap -O -v finddevguides.com
それはあなたに与えられたドメイン名またはIPアドレスに関する次の機密情報を表示します-
Starting Nmap 5.51 ( http://nmap.org ) at 2015-10-04 09:57 CDT
Initiating Parallel DNS resolution of 1 host. at 09:57
Completed Parallel DNS resolution of 1 host. at 09:57, 0.00s elapsed
Initiating SYN Stealth Scan at 09:57
Scanning finddevguides.com (66.135.33.172) [1000 ports]
Discovered open port 22/tcp on 66.135.33.172
Discovered open port 3306/tcp on 66.135.33.172
Discovered open port 80/tcp on 66.135.33.172
Discovered open port 443/tcp on 66.135.33.172
Completed SYN Stealth Scan at 09:57, 0.04s elapsed (1000 total ports)
Initiating OS detection (try #1) against finddevguides.com (66.135.33.172)
Retrying OS detection (try #2) against finddevguides.com (66.135.33.172)
Retrying OS detection (try #3) against finddevguides.com (66.135.33.172)
Retrying OS detection (try #4) against finddevguides.com (66.135.33.172)
Retrying OS detection (try #5) against finddevguides.com (66.135.33.172)
Nmap scan report for finddevguides.com (66.135.33.172)
Host is up (0.000038s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
TCP/IP fingerprint:
OS:SCAN(V=5.51%D=10/4%OT=22%CT=1%CU=40379%PV=N%DS=0%DC=L%G=Y%TM=56113E6D%P=
OS:x86_64-redhat-linux-gnu)SEQ(SP=106%GCD=1%ISR=109%TI=Z%CI=Z%II=I%TS=A)OPS
OS:(O1=MFFD7ST11NW7%O2=MFFD7ST11NW7%O3=MFFD7NNT11NW7%O4=MFFD7ST11NW7%O5=MFF
OS:D7ST11NW7%O6=MFFD7ST11)WIN(W1=FFCB%W2=FFCB%W3=FFCB%W4=FFCB%W5=FFCB%W6=FF
OS:CB)ECN(R=Y%DF=Y%T=40%W=FFD7%O=MFFD7NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A
OS:=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%
OS:Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=
OS:A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=
OS:Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%
OS:T=40%CD=S)
Linuxシステムに nmap コマンドがインストールされていない場合は、次の yum コマンドを使用してインストールできます-
$yum install nmap
*nmap* コマンドを詳細に実行して、システムに関連するさまざまな機能を確認および理解し、悪意のある攻撃から保護することができます。
クイックフィックス
メインシステムを安全なプロキシサーバーまたはVPNの背後に隠して、ID全体を安全にし、最終的にメインシステムを安全に保つことができます。
ポートスキャン
*nmap* コマンドで提供される情報を見ました。 このコマンドは、指定されたサーバーで開いているすべてのポートを一覧表示します。
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
また、次のコマンドを使用して、特定のポートが開いているかどうかを確認することができます-
$nmap -sT -p 443 finddevguides.com
それは次の結果を生成します-
Starting Nmap 5.51 ( http://nmap.org ) at 2015-10-04 10:19 CDT
Nmap scan report for finddevguides.com (66.135.33.172)
Host is up (0.000067s latency).
PORT STATE SERVICE
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
ハッカーは、開いているポートを知ったら、開いているポートを介してさまざまな攻撃手法を計画できます。
クイックフィックス
悪意のある攻撃からシステムを保護するために、不要なポートをすべてチェックして閉じることを常にお勧めします。
ピン掃引
pingスイープは、ある範囲のIPアドレスからライブホストにマッピングするIPアドレスを決定するために使用できるネットワークスキャン手法です。 Ping Sweepは、* ICMPスイープとも呼ばれます。
pingスイープには fping コマンドを使用できます。 このコマンドはpingに似たプログラムで、インターネット制御メッセージプロトコル(ICMP)エコー要求を使用して、ホストが起動しているかどうかを判断します。
*fping* は *ping* とは異なり、コマンドラインで任意の数のホストを指定するか、pingするホストのリストを含むファイルを指定できます。 ホストが特定の時間制限や再試行制限時間内に応答しない場合、ホストは到達不能と見なされます。
クイックフィックス
ネットワークでpingスイープを無効にするには、外部ソースからのICMP ECHO要求をブロックできます。 これは、 iptable でファイアウォールルールを作成する次のコマンドを使用して実行できます。
$iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
DNS列挙
ドメインネームサーバー(DNS)は、マップまたはアドレス帳のようなものです。 実際、IPアドレス192.111.1.120を名前www.example.comに、またはその逆に変換するために使用される分散データベースのようなものです。
DNS列挙は、組織のすべてのDNSサーバーとそれらに対応するレコードを見つけるプロセスです。 アイデアは、攻撃を開始する前に、ターゲットに関するできるだけ詳細な情報を収集することです。
Linuxで使用可能な nslookup コマンドを使用して、DNSおよびホスト関連の情報を取得できます。 さらに、次の DNSenum スクリプトを使用して、ドメインに関する詳細情報を取得できます-
*DNSenum* スクリプトは、次の重要な操作を実行できます-
- ホストのアドレスを取得する
- ネームサーバーを取得する
- MXレコードを取得する
- ネームサーバーで axfr クエリを実行する
- * Googleスクレイピング*で追加の名前とサブドメインを取得します
- ファイルからのブルートフォースサブドメインも、NSレコードを持つサブドメインで再帰を実行できます。
- Cクラスのドメインネットワーク範囲を計算し、それらに対して whois クエリを実行します
- netranges で*逆ルックアップ*を実行します
クイックフィックス
DNS列挙には簡単な修正はなく、このチュートリアルの範囲外です。 DNS列挙の防止は大きな課題です。
DNSが安全な方法で構成されていない場合、ネットワークおよび組織に関する多くの機密情報が外部に出て、信頼できないインターネットユーザーがDNSゾーン転送を実行できる可能性があります。