20211128のLinuxに関する記事は5件です。

VirtualBoxでKali Linuxから仮想マシンにハッキングしてみる~環境構築編~[Windows10]

はじめに この記事は前編で、Windows機に各種VMの環境構築を行うまでの記事です。 後編リンク(準備中) 最近、情報処理安全確保支援士を受験したり、「王様達のヴァイキング」を読んだりしたおかげでハッキングという言葉が自分の中でブームになっています。 思えば中二病全盛期の頃に「Blody Monday」をドラマで見てからずっと憧れていたのに、「ハッキングって実際やったら捕まるんでしょ・・・?」と弱腰になってずっと敬遠していました。 ところが現実には「ペネトレーションテスト(略してペンテスト。かっけ~)」と呼ばれる、システムやサーバーを実際にハッキングしてセキュリティに問題がないか検査するお仕事があることを最近知りました。 そんなこんなでついに自分も実際にやってみようと思い、参考記事など見ながらトライしてみたので記録します。 他人や他社のサービス、サーバー等へ許可なしに攻撃を実行した場合は犯罪行為となります。 本記事を参考に他人や他社に害を与えたとしても一切の責任を負いません。 動作環境 ローカルマシン: Windows10 仮想化ソフト: VirtualBox 攻撃用仮想マシン: Kali Linux 攻撃対象の仮想マシン: Metasploitable2 Kali Linuxとは 攻撃用のツールが350種以上もプリインストールされているまさにハッキング用Linuxです。そのため使用には十分な注意が必要です。 Metasploitable2とは あえて脆弱性を仕込んでいるサーバーです。ハッキング練習用として最適といわれています。 環境構築 VirtualBoxのインストール まずはVMを立ち上げるための下準備をします。すでにインストール済みであれば「Kali Linuxの導入」にスキップして大丈夫です。 下記リンクから最新版の「Windowsホスト」パッケージをDLし、インストールを完了します(デフォルト設定でOKです) https://www.virtualbox.org/wiki/Downloads 同じく上記サイトから「VirtualBox 6.1.28 Oracle VMVirtualBox拡張パック」をDLします。 VirtualBoxを起動し、「ファイル」>「環境設定」を開きます 「機能拡張」を選択し、画面右の「+」ボタンをクリックします。 DLした拡張パックファイルを選択し「開く」をクリックします。 「インストール」をクリックします。インストールが完了したらVirtualBoxの準備は完了です。 Kali Linuxの導入 続いてKali Linuxイメージをインポートし、起動まで行います。 以下のページからKali LinuxイメージファイルをDLします。 https://www.kali.org/get-kali/#kali-virtual-machines VirtualBoxを起動し、「インポート」をクリックします。 DLしたイメージファイルを選択し「次へ」をクリックします。 保存先に問題なければ「インポート」をクリックします。 VirtualBox上にKali Linuxが表示されているはずなので、こちらを起動します。 Kali Linuxが立ち上がるのでログインします。 ID:kali パスワード:kali ログインできたらKali Linuxの準備は完了です。 Metasploitable2の導入 最後にMetasploitable2イメージのインポートから起動、設定まで行います。 Metasploitable2イメージのインポート 下記のページからイメージファイルをDLします。 https://sourceforge.net/projects/metasploitable/ VirtualBoxを起動し、「新規」をクリックします。 「名前:任意の文字列」、「タイプ:Linux」、「バージョン:Ubuntu」を選択します。その後ハードディスク項目の右下にある「フォルダ」ボタンをクリックします。 「追加」ボタンをクリックします。 DLしたイメージを選択します。 「作成」ボタンを押します。 VirtualBoxの画面上にMetasproitableが表示されますので、選択した状態で「設定」ボタンをクリックします。 「ネットワーク」タブにて「ホストオンリーアダプター」を割り当てます。 VirtualBoxのトップ画面に戻り、「起動」をクリックしてCLIが起動をすることを確認します。 ※エラーが発生して起動に失敗する場合、以下の記事を実践することで解決するかもしれません。 https://qiita.com/0xC0FFEE/items/ae80a7d767144c2e1992 Metasploitable2にログインします アカウント:msfadmin パスワード:msfadmin 日本語キーボードへの変更 端末が日本語キーボードの場合のみ行います。 CLI上でsudo loadkeys jpコマンドを実行します。 「etc/network/interfaces」の編集 自動IP設定から固定IP設定に変更します。「etc/network/interfaces」ファイルを編集することでIPアドレスを変更できます。 sudo cat /etc/network/interfacesコマンドを実行し、現在の状態を確認します。 ホストマシン上で、「VirtualBox Host-Only Ethernet Adapter」のIPアドレスを確認します。 Metasploitable2側に戻り、固定のIPアドレスになるようファイルを編集します。 IPアドレスは上記で調べたIPアドレスと同じセグメントになるよう設定します。今回は「10.0.0.5」に設定。 msfadmin@metasplooitable:~$ sudo vi /etc/network/interfaces # The primary network interface auto eth0 iface eth0 inet static address 10.0.0.5 netmask 255.255.255.0 gateway 10.0.0.1 sudo /etc/init.d/networking restartコマンドを実行し、設定を反映します。 ifconfigでIPアドレスが設定した値になっていることを確認します。 最後にホストマシンに向けてpingを打って疎通が取れることを確認したら環境構築完了です! ※pingが飛ばない場合はこちらの記事を参考にしてみてください 【VMware】ホストとゲスト間で通信ができない場合の対処方法 最後に ハッキング実践編(準備中)に続きます! 「王様達のヴァイキング」はいいぞ。 参考記事 VirtualBoxでKali Linux仮想マシンを作る VirtualBox 6.1.2 に脆弱なLinux「Metasploitable2」を導入 VirtualBoxでVMWareイメージを使う
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

WSL2(Ubuntu)にWindows側の.sshフォルダへのシンボリックリンクを作成する

概要 タイトルの通り、WSL2上で動作しているUbuntuにWindows側の%USERPROFILE%\.sshフォルダへのシンボリックリンクを作成する方法について記載する。 環境 Windows 11 Pro (OSビルド: 22000.348) Ubuntu 20.04.3 LTS 前提 既にWindows側の%USERPROFILE%\.sshが存在すること。 WSL2導入済みなこと。(WSL1では未確認のため) 結論 行頭の[Ubuntu] or [Windows]はコマンドを実行する環境。 [Ubuntu] /etc/wsl.confを以下の内容で作成する。既に存在する場合は追記する。 [automount] options = "metadata" [Windows] WSLを再起動する wsl --shutdown [Ubuntu] シンボリックリンクを作成する # [USERNAME]は環境に合わせて書き換えてください ln -s /mnt/c/Users/[USERNAME]/.ssh ~/.ssh [Ubuntu] .sshフォルダのパーミッションを変更する # [USERNAME]は環境に合わせて書き換えてください chmod 0700 /mnt/c/Users/[USERNAME]/.ssh chmod 0600 /mnt/c/Users/[USERNAME]/.ssh/* 終わり 注意点 上記の1と2の作業をし忘れると、パーミッションを変更できず、秘密鍵を利用する際に怒られるので注意。 何故シンボリックリンクを作成するのか Windows上で管理している秘密鍵を使って、WSL2のUbuntuからGitHubへssh接続したいため。 以前はWindowsからUbuntuにコピーして運用していたが、configファイルの変更をUbuntu側に反映させ忘れたりとオペレーションミス的なことが頻発していてストレスだった。 ならシンボリックリンク作ればいいじゃん!!という至極当然のお話。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

バッチという存在を初めて知ったので備忘録

目的 バッチという存在を初めて知ったので備忘録 結論 起動すると指定したアプリやWEBサイト、ファイルなどを起動できるらしい。 使ってみた。 私はMacで利用 Windowsはstartで始めるらしい。 WEBサイト開きたい時  ●open URL アプリケーションを開きたい時  ●open -a <アプリ名>  *[アプリ名] の場所にはパスも記載。 感想 これは便利!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

主に使うファイル検索オプション

既出だと思うけど、メモ程度に ファイル検索 zombie:~/working$ ls aaa.txt dmy python_file zombie:~/working$ ls ./dmy/ abb.txt abc.txt abc2.txt abc22.txt abc3.txt findコマンド 何もオプションつけずに.(コロン)だけ →ディレクトリとその配下にあるファイルを表示 zombie:~/working$ find . . ./aaa.txt ./python_file ./python_file/showHex.py ./dmy ./dmy/aaa.txt ./dmy/abb.txt ./dmy/abc22.txt ./dmy/abc3.txt ./dmy/abc.txt ./dmy/abc2.txt ファイル名が分かっている場合(ワイルドカードなし) zombie:~/working$ find . -name aaa.txt ./aaa.txt ./dmy/aaa.txt ワイルドカード使っての検索 →【-name】を使用 zombie:~/working$ find . -name aa* ./aaa.txt ./dmy/aaa.txt ディレクトリ(ファイル)だけ指定 →【-type d (-type f)】を使用 zombie:~/working$ find . -type d . ./python_file ./dmy 検索該当以外のものを表示 zombie:~/working$ find . -not -name aa* . ./python_file ./python_file/showHex.py ./dmy ./dmy/abb.txt ./dmy/abc22.txt ./dmy/abc3.txt ./dmy/abc.txt ./dmy/abc2.txt
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

M1MacBookでCentOSを使えるようにする【DockerHubからCentOSイメージを取得】

前提条件 OS MacOS Monterey 12.0.1 CPU Apple M1(arm64) Docker Docker Desktop 4.2.0 (70708) CentOS CentOS Linux release 7.9.2009 (AltArch) やりたいこと 記事名のとおりです。 手順 1 M1MacBookにDockerをインストール Docker desktopをインストールします。 (M1をお使いの場合は、Apple chipの方をインストールしてください) 2 Dockerデーモン起動のためのコマンドをMacのターミナルに入力 (中央に示されたコマンドをコピペします) % docker run -d -p 80:80 docker/getting-started Dockerデーモンが起動すると思います。 ⇨イメージ名「docker/getting-started」を用いたコンテナを新規作成してます。 【コマンド詳細(オプション)】 -d: コンテナーをデタッチ(detached)モード、つまりバックグラウンドで実行し、コンテナIDを付与します。 --detach Run container in background and print container ID -p 80:80: ホストの 80 ポートをコンテナーの 80 ポートにマッピングします。 -p, --publish list Publish a container's port(s) to the host 3 Docker HubからCentOS7のイメージを取得(pull) % docker pull centos:centos7 ●イメージ取れたことを確認 % docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos centos7 dfc30428e163 8 weeks ago 301MB docker/getting-started latest 613921574f76 5 months ago 26.7MB ①docker desktopを起動したときに使ったdocker/getting-startedのイメージと、 ②先ほどpullしたCentOSのイメージ   の2つがきちんと取得できていることが分かります。 4 取得したイメージを使ってコンテナを作成 % docker run -it -d --name centos7 centos:centos7 【コマンド詳細(オプション)】 -nameオプションはそのまま、コンテナにCentOS7という名前をつけるために使っています。 オプションの「-it」の意味は下記。 【-iオプション】 Dockerホストとコンテナ内のシェルを接続したままにする -i, --interactive Keep STDIN open even if not attached ※interactive=対話、相互作用 ※STDIN=標準入力 【standard input】 【-tオプション】 コンテナ内のシェルが使用するttyを割り当てる -t, --tty Allocate a pseudo-TTY  Allocate=割り当てる  pseudo=擬似  ⇨コンテナで構築したCentOSのシェル(bash)へ擬似的に端末を割り当てる?という意味合いかと思います(すいません、上手く表現できません。。。) 【-dオプション】 前述の通りです。 % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0a412e1af0a1 centos:centos7 "/bin/bash" 8 seconds ago Up 8 seconds centos7 6a588ccfd4cf docker/getting-started "/docker-entrypoint.…" 29 minutes ago Up 29 minutes 0.0.0.0:80->80/tcp quirky_carson ↑作成したコンテナが起動したことを確認。 起動中のコンテナを一覧表示(List containers)するコマンドです。 ※psコマンドは Linuxコマンドにおいて「Process Status」(実行中のプロセス表示)の意味で登場します。 5 作成したCentOSコンテナ内でLinuxコマンドを使えるようにする コンテナが無事起動したら、CentOSを動かせるようにします。 docker exec -it centos7 /bin/bash ※ exec=execute(実行する) 【docker exec】 docker execコマンドは、指定したコマンドやスクリプトなどを、指定したコンテナ内部で起動することができます。 exec Run a command in a running container   (起動中のコンテナ内でコマンドを実行する)  ⇨ここでは、CentOSのコマンドを実行できるようにする、ということですね。 オプションの「-it」の意味は前述の通りです。 【centos7 /bin/bash】 コンテナ名 / コマンド ※コマンドは、上記docker -psの時にCOMMANDとして出力されています 初回はここまでの手順を踏むことで、CentOS環境が構築できます。 6 次回以降の起動 1.Docker desktopを起動 2.Macターミナルにて、 docker start centos7 CentOS7コンテナが起動するので、初回同様、rootユーザとして CentOSのシェルにコマンドを叩けるようにします。 docker exec -it centos7 /bin/bash ありがとうございました。 補足 Macのターミナルで docker --help docker run --help と入力すれば、オプションなどのコマンドの詳細が得られます。全て英語で読みづらいですが、ネットに転がっている情報は色んな解釈や加工がされている可能性がある分、--helpで呼び出せる情報が最も正確だと言えるかもしれません。 各手順で入力したコマンドの詳細(英文のところ)などは、helpコマンドから抜粋しながら書いてます。 (今回登場したオプションを抜粋) (docker) -ps List containers -pull Pull an image or a repository from a registry -start Start one or more stopped containers -exec Run a command in a running container (docker run) -d, --detach Run container in background and print container ID -p, --publish list Publish a container's port(s) to the host (docker exec) -i, --interactive Keep STDIN open even if not attached -t, --tty Allocate a pseudo-TTY 注意点 上記手順でCentOS環境を作ると、rootユーザーでログインした状態になります。 参考サイト
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む