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"를 지칭하는 취약점 자체는 트위터에서 다음과 같이 발표되었습니다.

Samba 버그, 트리거된 메타스플로잇 단일 코드 줄은 다음과 같습니다: simple.create_pipe("/path/to/target.so")

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

Samba 설치가 아래 설명된 구성과 일치하는 경우 이미 복구/업그레이드가 완료되었으므로 복구/업그레이드를 최대한 빨리 완료해야 합니다.장점, 다른파이썬의 익스플로잇그리고 메타 취약점거기에 모듈이 있습니다.

더욱 흥미로운 점은 이미 알려진 허니팟의 추가 기능이 있다는 것입니다.허니넷프로젝트,파리지옥동시에 울고 싶다SambaCry 플러그인.

삼바 울음 소리는 (잘못) 사용된 것으로 보입니다.더 많은 암호화폐 채굴기 설치"영원한 광부"또는앞으로 악성코드 드로퍼로서 더 열심히 일하겠습니다..

Kaspersky Lab 연구원 팀이 구축한 허니팟은 SambaCry 취약점을 사용하여 암호화폐 채굴 소프트웨어를 악용하여 Linux 컴퓨터를 감염시키는 악성 코드 캠페인을 포착했습니다. 또 다른 보안 연구원 Omri Ben Bassat‏, Independent발견하다동일한 활동을 수행하고 이름을 "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 클라이언트에 대한 공유 목록을 비활성화하며, 적용되는 경우 이를 사용하려면 공유에 대한 전체 경로를 수동으로 지정해야 합니다.

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

공식 보안 소스코드 패치는 다음과 같습니다.여기~에서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가 활성화된 시스템은 이 취약점에 덜 취약한 것으로 알려져 있습니다.

바라보다7년 된 Samba 결함으로 인해 해커가 수천 대의 Linux PC에 원격으로 액세스할 수 있음

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) 장치가 있는 홈 네트워크도 이 결함에 취약할 수 있습니다.

당신은 또한 볼 수 있습니다웜 가능한 코드 실행 버그는 7년 동안 Samba에 잠복해 있었습니다. 지금 패치하세요!

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가 아닌 호스트가 대략 100만 개에 달하며 그 중 절반 이상이 아랍 에미리트(36%)에 존재하고 미국(16%). 이들 중 다수는 패치 버전을 실행 중이거나, SELinux 보호 기능을 갖추고 있거나, 익스플로잇을 실행하는 데 필요한 기준을 충족하지 않는 반면, 이 취약점으로 인해 공격을 받을 수 있는 범위는 넓습니다.

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

답변2

Samba 서버를 실행하는 대부분의 사람들은 방화벽 뒤의 LAN 내에서 서버를 실행하며 해당 포트를 외부 세계에 직접 노출하지 않습니다.

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

또한 사용 사례에서 허용하는 경우 권한이 없는 방식으로 Samba를 실행하는 것을 고려해야 합니다(예: samba별칭 아래의 사용자로 실행하지 않음 root). 이 설정을 사용하여 NT ACL의 제한 사항과 POSIX ACL을 결합하는 것이 쉽지 않다는 것을 알고 있지만 특정 설정에서 그렇게 할 수 있다면 이것이 갈 길입니다.

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

관련 정보