2025年3月6日 星期四

kali linux 如何獲得及變更root密碼

 在 Kali Linux 中,獲取或變更 root 密碼 需要根據不同的情況來操作。


1. 檢查 root 是否已啟用

Kali Linux 2020.1 之後,root 帳戶 預設是禁用的,所以需要先啟用 root

檢查當前用戶是否為 root

whoami

如果回傳:

root

代表你已經是 root,可以直接變更密碼。

如果回傳:

kali

代表你是 普通使用者,需要提升權限。


2. 變更 root 密碼

方法 1:使用 passwd 指令

如果已經是 root,可以直接執行:

passwd

然後輸入 新密碼(系統不會顯示輸入的密碼,輸入後按 Enter)。

如果你是 普通用戶(非 root,則需要先提升權限:

sudo passwd root

然後輸入 目前用戶的密碼,再輸入 root 密碼


方法 2:切換到 root 並變更密碼

如果 root 帳戶已啟用,則可以用 su 切換:

su

輸入 root 密碼後,執行:

passwd

然後輸入新的 root 密碼。


3. 如果忘記 root 密碼(重置密碼)

如果忘記 root 密碼,可以透過 單人模式(Single User Mode) 重置密碼:

步驟

1️⃣ 重新啟動 Kali Linux,在 GRUB 開機選單 中,選擇 Advanced options for Kali
2️⃣ 選擇 Recovery mode,按 e 來編輯選項。
3️⃣ 找到類似這一行:

linux /boot/vmlinuz-xxx root=UUID=xxxx ro quiet splash

ro quiet splash 改為 rw init=/bin/bash,變成:

linux /boot/vmlinuz-xxx root=UUID=xxxx rw init=/bin/bash

4️⃣ 按 Ctrl + XF10 啟動系統,這時你會進入 單人模式(root 權限)
5️⃣ 輸入:

passwd root

設定新密碼,然後執行:

sync
reboot

重新啟動後,就可以用新密碼登入 root


總結

情況解決方法
已知 root 密碼,想變更passwd
普通用戶變更 root 密碼sudo passwd root
忘記 root 密碼進入 Recovery Mode,使用 passwd root 來重設

[panel]伺服器管理面板(Control Panels)介紹

伺服器管理面板(Control Panels),用來幫助管理 Web 伺服器、資料庫、郵件服務等,以下是它們的比較與安裝方式:


1️⃣ cPanel

🔹 介紹:
cPanel 是最受歡迎的 Linux 伺服器管理面板,主要用於網站託管,支援 Apache、NGINX、PHP、MySQL、FTP、SSL 等功能。

🔹 需求環境:

  • 作業系統:CentOS、CloudLinux、AlmaLinux、Rocky Linux(不支援 Ubuntu、Debian)
  • 最低記憶體:1GB(建議 2GB 以上)
  • 最低儲存空間:20GB(建議 40GB 以上)
  • Root 權限

🔹 安裝方式(CentOS/AlmaLinux/Rocky Linux)

  1. 更新系統
    yum update -y
  2. 安裝 cPanel
    cd /home && curl -o latest -L https://securedownloads.cpanel.net/latest && sh latest
  3. 安裝後登入
    • 瀏覽器打開 https://your-server-ip:2087
    • 使用 root 帳號 登入
    • 需要購買或啟用 試用版 License

2️⃣ 1Panel(中國開源面板)

🔹 介紹:
1Panel 是一款中國開發的 輕量級 Web 管理面板,支援 Docker、Nginx、PHP、MySQL、Redis 等,適合個人站長或小型伺服器。

🔹 需求環境:

  • 作業系統:CentOS 7+/Ubuntu 20.04+/Debian 10+
  • 最低記憶體:1GB(建議 2GB+)
  • 最低儲存空間:10GB
  • 需要 Root 權限

🔹 安裝方式(適用於 CentOS/Ubuntu/Debian)

  1. 執行安裝命令
    curl -fsSL https://resource.fit2cloud.com/1panel/install.sh | bash
  2. 安裝後登入
    • 瀏覽器打開 http://your-server-ip:8000
    • 根據指示設定 管理員帳號

3️⃣ aPanel(寶塔國際版)

🔹 介紹:
aPanel(寶塔面板國際版)是一款免費且簡單易用的伺服器管理面板,適合個人與企業使用,支援 Nginx、Apache、MySQL、PHP、FTP、SSL 等。

🔹 需求環境:

  • CentOS 7+/Ubuntu 20.04+/Debian 10+
  • 最低記憶體:1GB
  • 最低儲存空間:10GB
  • Root 權限

🔹 安裝方式

✅ CentOS

yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh

✅ Ubuntu/Debian

wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh

✅ 安裝後登入

  • 瀏覽器打開 http://your-server-ip:8888
  • 輸入 帳號密碼(安裝時提供)

 總結與比較

面板名稱作業系統支援特色適合對象
cPanelCentOS / AlmaLinux / Rocky Linux最專業,功能最強,商業付費版企業級、虛擬主機管理
1PanelCentOS / Ubuntu / Debian輕量級,開源,支援 Docker個人開發者、小型企業
aPanelCentOS / Ubuntu / Debian簡單易用,免費,類似寶塔個人站長、企業用戶


2025年2月21日 星期五

[Docker]Docker Compose 如何安裝?需要有 Docker Desktop 嗎?

Docker Compose 安裝方式

Docker Compose 是一個獨立的工具,用來編排和管理多個 Docker 容器。

不一定需要 Docker Desktop,但 Docker Compose 需要 Docker Engine 來運行容器。


1️⃣ Docker Compose 是否已安裝?

在終端機或命令提示字元中執行:

docker-compose version

或者(新版 Docker Compose 使用 docker compose 指令):

docker compose version

如果已安裝,會顯示類似:

Docker Compose version v2.20.2

如果 沒有安裝,請參考以下安裝方式。


2️⃣ 安裝 Docker Compose

🔹 方法 1:使用 Docker Desktop(推薦 Windows/macOS)

如果你安裝了 Docker Desktop(Windows/macOS),它已經內建了 Docker Compose,你可以直接使用:

docker compose version

👉 下載 Docker Desktop官方下載頁面


🔹 方法 2:獨立安裝 Docker Compose(二進位檔案)

如果你不想安裝 Docker Desktop,或使用的是 Linux 伺服器,可以手動安裝 Docker Compose。

📌 安裝步驟(適用 Linux / Mac)

1️⃣ 下載最新版本

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2️⃣ 設定執行權限

sudo chmod +x /usr/local/bin/docker-compose

3️⃣ 確認安裝成功

docker-compose version

🔹 方法 3:使用 pip 安裝(適用 Python 環境)

如果你有 Python 環境,也可以透過 pip 安裝:

pip install docker-compose

然後確認:

docker-compose version

3️⃣ 使用 Docker Compose

如果安裝成功,你可以用以下指令測試:

mkdir my-docker-app && cd my-docker-app

建立 docker-compose.yml

version: '3.8'
services: hello-world: image: hello-world

啟動:

docker-compose up

應該會看到 Hello from Docker!,表示 Docker Compose 運作正常!

Docker 與Docker Compose 有什麼不同

 Docker 和 Docker Compose 主要的區別在於它們的用途和操作方式:

比較項目DockerDocker Compose
用途管理單個容器管理多個容器(編排)
使用方式docker run 指令啟動容器docker-compose.yml 設定並啟動多個容器
適用場景簡單應用、單一服務微服務架構、複雜應用
依賴管理需要手動處理容器依賴自動管理容器間的關聯
配置方式透過 CLI 參數指定透過 YAML 檔案配置


什麼是 Docker?

Docker 是一個用來管理容器的工具,可以讓你在不同環境中執行相同的應用程式。

示例:使用 Docker 啟動單個 MySQL 容器

docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:latest

這個指令會:

  1. 從 Docker Hub 拉取 mysql:latest 映像檔。
  2. 建立一個名為 mysql 的容器。
  3. 設定 MYSQL_ROOT_PASSWORD 環境變數。
  4. 將主機的 3306 端口映射到容器的 3306。

但如果你有多個容器,例如 MySQL + PHP + Redis,你需要手動啟動並連接它們,這就變得很麻煩。



什麼是 Docker Compose?

Docker Compose 是一個編排工具,讓你能夠使用 docker-compose.yml 檔案來管理多個容器。

示例:使用 Docker Compose 啟動 MySQL + PHPMyAdmin

  1. 建立 docker-compose.yml

    version: '3.8'
    services: mysql: image: mysql:latest restart: always environment: MYSQL_ROOT_PASSWORD: root ports: - "3306:3306" phpmyadmin: image: phpmyadmin/phpmyadmin restart: always ports: - "8080:80" environment: PMA_HOST: mysql
  2. 啟動所有服務

    docker-compose up -d
    • 這會同時啟動 mysql 和 phpmyadmin,並自動設定它們的連線關係。
  3. 檢查運行中的容器

    docker-compose ps
  4. 停止並刪除所有容器

    docker-compose down


何時使用 Docker? 何時使用 Docker Compose?

✅ 使用 Docker 當你

  • 只需要單個容器,例如一個 Nginx 或 MySQL。
  • 想要快速測試某個映像檔。

✅ 使用 Docker Compose 當你

  • 需要多個容器,例如 Web 應用 + 資料庫 + Redis
  • 想要自動管理依賴關係,例如 Kafka + Zookeeper
  • 想要更容易維護與分享專案,只需提供 docker-compose.yml


總結

場景推薦使用
只需啟動一個容器(如 MySQL)Docker
需要多個容器(如 Web + DB + Cache)Docker Compose
想要手動控制每個容器Docker
想要自動化啟動整個應用Docker Compose

簡單來說:Docker 是基礎,Docker Compose 是幫助你一次管理多個 Docker 容器的工具!

2025年2月19日 星期三

[wsdapi]允許 Windows 設備自動發現和通信,如 網絡印表機、掃描儀、IoT 設備等

WSDAPI(Web Services on Devices API)簡介

WSDAPI(Web Services on Devices API)  微軟(Microsoft) 開發的一套 API,主要用於 設備發現與通訊,基於 WS-Discovery(Web Services Dynamic Discovery) 協議。它允許 Windows 設備自動發現和通信,如 網絡印表機、掃描儀、IoT 設備等


WSDAPI 的應用場景

  1. Windows 設備自動發現

    • 用於發現局域網內的設備(如印表機、掃描儀、NAS、智慧家居設備)。
    • 取代傳統的 NetBIOS、UPnP、Bonjour,實現更現代化的設備探索。
  2. 網絡印表機(Network Printer)

    • 許多 Windows 10/11 自動安裝的網絡印表機 使用 WSD 來進行連接,而不是傳統的 TCP/IP 連接。
  3. 物聯網(IoT)設備

    • 某些 IoT 設備使用 WSDAPI 來提供動態的設備發現與管理。
  4. 遠端設備管理

    • IT 管理員 可以使用 WSDAPI 來監控和管理網絡中的設備。


WSDAPI 在 Kali Linux 中的相關性

在 Kali Linux 或其他滲透測試環境中,WSDAPI 可能會成為安全分析或滲透測試的目標,因為:

  1. WSD 可能洩露內部網絡信息(如 IP、主機名、設備類型)。
  2. 某些設備的 WSD 端口(TCP/5357 和 UDP/3702)可能存在安全漏洞
  3. WSD 可以被用於內部網絡中的橫向移動(Lateral Movement),幫助攻擊者發現更多內部設備。


如何在 Kali Linux 中偵測 WSDAPI 設備?

你可以使用 Nmap 來掃描 WSD 服務:

nmap -sU -p 3702 --script=wsdd-discover <target-ip>

這將嘗試發現 啟用了 WSDAPI 的設備

如果你想要針對 TCP/5357(WSD Web 服務) 進行掃描:

nmap -p 5357 --script=http-title <target-ip>


WSDAPI 可能存在的問題

  1. 安全風險:某些老舊設備的 WSD 服務可能存在 未經驗證的訪問漏洞,允許攻擊者收集設備信息或執行遠程攻擊。
  2. 網絡故障:某些企業環境中,WSD 可能會導致印表機或掃描儀無法正常工作,因為某些設備可能不完全兼容 WSD。
  3. 防火牆限制:如果 WSD 端口(TCP 5357、UDP 3702)被阻擋,則設備發現功能可能會失效。


2025年2月8日 星期六

Linux 中安裝 Visual Studio Code

在 AlmaLinux 中安裝 Visual Studio Code 的步驟如下:


1. 更新系統

在開始之前,確保系統是最新的。

sudo dnf update -y

2. 添加 Microsoft 存儲庫

Visual Studio Code 是由 Microsoft 提供的,因此需要先添加其官方存儲庫。

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'

3. 安裝 Visual Studio Code

更新存儲庫並安裝 VS Code。

sudo dnf check-update
sudo dnf install code -y

4. 驗證安裝

安裝完成後,可以檢查 VS Code 是否安裝成功。

code --version

5. 啟動 Visual Studio Code

你可以在命令行中啟動 VS Code:

code

或者,從桌面環境的應用程式菜單中找到 Visual Studio Code 並點擊啟動。


可選:安裝常用工具

  1. Git(進行版本控制):
    sudo dnf install git -y
  2. Node.js(用於開發 JavaScript 應用):
    sudo dnf install nodejs -y
  3. Python(用於 Python 開發):
    sudo dnf install python3 -y

6. 安裝 VS Code 擴展

在 VS Code 啟動後,可以安裝一些有用的擴展(如 Python、C++、Docker 等)。

  • 打開 VS Code,按下 Ctrl+Shift+X 打開擴展菜單。
  • 搜索並安裝所需的擴展。

故障排除

  1. 如果無法啟動 VS Code,檢查是否缺少依賴項:

    sudo dnf install libXScrnSaver -y
  2. 確保網絡連接正常,並且系統有權限訪問 Microsoft 的存儲庫。



kali linux 如何獲得及變更root密碼

 在 Kali Linux 中, 獲取或變更 root 密碼 需要根據不同的情況來操作。 1. 檢查 root 是否已啟用 在 Kali Linux 2020.1 之後, root 帳戶 預設是禁用的 ,所以需要先啟用 root 。 檢查當前用戶是否為 root : ...