TryHackMe「Linux Fundamentals Part 1」

■ 目的 Linuxの基本操作を習得すること。ペンテストではGUIではなくターミナル操作が中心となるため、その土台を学ぶルームだった。これは「Linuxを学ぶ」のではなく、「ペンテスターになるためのLinux」を学び始めた最初の一歩。

■ 現在地 IT基礎 → Linux Fundamentals Part1【現在】→ Part2 → Part3 → Networking → Web → Enumeration → Exploitation → Privilege Escalation → 実践的なペンテスト 今日は攻撃ではなく、「攻撃するための言語」を学んだ。

■ Linuxとは LinuxはWindowsやmacOSと同じOS。軽量・高性能・カスタマイズ性が高く、Webサーバー、クラウド、Android、IoT、スーパーコンピュータなど世界中で使われている。ペンテスターが最も触れるOS。

■ GUIよりTerminal Windowsはクリック中心だが、Linuxサーバーはコマンド操作が基本。実務ではSSHで接続し、黒い画面だけで作業することがほとんど。

■ 今日一番重要だった考え方 Linuxは「現在地」を基準に動く。 pwdで現在地を確認し、その場所を基準にファイルを探す。例えばcat passwords.txtは、現在いるフォルダのpasswords.txtを開こうとする。場所が違えば同じ名前でも別ファイルになる。

■ パス(Path) Linuxではファイル名ではなく「場所」で区別する。 例: /home/tryhackme/access.log /home/tryhackme/folder1/access.log どちらもaccess.logだが別ファイル。ファイル名よりパスを見る癖を付ける。

■ 覚えたコマンド whoami:現在ログインしているユーザーを確認する。 echo:文字列を出力する。 ls:ファイル・フォルダ一覧を表示する。 cd:ディレクトリを移動する。 pwd:現在地を表示する。 cat:ファイル内容を表示する。 find:ファイル名から検索する。 grep:ファイル内の文字列を検索する。

■ シェル演算子 &:バックグラウンド実行。 &&:前のコマンドが成功したら次を実行。 >:出力をファイルへ保存(上書き)。 >>:出力をファイルへ追記。

■ find と grep の違い find:ファイルを探す。 grep:ファイルの中を探す。 この違いは非常に重要。

■ ペンテスター視点 Linuxでは「画面を見る」のではなく「情報を探す」仕事が多い。 cat config.php grep password config.php find -name "*.pem" のようなコマンドを頻繁に使う。Linux操作=情報収集能力と言ってもよい。

■ 今日覚えた基本の流れ ① lsで一覧を見る ② pwdで現在地を確認する ③ cdで移動する ④ catで中身を見る この流れは今後何百回も使う。

■ Tips ・Tabキーで入力補完できる。 ・↑キーで過去のコマンドを再利用できる。 ・迷ったらpwd。 ・catは移動しなくてもパス指定で読める。 ・同じ名前のファイルは別フォルダなら共存できる。 ・ファイル名ではなくパスを見る癖を付ける。

■ 実務での使用頻度 ★★★★★:ls、cd、pwd、cat、grep ★★★★☆:find、echo、> ★★★☆☆:>>、&& ★★☆☆☆:&

■ 今日一番大事な学び Linuxは「現在地」と「パス」で全てが決まる。この考え方を理解すると、コマンドが動く理由・動かない理由、同じ名前のファイルが存在できる理由などが全て説明できる。今日学んだ内容は、今後のLinux操作・CTF・ペンテスト実務の土台となる。

一覧へ戻る