【ハッカー入門】日本語解説 TryHackMe 実践練習 Linuxを学ぶ

tryhackme TryHackMe

~第一弾 ハッキング基礎「Linux Fundamentals」を解く~

目的

linux

Hackingを学習するうえで「Linux」に精通していることは大きな武器です。
そんなLinuxの基本を学習します。
実際に手を動かして覚えていきましょう。

まだTryHackMeにサインアップしていない人は以下の記事を参考にしてください!

【ハッカー入門】TryHackMeを始めよう OpenVPN設定の仕方
画像たくさんでわかりやすい! ハッカー入門のためのTryHackMeを始める方法とOpenVPNの設定手順を詳しく解説します。初心者でも安心して学べる内容です

Part1

Task2 <A Bit of Background on Linux>
Research: What year was the first release of a Linux operating system?
J:Linux オペレーティング システムが最初にリリースされたのは何年ですか?

1991

Task4 <Running Your First few Commands>
1.If we wanted to output the text “TryHackMe”, what would our command be?
J:「 TryHackMe 」というテキストを出力したい場合、コマンドは何?

echo TryHackMe

2.What is the username of who you’re logged in as on your deployed Linux machine?
J:デプロイされた マシンにログインしているユーザー名は何ですか?

「whoami」 コマンドで確認!

tryhackme

Task5 <Interacting With the Filesystem!>
1.On the Linux machine that you deploy, how many folders are there?
J: フォルダーがいくつありますか?

「ls -d */」 コマンドで確認!


2.Which directory contains a file?
J:どのディレクトリにファイルが含まれていますか?

「ls -l *」 コマンドで確認!

folder4

3.What is the contents of this file?
J:このファイルの内容は何ですか?

cat コマンド

Hello World!

4.Use the cd command to navigate to this file and find out the new current working directory. What is the path?
J:cd コマンドを使用してfolder4に移動し、現在の作業ディレクトリを確認。パスは何ですか?

1.cdコマンドでfolder4に移動
2.pwdコマンドで現在いるディレクトリを確認

/home/tryhackme/folder4

Task 6 <Searching for Files>
1.Use grep on “access.log” to find the flag that has a prefix of “THM”. What is the flag?
J:grep を使用して、「access.log」ファイル内の「THM」というプレフィックス(接頭辞)を持つフラグを見つけます。FLAGは何ですか?

「grep “THM” access.log 」コマンドで確認!

THM{ACCESS}

Task 7 <An Introduction to Shell Operators>
1.If we wanted to run a command in the background, what operator would we want to use?
J:バックグラウンドでコマンドを実行したい場合、どの演算子を使用すればよいか?

2.If I wanted to replace the contents of a file named “passwords” with the word “password123”, what would my command be?
J:「passwords」という名前のファイルの内容を「password123」という単語に上書きしたい場合、どのようなコマンドを実行すればよいでしょうか?

echo passwords > password123

3.Now if I wanted to add “tryhackme” to this file named “passwords” but also keep “passwords123”, what would my command be
J:「passwords」という名前のファイルに、「passwords123」も保持し、「tryhackme」を追加する場合のコマンドは。

echo passwords >> tryhackme

Part2

Task 2 <Accessing Your Linux Machine Using SSH (Deploy)>
Kali linux等のLocal環境からTryHackMeのマシンに”SSH”を使用して接続します。
1.Start Machine クリック後しばらくすると「Target Machine Information」がでてくる。
2.Target IP Addressを確認。以下画像参照

linux2


3.OpenVpnに接続。(過去記事を見ていただければ)
4.ssh tryhackme@IP Address コマンドを実行 以下画像参照

linux3

5.Are you sure you want to continue connecting (yes/no/[fingerprint])?と聞かれるので、「yes」を入力し、Enter
6.パスワードを求められるので、今回はセクションは「tryhackme」を入力し、Enter
(パスワードは入力しても表示されません)
7.「tryhackme@linux2:~$ 」と表示され、接続成功!

※コマンド実行後なにも表示されない、動かない場合は「mtuを変更」
以下記事参照:TryHackMeを始めてみた【SSH接続失敗した人へ】
1.「ifconfig eth0 」コマンドでmtu値を確認

  1. sudo ifconfig eth0 mtu 1000」コマンドで変更
    (参考記事では mtu 500に変更しているみたいです)
    再び3からスタートしてみてください。
    それでもできない場合はOpenVpnが正常動作しているか確認、SSHコマンドで「-vvv」オプションを付けて、表示されたMessageで検索してみると解決できるかもしれません。
    頑張ってください。

Task 3 <Introduction to Flags and Switches>

2.What directional arrow key would we use to navigate down the manual page?
J:マニュアルページを下に移動するには、どの方向矢印キーを使用すればよいでしょうか?

down

3.What flag would we use to display the output in a “human-readable” way?
J:出力を「人間が読める」方法で表示するにはどのフラグを使用すればよいでしょうか?

“-l”や”-s”と組み合わせて使います。→ 「ls -lh

-h

Task 4 <Filesystem Interaction Continued>
1.How would you create the file named “newnote”?
J:「newnote」という名前のファイルはどのように作成しますか?

touch newnote

2.On the deployable machine, what is the file type of “unknown1” in “tryhackme’s” home directory?
J:デプロイ可能なマシン上で、「tryhackme」のホーム ディレクトリにある「unknown1」のファイル タイプは何ですか?

「file unknown1」コマンドで確認

ASCII text

3.How would we move the file “myfile” to the directory “myfolder”
J:ファイル「myfile」をディレクトリ「myfolder」に移動するにはどうすればよいでしょうか

mvコマンド

mv myfile myfolder

4.What are the contents of this file?
J:このファイルの内容は何ですか?

catコマンド

THM{FILESYSTEM}

Task 5 <Permissions 101>
1.On the deployable machine, who is the owner of “important”?
J:マシン上の「important」の所有者は誰か?

「ls -l 」コマンドで確認

user2

2.What would the command be to switch to the user “user2”?
J:ユーザー「user2」に切り替えるコマンドは何か?

su user2

4.Output the contents of “important”, what is the flag?
J:「important」の内容、フラグは何ですか?

THM{SU_USER2}

Task 6 <Common Directories>
2.What is the directory path that would we expect logs to be stored in?
J:ログが保存されると予想されるディレクトリ パスは何ですか?

/var/log

3.What root directory is similar to how RAM on a computer works?
J:コンピューターの RAM の動作に似ているルート ディレクトリはどれですか

/tmp

4.Name the home directory of the root user
J:rootユーザーのホームディレクトリの名前

/root

Part3

Task 2 <Deploy Your Linux Machine>
Part2同様 SSH接続する

Task 3 <Terminal Text Editors>
2.Edit “task3” located in “tryhackme”‘s home directory using Nano. What is the flag?
J:「tryhackme」のホームディレクトリにある「task3」をNanoを使って編集します。Flagは何ですか?

THM{TEXT_EDITORS}

Task 4 <General/Useful Utilities>
3.Download the file http://IP Address/.flag.txt onto the TryHackMe AttackBox. Remember, you will need to do this in a new terminal.
What are the contents?
J:ファイル http://IP Address/.flag.txtをダウンロード。TryHackMe AttackBox に追加します。新しいターミナルでこれを行う必要があることに注意してください。
内容は何ですか?

「wget http://IP Address /.flag.txt 」コマンド実行
Downloadsディレクトリ内にあるファイルの内容を確認

THM{WGET_WEBSERVER}

Task 5 <Processes 101>
2.If we were to launch a process where the previous ID was “300”, what would the ID of this new process be?
J:以前の ID が「300」であるプロセスを起動する場合、新しいプロセスの ID は何になるでしょうか?

301

3.If we wanted to cleanly kill a process, what signal would we send it?
J:プロセスを完全に強制終了したい場合、どのようなシグナルを送信すればよいでしょうか?

SIGTERM

4.Locate the process that is running on the deployed instance (IP Address). What flag is given?
J:デプロイされたインスタンス (IP Address) で実行されているプロセスを見つけます。どのフラグが与えられますか?

「ps aux | grep “THM”」コマンドで確認

THM{PROCESSES}

5.What command would we use to stop the service “myservice”?
J:サービス「myservice」を停止するにはどのようなコマンドを使用しますか?

systemctl stop myservice

6.What command would we use to start the same service on the boot-up of the system?
J:システムの起動時に同じサービス(myservice)を開始するにはどのようなコマンドを使用すればよいか?

systemctl enabled myservice

7.What command would we use to bring a previously backgrounded process back to the foreground?
J:以前にバックグラウンドで実行されたプロセスをフォアグラウンドに戻すには、どのようなコマンドを使用すればよいでしょうか。

fg

Task 6 <Maintaining Your System: Automation>
2.When will the crontab on the deployed instance (IP Address) run?
J:デプロイされたインスタンス (IP Address) の crontab はいつ実行されますか?

「crontab -e」で確認

@reboot

Task 8 <Maintaining Your System: Logs>
2.What is the IP address of the user who visited the site?
J:サイトにアクセスしたユーザーの IP アドレスは何ですか?

「cd /var/log/apache2」コマンド
権限確認し、読めるファイルの内容を確認する。

10.9.232.111

3.What file did they access?
J:彼らはどのファイルにアクセスしたのでしょうか?

catsanddogs.jpg

まとめ

今回はTryHackMeでハッキングで必要不可欠であるLinuxの勉強をしました。攻撃環境を構築すれば時間制限なしに学習することができるので、ぜひTryHackMeを使ってたくさん勉強してみてください。

ほかにもおすすめプラットフォームを紹介しているので、他の記事も読んでくれれば幸いです。

注意点

違法行為は絶対に行わない: 許可なく他人のシステムに侵入することは違法行為です。必ず、合法的な範囲内で実験を行いましょう。
倫理観を持つ: ハッキングは、倫理的な側面も考慮する必要があります。
情報漏洩に注意: 実験中に個人情報や機密情報が漏洩しないよう、十分に注意しましょう。