興味を持った理由
セキュリティに関する学習を進める中で、「7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性」という本をみつけ、実際にどういった脆弱性があるのか、どのように攻撃をするのか手を動かして体感することで、よりセキュアなソフトウェア開発に貢献できると思いました。
本書では7日間で一周できる内容になっているので、とっかかりやすそうだと思い選びました。
やってみた感想
- TryHackMeは日本語がないので取り掛かるハードルが少し高く、不安もありましたが、本書はわかりやす説明をしてくれているので、比較的ストレスなく進めることができました
- 1日目の課題から達成感があり、初めての人でも手応えを感じることができました
※某喫茶店のwifi環境だと環境構築時にエラーがあり若干つまづきましたが、帰宅してやると問題なく進めることができました。
今回学んだ攻撃について
nmapを使ったポートスキャン
nmap -sV -Pn -oN nmap.txt -v <ターゲットのIPアドレス>
nmapコマンドを使用することで下記のようにポートスキャンを行うことができます。
このようにポートの状態を調べることで使用中のポートの調査を行います。
- developmentとい名前のディレクトリが存在すること
- ディレクトリリスティングが有効になっていること
を確認できました。
辞書攻撃
Kali Linuxではdirbコマンドを使って辞書ファイルを使って、ファイル内のテキストと一致するディレクトリがないか調べることができました。
記載されているワードが多いほど時間がかかります。
今回は使用したsmall.txtは900ワードくらいでした。自分の環境だと大体15分くらいでした。
さらにhydraというツールを使うと、ユーザーID、パスワードまで割り当てることに成功しました。
BurpSuiteを使った通信の改ざん
BurmSuiteはWebアプリケーションセキュリティテストツールのひとつです。
リクエストパラメータに辞書ファイルをつっこんでパスワードを解析できました。
よく使われる簡易的なパスワードに設定しているとたやすく解読されてしまうことがわかりました。
ターゲットのパスワードである"admin123"の時のみステータスが200となっています。
管理者アカウントでログインすることに成功しました。
SQLインジェクション
今回使用したやられサイトではログインフォームにSQLインジェクションの脆弱性があったため、パスワードがなんであっても、とりあえず入力さえしていれば簡単にログインできました。
- レビューの評価変更や削除
- 会員情報の取得
などを行うことができました。
感想
このほかにも、OSINTとよばれる公開されている情報からIDやパスワードを推測するものや、ターゲットマシンから接続を試みるリバースシェルなど色々な攻撃手法を体験できました。
紹介したものは本書の内容全てではないですが、色々な攻撃手法を学ぶことができ、私自身もTryHackMeでの学習を継続したいなと思いました。
ゲーム感覚で楽しく遊ぶようにハッキング体験ができるので、興味のある方は是非どうぞ。