起因#
情報収集編は基本的に終わりました。次は一般的な脆弱性の原理と実装について説明します。
技術がまだ熟練していないので、直接インターネットで実践することはできません。浸透初心者の私たちは、まずローカルで練習する必要があります。
本記事では、基本的な環境と一般的なターゲットサイトの構築について紹介します。
** 現在書いているのは自分が使用したことのあるターゲットサイトですが、今後新しいターゲットサイトを試したいと思っているので、この文章は長期更新に設定しています。 **
** この記事に記載されていないターゲットサイトで、あまり難しくないものがあれば、コメント欄で議論してください! **
基礎環境#
浸透環境を構築するには、環境が崩れたときに迅速に復元できる必要があります。仮想マシンソフトウェアと仮想マシンは必須です。
私が普段使用している組み合わせは:virtualbox+Win7+Ubuntu Desktop 18 LTS+Kali 2019です。
その中で:
virtualbox:仮想マシンソフトウェア、さまざまなネットワーク環境を提供
Win7:SP1+.NetFramework4.7+Microsoftの一般的なランタイムライブラリ+7-zip、NATまたはHostonlyを使用して迅速に切り替え可能
Ubuntu:一般的なLinux環境として、Kaliで行う必要があること以外はすべてこれで完了、NAT+Hostonlyのデュアルネットワークカードを使用
Kali:浸透に必須の環境ですが、リソースを多く消費するため、できるだけ使用を避け、NAT+Hostonlyのデュアルネットワークカードを使用
** もちろん、デュアルネットワークカードを使用するのは、私がキャンパスネットワークを使用しているため、認証が不要なネットワークはすべてブリッジ接続で十分です。 **
準備作業#
ターゲットサイト構築に依存する環境。
** 注意、環境をインストールする際に、Apache の 80 ポートがシステムの Web ブロードキャストサービス PID 4 のプロセスによって占有される状況に必ず遭遇します。 **
したがって、準備段階で先手を打ち、管理者cmdでSc config http start= disabledを実行して再起動します。
phpstudy#
phpstudyはWindowsとLinuxの両方のバージョンをサポートしています。
phpstudy の Windows バージョン#
現在の正式版はphpstudy 2018版で、2018-02-11にリリースされました。ここをクリックしてダウンロード20180211 正式版。
デフォルトのインストールパスは:C:\phpstudyで、常にデフォルトインストールを行い、ポートが占有されている場合は再試行をクリックすれば大丈夫です。
インストール後のメイン画面はこんな感じです:

デフォルトのホームページにはHello Worldの一行だけがあります。
最新バージョンは 5 月初めからベータテストが始まったphpstudy V8.0版で、バージョン更新ログページにアクセスしてベータテストの QQ グループに参加し、新バージョンを体験できます。
デフォルトのインストールパスは:C:\phpstudy_proで、Apacheが起動しない問題が発生した場合は、上記の準備作業のタイトルの下にある解決策を参照してください。
新バージョンのインストール後のメイン画面はこんな感じです:

デフォルトのホームページはこんな感じです:

パスと使用方法は正式版とほぼ同じだと思われるので、今後のphpstudy環境構築はすべてphpstudy 2018版を基に行います。
インストール後、mysqlのデフォルトパスワードをroot(デフォルトは空)に変更できます。変更はかなり簡単です。
phpstudy の Linux バージョン#
インストールに非常に長い時間がかかり、総じてインストールをお勧めしません。
xampp#
xamppはWindowsとLinuxの両方のバージョンをサポートしており、バージョンのダウンロードはすべてsourceforgeにホスティングされています。
インストール時にApacheをデフォルトでインストールできますが、Nginxはありません:

すべてのサービスが起動した後のスクリーンショットは以下の通りです:

WampServer#
WAMP は Windows における Apache、MySQL、PHP のアプリケーション環境です。
代表的なものはWampServerで、公式サイトからダウンロードしたものは最新バージョンではなく、Sourceforge から最新バージョンをダウンロードしてください。
インストール時に特に何もなく、インストール後にデフォルトの表示ディレクトリツールとテキスト編集ツールを変更するかどうか尋ねられますが、どちらも「いいえ」をクリックすれば大丈夫です。
インストール後はデフォルトでオレンジ色になり、アイコンをクリックしてすべてのサービスを起動を選択できます:

Apacheが起動しない問題が発生した場合は、上記の準備作業のタイトルの下にある解決策を参照してください。インストール後のホームページは以下のようになります:

インストール後のmysqlのデフォルトアカウントはrootで、パスワードは空です。アカウントのパスワードを次のように変更できます:
WAMPトレイアイコンでphpmyadminをクリックしてデータベースログイン画面を開きます。
ユーザー名はroot、パスワードは入力せず、実行をクリックすればデータベースにログインできます;
「アカウント」オプションをクリックし、root localhostを選択し、この行の最右側の「権限を変更」をクリックします。
「パスワードを変更」オプションを選択し、rootユーザーにパスワードを設定します(パスワードを暗号化したくない場合は「生成」をクリックしないでください)。
そして「実行」をクリックします。変更が成功したことを示すメッセージが表示されます。
一般的なターゲットサイトの構築#
一般的なターゲットサイトの構築はphpstudy2018 版とwampserverを基にしています。
一般的なターゲットサイトは以下の通りです:
DVWA#
PHP+Mysql で書かれた、一般的な WEB 脆弱性の教育と検出のための WEB 脆弱性テストプログラム。SQL インジェクション、XSS、盲注などの一般的なセキュリティ脆弱性を含みます。
GitHub アドレス、長い間更新されていません。ここをクリックしてダウンロード最後のバージョン。
解凍してディレクトリ名をdvwaに変更し、phpstudyのデフォルトのwwwディレクトリに置きます:
C:\phpStudy\PHPTutorial\WWW\dvwa
次に、dvwa\configディレクトリを開き、config.inc.php.distファイルをコピーします。
config.inc.phpに名前を変更します。
その中の
$_DVWA[ 'db_password' ]
を
root(デフォルトはp@ssw0rd)に変更します。

** 現在変更した DVWA ターゲット環境をパッケージ化して、後で保存しやすくすることをお勧めします。 **
アドレスバーにipアドレス/dvwaと入力すれば、DVWA環境を開くことができます。初回の表示は以下のようになります:

デフォルトでphpstudyのallow_url_includeパラメータオプションはオフになっているので、手動でオンにします(一般的にパラメータスイッチの一番下にあります):

その後、下のCreate / Reset Databaseオプションをクリックしてインストールを完了し、数秒待つと自動的にリダイレクトされます:

デフォルトのユーザー名はadmin、パスワードはpasswordで、テスト環境に入ることができます。
sqli-labs#
** 注意事項:PHP バージョンは必ず 7 以下に設定してください。7 以降の mysqlはすべて mysql** に変更されており、7 以上を使用するとエラーが発生します。 **
GitHub アドレス、5 年間更新されていません。直接ここをクリックしてソースコードをダウンロードできます。
同様に、phpstudyのデフォルトのwwwディレクトリに置きます:
C:\phpStudy\PHPTutorial\WWW\dvwa
ここではディレクトリ名をsqliに変更し、sql-connections/db-creds.incファイルを開きます。
ユーザー名とパスワードを変更します。sqli-labs のデフォルトユーザー名は root で、デフォルトパスワードは空です:

初回使用時には最初のボタンSetup/reset Database for labsをクリックしてインストールします:

その後、使用できるようになり、パスはip/sqli/Less-第何番目/です。
また、学習の便宜上、ソースコードの$sqlの行の次の行に以下の PHP 文を書き込むことができます(ただし、一般的には推奨されません)。
これは、データベースクエリの完全な文がどのようなものかを出力するものです:
echo "あなたのsql文は:".$sql."<br>";

permeate#
浸透テスト演習のための WEB システムで、ウェブサイトを見つける能力を向上させるために使用され、ウェブセキュリティ教育にも使用できます。
中国人が開発したもので、GitHubにはDocker環境とlamp環境の 2 つのインストール方法が紹介されています。
ここをクリックしてダウンロード、私は著者が推奨するwampserverを使用してインストールします。
私のインストールパスは:E:\wamp64\www\permeateで、httpd.confの最後に以下のコードを追加します:
<VirtualHost *:80>
DocumentRoot "E:\wamp64\www\permeate"
ServerName permeate.localhost
    <Directory "E:\wamp64\www\permeate">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
変更して保存した後、wampserver を再起動して設定ファイルを有効にする必要があります。
新しい仮想ホストを追加した後、hosts ファイルを変更する必要があります。Windows システムの hosts の位置はC:\Windows\System32\drivers\etc\hostsです。
127.0.0.1 permeate.localhost
まず、wampserverのmysqlのアカウントパスワードがすべてrootであることを確認してください。
デフォルトインストールで変更していない場合は、上記のwampserverインストール後のパスワード変更部分を参照してください。
次に、http://permeate.localhost/install/step1.phpを開きます。
ガイドに従って、データベースのアカウントパスワードをすべてrootに設定し、管理者アカウントパスワードを入力してインストールすれば、ホームページに入ることができます。
** 注意:自分のコンピュータ環境の複雑さのため、localhost/permeate のようなパスを使用してインストールやアクセスしないでください。非常にエラーが発生しやすいです。 **
インストール後のホームページは以下のようになります:

xss プラットフォーム#
クラシックな xsser.me#
xssplatformを構築したい場合、これは絶対に外せないもので、最もクラシックなものです。
使用されているソースコードは、
wooyunのある大物がBootstrapを利用してフロントエンドコードを修正した後のXsser.meのソースコードです。
インターフェースは見た目がかなり良くなりました。また、メールや SMS の通知をカスタマイズでき、食物をタイムリーに受け取れない心配がありません。
ソースコードのダウンロード:リンク:http://pan.baidu.com/s/1gfdUYiB パスワード:efp1
ダウンロード後、phpstudyのwwwディレクトリに置き、名前をxssに変更します。
- データベースを作成します。
 
phpmyadminやNavicat for mysqlなどのツールを使用して、xssという名前のデータベースを作成します:

そして、xssディレクトリ内のxssplatform.sqlをインポートします。
- インストール前の設定
 
config.php内のデータベース接続フィールドを変更し、ユーザー名、パスワード、データベース名を含め、xss プラットフォームの URL アドレスにアクセスします。
最初に登録設定をnormalに設定し、自分で登録した後にinviteに変更します。

authest.php内の URL コードを自分の URL に置き換えます(ローカルで使用する場合は変更しなくても大丈夫です)。
仮想マシンにインストールした場合、物理マシンで使用する場合は仮想マシンの IP に変更します。

phpmyadmin(または Navicat)で以下の SQL コマンドを実行し、データベース内の元の URL アドレスを自分の使用する URL に変更します:
UPDATE oc_module SET
code=REPLACE(code,'http://xsser.me','http://localhost/xss')

- ユーザーを登録します。
 
phpstudyを再起動し、http://localhost/xssにログインしてユーザーを登録し、その後 phpmyadmin(または Navicat)で
oc_user を選択し、登録したユーザーの adminlevel を 1 に変更します:

mysqlを再起動すれば使用可能になります。

また、多くの記事では擬似静的設定が行われていますが、擬似静的は公に公開する際に自分の IP アドレスを露出しないためのものです。
自分だけが使用し、他の人と共有しないのであれば、擬似静的を設定する必要はありません。
Metasploitable3#
公式 GitHub アドレス(英語のインストール文書あり)、使用方法は次の参考をお勧めします:
即刻安全のDemonが制作したチュートリアル:年末特典大放出!!Metasploitable 3 最新実戦浸透チュートリアル(PPT 付き)
Metasploitable は、未修正のセキュリティ脆弱性が多数含まれる仮想ターゲットシステムです。セキュリティ担当者は、Metasploit を利用して Metasploitable の脆弱性を発掘し、デモを行い、ネットワーク開発、ソフトウェアテスト、技術的な仕事のインタビュー、営業デモ、CTF コンペティションなどを行うことができます。
2016 年 11 月、Rapid 7 コミュニティは Metasploitable 3 仮想システムをリリースしました。Metasploitable 2 と比較して、Metasploitable 3 のリリースは数年ぶりです。Metasploitable 3 のリリースは従来とは異なり、Rapid 7 コミュニティは世界的な CTF コンペティションを開催しました!!!そう、あなたは聞き間違えていません。Rapid 7 は Metasploitable 3 のリリースを強調するために、世界的な CTF コンペティションを開催しました。誰でも参加できます!1 ヶ月以内に、Metasploitable 3 仮想システムから最も多くのフラグを取得した人が賞を受け取ります。
Metasploitable 3は、以前のバージョンのように仮想マシンを直接ダウンロードするのではなく、2 つのインストールスクリプトを提供しています:
build_win2008.sh、build_win2008.ps1、それぞれLinuxとWindowsでMetasploitable 3イメージを構築できます。
WeBug#
公式サイトはハッキングされました @(滑稽)、GitHub アドレスが提供する百度クラウドリンクもダウンしています。
参考記事: