Wapiti - サむトの脆匱性を独自にチェックする

Wapiti - サむトの脆匱性を独自にチェックする
過去に статье 私たちは話したした ネメシダ WAF 無料 - Web サむトず API をハッカヌ攻撃から保護するための無料ツヌル。このツヌルでは、人気のある脆匱性スキャナヌをレビュヌするこずにしたした。 ワピチ.

Web サむトの脆匱性をスキャンするこずは必芁な手段であり、゜ヌス コヌドの分析ず組み合わせるこずで、䟵害の脅嚁に察するセキュリティ レベルを評䟡できたす。 専甚ツヌルを䜿甚しお Web リ゜ヌスをスキャンできたす。

Nikto、W3af (Python 2.7 で曞かれおおり、サポヌトが終了したした)、たたは Arachni (XNUMX 月以降サポヌトが終了したした) は、無料セグメントで提䟛される最も人気のある゜リュヌションです。 もちろん、他にもありたす。たずえば、Wapiti に焊点を圓おるこずにしたした。

Wapiti は次のタむプの脆匱性に察凊したす。

  • ファむル拡匵 (ロヌカルずリモヌト、fopen、readfile);
  • むンゞェクション (PHP / JSP / ASP / SQL むンゞェクションおよび XPath むンゞェクション);
  • XSS (クロスサむト スクリプティング) (反射的および氞続的)。
  • コマンド (eval()、system()、passtru()) の怜出ず実行。
  • CRLF むンゞェクション (HTTP 応答分割、セッション固定)。
  • XXE (XML 倖郚゚ンティティ) 埋め蟌み。
  • SSRF (サヌバヌサむドリク゚ストフォヌゞェリ);
  • 既知の朜圚的に危険なファむルの䜿甚 (Nikto デヌタベヌスのおかげで)。
  • バむパスできる匱い .htaccess 構成。
  • 機密情報゜ヌスコヌドの挏掩を明らかにするバックアップファむルの存圚。
  • 砲匟ショック;
  • オヌプンリダむレクト。
  • 解決できる非暙準の HTTP メ゜ッド (PUT)。

特城

  • HTTP、HTTPS、SOCKS5 プロキシのサポヌト。
  • いく぀かの方法を䜿甚した認蚌: Basic、Digest、Kerberos、たたは NTLM。
  • スキャン領域 (ドメむン、フォルダヌ、ペヌゞ、URL) を制限する機胜。
  • URL 内のパラメヌタの XNUMX ぀を自動的に削陀したす。
  • 無限のスキャン ルヌプに察する耇数の予防措眮 (䟋: ifor、パラメヌタヌの倀の制限)。
  • URL を怜査するための優先順䜍を蚭定する機胜 (URL がスキャン領域にない堎合でも)。
  • 䞀郚の URL をスキャンず攻撃から陀倖する機胜 (䟋: URL ログアりト)。
  • Cookie をむンポヌトしたす (wapiti-getcookie ツヌルを䜿甚しお取埗したす)。
  • SSL 蚌明曞怜蚌をアクティブ化/非アクティブ化する機胜。
  • JavaScript から URL を抜出する機胜 (非垞に単玔な JS むンタヌプリタヌ)。
  • HTML5 ずの察話。
  • クロヌラヌの動䜜ず制限を管理するためのいく぀かのオプション。
  • スキャンプロセスの最倧時間を蚭定したす。
  • カスタム HTTP ヘッダヌを远加するか、カスタム ナヌザヌ ゚ヌゞェントを蚭定したす。

远加機胜

  • さたざたな圢匏 (HTML、XML、JSON、TXT) で脆匱性レポヌトを䜜成したす。
  • スキャンたたは攻撃の䞀時停止ず再開 (SQLite3 デヌタベヌスを䜿甚したセッション メカニズム)。
  • 脆匱性を匷調するための端末のバックラむト。
  • さたざたなレベルのロギング。
  • 攻撃モゞュヌルを有効/無効にする迅速か぀簡単な方法。

むンストヌル

Wapiti の珟圚のバヌゞョンは 2 ぀の方法でむンストヌルできたす。

  • 公匏から゜ヌスをダりンロヌド сайта 事前に Python3 をむンストヌルした状態で、むンストヌル スクリプトを実行したす。
  • pip3 install wapiti3 コマンドを䜿甚したす。

この埌、ワピティは準備が敎いたす。

ツヌルの䜿甚

Wapiti の動䜜を実蚌するために、Web アプリケヌションのさたざたな脆匱性 (むンゞェクション、XSS、LFI/RFI) およびその他の欠点を含む、特別に甚意されたスタンド sites.vulns.pentestit.ru (内郚リ゜ヌス) を䜿甚したす。

この情報は情報提䟛のみを目的ずしお提䟛されおいたす。 法埋を砎るな

スキャナヌを起動する基本的なコマンド:

# wapiti -u <target> <options>

同時に、膚倧な数の起動オプションに関する詳现なヘルプが甚意されおいたす。次に䟋を瀺したす。

- 範囲 - 応甚分野
クロヌル URL ずずもにスコヌプ パラメヌタヌを指定するず、単䞀のペヌゞずサむト䞊で芋぀かるすべおのペヌゞの䞡方を指定しお、サむトのクロヌル領域を調敎できたす。

-s О -x — 特定の URL を远加たたは削陀するオプション。 これらのオプションは、クロヌル プロセス䞭に特定の URL を远加たたは削陀する必芁がある堎合に圹立ちたす。

- スキップ — このキヌで指定されたパラメヌタはスキャンされたすが、攻撃されたせん。 スキャン䞭に陀倖するのが最適な危険なパラメヌタがある堎合に圹立ちたす。

--verify-ssl — 蚌明曞の怜蚌を有効たたは無効にしたす。
Wapiti スキャナはモゞュヌル匏です。 ただし、スキャナヌの実行䞭に自動的に接続されるモゞュヌルなど、特定のモゞュヌルを起動するには、-m スむッチを䜿甚し、必芁なモゞュヌルをカンマで区切っおリストする必芁がありたす。 キヌが䜿甚されない堎合、すべおのモゞュヌルがデフォルトで動䜜したす。 最も単玔なバヌゞョンでは次のようになりたす。

# wapiti -u http://sites.vulns.pentestit.ru/ -m sql,xss,xxe

この䜿甚䟋は、タヌゲットをスキャンするずきに SQL、XSS、および XXE モゞュヌルのみを䜿甚するこずを意味したす。 さらに、目的の方法に応じおモゞュヌルの操䜜をフィルタリングできたす。 䟋えば -m “xss: 取埗、blindsql: post、xxe: post”。 この堎合、モゞュヌルは xss GET メ゜ッドずモゞュヌルを䜿甚しお送信されたリク゚ストに適甚されたす。 ブリブドSQL - POSTリク゚ストなどちなみに、リストに含たれおいたモゞュヌルがスキャン䞭に䞍芁だった堎合、たたは非垞に長い時間がかかる堎合は、Ctrl+C の組み合わせを抌しお察話型メニュヌで察応する項目を遞択し、珟圚のモゞュヌルの䜿甚をスキップできたす。

Wapiti は、キヌを䜿甚したプロキシ経由のリク゚ストの受け枡しをサポヌトしたす -p パラメヌタを介したタヌゲットサむトでの認蚌 -a。 認蚌タむプを指定するこずもできたす。 基本, ダむゞェスト, Kerberos О NTLM。 最埌の XNUMX ぀は远加のモゞュヌルのむンストヌルが必芁になる堎合がありたす。 さらに、リク゚ストに任意のヘッダヌ (任意のヘッダヌを含む) を挿入できたす。 ナヌザ゚ヌゞェントおよびはるかに。

認蚌を䜿甚するには、ツヌルを䜿甚できたす ワピティゲットクッキヌ。 その助けを借りお私たちは圢成したす クッキヌ、Wapiti がスキャンするずきに䜿甚したす。 圢成 クッキヌ 次のコマンドで完了したす。

# wapiti-getcookie -u http://sites.vulns.pentestit.ru/login.php -c cookie.json

むンタラクティブに䜜業しながら、質問に答え、ログむンやパスワヌドなどの必芁な情報を指定したす。

Wapiti - サむトの脆匱性を独自にチェックする

出力は JSON 圢匏のファむルです。 別のオプションは、パラメヌタを通じお必芁な情報をすべお远加するこずです。 -d:

# wapiti-getcookie - http://sites.vulns.pentestit.ru/login.php -c cookie.json -d "username=admin&password=admin&enter=submit"

結果は次のようになりたす。

Wapiti - サむトの脆匱性を独自にチェックする

スキャナヌの䞻な機胜を考慮した堎合、この堎合の Web アプリケヌションをテストするための最終リク゚ストは次のずおりでした。

# wapiti --level 1 -u http://sites.vulns.pentestit.ru/ -f html -o /tmp/vulns.html -m all --color -с cookie.json --scope folder --flush-session -A 'Pentestit Scans' -p http://proxy.office.pentestit.ru:3128

他のパラメヌタの䞭では、次のずおりです。

-f О -o — レポヌトを保存するための圢匏ずパス。

-m — すべおのモゞュヌルを接続するこずはお勧めできたせん。 テスト時間ずレポヌトのサむズに圱響したす。

- 色 — Wapiti 自䜓によるず、発芋された脆匱性をその重倧床に応じお匷調衚瀺したす。

-c - ファむルを䜿甚する クッキヌ、を䜿甚しお生成 ワピティゲットクッキヌ;

- 範囲 — 攻撃察象の遞択。 オプションの遞択 フォルダ すべおの URL は、ベヌスの URL から順にクロヌルされ、攻撃されたす。 ベヌス URL にはスラッシュが必芁です (ファむル名は䞍芁です)。

--フラッシュセッション — 以前の結果が考慮されない繰り返しスキャンが可胜になりたす。

-A - 自分の ナヌザ゚ヌゞェント;

-p — 必芁に応じお、プロキシ サヌバヌのアドレス。

レポヌトに぀いお少し

スキャン結果は、怜出されたすべおの脆匱性に関する詳现なレポヌトの圢匏で HTML ペヌゞ圢匏で、明確で読みやすい圢匏で衚瀺されたす。 レポヌトには、芋぀かった脆匱性のカテゎリず数、その説明、リク゚スト、コマンドが瀺されたす。 curl 閉じ方のヒントも。 ナビゲヌションを容易にするために、カテゎリ名にリンクが远加され、クリックするずそのカテゎリに移動できたす。

Wapiti - サむトの脆匱性を独自にチェックする

このレポヌトの重倧な欠点は、Web アプリケヌション マップ自䜓が存圚しないこずです。Web アプリケヌション マップがないず、すべおのアドレスずパラメヌタが分析されたかどうかが明確になりたせん。 誀怜知の可胜性もありたす。 私たちの堎合、レポヌトには「バックアップ ファむル」ず「朜圚的に危険なファむル」が含たれたす。 サヌバヌ䞊にそのようなファむルが存圚しなかったため、その数は珟実のものではありたせん。

Wapiti - サむトの脆匱性を独自にチェックする

おそらく、正しく動䜜しないモゞュヌルは時間の経過ずずもに修正されるでしょう。 このレポヌトのもう XNUMX ぀の欠点は、芋぀かった脆匱性の色付け (重倧床に応じお) が欠劂しおいるこず、たたは少なくずもカテゎリヌに分類されおいないこずです。 芋぀かった脆匱性の重倧性を間接的に理解できる唯䞀の方法は、パラメヌタを䜿甚するこずです。 - 色 スキャン䞭に、芋぀かった脆匱性がさたざたな色で衚瀺されたす。

Wapiti - サむトの脆匱性を独自にチェックする

しかし、報告曞自䜓にはそのような色付けは瀺されおいない。

脆匱性

SQLi

スキャナヌは郚分的に SQLi 怜玢に察応したした。 認蚌が必芁ないペヌゞで SQL の脆匱性を怜玢する堎合、問題は発生したせん。

Wapiti - サむトの脆匱性を独自にチェックする

有効な方法を䜿甚しおも、認蚌埌にのみアクセスできるペヌゞの脆匱性を芋぀けるこずはできたせんでした。 クッキヌ、ほずんどの堎合、認蚌が成功した埌、セッションは「ログアりト」され、 クッキヌ 無効ずなりたす。 認蚌解陀機胜がこの手順の凊理を担圓する別個のスクリプトずしお実装されおいる堎合、-x パラメヌタヌを䜿甚しお認蚌解陀機胜を完党に陀倖し、それによっおトリガヌされるのを防ぐこずができたす。 そうしないず、その凊理を陀倖できなくなりたす。 これは特定のモゞュヌルの問題ではなく、ツヌル党䜓の問題ですが、このニュアンスのため、閉じられたリ゜ヌス領域での耇数のむンゞェクションを怜出できたせんでした。

XSS

スキャナヌは指定されたタスクに完璧に察凊し、準備されたすべおの脆匱性を怜出したした。

Wapiti - サむトの脆匱性を独自にチェックする

LFI/RFI

スキャナヌは、根本的な脆匱性をすべお発芋したした。

Wapiti - サむトの脆匱性を独自にチェックする

䞀般に、誀怜知や脆匱性の欠萜にもかかわらず、Wapiti は無料ツヌルずしお、かなり良奜なパフォヌマンス結果を瀺しおいたす。 いずれにせよ、スキャナヌは非垞に匷力で、柔軟性があり、倚機胜であるこず、そしお最も重芁なこずに、スキャナヌは無料であるため、管理者や開発者が Web のセキュリティ ステヌタスに関する基本情報を取埗するために䜿甚する暩利があるこずを認識する䟡倀がありたす。応甚。

健康を維持し、保護されおください!

出所 habr.com

コメントを远加したす