13 KiB
143,993 - IMAPのペンテスト
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
サイバーセキュリティ会社で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
-
公式のPEASS&HackTricksのグッズを手に入れましょう。
-
💬 Discordグループまたはtelegramグループに参加するか、Twitterでフォローしてください🐦@carlospolopm。
-
**ハッキングのトリックを共有するには、hacktricks repoとhacktricks-cloud repo**にPRを提出してください。
最も重要な脆弱性を見つけて、より速く修正できます。Intruderは攻撃対象を追跡し、積極的な脅威スキャンを実行し、APIからWebアプリまで、クラウドシステム全体にわたる問題を見つけます。無料でお試しください。
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
Internet Message Access Protocol
その名前が示すように、IMAPはどこにいても電子メールメッセージにアクセスできます。ほとんどの場合、インターネット経由でアクセスされます。基本的に、電子メールのメッセージはサーバーに保存されます。受信トレイを確認するたびに、電子メールクライアントはサーバーに接続してメッセージにアクセスします。IMAPを使用して電子メールメッセージを読むと、実際にはコンピュータにダウンロードしたり保存したりするわけではありません。代わりに、サーバーから読み取ります。その結果、異なるデバイスから電子メールを逃さずにチェックすることができます。
デフォルトでは、IMAPプロトコルは2つのポートで動作します:
- ポート143 - これはデフォルトのIMAP非暗号化ポートです
- ポート993 - IMAPを安全に接続する場合に使用するポートです
PORT STATE SERVICE REASON
143/tcp open imap syn-ack
バナーの取得
Banner grabbing(バナーの取得)は、ネットワークサービスのペンテストにおいて非常に重要な手法です。この手法は、ターゲットのサーバーが提供するサービスのバナー情報を取得することを目的としています。バナー情報には、サービスのバージョンや製造元などが含まれており、攻撃者にとっては貴重な情報源となります。
バナーの取得には、IMAP(Internet Message Access Protocol)サービスを利用することが一般的です。IMAPは、電子メールの受信に使用されるプロトコルであり、多くのメールサーバーがこのプロトコルをサポートしています。
バナーの取得は、以下の手順で行われます。
- ポートスキャンを実行し、ターゲットのサーバー上でIMAPサービスが稼働していることを確認します。
- IMAPクライアントを使用して、ターゲットのサーバーに接続します。
- サーバーからの応答を解析し、バナー情報を取得します。
バナー情報は、攻撃者にとって重要な情報源となるため、セキュリティ上の脆弱性を特定するために使用されます。また、バナー情報を利用して、攻撃者は特定のバージョンの脆弱性を悪用するための攻撃手法を選択することもあります。
バナーの取得は、ネットワークサービスのペンテストにおいて基本的な手法であり、セキュリティの評価や脆弱性診断において重要な役割を果たします。
nc -nv <IP> 143
openssl s_client -connect <IP>:993 -quiet
NTLM認証 - 情報漏洩
サーバーがNTLM認証(Windows)をサポートしている場合、以下のような機密情報(バージョン)を取得することができます:
root@kali: telnet example.com 143
* OK The Microsoft Exchange IMAP4 service is ready.
>> a1 AUTHENTICATE NTLM
+
>> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
+ TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA
または、nmapプラグインimap-ntlm-info.nse
を使用して、これを自動化します。
IMAPブルートフォース
構文
Login
A1 LOGIN username password
Values can be quoted to enclose spaces and special characters. A " must then be escape with a \
A1 LOGIN "username" "password"
List Folders/Mailboxes
A1 LIST "" *
A1 LIST INBOX *
A1 LIST "Archive" *
Create new Folder/Mailbox
A1 CREATE INBOX.Archive.2012
A1 CREATE "To Read"
Delete Folder/Mailbox
A1 DELETE INBOX.Archive.2012
A1 DELETE "To Read"
Rename Folder/Mailbox
A1 RENAME "INBOX.One" "INBOX.Two"
List Subscribed Mailboxes
A1 LSUB "" *
Status of Mailbox (There are more flags than the ones listed)
A1 STATUS INBOX (MESSAGES UNSEEN RECENT)
Select a mailbox
A1 SELECT INBOX
List messages
A1 FETCH 1:* (FLAGS)
A1 UID FETCH 1:* (FLAGS)
Retrieve Message Content
A1 FETCH 2 body[text]
A1 FETCH 2 all
A1 UID FETCH 102 (UID RFC822.SIZE BODY.PEEK[])
Close Mailbox
A1 CLOSE
Logout
A1 LOGOUT
進化
apt install evolution
CURL
基本的なナビゲーションはCURLで可能ですが、ドキュメントは詳細についてはあまり詳しくありませんので、正確な詳細についてはソースを確認することをお勧めします。
- メールボックスのリストアップ (imapコマンド
LIST "" "*"
)
$ curl -k 'imaps://1.2.3.4/' --user user:pass
- メールボックス内のメッセージのリストアップ (imapコマンド
SELECT INBOX
およびSEARCH ALL
)
$ curl -k 'imaps://1.2.3.4/INBOX?ALL' --user user:pass
この検索の結果は、メッセージのインデックスのリストです。
より複雑な検索条件を指定することも可能です。例えば、メール本文にパスワードが含まれる下書きを検索する場合:
$ curl -k 'imaps://1.2.3.4/Drafts?TEXT password' --user user:pass
検索可能な検索条件の概要はこちらにあります。
3. メッセージのダウンロード (imapコマンド SELECT Drafts
および FETCH 1 BODY[]
)
$ curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass
メールインデックスは、検索操作から返されるインデックスと同じです。
また、メッセージにアクセスするためにUID
(一意のID)を使用することも可能ですが、検索コマンドを手動でフォーマットする必要があるため、便利ではありません。例えば、以下のようになります。
$ curl -k 'imaps://1.2.3.4/INBOX' -X 'UID SEARCH ALL' --user user:pass
$ curl -k 'imaps://1.2.3.4/INBOX;UID=1' --user user:pass
また、メッセージの一部をダウンロードすることも可能です。たとえば、最初の5つのメッセージの件名と送信者をダウンロードすることができます(件名と送信者を表示するには-v
が必要です):
$ curl -k 'imaps://1.2.3.4/INBOX' -X 'FETCH 1:5 BODY[HEADER.FIELDS (SUBJECT FROM)]' --user user:pass -v 2>&1 | grep '^<'
おそらく、簡潔に書くためには、forループを使うのが良いでしょう。
for m in {1..5}; do
echo $m
curl "imap://1.2.3.4/INBOX;MAILINDEX=$m;SECTION=HEADER.FIELDS%20(SUBJECT%20FROM)" --user user:pass
done
Shodan
port:143 CAPABILITY
port:993 CAPABILITY
HackTricks 自動コマンド
Protocol_Name: IMAP #Protocol Abbreviation if there is one.
Port_Number: 143,993 #Comma separated if there is more than one.
Protocol_Description: Internet Message Access Protocol #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for WHOIS
Note: |
As its name implies, IMAP allows you to access your email messages wherever you are; much of the time, it is accessed via the Internet. Basically, email messages are stored on servers. Whenever you check your inbox, your email client contacts the server to connect you with your messages. When you read an email message using IMAP, you aren't actually downloading or storing it on your computer; instead, you are reading it off of the server. As a result, it's possible to check your email from several different devices without missing a thing.
https://book.hacktricks.xyz/pentesting/pentesting-imap
Entry_2:
Name: Banner Grab
Description: Banner Grab 143
Command: nc -nv {IP} 143
Entry_3:
Name: Secure Banner Grab
Description: Banner Grab 993
Command: openssl s_client -connect {IP}:993 -quiet
Entry_4:
Name: consolesless mfs enumeration
Description: IMAP enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/imap/imap_version; set RHOSTS {IP}; set RPORT 143; run; exit'
最も重要な脆弱性を見つけて、より速く修正できるようにしましょう。Intruderは、攻撃対象を追跡し、予防的な脅威スキャンを実行し、APIからWebアプリまで、クラウドシステムを含むテックスタック全体で問題を見つけます。無料でお試しください。
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
-
公式のPEASS&HackTricksのグッズを手に入れましょう。
-
💬 Discordグループまたはtelegramグループに参加するか、Twitter 🐦@carlospolopmをフォローしてください。
-
ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリにPRを提出してください。