Open20

Learn | 「7日間でハッキングをはじめる本」の実施記録

TakayyzTakayyz

概要

書籍「7日間でハッキングをはじめる本」を読み進めながら記録を残していく。
表紙

TakayyzTakayyz

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

学び

  • 最小権限の原則: 必要なユーザーに必要な文だけ権限を与えて情報資産を守る

つまりpoint

つまりpointはコメントに流していく。

TakayyzTakayyz
  • Apple Silicon製チップ搭載のMacはVirtualxBoxでのKali Linuxの環境構築でひと手間要りそう
    → 書籍に記載がある通りVirtualBoxの代わりにUTMをインストールして構築。UTM GalleryにKali Linuxがあるのでダウンロード。(※時間かかる。結局4時間程かかった。)
TakayyzTakayyz
  • arm64のChromeはダウンロードできないのでChromeはダウンロードせずに進める
  • Chromeのダウンロードコマンド(一応)
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
TakayyzTakayyz
  • ターミナル上ではVPN接続成功しているけれど、TryHackMeの画面上ではRefreshしてもConnectedと表示されない...
TakayyzTakayyz
  • UTMではVMのスナップショットを作成するのにひと手間必要
    UTM-Snapshot-Managerを使う(※qemu-imgがインストール済前提)
    Xcodeでrepoをcloneしてbuildする。

    buildに失敗する...
    → そもそもxcodeを普段使いしないから、xcode開いた時にsign inできてなかったことが原因

TakayyzTakayyz

Day2: はじめてのハッキング

学び

  • nmapでのport scanにより空いているportとそのportで動いているサービスを特定できる
    • httpのportが存在する場合はブラウザでアクセスしてみる
    • Sambaなどのファイル共有サービスが動いている場合は共有フォルダの調査を行い、出力されたフォルダに接続
  • dirb:公開されているディレクトリ、ファイルを探せる(類似ツールとしてgobusterdirbusterがある)
    # /usr以降はホスト側の辞書ファイルまでのパス
    dirb http://10.x.x.x/usr/share/dirb/wordlists/small.txt
    
  • パスワード辞書はrockyou.txtというファイルが公開されている※これが全てではないがメジャーなもの
    → つまりこの辞書に登録されているパスワードは突破されやすい
  • hydraを使って辞書攻撃
    hydra -l {userName} -P /path/to/pwdictfile ssh://10.x.x.x -t {process}
    
TakayyzTakayyz
  • John the Ripperを使ってssh秘密鍵ファイルをクラック
    $ ssh2john /path/to/ssh-secret-key > hoge.txt
    $ john hoge.txt --wordlist=/path/to/rockyou.txt
    
TakayyzTakayyz

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

学び

  • 手始めはnmapでport scan
    • --script vulnオプションでnmapに付属するスクリプトを利用して脆弱性の検出が可能
  • RCE: Remote Code Execution
    • ネットワークを介して外部から不正コードを送信・実行させること
  • CVE-YYYY-NNNN: CVE IDという
    • Common Vulnerabilities and Exposures
    • YYYY: CVEが登録された年
    • NNNN: 一意な値
  • エクスプロイト: 攻撃に使うコード・実際に攻撃を行うことを指す
  • Metasploit Framework: エクスプロイトを行うツール
  • マシンへ侵入成功すると対象マシンのスクリーンショット等も撮れてしまう
  • HASH値について
    • MD5: 現在は非推奨
    • SHA256
    • SHA512
    • etc
  • port:3389: リモートデスクトッププロトコル(RDP)がデフォルトで利用するポート
  • xfreerdpコマンドでリモートデスクトップに接続
TakayyzTakayyz

Day4: よくある脆弱性を使って怪しいショップで遊ぼう

学び

  • OWASP Top10:Webアプリケーションの重大なセキュリティリスクをまとめたプロジェクト。脆弱性の解説や防止方法が記載されている為、自身でWebアプリケーションの脆弱性診断する為の指標の一つにしてもよさそう。
  • Burp Suite:ローカルプロキシの一種で、Webアプリケーションの脆弱性を試したり調べたりできる。
TakayyzTakayyz

手作業でインストールするしかないか
https://portswigger.net/burp/communitydownload

このYouTubeを元にインストール
https://www.youtube.com/watch?v=DWc2l2hD79A

と思ったら、インストーラ実行したら↓で怒られる...
シェルの中みた感じインストーラのファイルが置かれてるディレクトリを変数に持ってしまってるからjavaまでのパスがおかしなことになってる。

./burpsuite_pro_linux_arm64_v2024_7_6(1).sh: 653: /home/kali/Downloads/burpsuite_pro_linux_arm64_v2024_7_6(1).sh.34109.dir/jre/bin/java: not found