Linux 시스템의 "WannaCry": 자신을 어떻게 보호합니까?

Linux 시스템의 "WannaCry": 자신을 어떻게 보호합니까?

에 따르면rapid7 기사일부 취약한 사람들이 있습니다삼바Linux 시스템에서 원격 코드 실행을 허용하는 버전:

동안울고 싶다랜섬웜은 Windows 시스템에 영향을 미쳤으며 명확한 치료 단계를 통해 쉽게 식별할 수 있었습니다.삼바취약점은 Linux 및 Unix 시스템에 영향을 미치며 적절한 교정 조치를 얻거나 배포하는 데 심각한 기술적 장애물을 제시할 수 있습니다.

CVE-2017-7494

3.5.0 이후의 모든 Samba 버전은 원격 코드 실행 취약점에 취약합니다. 이는 악의적인 클라이언트가 공유 라이브러리를 쓰기 가능한 공유에 업로드한 다음 서버가 이를 로드하고 실행하도록 허용합니다.

가능한 공격 시나리오:

두 가지 요소에서 시작합니다.

  • 삼바 취약점고정되어 있지 않습니다아직 일부 Linux 배포판에는 있습니다.
  • 일부 Linux 커널 버전(예: 4.8.0-41 일반 Ubuntu 커널의 CVE-2017-7308)에는 패치가 적용되지 않은 로컬 권한 상승 취약점이 있습니다.

공격자는 Linux 시스템에 액세스하고 로컬 익스플로잇 취약점을 사용하여 권한을 상승시켜 루트 액세스 권한을 얻고 이 모형과 유사한 향후 램섬웨어를 설치할 수 있습니다. Linux용 WannaCry 랜섬웨어.

업데이트

최신 기사"경고! 해커들이 Linux 시스템을 해킹하기 위해 "SambaCry 결함"을 사용하기 시작했습니다."Sambacry 결함을 사용하여 Linux 시스템을 감염시키는 방법을 보여줍니다.

그 예측은 상당히 정확한 것으로 나타났습니다.카스퍼스키 랩암호화폐 채굴 소프트웨어로 Linux 컴퓨터를 감염시키기 위해 SambaCry 취약점을 악용하는 악성 코드 캠페인을 포착했습니다.

또 다른 보안 연구원인 Omri Ben Bassat‏는 동일한 캠페인을 독립적으로 발견하고 이름을 지정했습니다."이터널마이너".

연구원들에 따르면, Samba 결함이 공개된 지 불과 일주일 만에 알려지지 않은 해커 그룹이 Linux PC를 하이재킹하고 "Monero" 디지털 통화를 채굴하는 암호화폐 채굴 소프트웨어인 "CPUminer"의 업그레이드 버전을 설치하기 시작했습니다.

공격자는 SambaCry 취약점을 사용하여 취약한 시스템을 손상시킨 후 대상 시스템에서 두 가지 페이로드를 실행합니다.

INAebsGB.so — 공격자에게 원격 액세스를 제공하는 리버스 셸입니다.

cblRWuoCc.so — 암호화폐 채굴 유틸리티인 CPUminer를 포함하는 백도어입니다.

2017년 7월 18일에 게시된 TrendLab 보고서:SambaCry를 악용하는 새로운 위협으로 Linux 사용자에게 업데이트 촉구

공격을 방지하기 위해 Linux 시스템을 보호하려면 어떻게 해야 합니까?

답변1

이 Samba의 새로운 취약점은 이미 "Sambacry"라고 불리고 있으며, 익스플로잇 자체에는 "Eternal Red Samba"가 언급되어 있으며 트위터에서 다음과 같이 발표했습니다.

삼바 버그, 트리거할 메타스플로잇 단일 라이너는 다음과 같습니다: simple.create_pipe("/path/to/target.so")

잠재적으로 영향을 받는 Samba 버전은 Samba 3.5.0부터 4.5.4/4.5.10/4.4.14까지입니다.

Samba 설치가 아래 설명된 구성을 충족하는 경우 이미 수정/업그레이드가 완료되었으므로 최대한 빨리 수정/업그레이드를 수행해야 합니다.착취, 다른파이썬에서 악용그리고 메타스플로잇거기에 모듈이 있습니다.

더 흥미롭게도 이미 알려진 허니팟에 대한 추가 기능이 있습니다.허니넷프로젝트,디오네아워너크라이(WannaCry)와SambaCry 플러그인.

삼바울음은 이미 익숙해진 것 같아더 많은 암호화폐 채굴기를 설치하세요"EternalMiner" 또는미래에는 악성 코드 드롭퍼로 두 배로 감소.

Kaspersky Lab 연구진이 설정한 허니팟이 SambaCry 취약점을 악용하여 Linux 컴퓨터를 암호화폐 채굴 소프트웨어로 감염시키는 악성 코드 캠페인을 포착했습니다. 또 다른 보안 연구원인 Omri Ben Bassat‏는 독립적으로발견동일한 캠페인을 실행하고 이름을 "EternalMiner"로 지정했습니다.

Samba가 설치된 시스템(CVE 알림에도 있음)을 업데이트하기 전에 권장되는 해결 방법은 다음에 추가됩니다 smb.conf.

nt pipe support = no

(그리고 Samba 서비스를 다시 시작)

이는 Windows IPC 명명된 파이프 서비스에 대한 익명 연결 기능을 켜거나 끄는 설정을 비활성화해야 합니다. 에서 man samba:

이 전역 옵션은 개발자가 Windows NT/2000/XP 클라이언트가 NT 특정 SMB IPC$ 파이프에 연결하는 기능을 허용하거나 허용하지 않는 데 사용됩니다. 사용자는 기본값을 재정의할 필요가 없습니다.

그러나 내부 경험에 따르면 수정 사항이 이전 버전과 호환되지 않는 것 같습니다. Windows 버전(적어도 일부 Windows 7 클라이언트는 에서 작동하지 않는 것 같습니다. nt pipe support = no) 따라서 문제 해결 경로는 극단적인 경우 Samba를 설치하거나 컴파일하는 데까지 갈 수 있습니다.

보다 구체적으로, 이 수정 사항은 Windows 클라이언트의 공유 목록을 비활성화하며, 적용한 경우 이를 사용하려면 공유의 전체 경로를 수동으로 지정해야 합니다.

다른 알려진 해결 방법은 Samba 공유가 옵션으로 마운트되었는지 확인하는 것입니다 noexec. 이렇게 하면 마운트된 파일 시스템에 있는 바이너리가 실행되지 않습니다.

공식 보안 소스코드 패치는 다음과 같습니다.여기~로부터samba.org 보안 페이지.

데비안은 이미 어제(24/5) 업데이트와 해당 보안 공지를 공개했습니다.DSA-3860-1 삼바

Centos/RHEL/Fedora 및 파생 제품에서 취약점이 수정되었는지 확인하려면 다음을 수행하세요.

#rpm -q –changelog samba | grep -i CVE
– resolves: #1450782 – Fix CVE-2017-7494
– resolves: #1405356 – CVE-2016-2125 CVE-2016-2126
– related: #1322687 – Update CVE patchset

이제 감지 스크립트가 있습니다 nmap.samba-vuln-cve-2017-7494.nse Samba 버전을 감지하거나 nmap서비스가 취약한지 확인하는 훨씬 더 나은 스크립트http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve-2017-7494.nse, 복사한 /usr/share/nmap/scriptsnmap데이터베이스를 업데이트하거나 다음과 같이 실행합니다.

nmap --script /path/to/samba-vuln-cve-2017-7494.nse -p 445 <target>

SAMBA 서비스를 보호하기 위한 장기 조치 정보: SMB 프로토콜은 인터넷 전체에 직접 제공되어서는 안 됩니다.

SMB가 항상 복잡한 프로토콜이었으며 이러한 종류의 서비스는 방화벽으로 보호되어야 하며 [서비스가 제공되는] 내부 네트워크로 제한되어야 한다는 것도 말할 필요도 없습니다.

집이나 특히 회사 네트워크에 대한 원격 액세스가 필요한 경우 VPN 기술을 사용하여 이러한 액세스를 더 효과적으로 수행해야 합니다.

늘 그렇듯이, 이 상황에서는 필요한 최소한의 서비스만 설치하고 활성화하는 Unix 원칙이 효과가 있습니다.

익스플로잇 자체에서 가져옴:

Eternal Red Samba 익스플로잇 -- CVE-2017-7494.
취약한 Samba 서버가 루트 컨텍스트에서 공유 라이브러리를 로드하게 합니다.
서버에 게스트 계정이 있는 경우 자격 증명이 필요하지 않습니다.
원격 공격을 위해서는 최소한 하나의 공유에 대한 쓰기 권한이 있어야 합니다.
Eternal Red는 Samba 서버에서 쓸 수 있는 공유를 검색합니다. 또한 원격 공유의 전체 경로도 결정합니다.

    For local exploit provide the full path to your shared library to load.  

    Your shared library should look something like this

    extern bool change_to_root_user(void);
    int samba_init_module(void)
    {
        change_to_root_user();
        /* Do what thou wilt */
    }

또한 SELinux가 활성화된 시스템은 공격에 취약하지 않은 것으로 알려져 있습니다.

보다해커가 수천 대의 Linux PC에 원격으로 접근할 수 있게 해주는 7년 된 Samba 결함

Shodan 컴퓨터 검색 엔진에 따르면 485,000대 이상의 Samba 지원 컴퓨터가 인터넷에 포트 445를 노출했으며 Rapid7의 연구원에 따르면 104,000대 이상의 인터넷에 노출된 엔드포인트가 취약한 Samba 버전을 실행하는 것으로 나타났습니다. 그 중 92,000대는 지원되지 않는 Samba 버전을 실행 중입니다.

Samba는 Linux 및 UNIX 시스템에 구현된 SMB 프로토콜이기 때문에 일부 전문가들은 WannaCry 랜섬웨어가 사용하는 "EternalBlue의 Linux 버전"이라고 말합니다.

...아니면 SambaCry라고 해야 할까요?

취약한 시스템의 수와 이 취약점의 용이한 악용을 염두에 두면 Samba 결함은 웜 기능을 통해 대규모로 악용될 수 있습니다.

Linux를 실행하는 NAS(Network Attached Storage) 장치가 있는 홈 네트워크도 이 결함에 취약할 수 있습니다.

또한보십시오웜 가능한 코드 실행 버그가 Samba에 7년 동안 숨어 있었습니다. 지금 패치하세요!

CVE-2017-7494로 색인된 7년 된 결함은 몇 가지 조건이 충족되는 한 단 한 줄의 코드로 악성 코드를 실행하는 데 안정적으로 악용될 수 있습니다. 이러한 요구 사항에는 다음과 같은 취약한 컴퓨터가 포함됩니다.

(a) 인터넷에서 파일 및 프린터 공유 포트 445에 연결할 수 있도록 하고,
(b) 공유 파일에 쓰기 권한을 갖도록 구성하고,
(c) 해당 파일에 대해 알려졌거나 추측 가능한 서버 경로를 사용합니다.

이러한 조건이 충족되면 원격 공격자는 자신이 선택한 코드를 업로드하고 취약한 플랫폼에 따라 무제한 루트 권한을 사용하여 서버에서 코드를 실행하도록 할 수 있습니다.

익스플로잇의 용이성과 신뢰성을 고려하면 이 구멍은 가능한 한 빨리 막을 가치가 있습니다. 공격자가 이를 적극적으로 표적으로 삼기 시작하는 것은 시간문제일 것입니다.

또한Rapid 7 - Samba의 CVE-2017-7494 패치: 생명의 순환

그리고 더SambaCry: WannaCry의 Linux 속편.

알아야 할 사실

CVE-2017-7494의 CVSS 점수는 7.5입니다(CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H)3.

위협 범위

"port:445 !os:windows"에 대한 shodan.io 쿼리는 tcp/445가 인터넷에 열려 있는 약 백만 개의 비 Windows 호스트를 보여줍니다. 그 중 절반 이상이 아랍 에미리트(36%)에 존재하고 미국(16%). 이들 중 다수는 패치 버전을 실행하거나, SELinux 보호 기능을 갖추고 있거나, 악용 실행에 필요한 기준과 일치하지 않을 수 있지만, 이 취약점에 대한 가능한 공격 표면은 넓습니다.

PS SAMBA github 프로젝트의 커밋 수정 사항이 커밋된 것으로 보입니다.02a76d86db0cbe79fcaf1a500630e24d961fa149

답변2

Samba 서버를 실행하는 대부분의 사람들은 아마도 방화벽 뒤의 LAN 내부에서 서버를 실행하고 있으며 포트를 외부 세계에 직접 노출하지 않을 것입니다.

그렇게 한다면 끔찍한 일이 될 것이며, OpenVPN과 같은 간단하고 효과적이며 무료(맥주나 연설에서처럼) VPN 솔루션이 주변에 있다면 변명의 여지가 없습니다. SMB는 개방형 인터넷을 염두에 두고 설계되지 않았으며(TCP/IP는 해당 프로토콜에서 나중에 고려된 것임) 그렇게 취급되어야 합니다. 추가 제안은 모든 SMB 포트( 139/TCP, 445/TCP및 )에서 로컬(결국 VPN) 네트워크 주소만 화이트리스트 137/UDP에 추가하는 실제 파일 공유 호스트에서 방화벽 규칙을 실행하는 것입니다 138/UDP.

또한 사용 사례가 허용하는 경우 Samba를 권한 없이(예: samba별칭이 아닌 사용자 root) 실행하는 것을 고려해야 합니다. 이 설정을 사용하면 NT ACL의 제한 사항을 POSIX ACL과 결합하는 것이 쉽지 않다는 점을 이해하지만 특정 설정에서 가능하다면 그렇게 하는 것이 좋습니다.

마지막으로, 이러한 "잠금"이 있더라도 가능하다면 패치를 적용하고(해당할 수 없는 NAS 상자가 있기 때문에) 특정 사용 사례가 로 nt pipe support설정된 경우에도 작동하는지 테스트하는 것이 좋습니다 no.

관련 정보