初めに
昨日の続き。目的は自分のセキュリティ意識向上のため
Day2の振り返り
よく見たらセクションの初めのページに扱うRoomが書いてあった。なので,前にできなかった内容を実施。
Room: 「Basic Pentesting」
https://tryhackme.com/room/basicpentestingjt
ポートスキャン
nmapで, ssh, Sambaのポートが開いてることを確認
ソースの確認
devノートを確認してくれというコメントが
(Viteとかでビルドすればコメントとかは消えるよね)
隠しディレクトリ探し
gobusterで検索。developmentというディレクトリを発見
ファイルを確認すると,Jという人のパスワードが弱そうであることが分かった。
Sambaへのアクセス
Sambaは初めて知りました。ファイル共有サービスと聞くとTorrentとかを想像してしまう。
Windowsシステムと他のオペレーティングシステム(特にLinuxやUnix系)の間でファイル共有やプリンター共有を可能にするオープンソースのソフトウェア
smbclientでアクセスできる
sudo apt install smbclient
アクセスすると,Anonymasという怪しい共有ディスクを発見。(なぜ怪しいのか良く分からないが天下り的に進める)
staff.txtというファイルがあるので,ダウンロードして確認する。
エンジニアのやりとりからJanというスタッフがいることがわかり,先ほど脆弱なパスワードを設定しているスタッフJがJanという名前であると推測。
sshへの辞書攻撃
脆弱なパスワードを設定しているJanについて,sshへ辞書攻撃をかける
hydra -l jan -P /usr/share/wordlists/rockyou.txt ssh://10.10.13.35 -t 4
15分ほどかかってパスワードが判明。(本では30分ほどかかったとのこと)
色々探すと別のkayというユーザーのsshの秘密鍵の閲覧権限があり,kayもログインできそう
その後,秘密鍵を取得することはできても,パスフレーズが分からずに諦めた。
Roomのタスク
最後のタスクはKayのパスワードを求めること。
Roomのヒントを使い,探索。
LinEnumを使い,脆弱性を調べる。
LinEnumとは,Linuxシステム上で特権昇格(権限昇格)の可能性のある脆弱性を自動的に検出するための監査ツール
LinEnumをインストール
git clone https://github.com/rebootuser/LinEnum.git
LinEnum.shをscpでターゲットの/tmp/に配置。(homeディレクトリは書き込み許可が無かったため)
LinEnum.sh
を実行して,/etc/passwd
, /etc/shadow/
が閲覧できることが分かった
/etc/shadow/には各ユーザーのパスワードのハッシュが記録されている。
Kayのハッシュを取得。
John the Ripperを使い,ハッシュからパスワードを求める(ようとした)
John the Ripper(通称「John」)は、最も有名で広く使われているパスワードクラッキングツールの一つです。主にパスワードハッシュからプレーンテキストのパスワードを復元するために設計されたオープンソースのセキュリティツール
John the Ripperも基本的に辞書的なクラッキングで,オフラインで実行できるが,探索に時間がかかる。
sudo apt install john
john hash.txt
30分ほど待っても,パスワードが求まらなかったようで,今日は諦めた。
サマリー
- LinEnum: 特権昇格に関する脆弱性の検出ツール
- John the Ripper: ハッシュからパスワードを求めるツール
ぼやき
本のDay2の内容は理解したが,Day2で扱ったRoomはクリアできず,悔しい