見出し画像

7日間でハッキングをはじめる本~TryHackMeを使って身体で覚える攻撃手法と脆弱性~サポートページ

どうも、野溝のみぞうです。最近、7日間でハッキングをはじめる本という本を書きました。

大変好評をいただいておりまして、発売日に増刷が決まったり賞をいただいたり、びっくり嬉しい悲鳴を上げております。お買い上げいただいた方、ありがとうございます。

当noteの位置づけ

本書で取り上げているTryHackMeというWebサービスの性質上、執筆時点より変わってきているところや、単純に筆者の不手際で間違ってたところなどが見つかっています。

正誤表を見ていただいても良いのですが、説明などを詳しく書きたかったのでサポートページを作成しました。もし本書を進めていくなかで困ったことがあったらこのページを確認いただけると問題が解決するかもしれません。このページは今後も気がついたら更新していきます。(※ページ番号は初版時点のものです)

【注意】コメント対策のため有料記事扱いにしていますが、全文を無料で読むことができます。もし情報が役に立った方でチップをあげても良いと思われた方はご購入いただけると嬉しいです(強制ではありません)


全体:ローカルマシンのIPアドレスが違う

変わったようです。

本書では、ローカルマシン(自分が操作する端末)のIPアドレスを「10.△.△.△」としていましたが、TryHackMe側の構成変更で「192.168.△.△」に変わりました。特に演習に影響はありませんので、適宜読み替えてください。

全体:TryHackMeのフラグを入力するところが「submit」じゃなくて「Check」になってる

変わったようです。気にせず読み替えてください。

全体:URLがなんか違う

旧)https://tryhackme.com/r/room/hogehoge
新)https://tryhackme.com/room/hogehoge

って感じに変わったようです(r/がなくなった)。いまのところはリダイレクトされるのであんまり問題ないと思いますが気になる方は読み替えてください。

Day1 ハッキングの準備をしよう

- P13:VirtualBoxのインストールで重大なエラーが出る?

大変申し訳ないのですが「重大なエラーが出た」とだけ言われてもお答えしかねます。また、仮に詳細に事象を教えていただいたとしても、筆者の環境で発生したことがないので、必ず解決できるとはお約束できません。このケースはこうすればいい、というのがわかればお伝えしたいとは思いますが、検索してもわからないのであれば環境依存なことが多いと思います。

というわけで、「Try Harder」としか言いようがないことも多いのですが、それではあまりに無慈悲なので、もしかしたらこれで解決するかも?というアイデアを書いておきます(回答に満足しなくても怒らないでください)

①バージョンを変えて試してみる?

現時点の最新バージョンはダウンロードページのここからダウンロードができます(執筆時点と大分サイトの雰囲気が変わっていてびっくりしました)

ダウンロードページのここ

もし「最新バージョンを使っているのにうまくいかない」という場合は、過去バージョンで試してみるとどうでしょうか?
過去バージョンは右下からダウンロードできます。あんまり古すぎるのはセキュリティ的な懸念がある可能性があるので使わないほうがいいとは思います。

右下のPrevious Releases

②代わりにVMware Workstation PROを使う

仮想化ソフトとしてOracle VirtualBoxと同じくらい有名なものに、VMware Workstationがあります。執筆時点では有償のソフトだったのでご紹介していないのですが、2024年5月から個人利用であれば無償で利用できるようになりました。ちなみに筆者は以前からVirtualBoxよりもVMware Workstation PROを使うことが多いので、執筆時期がもう少し遅かったらDay1はVMwareの方の手順になったと思います(比較的動作が軽快でストレスが少ない気がする)ということで、VirtualBoxのインストールができない場合はこちらを試してみてはいかがでしょうか。

インストール手順はいろんな方が解説してくださっているので紹介させていただきます。他にもあるのでわからなければ検索してみてください。そのうち自分でも記事書くかもしれないけど。

インストール後は「仮想マシンを開く」でkaliのovaファイルを選択してインポートしましょう。そこから先はP17~の手順と同じです。

③どうしても無理なときはAttackBoxを使う

どうしても解決できないときの最終手段としてAttackBoxというものがありますので、本書のP237をご確認ください。

AttackBoxを使えば環境構築をスキップして先に進むことができるので、その場合はDay1を無視してDay2から進めることができます。AttackBoxを使うことはデメリットもあるのですが(それも本に書いているので読んでね)、とりあえず先に進めなくなることはなくなるので、最終手段としてはこちらもご検討いただくと良いかなと思います。

- 設定ボタンが見当たらない

kaliのバージョンアップでP19の[Settings]やP33・P36の[設定マネージャー]のボタンの位置が変わりました。

ちょっとわかりにくいですがドラゴンボタンから右下のところをクリックするとそのままいけます

- P35:設定してるのにスリープが切れない

Kaliのバージョンアップで設定が必要な場所が変わったようです。[設定マネージャー]>[Xfce Screensaver]を開きます

[設定マネージャー]>[Xfce Screensaver]

ここのスクリーンセーバーとロック画面のトグルボタンをオフにしてください。

オフにする

- VPNやターゲットマシンに接続できない

恐らく2025年11月~12月くらいにかけてTryHackMeのVPNサーバに変更があり、今まで接続できていた方がうまく接続できなくなってお問い合わせをいただくこということが増えています。
以前設定を行って久しぶりに続きをやるぞ、という方は改めてファイルのダウンロードが必要かもしれないのでご確認ください。

P42:VPNの設定ファイルのダウンロード方法が本と違う

TryHackMeの画面やしくみが一部変更になったようです。本書の発行は2024年8月のため、一部スクリーンショットが違ったり、手順が変更になった部分がありますのでフォローします。

VPN接続用のファイルをダウンロードする

①右上の自分のアイコンをクリックして[Manage Account] > [VM and VPN settings]をクリック

Manage account画面

②VM Regionで「Asia Pacific(Mumbai)」を選択
※日本在住の方の場合。もし国外にいる場合は近そうなところを選んでね

VM Regionの選択

人によっては(?)確認画面が表示されるかもしれませんが気にせず「Change Region」をクリックします。

実行中のマシン(なくても)が止まるよって言われてるだけなので気にしない

③ちょこっと下にスクロールして「Download Regular Configuration File」を選択すると設定ファイルがダウンロードできます

VPN設定ファイルのダウンロード

ルームを進めていくと「別のRegionの方がいいよ!」という趣旨のメッセージが表示されることがあるのですが(どうやらアジアリージョンはまだできたばかりで不安定な部分があるようです)、それに従ってRegionを変えた場合はVPN設定ファイルもダウンロードし直す必要があります。

P43~P47 VPN接続用の設定ファイルの名前が変更になりました

上記の手順でダウンロードできる設定ファイルですが。
以前は、「<TryHackMeのユーザー名>.ovpn」という名前だったのですが、今は「ap-south-1-<TryHackMeのユーザー名>-regular.ovpn」みたいな名前に変更になったようです。(ap-south-1の部分は人によるかもしれませんし今後変更になることがあるかもしれないので参考のみとしてください。あと課金してる人は最後のregularのところがpremiumってなるようです)

ということで、P43~P47に記載のあるターミナル内の.ovpnファイルについては、適切に読み替えていただくようにお願いします。古い.ovpnファイルをお持ちの方はもう使わないので削除して前項の手順でダウンロードし直してください。

また、すでにP47のショートカットをすでに設定してしまったよ、という方や、これから設定するというかたは、以下のコマンドを実行してファイル名を以前の状態と揃えていただくとわかりやすいかと思います。

# ダウンロードしてきたVPNの設定ファイルの名前を「<ユーザー名>.ovpn」にする

mv ~/vpn/ap-south-1-<TryHackMeのユーザー名>-regular.ovpn ~/vpn/<TryHackMeのユーザー名>.ovpn

たとえばユーザー名が「nomizou」の場合はこんな感じです。

ファイル名をnomizou.ovpnに変更する

これをP43の最後とかにやっておいていただくと、あとのページは読み替える必要がなくなるので便利です。

P44 右上にローカルマシンのIPアドレスが表示されない

KaliのUIの変更で表示されなくなったようです。これが正常なので気にせず先に進みましょう。

P45 VPNの接続確認をする

なんかちょっと前までVPNの接続確認画面がおかしくてたくさんお問い合わせをいただいたいていたのですが、どうやら直ったようです(よかったね)
そんなに迷わないかもしれませんが、VPN接続後に
右上のアイコン>[Manage account]>[VM and VPN Settings]画面の
Access via OpenVPNの項目で見ることができますのでご確認ください。

Connectionが緑になったらおっけー

- ルームの検索場所が変わった

P57~P58で紹介している検索ですが、TryHackMeのUIが変更になって、ルームの検索方法も変わりました。まあだいたい雰囲気でわかるかと思いますがWalkthroughsの場合はこうです。

[Learn]>[Walkthroughs]
ルームの検索方法はだいたい一緒です

Day2 はじめてのハッキング

- P61:VPN接続が確認できない

KaliのUIの変更でVPN接続が成功していても右上にIPアドレスが表示されることはなくなったようです。これが正常です。
マシンに対してpingコマンド(P52参照)が通っていれば問題なく次に進んでください。

右上に注目

- P67:ディレクトリ探索の結果が返ってこない

ターゲットサイトのディレクトリとファイル探索のためにdirbコマンドを使うのですが、あまりにも表記が自然すぎてコマンドを間違えてることに気づきませんでした。申し訳ありません。これは正誤表にも載ってますし、2刷以降は修正されているはずです。

誤)
┌──(kali㉿kali)-[~/7DaysHacking/Day2]
└─$ dirb http://10.○.○.○/usr/share/dirb/wordlists/small.txt
正)
┌──(kali㉿kali)-[~/7DaysHacking/Day2]
└─$ dirb http://10.○.○.○ /usr/share/dirb/wordlists/small.txt

本文にもある通り、辞書ファイルは2つ目の引数として指定することが必要なので、めっちゃわかりにくいですが、ターゲットマシンのIPアドレスと /usr/share/dirb~の間に半角スペースをいれてください

スクショだとこんな感じ。上が誤り、下が正しい方です。URL_BASEのところがターゲットマシンのIPアドレスのみになるのが正しいです。

上の例だと「http://10.10.177.79/usr/share/dirb/wordlists/small.txt/」の下のディレクトリを探しに行ってしまうので、一生結果が出てきません。ごめん。

Day3 悪用禁止のエクスプロイトを試してみよう

- P91:IPアドレスの表記が間違ってる

本書ではターミナル内のターゲットマシンのIPアドレスについては「10.〇.〇.〇」って統一してたはずなのですが、「10.10.13.75」って残ってしまってます。すいません原稿書くときに普通に消し忘れました。気にせず読み替えて先にお進みください。

- P100:ローカルマシンのIPアドレスが表示されない

KaliのUIの変更で表示されなくなったようです。これが正常です。IPアドレスの確認は「ip a」コマンドかTryHackMeの画面で行うことができます。

- P102:エクスプロイトが失敗する

「失敗しました、どうしたらいいですか」というお問い合わせをたまにいただきます。本にも書いたのですがこのエクスプロイトは失敗することも結構多いです。あきらめないでください。

うまくいかなかったら何回か試したり、マシンの再起動をしたり、VPNを接続し直したりしてから、再チャレンジしてみましょう。TryHarder!

- P110:カンマじゃない

ダンプしたデータを確認するくだり。データを区切っているのはカンマではなくコロンです…なんかいつも言い間違えるんですよね…ごめん

- P113:RDPのコマンドが違う

Kaliのバージョンアップによって xfreerdp コマンドが xfreerdp3 コマンドになったようです。古い方使おうとするとメッセージが出るのでそんなに困ってる人いないかもしれないですがこれが正常なので気にせず3の方使ってください。オプションとかはそのまま使えますのでそのままどうぞ。

- P114:リモートデスクトップ接続時のオプション

オプションに /sec:rdp というのがあるのですが、説明書きが違いました。ごめんなさい。

xfreerdpコマンドでRDP(リモートデスクトッププロトコル)接続を行う際に、接続時に使用するセキュリティプロトコルを指定するためのものですが、正しくは「RDPプロトコルのセキュリティを強制する」などが正しいです。

FreeRDPのマニュアルはこちら

Day5 Webフォームから侵入しよう

- P171:FATAL: Invalid URL format: -R/と表示される

すいません…またdirb関係です。コマンド長くなるので間違えがち。

┌──(kali㉿kali)-[~/7DaysHacking/Day5]
└─$ dirb -R http://10.○.○.○:3333 /usr/share/dirb/wordlists/small.txt

-----------------
DIRB v2.22    
By The Dark Raver
-----------------

(!) FATAL: Invalid URL format: -R/
    (Use: "http://host/" or "https://host/" for SSL)

-Rオプションはホスト名にしか使えないって言われた。おそらく最後に原稿を校正したときにコマンドの順序を入れ替えたせいで発生したミスです。確認不足でした…ごめんなさい。

対応としては「-R オプションをつけずに実行してください」実はdirbはデフォルトで再帰的な検索をしてくれるのでオプションは不要らしい。

オプションつけたい場合は最後につけます。

┌──(kali㉿kali)-[~/7DaysHacking/Day5]
└─$ dirb http://10.○.○.○:3333 /usr/share/dirb/wordlists/small.txt -R 

このやり方でも良いです。この場合は再帰的検索をするか確認されるのでより丁寧(というか本の中でやってるやり方はこれです)

- P176:ディレクトリインデックス機能

これ文脈上「ディレクトリリスティング機能」が正しいです。なんで間違えてしまったんだ私よ…。ディレクトリインデックス機能でも解ってる人なら意味は通じそうな気もするけど…P173の太字部分と整合性がとれてないので次機会があったら直してもらいます…。

Day6 ActiveDirectoryのハッキング実践

- P223:hashcatでハッシュタイプを調べても出てこない

オプションが違います。これ絶対執筆時点では検証してるはずなのできっとどこかのタイミングで変わったんだと思います。「-h」じゃなくて「-hh」オプションを使うとよいです。

┌──(kali㉿kali)-[~]
└─$ hashcat -hh |grep Kerberos
  19600 | Kerberos 5, etype 17, TGS-REP                              | Network Protocol
  19800 | Kerberos 5, etype 17, Pre-Auth                             | Network Protocol
  28800 | Kerberos 5, etype 17, DB                                   | Network Protocol
  32100 | Kerberos 5, etype 17, AS-REP                               | Network Protocol
  19700 | Kerberos 5, etype 18, TGS-REP                              | Network Protocol
  19900 | Kerberos 5, etype 18, Pre-Auth                             | Network Protocol
  28900 | Kerberos 5, etype 18, DB                                   | Network Protocol
  32200 | Kerberos 5, etype 18, AS-REP                               | Network Protocol
   7500 | Kerberos 5, etype 23, AS-REQ Pre-Auth                      | Network Protocol
  13100 | Kerberos 5, etype 23, TGS-REP                              | Network Protocol
  18200 | Kerberos 5, etype 23, AS-REP                               | Network Protocol

Day8 今後の指針

- P286:ラーニングパスの検索場所が違う

TryHackMeのUI変更で若干変わったみたいです。ここです。

[Learn]>[Paths]

その他困ったときには

ここに載ってないことで困ったことがあったときに解決のヒントを掲載しておきます。

翔泳社公式の正誤表

正誤表を作成いただいております。翔泳社のサイトで本を購入していなくても正誤表は見ることができます。けっこう見やすいです。

Xに頼る

X(Twitter)のハッシュタグ #7日間ハッキング で進捗をつぶやいてくださっている方がいるので見てみると参考になるかもしれません。

つぶやきまとめページはこちら

TryHackMe公式コミュニティを覗いてみる

ページ数の関係で紹介できなかったんですが、TryHackMeには公式Discordがあります。

参加の方法はこちら(↓)

https://help.tryhackme.com/en/articles/6495858-discord-how-do-i-verify-my-tryhackme-account

前述のAccessページの不具合などは、このコミュニティ内でも質問がされていたりします。困ったことがあれば検索すると解決策が見つかるかもしれません。

AIに聞く

接続できないなどの個別環境起因のトラブルの場合は、AIに聞いたほうが解決が早いことがあります。困って立ち往生するくらいなら活用していきましょう。

以上!TryHarder!

【注意】当記事はコメント対策のため有料記事扱いにしていますが、全文を無料で読むことができます。お買い上げいただいても情報は増えません。もし情報が役に立った方でチップをあげても良いと思われた方はご購入いただけると嬉しいです(強制ではありません)

ここから先は

0字

¥ 300

Amazon Payで支払うと最大2%還元のチャンス! 9/30まで

この記事が気に入ったらチップで応援してみませんか?