スマホとラズパイだけで閉じたネットワークでWebサーバ・書き換えハッキングごっこ!サーバダウンもしてみる!
chatgptに画像生成(いらすと屋な感じ)してもらったけど、字が一部おかしいだけで、結構それっぽい感じになった!
ラズパイ4にSoftAPをインストールして、wifiのアクセスポイントにして、クローズドネットにしてみた。index.htmlがブラウザで見えれば成功!
1, ラズパイをアクセスポイント化(SoftAP + dnsmasq)
インターネット接続せずに、閉じたネットワーク内で遊ぶ
2, スマホでAP接続、ラズパイ上のWebサーバにアクセスしてトップページを表示
3, スマホSSHアプリ(Termius)からラズパイにSSH接続。index.htmlファイル書き換えする。htmlファイル追加もする
4, コマンドラインからサーバをシャットダウン!
自動構築スクリプト(Bash)
chmod +x setup-ap.sh
sudo ./setup-ap.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
#!/bin/bash # ★変数定義:必要に応じて編集してください SSID="RASPI_AP" PASSPHRASE="raspi123" WLAN_INTERFACE="wlan0" STATIC_IP="192.168.4.1" CHANNEL="7" COUNTRY_CODE="JP" # 1. パッケージのインストール echo "✅ パッケージをインストール中..." sudo apt update sudo apt install -y hostapd dnsmasq dhcpcd5 rfkill # 2. rfkillの解除 echo "✅ Wi-Fiブロック解除中..." sudo rfkill unblock all # 3. dhcpcd.conf の設定 echo "✅ dhcpcd.conf を設定中..." sudo cp /etc/dhcpcd.conf /etc/dhcpcd.conf.bak cat <<EOF | sudo tee -a /etc/dhcpcd.conf interface $WLAN_INTERFACE static ip_address=${STATIC_IP}/24 nohook wpa_supplicant EOF # 4. dnsmasq.conf を設定 echo "✅ dnsmasq.conf を設定中..." sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak cat <<EOF | sudo tee /etc/dnsmasq.conf interface=$WLAN_INTERFACE dhcp-range=192.168.4.10,192.168.4.50,255.255.255.0,24h EOF # 5. hostapd.conf を作成 echo "✅ hostapd.conf を作成中..." sudo mkdir -p /etc/hostapd cat <<EOF | sudo tee /etc/hostapd/hostapd.conf interface=$WLAN_INTERFACE driver=nl80211 ssid=$SSID hw_mode=g channel=$CHANNEL wmm_enabled=0 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=$PASSPHRASE wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP country_code=$COUNTRY_CODE EOF # 6. hostapdの設定ファイルパスを指定 echo "✅ /etc/default/hostapd を設定中..." sudo sed -i.bak '/^#DAEMON_CONF/ c\DAEMON_CONF="/etc/hostapd/hostapd.conf"' /etc/default/hostapd # 7. サービスを有効化・再起動 echo "✅ サービスを有効化・起動中..." sudo systemctl unmask hostapd sudo systemctl enable hostapd sudo systemctl restart dhcpcd sudo systemctl restart hostapd sudo systemctl restart dnsmasq # 8. 状態確認 echo "✅ サービス状態:" systemctl status hostapd --no-pager systemctl status dnsmasq --no-pager echo " アクセスポイント '$SSID' が $WLAN_INTERFACE に構築されました" |
ssh接続&コマンドのチートシート
cheat_sheet
もし有線LAN経由でWIFIでインターネット接続したい場合は、iptablesを導入して外部とパケット交換できるようにする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
sudo apt update # iptables がインストールされるのでNAT設定が可能に。 sudo apt install iptables # 1. IPフォワードを有効化 sudo sysctl -w net.ipv4.ip_forward=1 # 2. iptablesでNAT設定 sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # 3. フォワードチェイン設定 # Wi-Fi(wlan0)から来たパケットを有線LAN(eth0)へ通す許可を出す。 sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT # また、eth0 → wlan0 の戻りパケットも許可。 sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT # 4. iptables-persistent の導入と保存(iptables の設定が再起動後も自動で復元される) sudo apt install iptables-persistent sudo sh -c "iptables-save > /etc/iptables/rules.v4" # 5. IPフォワードも再起動後に自動で有効化(net.ipv4.ip_forward=1をコメントイン) sudo vi /etc/sysctl.conf # Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1 |