Hydraでパスワードアタック(2) -守備編

Kalilinux

前回はHydraによる攻撃の話でしたが、今回はそのHydraから攻撃された守備隊側の話。

守備隊の戦いぶり(?)を守備側のログで振り返ってみましょう。

Journalctl コマンド

まずは戦闘経過(ログ)を表示するコマンド ” journalctl ” の使い方について。

普通に ” journalctl ” コマンドでは、貯めているログを全て吐き出します。

こんな感じ。

jounalctl

これが何十ページもある膨大な量なので、様々なオプションを使ってフィルターをかけ絞り込みます。

journalctlのオプション

時間で区切る

–since 又は -S

特定の時刻から後の記録を表示する。

–since=”00-00-00 00:00:00″

-S “00-00-00 00:00:00”

–until 又は -U

特定の時刻より前の記録を表示する。

–until=”00-00-00 00:00:00″

-U “00-00-00 00:00:00”

-b

-b :今回の起動時から表示:(引数をつければ、 -1 :前回、 -2 :前々回 など遡れます)

-f

-f :最新分(最新10行分)から未来分を順次表示:Ctrl+Cで離脱

* 今回は同じ攻撃を何回も反復して記録していますので、攻撃側の記録と守備側の記録で時間的なズレが生じている場合があります。

表示順の変更

-r

-r :逆順(新しい順)

-e

-e :最終ページから表示(表示は正順)

検索方法

–grep “検索文字列”

–grep “文字列” :特定の文字列を検索

–no-pager | grep “検索文字列”

–no-pager | grep “文字列” :特定の文字列検索、上記よりもこちらの方が詳しく表示されます。

-p

-p 数字又は下記の文字列 :プライオリティ別の検索

0emerg
1alert
2crit
3err
4warning
5notice
6info
7debug

情報量

-x

-x :メッセージカタログから追加情報を取得して表示

守備隊のログ解析

それではラズパイ5に ” hydra ” で攻撃された、ラズパイ4B守備隊のログを見てみましょう。

raspberry pi 5 4B
左:攻撃側ラズパイ5   右:守備側ラズパイ4B

ログ表示

ログを呼び出すコマンドは以下の通り。

守備の担当はsshdサーバーなので ‘sshd’ で検索し、その挙動を表示します。

“YY-MM-DD HH:MM:SS” には攻撃開始の日時を入れます。

攻撃の状況

まず攻撃側(192.168.11.15)から16個のポート番号がランダムに選ばれて、同時に接続を試みています。

journalctl1

鍵を開ける隊員として選ばれたのは以下の16名(16ポート番号)です。

32770327723277432778
32790327963281032822
32828328346096460970
60972609746097660998

そしてまず最初にアンダーラインの2人が門前払いを食らいました。

守備隊(SSHサーバー)側のデフォルト設定では、接続しに来た人々に対して、

となっています。

最初16人が接続に来たとすると、最初の10人は受付されます。残りの6人は30%の確率で門前払いとなりますので2人が門前払いされ、合計14人が接続トライアルを始めています。

この14人がそれぞれ6回ずつ試行した後(つまり合計84回試行)、全員が接続回数オーバーで失格となっています。

journalctl2

第2次攻撃

そしてその27秒後、また16人(ポート番号は全部新規更新済み)で同じ攻撃を行います。

やはり16人のうち2人が最初に門前払いされました。

journalctl3

残った14人が再度攻撃を始めます。

攻撃成功

そして2巡目の攻撃で100試行目に到達。当たりパスワードを引き当てました。

めでたく当たりを引いたのは、ポート番号56836氏でした。

journalctl4

まとめ

journalctlによるログの見方と、ログ解析によるHydraからの攻撃経過の報告をしました。

hydraはデフォルトでは多数同時接続を繰り返すことが分かりました。

次回は守備隊側の反省会です。

コメント

タイトルとURLをコピーしました