보안 연구원에 따르면 CCleaner 소프트웨어 다운로드 서버 해킹으로 ‘17.8.15 ~ 9.12, 약 230만명의 사용자에게 악성코드가 배포된 것으로 확인

* 보안업체 Avast社가 PC최적화SW 씨클리너(CCleaner) 제조사인 piriform社를 인수(`17.7월)

 


  

주요내용

 

보안업체 Avast社에서는 자체적으로 서버 해킹 정황 확인을 위해 조사 중이라고 발표

- 윈도우 32버전의 CCleaner v5.336162와 CCleaner Cloud v1.07.3191이 악성코드에 감염된 사실 확인

- 공격자는 Symantec社에서 Piriform에 발행한 유효한 디지털 서명을 사용해 악성 설치파일(v.533)에 서명하여 배포

(악성코드 기능) 도메인 생성 알고리즘(Domain Generation Algoritm)를 사용해 공격자의 서버가 다운되더라도 DGA가 새로운 도메인 생성 및 탈취한 개인정보를 공격자의 C&C서버로 전송하는 악성코드 페이로드를 포함

- 악성코드 감염시 컴퓨터이름, OS 업데이트, 설치된 SW 목록, 실행중인 프로세스 전체 목록, IP 및 MAC 주소, 프로세스가 관리자 권한으로 실행 여부 등 정보 탈취



 

시사점

 

CCleaner 소프트웨어 사용자는 5.34 또는 그 이상 버전으로 업데이트 적용

사용자가 많은 소프트웨어의 보안 취약점을 이용한 해킹 등 악성코드 유포 공격이 정교해짐에 따라 최신 버전 소프트웨어, OS 업데이트 유지 및 주기적인 백신 점검이 필요





[출처]

1. http://thehackernews.com/2017/09/ccleaner-hacked-malware.html

2. https://www.bleepingcomputer.com/news/security/ccleaner-compromised-to-distribute-malware-for-almost-a-month/

저작자 표시 비영리
신고
블로그 이미지

Ryansecurity Ryansecurity

Life is fun security story


□ 개요

 o 다후아 녹화기(DVR)를 대상으로 한 공격이 전 세계적으로 감지

 o 취약한 버전을 사용 중인 사용자는 해결방안에 따라 최신 버전으로 업데이트 권고

 

□ 내용

 o 다후아 녹화기를 대상으로 'HACKED'라는 문구와 함께 영상이 나오지 않는 현상 발견  


□ 영향을 받는 버전

 o HCVR 시리즈 펌웨어 V3.200.0004.11.R.2017041 이전 버전


□ 해결 방안

 o 참고 사이트를 통해 보안 업데이트 수행 [1]

 



[참고사이트]

[1] http://www.dahuasecurity.com/kr/firmware_191.html

저작자 표시 비영리
신고
블로그 이미지

Ryansecurity Ryansecurity

Life is fun security story

Splunk 편


먼저 Splunk에서 Datper 통신 로그를 추출하기 위해 다음에 서술 방식으로 사용자 검색 명령을 만듭니다. 이 방법으로 만든 명령은 Splunk 6.3 이상에서 사용할 수 있는지 확인합니다.

Splunk 사용자 지정 검색 명령 작성 및 조사
사용자 지정 검색 명령을 다음과 같이 작성하십시오. 보다 상세한 절차에 대해서는 Splunk Documentatio [1] 을 참고하십시오.

  1. Splunklib 설치 
    다음과 같은 Web 페이지에서 SplunkSDK (SoftwareDevelopmentKit) for Python을 다운로드하고 그 안에 포함되어있는 splunklib 폴더를 $ SPLUNK_HOME / etc / apps / search / bin에 복사합니다. 
    Splunk SDK for Python 
    http://dev.splunk.com/goto/sdk-python

  2. 사용자 지정 검색 명령 스크립트 설치 
    사용자 지정 검색 명령 스크립트 datper_splunk.py을 $ SPLUNK_HOME / etc / apps / search / bin에 저장합니다. 
    또한 사용자 지정 검색 명령 스크립트는 GitHub에서 공개하고 있기 때문에, 다음의 Web 페이지에서 다운로드하여 이용하시기 바랍니다. 
    JPCERTCC / aa-tools · GitHub 
    https://github.com/JPCERTCC/aa-tools/blob/master/datper_splunk.py

  3. 구성 설정 
    $ SPLUNK_HOME / etc / apps / search / local에 2 개의 설정 파일을 만들고 각각 다음과 같이 설명합니다. 이미 파일이 존재하는 경우에도 같은 내용을 추가합니다. 

    commands.conf
    [datper] 
    filename = datper_splunk.py 
    streaming = true 
    chunked = true 
    local = true
    

    authorize.conf
    [capability :: run_script_datper] 
    [role_admin] 
    run_script_datper = enabled
    
    또한, 위의 예에서는 datper라는 이름의 사용자 지정 검색 명령을 작성하는 설정을합니다.

  4. Splunk 재시작 
    변경 한 구성을 반영하기 위해 Splunk를 다시 시작합니다. 재부팅 후 datper이라는 새로운 사용자 지정 검색 명령을 사용할 수 있습니다.

  5. 실행 
    만든 사용자 지정 검색 명령을 실행합니다. 사용자 지정 검색 명령 datper을 실행하면 Splunk의 각 이벤트 (인덱스 로그)에 대해 "is_datper"라는 필드가 생성되어 판정 결과 "yes"또는 "no"가 부여됩니다. 프록시 로그에서 날짜와 Datper의 판정 결과, 통신 목적지 IP 주소, URL을 표시하는 검색 문을 실행 한 결과의 예를 그림 1에 나타냅니다. 검색 본문의 index 및 table은 각각의 환경에 맞게 변경하십시오.
    index = proxy_log | datper | search is_datper = yes | table _time, is_datper, dst_ip, url
    
acreport-search-datper_01.png
그림 1 : 사용자 정의 검색 명령 datper 실행 결과 
클릭하면 확대됩니다


ELK 스택 편

다음으로 구축 된 ELK 스택 환경이 이미있는 것으로, Datper 통신을 조사하기위한 설정을 추가하는 방법을 소개합니다. 또한 프록시 로그는 Squid를 대상으로하고 있습니다. 또한 검증에 사용한 Elasticsearch, Logstash, Kibana 버전은 모든 5.5.1입니다.

ELK 스택 설정

  1. 스크립트 설치 
    다음과 같은 Web 페이지에서 datper_elk.py을 다운로드하여 원하는 디렉토리에 설치합니다. 
    JPCERTCC / aa-tools · GitHub 
    https://github.com/JPCERTCC/aa-tools/blob/master/datper_elk.py
    이상에서는 스크립트를 / opt / bin에 설치 한 것으로합니다.

  2. Logstash 설정 
    Logstash 프록시 로그를 읽고 스크립트 Datper 통신 여부 판정 결과의 필드를 추가하도록 구성 파일을 만듭니다. 
    이미 프록시 로그를 읽는 설정이 작성된 경우에는 2.1의 설정을 날려 2.2로 이동합니다. 

    2.1. input 설정
    input { 
      file { 
        type => "squid" 
        start_position => "beginning" 
        path => "/var/log/squid3/access.log"] 
      } 
    }
    
    Logstash은 기본적으로 로그에 새로 추가 된 행을 처리하도록되어 전체 로그 파일을 가져올 경우 "start_position =>"begining ""의 설정이 필요합니다. 
    "path"는 캡처 로그 파일을 작성합니다. 

    2.2. filter 설정
    filter { 
      if [type] == "squid"{ 
        grok { 
          match => "message", "% {NUMBER : timestamp} \ s + % {NUMBER : response_time} % {IP : src_ip} % {WORD : squid_request_status} / % {NUMBER : http_status_code} % {NUMBER : reply_size_include_header} % {WORD : http_method} % {WORD : http_protocol} : // % {HOSTNAME : dst_host} % {NOTSPACE : request_url} % {NOTSPACE : user} % {WORD : squid } / (? : - | % {IP : dst_ip}) % {NOTSPACE : content_type} "] 
          add_tag =>"squid "] 
        } 
        date { 
          match =>"timestamp ","UNIX "] 
        } 
        ruby { 
          code = > 'require "open3" 
                   message = event.get ( "message") 
                   cmd = "/opt/bin/datper_elk.py \'# {message} \ ' "
                   stdin, stdout, stderr = Open3.popen3 (cmd) 
                   event.set ( "datper"stdout.read) 
                   ' 
        } 
      } 
    }
    

    위의 설정은 grok 필터 Squid 로그에서 각 필드를 추출하여 date 필터에서 UNIX 시간의 타임 스탬프를 날짜 형식으로 변환합니다. 위의 예는 Squid의 기본 로그 형식의 경우 설정이며, 로그 형식이 combined의 경우는 다음과 같이 COMBINEDAPACHELOG 패턴 등을 사용하여 필드를 추출하여 date 필터의 패턴을 변경해야합니다 .
        grok { 
          match => { 
    "message"=> "% {COMBINEDAPACHELOG} % {WORD : squid_request_status} % {WORD : squid}" 
    } 
        } 
        date { 
          match => "timestamp", "dd / MMM / yyyy : HH : mm : ss Z "] 
        }
    

    ruby 필터는 스크립트를 실행하고 스크립트에서 반환 된 결과를 datper 필드로 추가합니다. ruby 필터 code에 cmd를 스크립트의 위치는 "1 스크립트 설치"에서 설치 한 장소를 설명합니다. 또한, 상기 ruby ​​필터 code는 Logstash5.0 이후 Event API에 맞춘 기술이며, 이전 버전에서는 다음과 같이 기술 할 필요가 있습니다.
    code => 'require "open3" 
             message = event [ "message"] 
                   cmd = "/opt/bin/datper_elk.py \'# {message} \ '" 
                   stdin, stdout, stderr, status = Open3.popen3 (cmd) 
                   event [ "datper"] = stdout.read 
                   '
    

    2.3 output 설정
    output { 
       elasticsearch { 
           hosts => "localhost : 9200" 
           index => "squid-access" 
       } 
    }
    

    hosts에 Elasticsearch의 호스트 이름, index 이름에 원하는 이름을 설정합니다. 
    Logstash에 2.1에서 2.3의 설정이 포함 된 설정 파일을 읽어 들여 실행하고 로그 파일이 문제없이 받아 들여지는 Elasticsearch에 인덱스가 만들어집니다.

  3. Kibana에서 인덱스 패턴 생성 및 로그 검색 
    Kibana의 Web UI에 액세스하여 인덱스 이름을 입력하여 패턴을 만듭니다. 그림 2는 "2. Logstash 설정"의 설명에서 볼 수 있듯이 인덱스 이름을 squid-access, time filter 필드를 timestamp하고 있습니다.
    acreport-search-datper_02.png
    그림 2 : 인덱스 패턴 생성 
    클릭하면 확대됩니다

    Discover 화면을 보면 datper 필드에 스크립트에 의한 판정 결과가 그림 3과 같이 들어 있습니다.
    acreport-search-datper_03.png
    그림 3 : Discover 화면 
    클릭하면 확대됩니다

    또한 기존의 인덱스에 datper 필드를 추가 할 경우에는 Elasticsearch URL과 인덱스 이름을 지정하고 datper_elk.py을 실행하여 필드를 추가 할 수 있습니다. Elasticsearch의 URL이 http : // localhost : 9200 프록시 로그 인덱스 이름이 squid-access의 경우의 실행 예는 다음과 같습니다.
    /opt/bin/datper_elk.py http : // localhost : 9200 squid-access


저작자 표시 비영리
신고
블로그 이미지

Ryansecurity Ryansecurity

Life is fun security story

글로벌 세금 및 감사 회사 딜로이트(Deloitte)는 사이버 공격으로 개인 정보 및 개인 고객의 문서를 비롯한 기밀 정보가 도난당한 사실을 확인했다.

 Deloitte는 미국 최대의 민간 회계 법인으로 세금, 감사, 운영 컨설팅, 사이버 보안 자문, 합병 및 인수 지원 서비스를 대형 은행, 정부 기관 및 대규모 Fortune 

500 다국적 기업에 제공한다. 이 회사는 3월에 사이버 공격을 발견했지만, 알려지지 않은 공격자가 2016년 10월 또는 11월 이후로 전자 메일

 시스템에 접근했을 것이라고 주장했다. 해커는 Two-Factor 인증 (2FA)을 사용하여 보안되지 않은 관리자 계정을 통해

 Deloitte의 전자 메일 서버에 액세스 할 수 있었으며 이로 인해 Deloitte의 Microsoft 호스팅 전자 메일 사서함에 액세스 할 수 있었다. 

해커는 전자 메일 외에도 "사용자 이름, 암호, IP 주소, 기업 및 건강 정보의 아키텍처 다이어그램"에 액세스 할 수 있는 것으로 발견되었다. 

Deloitte의 대변인은 "사이버 사건에 대응하여 Deloitte는 포괄적인 보안 프로토콜을 구현했으며 Deloitte 내부 및 외부의 사이버 보안 팀과 기밀 전문가들을 동원하는 등 

철저한 검토를 시작했다. Deloitte의 사이버 사건에 대한 내부 조사는 아직 진행 중이며, 영향 받은 고객에게 정보 유출에 대한 안내를 진행했다." 고 발표했다.

http://thehackernews.com/2017/09/deloitte-hack.html

https://www.bleepingcomputer.com/news/security/hackers-breached-deloitte-one-of-the-big-four-accounting-firms/

저작자 표시 비영리
신고
블로그 이미지

Ryansecurity Ryansecurity

Life is fun security story

오라클은 Apache Struts 2 프레임 워크의 몇 가지 취약점을 해결하기 위해 많은 제품에 대한 패치를 발표했다.  

CVE-2017-9805는 Apache Struts 개발자가 패치를 발표한 후 수 시간 내에 PoC (proof-of-concept) 코드가 게시 된 취약점이다. 

여러 보안 업체가 곧 공격을 발견했었다. Struts가 신뢰할 수없는 데이터를 deserialize하는 방식으로 인해 발생하는 이 취약점은 원격 코드 실행을 허용하며 

XML 페이로드에 XStream 처리기와 함께 REST 플러그인을 사용하는 응용 프로그램에 영향을 주었다. 이에 대해 최근 오라클은 최신 업데이트를 발표했다. 

CVE-2017-7672, CVE-2017-9787, CVE-2017-9791, CVE-2017-9793, CVE-2017-9804를 비롯하여 최근에 Apache Software Foundation에서 발견한 

여러 Struts 취약점을 패치했다. 따라서 사용자들은 벤더사에서 제공하는 최신버전으로 업데이트 해야 한다

http://www.securityweek.com/oracle-releases-patches-exploited-apache-struts-flaw

http://www.oracle.com/technetwork/security-advisory/alert-cve-2017-9805-3889403.html

저작자 표시 비영리
신고
블로그 이미지

Ryansecurity Ryansecurity

Life is fun security story

티스토리 툴바