はじめに
「ハッキング・ラボのつくりかた」(IPUSIRON著)P.352-354を参考にした記事です。
マクロの実行は、ホストOSであるFerenOSのEdgeブラウザで、OneNoteのExcelにアクセスして行った。
訂正
OneNoteのExcelでは、マクロの実行はできませんでした。誤った記述を長い間放置していたことをお詫びします。
注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。
MacroShopのインストール・・・
MacroShopは、MS Officeのマクロ機能でペイロードの実行を支援するスクリプトを集めたもの。
次のコマンドでインストール
git clone https://github.com/khr0x40sh/MacroShop.git
cd MacroShop/
./macro_safe.py
実行してエラーが出たら
MacroShopはpython2で記述されているらしく、コマンド./macro_safe.py
を実行してもprint関数についてのエラーが出る。
(このコマンドによって、macro_safe.pyの実行で呼び出されるのはpython3である。コマンド file `which python`
で確認すると、最新のKaliLinux2022.01ではpython
はpython3
のシンボリックリンクとなっている。)
エラー回避のためには、
- python2を利用する
- 手作業でファイルを書き換える
-
2to3
コマンドを使って書き換える
以上の3つのどれかを行う必要がある。
1.python2を利用する
1が今の時点では無難。ただし、KaliLinuxでpython2をサポートしなくなったら困ることになる。
python2を利用してMacroShopを実行するには、
python2 macro_safe.py
を実行する。
あるいは、macro_safe.pyの1行目の
#!/usr/bin/python
を
#!/usr/bin/python2
と書き換えたあと、
./macro_safe.py
とスクリプトを実行する
2.手作業でファイルを書き換える
2は面倒だが、今回のmacro_safe.pyファイルは行数が111行と少ないので、非現実的ではない。ただし、python2とpython3の文法の相違点を頭に入れている必要がある。スクリプトキディにとっては難易度が高いものとなる。
書き換え内容は次通り。
- ファイル内の
print 変数
をprint (変数)
に置き換える。print関数で出力する変数をかっこで囲む。 - 19行目の
for i in xrange(54, len(instr), 48):
を
for i in range(54, len(instr), 48):
に書き換える。
完了したら、./macro_safe.py
を実行して確かめる。
3.2to3
コマンドを使って書き換える
3は、2で行うプロセスを自動化するプログラムを利用するもの。
簡単に利用できるが、出力結果が必ずしも信用できるかどうかわからないため、慎重に利用する。
2to3
コマンドをインストールするコマンド
sudo apt install 2to3
sudo apt install python3-lib2to3
//自分の環境だと、すでにpython3-lib2to3はインストール済みでした
次のコマンドで、"macro_safe.py"をpython3に適合するpythonファイルに変換した場合に、pythonファイルの変換前と変換後の差分が、標準出力に表示される。
2to3 macro_safe.py
変換は次のコマンドで行う。バックアップは、"変換するファイル名.bak"として同じディレクトリに保存される。(ここでは、"macro_safe.py"が"macro_safe.py.bakとしてバックアップされる。)
ファイルは、python3に適合する内容に上書きされる形で変換される。変換されたファイルが新規のファイルとして出力されるわけではないので注意。
2to3 -w macro_safe.py
完了したら、./macro_safe.py
を実行して確かめる。
マクロファイルの作成
./macro_safe.py /home/kali/payloads/evilWinv2.bat /home/kali/payloads/script.txt
//あるいは
python2 macro_safe.py /home/kali/payloads/evilWinv2.bat /home/kali/payloads/script.txt
同書では、evil3.batとしているが、わかりにくいので名前を変えた。
実行
エクセルのVBEを立ち上げた後、script.txtの内容をThisWorkbookにコピペ。
内容を「.xlsm」拡張子のファイルとして保存する。
Metaspoloitでリバースシェルを待ち受けたあと、保存したファイルを実行する。
おわりに
参考にしたもの
「ハッキング・ラボのつくりかた」