ハッカーはswaksでトランザクション指向のSMTPテストツールを利用する(Kali Linuxツール説明)

ホワイトハッカーの知識Kali Linuxツール,swaks,座学

トランザクション指向のSMTPテストツールを理解するためにまとめてみました。
このswaksの動作確認は自分のドメインでテストを行っています。

swaksとは

Swaksは柔軟でスクリプト可能な、トランザクション指向のSMTPテストツールです。

SwaksはTLS、認証、パイプライニングなどのSMTPの機能や拡張、SMTP、ESMTP、LMTPなどの複数のバージョンのSMTPプロトコル、UNIXドメインのソケット、インターネットドメインのソケット、生成されたプロセスへのパイプなどの複数のトランスポートの方法を扱います。

オプションは、環境変数、設定ファイル、コマンドラインで指定することができ、オペレータやスクリプターにとって最大限の設定性と使いやすさを提供します。

機能

  • TLS、認証、パイプライニング、PROXY、PRDR、XCLIENTなどのSMTP拡張機能
  • SMTP、ESMTP、LMTPなどのプロトコル
  • UNIXドメインソケット、インターネットドメインソケット(IPv4およびIPv6)、および生成されたプロセスへのパイプを含むトランスポート
  • 環境変数、設定ファイル、コマンドラインによるオプション指定など、完全なスクリプト設定が可能

ツールの場所

[Applications]→[01-Information Gathering]→[SMTPS Analysis]→[swaks]

クイックスタート

標準的なテストメールの配信

標準的なテストメールを test-server.example.net の 25 番ポートの user@example.com に配信します。

swaks --to user@example.com --server test-server.example.net

※現在、SMTPのポートはほとんどが465のため、オプションで"–tls-on-connect"が必要です。

CRAM-MD5 認証を必要とする標準的なテストメールを配信

ユーザー me@example.com として CRAM-MD5 認証を必要とする標準的なテストメールを配信します。
メールの本文には「X-Test」ヘッダが追加されます。
認証パスワードが.netrcファイルから取得できない場合は、認証パスワードの入力が求められます。

swaks --to user@example.com --from me@example.com --auth CRAM-MD5 --auth-user me@example.com --header-X-Test "test email"

ウイルススキャナをテスト

添付ファイルに EICAR を使用してウイルススキャナをテストします。
メッセージDATA部分は表示しません。

swaks -t user@example.com --attach - -server test-server.example.com -suppress-data </path/to/eicar.txt

スパムスキャナをテスト

example.com の MX レコード経由で送られてくるメールの本文に GTUBE を使用してスパムスキャナをテストします。

swaks --to user@example.com --body /path/to/gtube/file

LMTP プロトコルで配信

標準的なテストメールを、UNIX ドメインのソケットファイルを介して LMTP プロトコルで user@example.com に配信する。

swaks --to user@example.com -socket /var/lda.sock --protocol LMTP

swaksツールのまとめ

実はswaksツールですがドキュメントが多く機能がたくさんあり、全てを把握できていません。(^^;
今回は「クイックスタート」ということで簡単に動作確認ができる方法を記述しました。理解したら変更しますね。

詳しくはこちらをご覧ください。全てが掲載されています。
https://www.jetmore.org/john/code/swaks/latest/doc/ref.txt