apt2を使用した侵入テストの自動化





9月20日に、人気のあるKali Linux 2017.2侵入テストディストリビューションの次のリリースがリリースされました。 革新の中で、リポジトリからいくつかの新しいツールをインストールする機会を得ました。 このテキストでは、apt2フレームワークまたは自動侵入テストツールキットについて検討します。



インストールとセットアップ



配布パッケージをバージョン2017.2に更新した後、フレームワークのインストールを続行できます。

次のコマンドを使用して、Kali Linuxの最新バージョンにアップグレードできることを思い出させてください



apt-get update apt-get upgrade apt-get dist-upgrade
      
      





インストールは標準です



 apt-get install apt2
      
      





次に、基本的なセットアップをお勧めします。



プロジェクトの公式githubを調べたところ、Metasploit Frameworkと統合されていることが明らかになりました。



Metasploitと統合するには、RPCサービスを実行する必要があります。

これは次のように行われます



 msfconsole load msgrpc
      
      





ランダムに生成されたパスワードを受け取る必要があります。 覚えておいてください。







/ usr / share / apt2ディレクトリの設定ファイルの構造を見ることができます







default.cfgファイルに興味があります



[metasploit]ブロックで、パスワードを指定します



 [metasploit] msfhost=127.0.0.1 msfport=55552 msfuser=msf msfpass=kqVbTlmr msfexploitdelay=20
      
      





さらに、nmapのキーを追加したり、サブネットを変更したりできます。 デフォルトでは、SYNスキャン(-sS)とフラグ(-A)が使用されます。これにより、Nmapはサービスのバージョン、OSのタイプとバージョンを決定し、安全なNSEスクリプトとtracerouteを実行します。 nmapスキャン結果をapt2にインポートしない場合、-Pnスイッチを追加すると便利な場合があります。



 [nmap] scan_target=192.168.1.0/24 scan_type=S scan_port_range=1-1024 scan_flags=-A
      
      





デフォルトは20スレッドです。 この値は不必要に変更できません。



 [threading] max_modulethreads=20
      
      





Reponderの設定があります。 非標準構成を使用する場合は、[responder]ブロックと[default_tool_paths]ブロックを編集する必要があります。 このモジュールで時間を無駄にしたくないので、responder_timeout = 30に設定します。



次は[検索]ブロックです



 [searching] file_search_patterns=*.bat,*.sh,*passwd*,*password*,*Pass*,*.conf,*.cnf,*.cfg,*.config
      
      





ここでは、NFSリソースへのアクセスなどを取得した場合に関心のあるファイルマスクを指定できます。 独自のものを追加することも、変更しないこともできます。



フレームワークはShodan APIの使用も許可します。 キーは別のブロックに設定され、デフォルトでコメント化されています。 ターゲットマシンはローカルネットワーク上にあるため、これらは使用しません。 各サービスのAPIキーを取得するプロセスは個別であり、常に無料ではないことを思い出させてください。 ShodanのAPIキーは、 サイトに登録した後、無料で取得できます。



 [apikeys] #apt2_shodan_apikey=CHANGEME #apt2_linkedin_apikey=CHANGEME
      
      





打ち上げ



-hスイッチで開始すると、使用可能なキーのリストを取得します







それらのいくつかを分析しましょう



SAFE_LEVELは1から5までの値を取り、apt2に安全なモジュールの実行を許可する方法を伝えます。 最も安全なモードは5です。デフォルトは4です。



EXCLUDE_TYPESを使用すると、特定のタイプのモジュールをリストから除外できます



--targetは目標を設定します。または、 -fスイッチを使用してnmapスキャン結果ファイルをapt2 XMLにロードできます。 -oXスイッチを使用して、nmapの結果をXMLで保存できることを思い出させてください。



--listmodulesスイッチは利用可能なモジュールを表示します。 このリストを見てみましょう。



 apt2 --listmodules
      
      





モジュールの名前、タイプ(EXCLUDE_TYPESに使用)、安全性レベル、説明を含むリストを取得します。 -sスイッチで示されるよりも低い安全レベルのモジュールは実行されません。これについては、起動時のapt2出力でさらに説明します。







Ubuntuを実行しているマシン192.168.1.4に対して、最高レベルのリスクでapt2を実行しましょう。



 apt2 -v -v -s 1 -b --target 192.168.1.4
      
      





APIキーを必要とするモジュールは実行されず、スキャンが開始されることが警告されています







次に、モジュールの実行が開始されます。







/root/.apt2/proofsディレクトリでapt2が構築できたことを確認できます。







ここでは、各モジュールの結果を表示できます。 私の場合、フレームワークは価値のあるものを見つけられませんでした。



Windowsマシン192.168.1.7に対して別のスキャンを実行すると、apt2を介してnmapスキャンは実行されませんが、XMLファイルがロードされます。



 nmap -n -Pn -A -oX scan1 192.168.1.7 apt2 -s 1 -b -v -v -f scan1
      
      





他のモジュール、たとえばms08-067の脆弱性をテストするためのモジュールはすでに実行されています。







サーバーが脆弱な場合、これはログに報告されます



 [!] VULN [ms08-067] Found on [192.168.1.7]
      
      





脆弱性はMetasploit RPCサービスを介して自動的に悪用され、セッションが取得されます







さらにセッションを通じて、他のモジュールが実行されます。







そして、プログラムの最後に、進捗レポートが作成されます。







 firefox /root/.apt2/reports/reportGenHTML_flcgfsqhji.html
      
      









apt2用のモジュールを作成する場合は、/ usr / share / apt2 / modulesディレクトリにあるモジュールを調べて、類推して独自のモジュールを作成できます。 フレームワーク自体もそれぞれPythonとそのモジュールで記述されています。



All Articles