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


73

rapid7 기사 에 따르면 Linux 시스템에서 원격 코드 실행을 허용하는 취약한 Samba 버전이 있습니다.

그동안 WannaCry의 ransomworm는 Windows 시스템의 영향을 분명 개선 단계를 쉽게 식별되었으며, 삼바 취약점은 리눅스와 유닉스 시스템에 영향을 미칠 것이며, 취득 또는 적절한 재조정을 배포에 중요한 기술적 장애물을 제시 할 수있다.

CVE-2017-7494

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

가능한 공격 시나리오 :

두 가지 요소에서 시작 :

  • 삼바 취약점 일부 Linux 배포판에서 아직 수정 되지 않았습니다.
  • 일부 Linux 커널 버전에는 패치되지 않은 로컬 권한 에스컬레이션 취약점이 있습니다 (예 : 4.8.0-41-generic Ubuntu 커널의 CVE-2017-7308).

공격자는 Linux 용 WannaCry 랜섬 웨어와 유사한 루트 액세스 권한을 획득하고 향후 램섬웨어를 설치하기 위해 로컬 악용 취약점을 사용하여 Linux 컴퓨터에 액세스하고 권한을 상승시킬 수 있습니다 .

최신 정보

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

카스퍼 스키 랩 (Kaspersky Lab) 의 연구원들이 설정 한 허니팟 이 SambaCry 취약점을 악용하여 악성 코드 캠페인을 캡처하여 cryptocurrency 마이닝 소프트웨어로 Linux 컴퓨터를 감염시키는 것으로 예측되었습니다.

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

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

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

INAebsGB.so — 공격자에 대한 원격 액세스를 제공하는 리버스 쉘.

cblRWuoCc.so — 암호 화폐 마이닝 유틸리티를 포함하는 백도어 – CPUminer.

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

공격받지 않도록 Linux 시스템을 어떻게 보호합니까?


22
WannaCry는 Windows 맬웨어입니다. 유닉스 바이러스는 동일한 프로토콜의이 관련없는 구현으로이 관련없는 문제를 이용하여 작성 될 수 있지만, 이것은 Windows 맬웨어와는 아무런 관련이 없습니다. Linux 용 WannaCry에 제공하는이 링크는 실제 프로그램없이 아무 것도 수행하지 않는 GUI를 사용하여 일부 그래픽 "자신의 GUI 만들기"소프트웨어의 출력처럼 보이는 소스를 훑어 보는 사기입니다.
아무도

2
@ GAD3R 내 iPhone을 Google 번역 / 카메라 모드와 함께 사용하면 중국어로 된 의견이 실제로 소스가 완료되지 않았다고 말합니다. 아직 존재하지 않는 랜섬웨어가 아닌 github 링크를 삭제하고 CVE 관련 질문을 다시 수행하는 것이 좋습니다. 또는 여전히 그 아이디어를 해결하고 싶다면, github 링크를 명시 적으로 만드는 것은 그 아이디어를 모방 한 것입니다
Rui F Ribeiro

8
@ GAD3R 그래, 누군가가 높은 권한으로 원격으로 내 시스템에 액세스 할 수 있다면, 기본 Linux 유틸리티를 사용하여 하드 드라이브를 암호화하고 허위에서 이와 같은 QT GUI를 작성하는 것이 훨씬 쉽습니다. WannaCry의 모든 실제 기능 (즉, 확산)은 Windows 악용에 따라 다릅니다. "WannaCry"는 클릭 미끼이며 순수하고 단순합니다.
아무도

6
@Nobody 충분히 공평하게, 나는 OP가 선의에 있다고 생각하고 단지 GUI라는 것을 인식하지 못한다. 우리는 주석을 읽는 중국 원주민이 아니며, 자신이 말한 것처럼, 그는 소스 코드를 읽는 것에 정통하지 않습니다. IMO는 두 가지 취약점 사이의 유사점을 제공하여 타이밍을 제공합니다. 느슨하게 해주세요. 그럼에도 불구하고 CVE 자체의 의미는 걱정 스럽다.
Rui F Ribeiro

3
IMO 나는 누군가 다른 생각이 있다면, 질문을 닫는 것을 권장하지 않습니다. 아직 작성되지 않은 랜섬웨어를 언급하지 않기 위해 질문 텍스트를 다시 작성했습니다. 내가 언급 한 해결 방법은 여전히 ​​우리가 가지고있는 레거시 시스템에서 적어도 유용했습니다.
Rui F Ribeiro

답변:


102

이 Samba의 새로운 취약점은 이미 "Sambacry"라고하며, 익스플로잇 자체는 "Eternal Red Samba"를 다음과 같이 트위터에 발표했습니다.

삼바 버그, metasploit one-liner 트리거는 다음과 같습니다 : simple.create_pipe ( "/ path / to / target.so")

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

Samba 설치가 아래에 설명 된 구성을 충족하는 경우 이미 익스플로잇 , 파이썬의 기타 익스플로잇메타 스플 로이트 모듈 이 있으므로 수정 / 업그레이드를 최대한 빨리 수행해야합니다 .

더 흥미롭게도, 이미로부터 노하우 팟에 추가 기능이 있습니다 허니넷 프로젝트, 하는 Dionaea WannaCry과에 모두 SambaCry 플러그인 .

삼바 외침은 이미 더 많은 암호 마이너 "EternalMiner" 를 설치 하거나 향후 맬웨어 드롭퍼로 두 배로 사용되는 것으로 보입니다 .

카스퍼 스키 랩 (Kaspersky Lab)의 연구원 팀이 설정 한 허니팟은 SambaCry 취약점을 악용하여 악성 코드 캠페인을 캡처하여 cryptocurrency 마이닝 소프트웨어로 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 삼바 버전, 또는 더 나은 검출 nmap서비스에 취약한 지 확인 스크립트를 http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve -2017-7494.nse 에서 복사 /usr/share/nmap/scripts한 다음 nmap데이터베이스 를 업데이트 하거나 다음과 같이 실행하십시오.

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

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

또한 SMB는 항상 복잡한 프로토콜이었으며 이러한 종류의 서비스는 방화벽이되어 내부 네트워크 (서비스를 제공하는 네트워크)로 제한되어야합니다.

가정 또는 기업 네트워크에 대한 원격 액세스가 필요한 경우 VPN 기술을 사용하여 이러한 액세스를보다 잘 수행해야합니다.

일반적으로이 상황에서 필요한 최소 서비스 만 설치하고 활성화하는 Unix 원칙은 그만한 가치가 있습니다.

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

영원한 레드 삼바 악용-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가 활성화 된 시스템은이 취약점에 취약하지 않은 것으로 알려져 있습니다.

보기 일곱 살 삼바 결함은 원격으로 리눅스 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) 장치가있는 홈 네트워크도이 결함에 취약 할 수 있습니다.

도 참조 wormable 코드 실행 버그 7 년 동안 삼바에 잠복하고있다. 지금 패치!

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

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

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

익스플로잇의 용이성과 신뢰성을 감안할 때이 구멍은 최대한 빨리 막을 가치가 있습니다. 공격자가 적극적으로 대상을 시작하기까지는 시간 문제 일 수 있습니다.

또한 7 빠른 - 삼바에 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)입니다.

위협 범위

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

PS SAMBA github 프로젝트의 커밋 수정은 commit 02a76d86db0cbe79fcaf1a500630e24d961fa149 인 것으로 보입니다.


2
천만에요. 내 시간대에 그를 추가, 나는 오전 9시 주위에 어제 데비안 보안 공지에 행동
루이 F 리베에게

6
Windows와 달리 Samba는 대부분의 Linux 배포판에서 기본적으로 켜져 있지 않습니까?
raphael

1
@raphael 사실, 그러나 모든 서버에 대해 1 페니를 받았다면 코어 DVD 세트가 모두 설치된 상태에서 발견되었습니다 ... 그 아이디어를 해결하기 위해 약간의 답을 편집했습니다.
Rui F Ribeiro

9
내가 아는 한, nmap 스크립트는 당신이 취약하지 않은 한 삼바의 버전을 검사합니다. AFAICT는이 취약점을 악용하기 위해 서버에 파일을 업로드 할 수 있어야합니다. 따라서이 취약점은 Eternalblue Windows만큼 심각하지 않습니다. 인증없이 인터넷을 통한 파일 업로드를 허용하면 Samba의 취약성 여부에 문제가 있습니다.
Stéphane Chazelas

1
@ StéphaneChazelas 덕분에, 아직 스크립트를 확인할 시간이 없었습니다
Rui F Ribeiro

21

Samba 서버를 실행하는 대부분의 사람들은 LAN 내부에서 방화벽 뒤에서 실행 중일 수 있으며 포트를 외부에 직접 노출시키지 않습니다.

OpenVPN과 같은 간단하고 효과적이며 무료 (맥주 및 음성) VPN 솔루션이있는 경우 끔찍한 연습이 될 것입니다. SMB는 개방형 인터넷을 염두에두고 설계되지 않았기 때문에 (TCP / IP는 그 프로토콜에서 나중에 고려 된 것으로 간주됩니다) 그렇게 취급해야합니다. 추가 제안 모든 SMB 포트에 로컬 (결국 VPN) 네트워크 adresses 허용 목록을 실제 파일 공유 호스트에서 방화벽 규칙을 실행 ( 139/TCP, 445/TCP, 137/UDP138/UDP).

또한 유스 케이스가 허용하는 경우 Samba 권한이없는 (예 : samba가 아닌 사용자) 실행을 고려해야합니다 root. 이 설정을 사용하여 POSIX ACL을 사용하여 NT ACL의 제한 사항을 쉽게 적용 할 수는 없지만 특정 설정에서 가능하면 갈 수있는 방법이라는 것을 알고 있습니다.

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


4
“인트라넷에서만 액세스 할 수 있습니다”는 WannaCry가 확산 된 회사의 일부 관리자가 생각한 것일 수 있습니다.
Carsten S
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.