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には多くの仮想マシンターゲット環境があり、目標は flag を取得することです。
注:仮想マシンをインポートした後、まずターゲットマシンの ip アドレスを取得する必要があります。通常、ターゲットマシンは dhcp で ip を取得しますので、現在のネットワークセグメントを nmap でスキャンする必要があります。もしネットワークセグメント内の ip が多すぎると、識別が難しくなります。また、vmware を使用している場合、ip を取得できないことがあります。vulnhub のターゲット環境を練習する際は、virtualbox 仮想マシンを使用することをお勧めします。linux の場合、インポート後、パスワード変更モードに入ります(起動時に e を押す)、パスワードを変更し、まず ip を取得します。
vulnhub のターゲット環境の他にも、いくつかのチームが構築したターゲット環境があります:
- 紅日安全のATT&CK 実戦シリーズ。
- windows/linux ローカル特権昇格実験、含まれている内容はすべて特権昇格に関連する知識点です。
0x09 その他#
seed-labs:ネットワーク攻防コースで扱われる seed-labs 実験コードと報告書