10 KiB
143,993 - IMAPペンテスティング
AWSハッキングをゼロからヒーローまで学ぶには htARTE (HackTricks AWS Red Team Expert)をチェック!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告したい、またはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS & HackTricksグッズを入手する
- The PEASS Familyを発見し、独占的なNFTsのコレクションをチェックする
- 💬 Discordグループに参加するか、テレグラムグループに参加する、またはTwitter 🐦 @carlospolopmをフォローする。
- HackTricksとHackTricks CloudのgithubリポジトリにPRを提出して、あなたのハッキングのコツを共有する。
最も重要な脆弱性を見つけて、より早く修正する。Intruderはあなたの攻撃面を追跡し、積極的な脅威スキャンを実行し、APIからウェブアプリ、クラウドシステムまで、あなたの全技術スタックにわたる問題を見つけ出します。今日無料で試す。
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
インターネットメッセージアクセスプロトコル
その名が示すように、IMAPはどこにいてもメールメッセージにアクセスできるようにします。多くの場合、インターネット経由でアクセスされます。基本的に、メールメッセージはサーバーに保存されます。受信トレイをチェックするたびに、メールクライアントがサーバーに接続してメッセージを取得します。IMAPを使用してメールメッセージを読むとき、実際にはダウンロードしたりコンピューターに保存したりすることはありません。代わりに、サーバーから読み取っています。その結果、何も見逃すことなくさまざまなデバイスからメールをチェックすることが可能です。
デフォルトでは、IMAPプロトコルは2つのポートで動作します:
- ポート143 - これはデフォルトの非暗号化IMAPポートです
- ポート993 - IMAPを安全に使用するために必要なポートです
PORT STATE SERVICE REASON
143/tcp open imap syn-ack
バナー掴み取り
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'
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
最も重要な脆弱性を見つけて、より早く修正できるようにします。Intruderは攻撃面を追跡し、積極的な脅威スキャンを実行し、APIからウェブアプリ、クラウドシステムまで、技術スタック全体にわたる問題を見つけます。今日[**無料でお試し**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks)してください。
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><strong>AWSハッキングをゼロからヒーローまで学ぶには</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>をチェック!</strong></summary>
HackTricksをサポートする他の方法:
* **HackTricksにあなたの会社を広告したい**、または**HackTricksをPDFでダウンロードしたい**場合は、[**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**公式のPEASS & HackTricksグッズ**](https://peass.creator-spring.com)を入手する
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションをチェックする
* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)に**参加する**か、[**テレグラムグループ**](https://t.me/peass)に参加する、または**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)を**フォローする**。
* [**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のgithubリポジトリにPRを提出して、あなたのハッキングテクニックを共有する。
</details>