【SMB】WsgiDAV
們將首先在 Kali 系統上設置一個 WebDAV 共享。我們將使用 WsgiDAV2 作為 WebDAV 伺服器來主持和提供我們的文件。我們可以使用 pip3 來安裝 WsgiDAV。
kali@kali:~$ pip3 install wsgidav
Defaulting to user installation because normal site-packages is not writeable
Collecting wsgidav
Downloading WsgiDAV-4.0.1-py3-none-any.whl (171 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 171.3/171.3 KB 1.6 MB/s eta 0:00:00
...
Successfully installed json5-0.9.6 wsgidav-4.0.1
安裝好 WsgiDAV 後,我們將建立 /home/kali/webdav 目錄,作為包含我們的 .lnk 文件的 WebDAV 共享目錄。暫時,讓我們在這個目錄中放一個 test.txt 文件。
如果 WsgiDAV 的安裝出現錯誤:externally-managed-environment,我們可以使用虛擬環境3,或者使用 apt 安裝 python3-wsgidav 软件包。在 PEP 6684 中,引入了一項更改,強制使用虛擬環境,以防止通過 pip 安裝導致操作系統中斷的情況。
接下來,我們將從 /home/kali/.local/bin 目錄運行 WsgiDAV。如果通過 apt 安裝了 WsgiDAV,安裝路徑不同,整個課程中應使用 wsgidav 作為啟動伺服器的命令。我們將提供的第一個參數是 --host,它指定要提供的主機。我們將在所有接口上監聽,使用 0.0.0.0。接下來,我們將使用 --port=80 指定監聽端口,並使用 --auth=anonymous 禁用對我們共享的身份驗證。最後,我們將使用 --root /home/kali/webdav/ 設置我們的 WebDAV 共享目錄的根目錄。
kali@kali:~$ mkdir /home/kali/webdav
kali@kali:~$ touch /home/kali/webdav/test.txt
kali@kali:~$ /home/kali/.local/bin/wsgidav --host=0.0.0.0 --port=80 --auth=anonymous --root /home/kali/webdav/
Running without configuration file.
17:41:53.917 - WARNING : App wsgidav.mw.cors.Cors(None).is_disabled() returned True: skipping.
17:41:53.919 - INFO : WsgiDAV/4.0.1 Python/3.9.10 Linux-5.15.0-kali3-amd64-x86_64-with-glibc2.33
17:41:53.919 - INFO : Lock manager: LockManager(LockStorageDict)
17:41:53.919 - INFO : Property manager: None
17:41:53.919 - INFO : Domain controller: SimpleDomainController()
17:41:53.919 - INFO : Registered DAV providers by route:
17:41:53.919 - INFO : - '/:dir_browser': FilesystemProvider for path '/home/kali/.local/lib/python3.9/site-packages/wsgidav/dir_browser/htdocs' (Read-Only) (anonymous)
17:41:53.919 - INFO : - '/': FilesystemProvider for path '/home/kali/webdav' (Read-Write) (anonymous)
17:41:53.920 - WARNING : Basic authentication is enabled: It is highly recommended to enable SSL.
17:41:53.920 - WARNING : Share '/' will allow anonymous write access.
17:41:53.920 - WARNING : Share '/:dir_browser' will allow anonymous read access.
17:41:54.348 - INFO : Running WsgiDAV/4.0.1 Cheroot/8.5.2+ds1 Python 3.9.10
17:41:54.348 - INFO : Serving on http://0.0.0.0:80 ..
輸出顯示 WebDAV 伺服器現在正在端口80上運行。讓我們通過在瀏覽器中打開 http://127.0.0.1 來確認這一點。
圖 25 顯示我們成功地瀏覽到了 WebDAV 共享並查看了 test.txt。