web-dev-qa-db-ja.com

pythonでのキーロガーとウイルスの作成

だから最近、いくつかのプロジェクトに取り組んでいます。そのうちの1つはキーロガーで、2つ目はSYNflood(両方ともpython)です。 python言語をこのような目的で使用するのは良い習慣ですか?(たぶんあなたはあなた自身の経験から知っているでしょう)

1
Yakov Mor

このSYNFloodのようなツールを書くことについて、pythonは、使いやすい他の言語と同じくらい優れています。 "Violent Python" と呼ばれる優れた本があります。セキュリティ監査ツールとマルウェアを作成するには、ネットワークスキャナー、ログインブルートフォーサー、 FastFlux の動作からボットネット機能の模倣まで、それらについて多くのことを学びます。

マルウェアをpythonで作成すると、コーディングが非常に速く簡単なので、生活の一部を簡単にすることができます。Pythonは、ウイルスには珍しい選択肢です実行するにはインストールされたインタープリターが必要なためなどです。利用可能なツール( py2exe など)を使用してスクリプトをWindows実行可能ファイルに変換することにより、これを克服できますが、大きな実行可能ファイル(おそらく5MB、インポートされたモジュールによっては)、マルウェアは微妙に存続する傾向があるため、実行可能ファイルのサイズだけでなくメモリフットプリントも原因で、予想よりも早く発見される可能性があります。

コンパイル済みpythonスクリプトは ncompyle2 のようなモジュールを使用して非常に簡単にスクリプト形式に戻すことができます。それが見つかったら、マルウェアアナリストはすぐに知ることができますそれが何をするか、どのように実行するか、コマンドサーバーとコントロールサーバーがどこにあるかなど、すべての操作を非常に高速に発見し、AVベンダーとしてのマルウェアの効果を低下させる製品に署名をプッシュします。

反対に、誰かがこの reddit Bluecoatレポート(以下にリンク)について投稿したように、スクリプト言語のAV検出率は、多くのインストーラーがソフトウェアを展開するために使用するため、低くなる傾向があります。

さらに調査を行ったところ、 Flame マルウェアについて聞いたところ、ライブラリー、sqliteデータベースなどすべてを含め、サイズは20MBでした。結局のところ、サイズは「それほど大きな負担」ではないかもしれません...

2013年の Hangover 操作に関連するpythonマルウェアについてのセキュリティ会社Bluecoatからの report は次のとおりです。

ほとんどのマルウェアは、C/C++/C#、VB、アセンブリ、.NETなどを使用して記述されていますが、これは法律ではありません。これらの言語には利点がありますが、Pythonにも利点があります。すべてはあなたの目標に依存します。必要なものと必要なもののバランスを取り、それらを実行するための最良の選択肢と感じるものでショットを撮ります。

9
DarkLighting