웹(PHP) 해킹, 위험코드 점검 프로그램

서버 해킹을 통해 악성 PHP 가 설치되었는지 모니터링 및 위험성이 있는 코드가 있는지 손쉽게 확인하기 위해 만들었습니다.

 

  1. 해당 코드를 서버계정에 작성하여 올립니다.
    <?
    /**
    * Name: Kilho's PHP Diagnosis
    * Author: Kilho Oh (prince@kilho.net)
    * Author URI: http://kilho.net/
    */
    class TDiagnosis
    {
    public $dir;public function __construct()
    {
    $this->dir = $_SERVER['DOCUMENT_ROOT'].'/';
    }private function SeekFile($dir, &$files)
    {
    $hnd = opendir($dir);
    while (false !== ($entry = readdir($hnd)))
    {
    if(in_array($entry, array('.', '..'))) continue;if(is_dir($dir.$entry) && !in_array($entry, array('.', '..')))
    {
    $this->SeekFile($dir.$entry.'/', $files);
    }else{
    if(!in_array(substr($entry, strrpos($entry, '.')+1), array('php', 'inc', 'html', 'htm', 'php3'))) continue;$file = $dir.$entry;
    if(!in_array($file, $files)) $files[] = $file;
    }
    }
    closedir($hnd);
    }private function Diagnosis($files)
    {
    $suspicion = array();
    $loop = 0;
    do {
    $file = $files[$loop];
    $loop++;
    
    if($file == $_SERVER['SCRIPT_FILENAME']) continue;
    
    $data = file_get_contents($file);
    $data = preg_replace('//*(.*?)*//is', '', $data);
    $data = preg_replace('///*(.*)n/', '', $data);
    
    if(preg_match('/(^|s|?php3|[?])(eval|system|exec)s*(/i', $data))
    $suspicion[] = $file;
    } while ($loop < count($files));
    
    return $suspicion;
    }
    
    public function Run()
    {
    $files = array();
    $this->SeekFile($_SERVER['DOCUMENT_ROOT'].'/', $files);
    return $this->Diagnosis($files);
    }
    }
    
    /**
    * Main
    */
    
    $diagnosis = new TDiagnosis;
    
    $result['host'] = $_SERVER['HTTP_HOST'];
    $result['suspicion'] = $diagnosis->run();
    
    echo json_encode($result);
    ?>
    
    
  2. 아래 다운로드 버튼을 클릭하셔서 모니터링 프로그램을 다운받습니다.
  3. 다운받은 프로그램을 실행시킨 후 URL(s) 에 (1)에서 작성한 URL 을 입력합니다.
  4. Diagnose 를 클릭하시면 아래와 같이 의심되는 파일명을 알려줍니다.
  5. 평소에 없던 코드가 생겼을 경우 반드시 해당 파일을 검사하시길 바랍니다.

 

  다운로드

  • sh y

    다운받고 압축푸니
    v3에서 Malware/Gen.Generic.C1094687
    감지했다고 삭제합니다.

    • 오길호

      v3 가 오진하고 있네요. 워낙 오진이 심한 백신이라 ㅎㅎ 첨부파일에 델파이 소스도 포함했듯이 문제가 될만한 부분이 없습니다. 감사합니다 ^^

      • sh y

        아…v3가 오진이심한가요??
        그럼 뭘로바꿔야할까요?

        • 오길호

          윈도우10에 기본으로 내장된 Windows Defender 만 사용하셔도 충분합니다. ^^

          • sh y

            아직 윈도우10업글을 안했습니다
            윈도우7이 쓰기편해서요
            그리고 다른게 궁금한게있는데요
            K클리너로 강제종료시키는 프로그램 임의로 지정할 수는 없는거죠?
            앱체크라는 랜섬웨이프로그램을 사용하고 있는데
            그것도 같이 종료되서요

          • 오길호

            noclean.txt 에 앱체크 파일명을 입력하시면 종료하지 않습니다.
            그리고 윈도우7에도 디펜더가 설치되어 있습니다. ^^

          • sh y

            k클러너가 바탕화면에 있어서
            메모장으로 바탕화면에 noclean.txt 만들어서헤봤는데요
            그래도 종료가 되네요
            윈도우클리너 페이지가서 따라헀습니다.
            파일위치가 아래 이것인데요
            F:Program Files (x86)AppCheck 이것을
            메모장에 넣었는데도 종료됩니다.
            아니면 어디서 잘못한건가요??

          • 오길호

            실시간 보호에 관련된 프로그램도 종료된 것으로 예상됩니다.
            종료된 프로세서중 관련된게 없는지 확인 한번 부탁드리겠습니다 ^^

          • sh y

            아하~~해결했습니다 감사합니다~~~~

arrow