GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

trustedsec

ptf – 侵入テスターフレームワーク(PTF)は、最新のツールをモジュラーにサポートするための手段

投稿日:

侵入テスターフレームワーク(PTF)は、最新のツールをモジュラーにサポートするための手段です。

ペンテスターズフレームワーク(PTT)

TrustedSecプロジェクト – 著作権2018

執筆者:David Kennedy(@HackingDave)

https://www.trustedsec.com

Twitter:@TrustedSec、@HackingDave

PenTesters Framework(PTF)は、Debian / Ubuntu / ArchLinuxベースのディストリビューション用に設計されたPythonスクリプトで、同様のよく知られたディストリビューションのディストリビューションを作成します。 Pentestersとして、私たちは/ pentest /ディレクトリや私たちが常に最新の状態にしたいツールセットに慣れてきました。 私たちは定期的に使用するツールを持っており、最新かつ最高のものを使用することが重要です。

PTFは、すべての侵入テストツール(最新かつ最高のもの)をインストールし、コンパイルし、ビルドし、どのマシンにも配布をインストール/更新できるようにします。 すべては、侵入テスト実施基準(PTES)と結びついており、ほとんど使用されていない多くのものが排除されています。 PTFはインストールとパッケージングを簡素化し、あなたのための完全なフレームワークを作成します。 これはフレームワークなので、適切に設定して追加できます。 私たちは、内部的に開発されたリポジトリと、このフレームワークの一部として一般に使用できるリポジトリをよく見ています。 それはすべてあなた次第です。

究極の目標は、このプロジェクトのコミュニティサポートです。 私たちはgithubリポジトリに新しいツールを追加したいと思っています。 あなたのモジュールを提出する。 設定と追加が非常に簡単で、数分しかかかりません。

指示:

最初に、すべてをインストールする場所の基本場所を含むconfig / ptf.configファイルをチェックしてください。 デフォルトでは、/ pentestディレクトリにインストールされます。 設定が完了したら、./ptf(またはpython ptf)と入力して、実行中のPTFに移動します。

これは一貫性のために似たルックアンドフィールを持つMetasploitesque型のシェルに入れます。 モジュールの表示、 <modules>使用などはすべて受け入れられたコマンドです。 最初にまず、常にヘルプを入力しますか? コマンドの完全なリストを見ることができます。

PTFの使用方法に関するビデオチュートリアルについては、Vimeoのページ( https://vimeo.com/137133837)をご覧ください。

すべて更新!

すべてをインストールおよび/または更新する場合は、次の操作を行います。

./ptf
use modules/install_update_all
yes

これにより、PTF内のすべてのツールがインストールされます。 それらが既にインストールされている場合は、自動的にすべてのものを繰り返して更新します。

また、各モジュールを個別にインストールしてから、modules / update_installedを使用して、以前にインストールしたものだけを更新することもできます。

例えば:

./ptf
use modules/update_installed

これにより、以前にインストールしたものだけが更新されます。

また、モジュールに関する情報を変更するためのオプションを表示することもできます。

たとえば、搾取ツールのみをインストールする場合は、次のコマンドを実行します。

./ptf
use modules/exploitation/install_update_all

これにより、搾取モジュールのみがインストールされます。 どのモジュールカテゴリでもこれを行うことができます。

モジュール:

最初に、モジュール/ディレクトリに移動します。そこには、侵入テスト実行スタンダード(PTES)フェーズに基づくサブディレクトリがあります。 これらのフェーズに入り、さまざまなモジュールを見てください。 新しいものを追加するとすぐに、例えばtesting.pyのように、次回にPTFを起動すると自動的にインポートされます。 完了しなければならないモジュールを見るときは、いくつかの重要なコンポーネントがあります。

以下はサンプルモジュールです

AUTHOR="David Kennedy (ReL1K)"

DESCRIPTION="This module will install/update the Browser Exploitation Framework (BeEF)"

INSTALL_TYPE="GIT"

REPOSITORY_LOCATION="https://github.com/beefproject/beef"

X64_LOCATION="https://github.com/something_thats_x64_instead_of_x86

INSTALL_LOCATION="beef"

DEBIAN="ruby1.9.3,sqlite3,ruby-sqlite3"

ARCHLINUX = "arch-module,etc"

BYPASS_UPDATE="NO"

AFTER_COMMANDS="cd {INSTALL_LOCATION},ruby install-beef"

LAUNCHER="beef"

TOOL_DEPEND="modules/exploitation/metasploit"

モジュール開発:

すべてのフィールドはかなり簡単です。リポジトリの場所では、GIT、SVN、またはFILEを使用できます。 依存関係を記入し、インストール先をどこにするかを指定します。 PTFは、pythonファイルがあるところ(例えばexploitation)に移動し、PTF config(configの下にあります)で指定した場所に移動します。 デフォルトでは、すべてのツールが/pentest/PTES_PHASE/TOOL_FOLDERにインストールされます

モジュールでは、コマンド{INSTALL_LOCATION}後に指定することができます。 これは、afterコマンドを使用するときにインストール場所をどこに追加するかを追加します。

{PTF_LOCATION}を指定して、PTFインストールの基本パスを引き出すこともできます。

また、リポジトリの場所で32ビットと64ビットの両方の場所を指定できるようになりました。 リポジトリの場所は、常にx86のダウンロードパスである必要があります。 ツールの64ビットパスを追加するには、X64_LOCATIONを指定し、URLを指定します。 PTFが起動すると、自動的にアーキテクチャーが検出され、x86の代わりにx64リンクを使用しようとします。

ArchLinuxパッケージもサポートされているので、モジュール内のどちらのプラットフォームにも正しくインストールされるためには、DEBIANとARCHの両方に指定する必要があります

バイパス更新:

従来のgitやsvnをメインの方法として使用すると、モジュールをインストールした後に何が起きるのでしょうか?最新バージョンのツールを取得するだけです。 afterコマンドでは、通常はインストールするときに、更新するたびにafterコマンドを実行する必要があります。 バイパス更新をYES( BYPASS_UPDATE="YES" )に指定すると、ツールが実行されるたびに最新バージョンがチェックアウトされ、コマンドの後に実行されます。 これがnoに設定されていれば、システムの最新バージョンを引き出すだけです。 FILEオプションの場合は、毎回ファイルを上書きするように常にBYPASS_UPDATE="YES"使用することをお勧めします。

コマンド後:

コマンドの後は、インストール後に挿入できるコマンドです。 これは、ディレクトリに切り替えて、インストールを終了するための追加のコマンドを開始することができます。 たとえば、BEEFのシナリオでは、あとでruby install-beefを実行する必要があります。 以下は、 {INSTALL_LOCATION}フラグを使用した後のコマンドの例です。

AFTER_COMMANDS="cp config/dict/rockyou.txt {INSTALL_LOCATION}"

自動インストールするAFTER_COMMANDS (ユーザーの操作が不要)。

自動ランチャー

モジュール内のフラグLAUNCHER =はオプションです。 たとえば、 LAUNCHER="setoolkit"を追加すると、PTFはツールのランチャーを/usr/local/bin/自動的に作成します。 setoolkitの例では、run-PTFが自動的に/usr/local/bin/setoolkit下にファイルを作成するので、setoolkitとタイプすればどこからでもSETを起動できます。 すべてのファイルは、 /pentest/exploitation/setoolkitような適切なカテゴリの下にインストールされますが、自動ランチャーが作成されます。

アプリケーションには複数のランチャーを持つことができます。 たとえば、Metasploitの場合、msfconsole、msfvenomなどが必要です。複数のランチャを追加するには、単にそれらの間にaを入れます。 たとえば、 LAUNCHER="msfconsole,msfvenom"です。 これにより、両方のランチャーが作成されます。

自動コマンドライン

./ptf --update-allを実行するだけで、フレームワークに入ることなく、自動的にすべてを更新します。

ツールの使用

Veil、SETなどのツールには、Metasploit Frameworkなどのツールが必要です。 ツールをインストールする前にインストールが必要なツールがある場合は、モジュールTOOL_DEPEND="modules/exploitation/metasploit,module/exploitation/set"と他の複数のツールを追加できます。 これにより、PTFは最初に必要なツールをインストールし、それを必要とするモジュールをインストールします。 例:

TOOL_DEPEND="modules/exploitation/metasploit"

これにより、Metasploitが最初にインストールされるか、アプリケーションのインストール前に最初にインストールされます。

IGNOREモジュールまたはカテゴリ

IGNORE_THESE_MODULES= configオプションは、PTFルート・ディレクトリーのconfig / ptf.configにあります。 これはモジュールを無視し、それらをインストールしません – すべてはコンマで区切られ、名前に基づいています – 例: modules/exploitation/metasploit,modules/exploitation/setまたはモジュールのカテゴリ全体/modules/code-audit/*,/modules/reporting/*

アップデート/すべてからのIGNOREモジュール

IGNORE_UPDATE_ALL_MODULES= configオプションは、PTFルート・ディレクトリーのconfig / ptf.configにあります。 これにより、すべてのツールをインストールするときに使用されるinstall_update_allを実行する場合にのみ、モジュールは無視されます。 これは、時間がかかる大規模なアプリケーション、ユーザーの操作が必要なアプリケーション、またはシステム上のいくつかのポートとプロトコルを開くためのものです。 これはIGNORE_THESE_MODULESと非常によく似ていますが、モジュール/ update_installedを通して手動でインストールして更新できる点が異なります。 これらはカンマ区切りです。たとえば、modules / exploitation / tool1、modules / exploitation / tool2のように、install_update_allを実行している場合は、modules / exploitation / tool1を使用し、その方法でインストールしない限りツールをインストールしません。

INCLUDE_ONLY_THESE_MODULES

config / ptf.configのconfigオプションのINCLUDE_ONLY_THESE_MODULESは、ここで指定された特定のモジュールのみをインストールして組み込みます。 これは、あなたが望むツールをベースライン化してインストールするのに適しています。







-trustedsec

執筆者: