http-default-accounts.
に引数を渡すことで、これをどのように改善できますか?良い結果が出ない
# Find vulnerable web logins
# How many random hosts do you want to scan ?
N_HOSTS=5000
nmap\
-Pn\
-sS\
-sV\
-n\
-T5\
-p 8080, 80, 8000\
--script http-default-accounts\
--open\
-oX results.xml\
-iR $N_HOSTS
NSEスクリプトに引数を渡すことは、適切に理解されれば非常に簡単です。基本的には、luaテーブルのフォーマットに従います。また、Nmapのオプションの使用法に疑問がある場合は、-d<level>
フラグを使用してデバッグモードをオンにできます。通常、-d2
でスクリプトを確認できます。指定されたスクリプトhttp-default-accounts
の場合、次のようになります-
nmap <options> --script http-default-accounts --script-args "http-default-accounts.basepath='/admin', category='web', fingerprintfile=/usr/share/nmap/nselib/data/http-default-accounts-fingerprints.lua"
引数にはscript-name.argument
形式とargument
形式を使用していることに注意してください。どちらも同じように機能しますが、前者は異なるスクリプトが同じ引数変数を想定していて、異なる値を指定したい場合に使用されます。現在の状態では、このスクリプトは複数のbasepathまたはcategoryまたはfingerprintfileを取りません。スクリプト引数の使用法を習得するには、任意の深さのネストされたテーブルを使用できるhttp-form-fuzzerスクリプトを使用してみてください。
ここには基本的に2つの質問があります。
http-default-accounts
スクリプトで良い結果が得られない可能性が最も高い理由は、デフォルトではインターネット上にそれほど多くのシステムがないためですスクリプトが認識しているアカウント。 5000アドレスは多くのように思えるかもしれませんが、ルーティング可能なインターネットの0.00012%にすぎません。アクティブであることがわかっているアドレスのリストにスキャンを制限すると、チャンスが大幅に増加します。また、スクリプトが対応していないデフォルトのアカウントがいくつかわかっている場合は、それらをフィンガープリントファイルに追加して(Nmap Projectに送信して))、それらのシステムをより多くキャッチするのに役立ちます。
スクリプトは、使用するライブラリからscript引数を継承します。スクリプトの引数とライブラリ引数のリストは、 NSEdocポータル で確認できます。特定のスクリプトでそれらを見つける方法は次のとおりです。
まず、nmap --script-help your-script-name
を実行して、ドキュメントへのURLを取得します。
$ nmap --script-help http-default-accounts 2017年にNmap 7.50(https://nmap.org)から開始-07-11 09:05 CDT http-default-accounts Categories:discovery auth intrusive https://nmap.org/nsedoc/scripts/ http-default-accounts.html さまざまなWebアプリケーションおよびデバイスで使用されるデフォルトの認証情報を使用したアクセスのテスト。 <snip>
Categories:
行の下のそのURLは http-default-accountsのNSEdocページ にリンクしています。そこで、Script Argumentsヘッダーの下に、スクリプトがサポートする引数のリストが表示されます。
これらの引数を簡単に確認すると、主にテストの範囲の制限または変更に関係していることがわかります。
http-default-accounts.category
-テストをすべて試行するのではなく、このカテゴリのみに制限します。http-default-accounts.fingerprintfile
-自分で作成した場合は、別の指紋ファイルを使用します。http-default-accounts.basepath
-別のベースURIにインストールされているウェブアプリを確認します。このような広範なスキャンには役立ちません。http
ライブラリから継承された引数は、ほとんどがパフォーマンスのチューニング用ですが、http.useragent
を設定して、NSEでスキャンしていることを通知しないようにすることができます。他のライブラリ(creds
、smbauth
)は、使用するスクリプトに資格情報を渡すために使用され、このスクリプトは代わりに独自のリストを使用するため、ここでは実際には関係ありません。
ユーザー名とパスワードのリストを指定する方法があるかどうかかどうかを別の回答にコメントで質問しました。 http-default-accounts
はありません。これは、さまざまなアプリケーションでdefaultユーザー名とパスワードを使用するためです。代わりに http-brute
または http-form-brute
を使用して、特定のユーザー名とパスワードのリストに対してさまざまな形式のWeb認証をテストできます。