- 각 공격방식의 특징에따라 대응 방법이 다르다.

- 일반적으로 대응하는 방식은 다음과 같다.

 

① DDoS 대응 서비스 가입

- 한국인터넷 진흥원에서 제공하는 사이버 대피소 혹은 클린존 서비스 이용

 

② 백업 서버 구축

- 디도스 공격에따른 서비스 장애를 최소화하기 위해 백업 서버 구축

 

③ 공격 대상 노출 최소화

- 공격에 이용 및 대상이 되지않도록 주기적인 점검

 

④ 서비스 점검

- 불필요한 포트 혹은 서비스를 사용중인지 점검

 

⑤ 모니터링

- 평시 발생하는 트래픽을 인지하고, 이상 트래픽의 발생 유무 모니터링

 

- KISA DDoS 공격 대응 가이드 참고

 

KISA 인터넷 보호나라&KrCERT

KISA 인터넷 보호나라&KrCERT

www.boho.or.kr

1. DoS (Denial Of Service) 유형

공격명 설명
TCP SYN Flooding - 3-Way HandShaking의 Half-Open 연결이 가능한 것을 이용한 취약점
- 공격자는 대상 시스템에 출발지 IP를 위조해 무수한 SYN 패킷 전송
- 대상 시스템은 위조된 IP에 SYN/ACK 패킷을 전송하며, ACK 응답을 기다림
- 출발지 IP는 위조되어 정상적인 ACK 응답을 수신하지 못함
- 대상시스템은 ACK 응답을 기다리므로, 정상 서비스 제공이 불가해짐
SMURF Attack - 출발지 IP를 대상 시스템으로 위조 및 ICMP 패킷을 직접 브로드 캐스팅 주소(X.X.X.255)로 전송
- 해당 패킷을 수신한 시스템은 대상 시스템으로 ICMP 패킷 응답 
- 대상시스템은 ICMP 응답을 과다하게 수신하여, 정상 서비스 제공이 불가해짐
Land Attack - 출발지 IP와 목적지 IP를 동일하게 설정하여 전송
- 해당 요청을 처리하는 과정에서 부하 발생
Ping of Death - ping에 사용되는 ICMP 패킷의 크기를 정상 크기보다 크게 설정하여 전송하며, 해당 패킷은 네트워크를 거치면서(라우팅 되면서) 작은 조각으로 쪼개지면서 전송됨.
- 피해 시스템에서는 수신한 패킷을 재조립하는 과정에서 부하가 발생.
Tear Drop Attack - 패킷은 네트워크를 통해 전송되면서 단편화를 통해 분할되고, 수신지에서 재조립
- 패킷이 단편회 될 때 오프셋 값을 중복되도록 설정하는 등의 방식을 통해 수신지에서 재조립시 부하 유발
Bonk - 모든 패킷의 순서번호를 1로 설정하여 전송
Boink - 첫번째 패킷의 순서번호를 1, 두번째 패킷의 순서번호를 201, 세번째 패킷의 순서번호 1011 등 순서번호를 랜덤하게 전송

2. DDoS (Distributed Denial of Service) 유형

구분 공격명 설명
전통적인 공격 Trinoo - 많은 호스트로부터 UDP Flooding을 유발
TFN(Tribed Flood Network) - Trinoo의 발전된 형태
- UDP Flooding, ICMP Flooding, TCP SYN Flooding 가능
Stacheldraht - Trinoo + TFN (두 공격이 제공하는 기능 모두 가짐)
- 마스터와 에이전트 간 통신에 암호화 기능을 사용
TFN2K - TFN의 발전된 형태
- 통신에 특정 포트를 사용하지 않고, 암호화 통신
대역폭 공격 - UDP Flooding
- UDP 프로토콜 반사 공격
- ICMP Flooding
- 대량의 트래픽을 피해 시스템에 전송 하여 대역폭을 고갈 시킴
자원 소진 공격 - TCP SYN, ACK Flooding
- Smurf Attack
- 대량의 트래픽을 피해 시스템에 전송 하여 피해 시스템의 서비스 자원을 고갈 시킴
웹/DB 부하 공격 - GET Flooding
- Slowloris Attack
- RUDY Attack
- Slow read Attack
- 정상적인 세션을 맺은 후 과도한 요청을 보내어 서버에 부하를 유발 시킴

3. DRDoS (Distributed Reflection Denial of Service) 유형

공격명 설명
DNS Reflection Attack - 출발지 IP를 대상 시스템으로 위장하여, 다수의 DNS 서버에 ANY, TXT 레코드 요청.
- ANY 레코드 : 도메인에 대한 모든 레코드 질의 시 사용.
- TXT 레코드 : 도메인과 관련해 저장해야 할 임의의 문자를 나타냄.
- 두 레코드 모두 요청에 비해 응답이 크기 때문에 공격에 주로 사용됨.
NTP Reflection Attack - 출발지 IP를 대상 시스템으로 위장하여, 다수의 NTP 서버에 monlist 요청.
- monlist : 최근에 접속한 최대 600개의 호스트 정보를 요청

 

* 해당 방식 외에도 다양한 방식이 존재하며, 구분한 기준 역시 상대적인 것임.

1. DoS (Denial of Service)

- 정당한 사용자가 서비스를 사용하는 것을 방해하는 행위.

- 대상 시스템의 처리 범위를 초과하는 과도한 트래픽을 전송해 부하를 유발하여 정상 서비스를 제공하지 못하도록 함.

- 단일 공격자가 단일 시스템을 대상으로 공격 진행.

 

2. DDoS (Distributed Denial of Service)

- DoS와 마찬가지로 대상 시스템의 처리 범위를 초과하는 과도한 트래픽을 전송해 부하를 유발하여 정상 서비스를 제공하지 못하도록 함.

- 취약한 서버에 악성코드를 배포해 좀비 PC로 이루어진 봇넷을 형성한 후 공격.

- 다수의 분산 좀비 PC를 이용해 단일 시스템에 공격 진행.

[캡쳐 1] DDoS 공격 (https://jwprogramming.tistory.com/181)

구성 요소 설명
공격자, 봇 마스터 - 공격을 주도하는 공격자의 PC
- C&C 서버에 명령을 전달하는 역할
마스터, C&C 서버 - 공격자로부터 명령을 전달받음
- 다수의 에이전트 관리
핸들러 프로그램 - 마스터 시스템의 역할을 수행하는 프로그램
에이전트 - 악성코드에 감염된 시스템으로, 대상 시스템에 직접적인 공격 수행
- 봇, 좀비PC 등으로도 불리며, 이들이 형성한 네트워크를 봇넷이라 함
데몬 프로그램 - 에이전트 시스템 역할을 수행
표적 - 공격의 대상이되는 피해 시스템

3. DRDoS (Distributed Reflection Denial of Service)

- 대상 시스템의 처리 범위를 초과하는 과도한 트래픽을 전송해 부하를 유발하여 정상 서비스를 제공하지 못하도록 함.

- 악성코드를 배보하고 봇넷을 형성하는 등의 과정없이 프로토콜의 구조적 취약점을 이용한 공격.

- 해당 프로토콜의 구조적 취약점을 이용해 정상적인 서비스를 제공하는 시스템을 반사체로 이용해 공격 진행.

[캡쳐 2] DRDoS (https://infosec-ledger.tistory.com/24)

구성 요소 설명
공격자 - 공격을 주도하는 공격자의 PC
반사 서버 - 정상적인 서비스를 제공하나, 프로토콜 구조상 취약점으로 인해 공격에 악용되는 서버
피해자 - 공격의 대상이되는 피해 시스템
일반 DDoS와의 차이점 - 10~500배 이상 트래픽 증폭
  반사 서버의 양과 공격의 규모는 비례

- 공격 패킷이 전송되는 경로의 다양성
  공격이 직접적으로 공격대상으로 향하는 것이 아니라 네트워크에 연결된 무수한 반사 서버로 전송

- 반사 서버의 단계적 사용 및 확산
  반사 서버의 양과 공격의 규모는 비례

- 공격이 발생한 최초의 IP에 대해 역추적이 어려움.
  Src IP를 공격 대상 IP로 위조 및 수 많은 반사 서버를 경유하므로, 근원지 역추적이 거의 불가능

 

1. OSI(Open Systems Interconnection Reference Model) 7 Layer

- 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것.
- Open System(개방 시스템) : 기반 구조와 관계없이 시스템 간 통신을 제공하는 프로토콜의 집합
- 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공
- 목적 : H/W나 S/W 기반의 논리적인 변화에 대한 요구 없이 서로 다른 시스템 간의 통신을 원할히 하는 것

2. OSI 7 Layer 구

구분 계층 설명 데이터단위
상위 계층 7계층
Application(응용)
- 사용자(사람 또는 소프트웨어)가 네트워크에 접속하는 것을 가능하게 함.
- 사용자 인터페이스 제공.
- 프로토콜 : HTTP, FTP, SMTP, DNS, SNMP 등
메세지
6계층
Presentation(표현)
- 송수신측이 공통으로 이해할 수 있도록 정보의 데이터 표현방식을 바꿈.
- 응용 계층으로부터 데이터를 전달받아 표준 포맷으로 변환(인코딩, 암호화, 압축 등)하여 세션 계층으로 전달.
- 프로토콜 : SSL, ASCII 등
5계층
Session(세션)
- 통신 시스템 간에 상호대화를 설정, 유지, 동기화.
- 표현 계층으로부터 데이터를 전달받아 효율적인 세션 관리를 위해 데이터를 짧은 데이터 단위로 나눈 후 전송 계층으로 전달.
- 프로토콜 : NetBIOS, RPC, WinSock
상/하위 계층 연결 4계층
Transport(전송)
- 세션을 맺고 있는 두 사용자 사이의 데이터 전송을 위한 종단간 제어를 담당.
- 프로토콜 : TCP, UDP
세그먼트
하위 계층 3계층
Networtk(네트워크)
- 송신측에서 수신측까지 안전하게 데이터를 전달하기위해 논리적 링크 설정(라우팅).
- 상위 계층 데이터를 작은 큭리의 패킷으로 분할하여 전송.
- 프로토콜 : IP, ARP, ICMP, IGMP
- 장비 : 라우터
패킷
2계층
DataLink(데이터링크)
- 오류제어, 에러 검출/정정, 흐름제어, 매체제어.
- 두 Sub 계층으로 나뉨
① LLC(Logical Link Control) 또는 DLC(Data Link Contol) : 논리적 연결 담당.
② MAC(Media Access Control) : 장비와 장비 간의 물리적 접속을 담당.
- 프로토콜 : Ethernet, HDLC, PPP 등
- 장비 : 브리지, 스위치
프레임
1계층
Physical(물리)
- 데이터를 물리 매체를 통해 전송하며, 전송을 위해 필요한 물리적 링크 설정, 유지, 해제 담당
- 물리적, 전기적 규정에 초첨을 맞추어 전송 선로의 종류에 따라 전송방식과 인코딩 방식 결정.
- 프로토콜 : RS-232, X.25 / X.21 등
- 장비 : 케이블, 리피터, 허브 등
비트 프레임

3. TCP/IP 4 Layer

- 현재 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약의 모음
- 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공
- OSI 7 Layer보다 먼저 개발되었으며, OSI 7 Layer의 경우 실질적인 구현이 된적이 없는 반면, TCP/IP는 인터넷 개발 이후 지속적으로 표준화되어 신뢰성이 뛰어남.

4. TCP/IP 4 Layer 구조

계층 설명
응용 - 응용프로그램이 네트워크에 접근 가능하도록 인터페이스 기능 제공.
전송 - 종단간 통신 서비스 담당.
- TCP, UDP
네트워크 - IP : 호스트 네트워크 주소 관리
- ARP : 네트워크 호스트들의 하드웨어 주소를 얻는 데 사용
- ICMP : 패킷 전송 중 발생하는 오류 메시지 처리
데이터링크 - 전송 매체에 프레임을 송수신

5. OSI 7계층과 TCP/IP 4계층 비교

[캡쳐 1] OSI 7계층과 TCP/IP 4계층 비교

'기타 > 네트워크' 카테고리의 다른 글

IP주소와 MAC주소  (0) 2022.10.03

1. Directory Traversal이란?

- 상위 디렉터리로 이동가능한 문자 ../ 를 이용해 상위 디렉터리로 접근하여 파일을 검색/다운 등이 가능한 취약점.
- 접근 통제 및 검증, 서버 설정 미흡 등의 취약점으로 인해 중요 파일에 접근이 가능한 취약점.
- 해당 취약점을 이용해 공격자는 접근 불가한 디렉터리나 파일에 접근이 가능해짐.

2. bWAPP Directory Traversal

- 먼저 bWAPP 첫화면에서 식별되는 정보는 없다.

[캡쳐 1] 초기 화면

- URL의 page 매개변수에 디렉터리 이동문자인 ../를 이용해 상위 디렉터리로 이동
- 중요파일인 /etc/passwd 파일에 접근

[캡쳐 2] /etc/passwd 내용 노출

- ../을 다수 입력한 이유는 다음과 같다.
① 공격자는 현재 자신이 위치한 디렉터리의 정확한 위치를 알지못한다.
② 공격자는 최상위 디렉터리인 root 디렉터리로 이동 후 원하는 디렉터리 및 파일에 접근하는 것이 목표이다.
③ root 디렉터리는 최상위 디렉터리이며, root 디렉터리의 상위 디렉터리 역시 root 이다.
④ 즉, 현재의 정확한 위치를 모르기 때문에 ../를 다수 입력해 root 디렉터리로 이동하기 위함이다.

[캡쳐 3] https://rrhh234cm.tistory.com/170


- Bee-box에서 다음 명령을 통해 해당 페이지의 내용을 확인할 수 있다.
directory_traversal_1.php : 문제 페이지 내용 확인 가능
functions_external.php : 설정된 함수 확인 가능

[캡쳐 4] 해당 페이지 내용 확인

directory_traversal_1.php 내용

<중략>

    <?php

    if(isset($_GET["page"]))
    {

        $file = $_GET["page"];

        switch($_COOKIE["security_level"])
            {

            case "0" :            

                show_file($file);

                // Debugging
                // echo "<br />" . $_GET['page'];

                break;

            case "1" :         

                $directory_traversal_error = directory_traversal_check_1($file);

                if(!$directory_traversal_error)
                {

                    show_file($file);

                }

                else
                {

                    echo $directory_traversal_error;

                } 

                // Debugging
                // echo "<br />" . $_GET["page"];

                break;

            case "2" :

                $directory_traversal_error = directory_traversal_check_3($file);           

                if(!$directory_traversal_error)
                {

                    show_file($file);

                }

                else
                {

                    echo $directory_traversal_error;

                }

                // Debugging
                // echo "<br />" . $_GET["page"];

                break;

            default :           

                show_file($file);

                // Debugging
                // echo "<br />" . $_GET["page"];

                break;

        }

    }

    ?>
    
    <하략>

functions_external.php 내용

<중략>

function directory_traversal_check_1($data)
{

    // Not bulletproof
    
    $directory_traversal_error = "";  
    
    // Searches for special characters in the GET parameter
    if(strpos($data, "../") !== false ||
       strpos($data, "..\\") !== false ||
       strpos($data, "/..") !== false ||
       strpos($data, "\..") !== false)
            
    {

        $directory_traversal_error = "Directory Traversal detected!";
    
    }
    
    /*
    else
    {
    
        echo "Good path!";
    
    }     
     */
    
    return $directory_traversal_error;

}

function directory_traversal_check_2($data)
{

    // Not bulletproof
    
    $directory_traversal_error = "";  
    
    // Searches for special characters in the GET parameter
    if(strpos($data, "../") !== false ||
       strpos($data, "..\\") !== false ||
       strpos($data, "/..") !== false ||
       strpos($data, "\..") !== false ||
       strpos($data, ".") !== false)
            
    {

        $directory_traversal_error = "Directory Traversal detected!";
    
    }
    
    /*
    else
    {
    
        echo "Good path!";
    
    }     
     */
    
    return $directory_traversal_error;

}

function directory_traversal_check_3($user_path,$base_path = "")
{
    
    $directory_traversal_error = "";
    
    $real_base_path = realpath($base_path);

    // echo "base path: " . $base_path . " real base path: " . $real_base_path . "<br />";

    $real_user_path = realpath($user_path);

    // echo "user path: " . $user_path . " real user path: " . $real_user_path . "<br />";

    // int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
    // URL: http://php.net/manual/en/function.strpos.php
    if(strpos($real_user_path, $real_base_path) === false)
    {
    
        $directory_traversal_error = "<font color=\"red\">An error occurred, please try again.</font>";
    
    }

    /*
    else
    {
    
        echo "Good path!";
    
    }     
     */
    
    return $directory_traversal_error;

}

<하략>

3. 대응방안

- 보안장비 패턴(ex ../ 및 해당 문자열 인코딩 값) 등록 후 탐지 및 차단
- 입력값 검증 및 권한 검증 수행
- 해당 서버가 Apache일 경우 "conf/httpd.conf"에 모든 디렉토리 Options 지시자의 'Indexes'를 제거.

[캡쳐 1] 요청&amp;응답

1. 개요

- 클라이언트는 서버에 자원을 요청하고, 서버는 클라이언트에 요청에 대한 처리 결과를 응답한다.
- 이때, 클라이언트는 메소드를 이용해 서버에 요청의 목적이나 종류를 알린다.
- 서버는, 클라이언트의 요청을 처리한 결과상태코드와 함께 응답한다.

2. 메서드(Method)

- 클라이언트가 서버에 요청의 목적/종류를 알리는 수단

Method 설명
GET - 요청받은 URI의 정보를 검색하여 응답.
- URI 끝에 파라미터를 통해 요청정보 전달.
HEAD - GET과 동일하나, 응답에 BODY 없이 응답코드와 HEAD만 응답.
- 웹 서버 정보확인, 헬스체크, 버전 확인, 최종 수정일자 확인 등의 용도로 사용.
POST - 요청한 자원을 생성하거나 업데이트 목적으로 사용.
- 전송할 데이터를 BODY에 FORM 형태로 담아서 전송.
PUT - 요청 자원을 수정한다.
- 자원 전체 수정.
PATCH - PUT과 유사하게 요청된 자원을 수정할 때 사용한다.
- 일부 자원 교체.
DELETE - 요청된 자원을 삭제.
CONNECT - 요청한 자원에 대해 양방향 연결(터널)을 생성.
TRACE - 원격지 서버에 루프백 메시지를 호출하기 위해 사용되며, 테스트용으로 사용.
OPTIONS - 서버에서 제공하는 Method 종류를 확인할 때 사용.

3. 응답값(Status Code)

- 서버에서 클라이언트로 요청을 처리한 결과를 전송할때 사용
- 1xx(정보) : 요청을 받았고, 작업을 진행 중
- 2xx(성공) : 작업을 성공적으로 받았고, 이해했으며, 받아들여졌다는 의미
- 3xx(리다이렉션) : 요청을 완료하기 위해서는 리다이렉션이 이루어져야 한다는 의미
- 4xx(클라이언트 오류) : 요청은 올바르지 않다는 의미
- 5xx(서버 오류) : 서버가 응답할 수 없다는 의미

응답대역 응답코드 설명
1xx 100 - Continue
- 클라이언트로부터 일부 요청을 받았으며, 나머지 정보를 계속 요청.
101 - Switching Protocols
- 클라이언트가 Upgrade (en-US) 헤더를 통해 요청한 것에 따라 서버가 프로토콜을 바꾼다는 것을 알려주는 응답 코드.
2xx 200 - OK
- 클라이언트의 요청을 성공적으로 처리.
201 - Created
- 요청이 성공적으로 처리되어서 리소스가 생성됨.
202 - Accepted
- 요청이 받아들여졌지만 처리되지 않음.
3xx 301 - Moved Permanently
- 영구적으로 컨텐츠가 이동했을 때 사용.
- location 헤더를 통해 해당 URL을 포함해 응답.
302 - Found
- 일시적으로 컨텐츠가 이동했을때 사용.
- location 헤더를 통해 해당 URL을 포함해 응답.
304 - Not Modified
- 요청한 자원의 경로가 변경되지 않았으며, 클라이언트의 캐시된 자원을 사용하라는 의미.
4xx 400 - Bad Request
- 클라이언트의 요청 자체가 잘못된 경우 발생
401 - Unauthorized
- 인증이 필요한 리소스에 인증 없이 접근할 경우 발생.
403 - Forbidden
- 서버에 요청이 전달되었지만, 권한 때문에 거절되었다는 것을 의미.
404 - Not Found
- 서버가 요청받은 리소스를 찾을 수 없다는 것을 의미
5xx 500 - Internal Server Error
- 서버에 오류가 발생해 작업을 수행할 수 없을 때 사용.
503 - Service Temporarily Unavailable
- 서비스를 일시적으로 사용할 수 없을 때 사용.


- 참고

 

HTTP | MDN

하이퍼텍스트 전송 프로토콜(HTTP)은 HTML과 같은 하이퍼미디어 문서를 전송하기위한 애플리케이션 레이어 프로토콜입니다. 웹 브라우저와 웹 서버간의 커뮤니케이션을위해 디자인되었지만, 다

developer.mozilla.org

 

1. 엔디언(Endianness)이란?

- 컴퓨터의 메모리와 같은 1차원 공간에 여러 개의 연속된 대상을 배열하는 방법.

- 바이트를 배열하는 방법을 바이트 순서(Byte-Order)라 한다.

- 3가지 방식의 엔디언이 존재함.

Big-Endian - 큰 단위의 바이트가 앞에 나오는 방법
Little-Endian - 작은 단위의 바이트가 앞에 나오는 방법
Middle-Endian - 두 경우에 속하지 않거나 둘 다 지원하는 경우

- 또한 endian을 이해하기 위해서는 LSB와 MSB에 대한 이해도 필요하다.

MSB - Most Significanct Bit (가장 큰 비트 자릿수)
LSB - Least Significanct Bit (가장 작은 비트 자릿수) 

- 0x1234578의 값을 메모리에 각각 Big-endian과 Little-endian으로 저장하는 경우에 대해 확인해보고자 한다.

[캡쳐 1] 0x12345678

2. Big-endian

- 먼저 Big-endian은 우리가 숫자를 쓰는 방법과 같이 큰 단위의 바이트가 앞에 나오는 방법이다.

- 즉, 낮은 주소에 데이터의 높은 바이트(MSB)부터 저장하는 방식

[캡쳐 2]&nbsp;Big-endian

3. Little-endian

- 낮은 주소에 데이터의 낮은 바이트(LSB)부터 저장하는 방식.

[캡쳐 3]&nbsp;Little-endian

4. Big-endian VS Little-endian

- 두 방식은 단지 데이터를 저장할 때의 방식 차이뿐이며, 어느 방식이 더욱 좋다고 단정 할 수 없다.

- 각 방식의 특징을 정리하면 다음과 같으며, 느림, 빠름, 어려움, 쉬움은 상대적인 값이다.

  Big-endian Little-endian
대표 회사 IBM Intel
형 변환 느림 빠름
숫자 비교 빠름 느림
디버깅 빠름 느림
캐리 값 처리 어려움 쉬움
네트워크 바이트오더 X O

5. 네트워크 바이트오더

- 두 호스트간 통신을 할 때 A PC는 Little-endian, B PC는 Big-endian을 사용할 경우 통신이 되지않는 문제가 발생.

- 이러한 문제를 해결하기 위해 네트워크를 통해 데이터를 전달할 때는 통일된 방식을 이용해 전송하기로 약속 했으며, 이것이 "네트워크 바이트오더"임.

- 네트워크 바이트오더에 의해 Big-endian 방식을 사용하도록 규정되어, Little-endian을 사용할 경우 Big-endian으로 변환해야 한다.

6. 내 PC의 Endian 확인하기

[캡쳐 4]&nbsp;http://www.tcpschool.com/c/c_refer_endian

- 실행결과

[캡쳐 5] Little-endian 방식의 저장

 

- 참고

 

[Byte Order 바이트 오더] 빅엔디안(Big Endian)과 리틀엔디안(little endian) - 1편

안녕하세요~~!! 오늘도 시작되는 말랑이몰랑이 블로그 포스팅입니다~ ㅎㅎ 오늘은 네트워크나 통신쪽을 공부한다면 알고 있어야 할 Byte Order 의 빅엔디안과 리틀엔디안에 대한 개념을 완전하게

jhnyang.tistory.com

개요 - 공격자는 웹하드를 이용해 게임이나 게임 크랙 등 불법 프로그램과 함께 악성코드 유포
- 주로 RAT 악성코드를 유표(njRAT, UdpRAT, DDoS IRC Bot 등)
특징 - 최근 웹하드에 게임 설치 파일로 위장해 업로드 된 압축 파일을 통해 XMRig 모네로 코인 마이너를 유포하는 사례가 확인
* 코인 마이너 : 사용자 PC에 설치되어 시스템 리소스를 이용해 가상화폐를 채굴하는 악성코드
- 다운로드한 파일을 압축해제 시 게임 아이콘으로 위장한 raksasi.exe 프로그램이 실행
- 해당 파일은 XMRig 모네로 코인 마이너를 설치하는 악성코드
- 실제 게임 설치파일은 다른 폴더에 존재
- 컴퓨터가 재부팅할 때마다 동일 경로(‘c:\Xcrcure\’ 경로)에 존재하는 config.json 파일을 읽으며 마이닝을 수행

<동작>
- 간단한 구조로 ‘c:\Xcrcure\’ 경로에 다음 파일을 설치
  모네로 채굴 악성코드(xmrig.exe), XMRig 설정 파일(config.json), XMRig 런쳐 악성코드(MsDtsServer.exe)
- 시작 폴더에 XMRig 런쳐 악성코드를 실행하는 바로가기를 ‘NewStartUp.lnk’라는 이름을 생성해 재부팅한 후 모네로 채굴 마이너를 동작시킴.
- Resource 폴더에 존재하는 원본 게임 프로그램을 실행해 정상적으로 게임이 동작하는 것처럼 인식시킴.

대응 - 웹하드, P2P 사이트 등에서 다운한 실행 파일은 각별히 주의
- 유틸리티 및 게임 등의 프로그램은 반드시 공식 홈페이지에서 다운로드를 권장

 

- 보안뉴스

 

[긴급] 웹하드에서 게임설치 파일 위장한 모네로 코인 마이너 악성코드 유포중

국내 사용자를 타깃으로 웹하드를 통해 모네로 코인 마이너 악성코드를 유포하는 정황이 포착됐다. 웹하드 이용시 이용자들의 각별한 주의가 필요하다. 공격자는 일반적으로 웹하드를 이용해

www.boannews.com

 

+ Recent posts