問題タブ [man-in-the-middle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - scapy による中間者攻撃
scapy
テストネットワークで中間者攻撃を試みています。私のセットアップは次のようなものです:
アイデアが得られたので、コードを次に示します。
このコードは で実行されていVM2
ます。
Arp ポイズニングは正常に動作します。両方のマシンの arp キャッシュを確認すると、動作は期待どおりです。しかし、内部routep
では、src と dst の MAC アドレスを変更し、受信したパケットを適切なホストに送信しようとすると、scapy は警告を出します:
そして、wireshark
onを見るとVM2
、変更されたパケットがマシンから出ていません。なぜそうなるのでしょうか?何か不足していますか?
packet-sniffers - パケットスニッフィングが可能なのはなぜですか?
ネットワーク上の誰でもパケット スニファーを使用できる方法について、頭を悩ませることはできません。
私はネットワークがどのように機能するかについてほとんど知りませんが、このように言えば、郵便配達員が私の玄関先に小包を届けに来たとします。彼の他のすべてのパッケージを調べて周りを見渡すことができるのはなぜですか? 郵便配達員は私の荷物だけを私に渡すべきではありませんか?
ios - 中間者攻撃を回避する Air for iOS
Air for iOS では、中間者攻撃の可能性が発生したときにマークする方法を見つけようとしています。
デフォルトでは、無効な証明書を持つ SSL サイトに接続しようとすると、次のエラーが発生します。
「このサイトとの安全な接続を確認できません。続行しますか?
表示している証明書は、表示しようとしているサイトの名前と一致しません。」
このプロンプトを表示したくありません。その後、ネットワーク機能を無効にします。
最初はネットワーク モニターを使用しようとしましたが、別の URL 要求を実行して接続をテストする場合と同様に、プロンプトが表示されます。
Flash環境で実行するときに必要なことをしているように見える「SecureSocketMonitor」にようやく出くわしましたが、Air for iOSアプリケーションにコンパイルすると、まったく機能しないようです。
そのプロンプトを表示せずに無効な SSL 証明書を検出する方法を知っている人はいますか?
windows - 別のサブネットから Cain と Abel Sniffer にホストを追加しますか?
Cain & Abel を使用して、Windows 2008 サーバー (マシン A) と Windows XP コンピューター (マシン B) であるドメイン コントローラー間のネットワーク トラフィックをログに記録しようとしています。これらは両方とも、最近購入した ESXi サーバーに仮想マシンとしてインストールされており、NAT に配置するのではなく、両方をネットワークにブリッジするように ESXi を構成しました。
マシン B は、次の IP を持つ「test.local」として知られるドメインにあります。
マシン A は、次の IP でドメイン「test.local」をホストしています。
私の目標は、マシン B からマシン A に送信されているハッシュを検出することです。
sniffer + ARP Poising 手法を使用してトラフィックをログに記録できました。しかし、私は物事をリバース エンジニアリングしてハッキングする方法を学び、それを「パッチ」または「防止」するために何かを書くことを試みるのが好きです。私の友人の 1 人が以前、Cain と Abel を使用して同じログを記録したと私に話して以来、もの、しかしドメインコントローラーが次のようなIPを持っていた場合:
マシン B の IP は次のとおりです。
ご覧のとおり、さまざまなサブネットがあります。これが可能であることがわかっている場合、サブネット上にあるホストで攻撃を実行するにはどうすればよいでしょうか? ドメイン コントローラーはそうではありません。「nslookup」を実行するとデフォルト サーバーとして設定され、traceroute と ping が成功するため、アクセス可能であることがわかります。それにRDPすることもできます。
どんな助けでも大歓迎です、ありがとう!
security - HSTSヘッダーはMITM攻撃に対して本当に役立ちますか?
https://www.owasp.org/index.php/HTTP_Strict_Transport_Security#Browser_SupportでOWASPのHSTSチートシートを読み 、関連するビデオも視聴しました: https ://www.youtube.com/watch?v=zEV3HOuM_Vw
しかし、それでも、ユーザーがhttp://site.comと入力した場合に、これが中間者攻撃に対してどのように役立つかを理解できません。OWASPはそれが役立つと主張しています。
次のシナリオを想像してみましょう。仲介者が被害者からリクエストを受け取ります:http://site.com。次に、https://site.comにHTTPSリクエストを送信し、コンテンツをユーザーに返し、HSTSヘッダーを削除します。それ以降のすべてのユーザー入力は、攻撃者に表示されます。
私の考えでは、最初からHTTPSを使用しない限り、MITMから保護する方法はありません。
HSTSヘッダーはMITM攻撃に対して本当に役立ちますか?
ruby - Ruby MITM プロキシ
HTTPS をサポートする Ruby でプロキシを作成する方法の例を探しています。私は Webricks HTTPProxyServer で実装された単純なプロキシを持っていますが、HTTPS トラフィックが単にトンネリングしていることに気付きました (当然のことです ;))。しかし、私は VCR でコンテンツを記録したいと思います (ここでの私の質問VCRProxy: Record PhantomJS ajax calls with VCR inside Capybaraについて)。
そのため、プロキシを中間者として作成し、その場で SSL 証明書を生成することを考えていました (証明書のエラーは気にしません。テストのためだけです)。その後、コンテンツを記録できます。 /後で再生します。
誰かが開始方法、チュートリアル、または要点から適切なリソースを持っている場合は、私に知らせてください。
PS:私はすでにこの質問を見ましたが、それ以上のものは提供していません(そしてそれはルビである必要があります):
php - 「中間者攻撃」に対して役立つURLのランダムな文字列?
シナリオは次のとおりです。
ショッピングカート以外のすべてのページで、新しいmd5(rand())セッション変数が生成されます。次に、この変数はショッピングカートリンクのURLに挿入されます。カートのリンクをクリックすると、ユーザーがhttpからhttpsに転送されるポイントになるため、中間者がサーバーとユーザーの間に侵入するのを防ぐために、これはセキュリティで保護するための重要なトランザクションであると理解しています。
ショッピングカートにアクセスするには、現在のセッション変数がURLの文字列と一致する必要があります(例: "/ Shopping_car_url / {random_string} /")。そうでない場合、404エラーが送信されます。
- セッションが危険にさらされない限り、これは効果的である必要がありますか?
- POST変数(またはセッションと投稿の両方で同じまたは異なるランダム文字列)を使用することは、同等またはそれ以上の効果がありますか(または効果がありません)?
- これが効果的である場合、カートの編集/チェックアウトプロセスの残りの部分で同じことを行うことに何か利点はありますか、それともユーザーはこの時点ですでにSSLに接続しているので、これは無意味ですか?
security - 中間者攻撃を開始する方法は何ですか?
サーバー/クライアントパラダイムに従うチャットサービスプログラムを作成しています。そのチャットプログラムはチャットサーバーとチャットクライアントの両方として存在し、ユーザーはチャットルームをホストする(そしてクライアントをそのサーバーに接続する)か、既存のチャットルームに参加することができます。
クライアントは、whatismyip.comから取得したものなど、他のユーザーが通知する直接IPアドレスと、指定されたポート番号を介して接続します。
このチャットプログラムでは、いつでも1人のユーザーが別のユーザーにファイルを送信できます。これは、2人のユーザー間にハンドシェイクを設定するようサーバーに要求することによって開始されます。ユーザーAはサーバーを介してユーザーBにIPを渡し、ユーザーBはユーザーAがファイル転送用に作成した新しいサービスを呼び出します。これにより、元のチャットサーバーが不要になり、ユーザーはnettcpプロトコルを使用して直接IP経由で接続されます。
このファイル転送では、最初にRSA暗号化を介してAES秘密鍵を送信した後、ファイルはAESで暗号化されます。
ここで、誰かが中間者攻撃を開始する方法を知りたいです。明らかに、サーバーを介して他のユーザーにIPアドレスを渡す際の欠陥がありますが、サーバーに送信者のIPV4を取得させることができないため、現在は他の方法はわかりません。
中間者攻撃の仕組みは、これら2人のユーザーがファイルを転送していることを確認し、データストリームを両端から自分自身にプルすることです。彼はすでに進行中のファイル転送セッションでこれを行うことができますか?
私はMITM攻撃がどのように機能するかを理解しようとしているので、そのような攻撃からプログラムを保護できるかどうかを確認できます...しかし、確実に保護する唯一の方法が認証局を使用することである場合(私はまだ学習中です)について)、先に進んでそれを教えてください。
android - Androidエミュレータからのhttpsのデバッグ
httpsを使用してWebサービスと通信するandroid(4.2)アプリがあります。出て行くすべてのhttpsをデバッグ/ログに記録したい。それらをデバッグするためのフィドラーとwiresharkがありますが、すべてが暗号化されているように見えます。httpurlとそのパラメータをデコードして表示するためにエミュレータとfiddler/wiresharkを使用してman-in-middle攻撃を設定できますか?
security - データ アクセスを保護するためにネットワーク経由で Amazon S3 URL を暗号化する
著作権で保護されたデータを Amazon S3 バケットでホストし (サーバーが処理できるよりも広い帯域幅を利用できるようにするため)、これらの著作権で保護されたデータへのアクセスを多数の許可されたクライアントに提供したいと考えています。
私の問題は次のとおりです。
- サーバー側でこれらのリソースの署名付きの期限切れの HTTPS URL を作成します
- これらの URL は、HTTPS 接続を介してクライアントに送信されます
- クライアントがこれらの URL を使用してコンテンツをダウンロードすると、URL は中間者に対して明確に表示されます。
詳細には、フォグ ジェムを使用して Ruby On Rails サーバー経由で URL が作成されます。私が話しているモバイル クライアントは iOS デバイスです。テストに使用したプロキシは mitmproxy です。
生成した URL は次のようになります。
https://mybucket.s3.amazonaws.com/myFileKey?AWSAccessKeyId=AAA&Signature=BBB&Expires=CCC
私はネットワークやセキュリティの専門家ではありませんが、HTTPS 接続では何も明らかになっていないというリソースを見つけました (たとえば、HTTPS ヘッダーは暗号化されていますか?を参照)。この明確な URL につながったのは、テストの構成ミスですか? ここで何がうまくいかなかったのかについてのヒントはありますか? S3 URL がネットワーク経由でクリアされるのを防ぐことができる可能性は本当にありますか?