0x01 ターゲット環境の種類#
構築された基本環境は一般的に三つのカテゴリに分けられます。
1、ソースコードが提供されており、自分で環境を構築する必要がある場合、ソースコードがあれば docker を使用して環境を構築することもでき、Dockerfile を使って構築し、dockerhub にアップロードして再利用可能です。java や php の構築は比較的簡単ですが、asp/x を docker で構築することは少なく、docker 以外では php も phpstudy のような統合環境を使用して構築できます。
2、docker 系の環境、ここで言う docker 系の環境は、CVE 番号が付与された統合型の環境を指します。例えば、vulfocus や vulhub などの環境は、先人がすでに構築しているため、私たちは docker pull するだけで済みます。
3、vmware 仮想マシンのターゲット環境、こうしたターゲット環境は主に後の浸透段階に関連し、内部ネットワークの浸透やドメインの浸透などが含まれます。例えば、GOADのターゲット環境があります。
0x02 ツール#
工芸はその道具を整えなければならない。
- windows(docker desktop), mac(orb)
- phpstudy(https://www.xp.cn/download.html)
- ctfd
- gzctf
自分で構築した環境や社内で同僚が練習するために、ctf プラットフォームを構築することができます。例えば、ctfd や gzctf です。ctfd はwhaleプラグインと組み合わせることで動的 flag を実現し、docker 系の環境を追加できます。
ctfd にターゲット環境を追加するには、dockerhubで探すことができます。例えば、vulfocusのターゲット環境です。
0x03 php 環境#
-
dvwa
-
PHP コード監査の段階的説明
-
Pikachu は脆弱性を持つ Web アプリケーションシステムで、ここには一般的な web セキュリティの脆弱性が含まれています。
- pikachu、docker でデプロイ可能
- オンラインの pikachu 系ターゲット環境:渊龙 Sec チーム公式脆弱性ターゲット環境
-
ファイルアップロードターゲット環境
-
web 脆弱性ターゲット環境
webug- docker 構築:
docker pull area39/webug
-
sqli 注入ターゲット環境
-
xxe 脆弱性ターゲット環境
-
burpsuite の公式サイトも多くの web 関連の脆弱性を提供しており、すべて主流の脆弱性です。
-
php 逆シリアル化ターゲット環境
-
SSRF 脆弱性ターゲット環境
-
電気ネズミターゲット環境システム
-
PHP コマンド実行脆弱性の学習ターゲット環境
-
php 逆シリアル化 docker 環境
https://github.com/mcc0624/php_ser_Class
docker 構築
docker pull mcc0624/ser:1.8
docker run -p 8002:80 -d mcc0624/ser:1.8
0x04 asp/x 環境#
asp の環境は iis 環境を設定する必要があり、スーパー小旋風 AspWebServer 脆弱性環境を使用することもできます。asp に合わせるデータベースは access や sqlserver で、データベースを使用する必要がある場合は、インストールが必要です。
0x05 jsp 環境#
- JAVA 脆弱性ターゲット環境 (Vulnerability Environment For Java)
- Java 脆弱性ターゲット環境
- RASP テストターゲット環境
- Java Security,安全コーディングとコード監査
0x06 論理脆弱性ターゲット環境#
論理脆弱性ターゲット環境のインストール:
#djangoとfakerをインストール
python -m pip install Django
pip3 install faker
#データベースを初期化
最初にpython manage.py runserverを実行し、ブラウザでhttp://127.0.0.1:8000/init_dataインターフェースにアクセスしてデータベースを初期化し、その後http://127.0.0.1:8000/にアクセスします。
docker 環境を作成しました:
docker pull liangchenga/ljldsec:latest
0x07 docker 環境#
docker を使用して各種脆弱性ターゲット環境を迅速に構築できます。現在、17 のターゲット環境をワンクリックで構築できます。
上記のプラットフォームは docker を使用してワンクリックで脆弱性環境を構築できます。
Vulfocus は脆弱性統合プラットフォームで、脆弱性環境の docker イメージを入れるだけで使用でき、すぐに使えます。vulhubのいくつかの脆弱性環境も vulfocus に含まれているため、詳細は省略します。
docker pull vulfocus/vulfocus:latest
docker run -d -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=x.x.x.x(本機ip) vulfocus/vulfocus
#アカウント名とパスワード:admin/admin
- iwebsec
- docker pull iwebsec/iwebsec
0x08 仮想マシン#
仮想マシンの脆弱性環境について、まずいくつかのオンラインサイトを紹介します。これらのオンラインターゲット環境はダウンロードする必要がありません。
上記のサイトは質が高く、他にも自分で試すことができるものがあります。Websites/Platforms to learn to hack。
仮想マシン系のターゲット環境は、通常、自分でvmwareまたはvirtual boxの ova 形式の仮想イメージをダウンロードし、仮想マシンにインポートして実行する必要があります。
vulnhubには多くの仮想マシンターゲット環境があり、目標はフラグを取得することです。
注:仮想マシンをインポートした後、最初にターゲットマシンの ip アドレスを取得する必要があります。通常、ターゲットマシンは dhcp で ip を取得するため、現在のネットワークセグメントを nmap でスキャンする必要があります。ネットワークセグメント内の ip が多すぎると識別が難しく、vmware を使用する場合は ip を取得できないことがあります。vulnhub のターゲット環境を練習する際は、virtualbox 仮想マシンを使用することをお勧めします。linux の場合、インポート後にパスワード変更モードに入ります(起動時に e を押す)、パスワードを変更し、最初に ip を取得します。
vulnhub のターゲット環境の他にも、いくつかのチームが構築したターゲット環境があります:
- 紅日安全のATT&CK 実戦シリーズ。
- windows/linux ローカル特権昇格実験、含まれている内容はすべて特権昇格に関連する知識点です。
0x09 その他#
seed-labs:ネットワーク攻防コースで扱われる seed-labs 実験コードと報告書