
CVE-2017-8759 | .NET Framework 원격 코드 실행 취약점
CVE-2017-8759 | .NET Framework 원격 코드 실행 취약점
Microsoft .NET Framework가 신뢰할 수 없는 입력을 처리할 때 원격 코드 실행 취약점이 존재합니다. 이 취약점을 .NET Framework를 사용하는 소프트웨어에서 성공적으로 악용한 공격자는 영향을 받는 시스템을 제어할 수 있습니다. 공격자는 이후 프로그램을 설치하거나, 데이터를 보거나 변경 또는 삭제하거나, 전체 사용자 권한을 가진 새 계정을 만들 수 있습니다. 시스템에서 더 적은 사용자 권한을 갖도록 구성된 계정을 사용하는 사용자는 관리자 사용자 권한으로 작업하는 사용자보다 영향이 적을 수 있습니다. 취약점을 악용하려면 공격자는 먼저 사용자가 악성 문서나 애플리케이션을 열도록 유도해야 합니다. 보안 업데이트는 .NET이 신뢰할 수 없는 입력의 유효성을 검사하는 방식을 수정하여 이 취약점을 해결합니다. Microsoft .NET Framework는 악성 문서나 애플리케이션을 통해 공격자가 원격으로 코드를 실행할 수 있게 하며, 이것이 .NET Framework 원격 코드 실행 취약점입니다.
Microsoft에 따르면 영향을 받는 제품은 다음과 같습니다. • Microsoft .NET Framework 2.0 SP2 • Microsoft .NET Framework 3.5 • Microsoft .NET Framework 3.5.1 • Microsoft .NET Framework 4.5.2 • Microsoft .NET Framework 4.6 • Microsoft .NET Framework 4.6.1 • Microsoft .NET Framework 4.6.2 • Microsoft .NET Framework 4.7
공격은 다음과 같은 방식으로 발생합니다: • Python 스크립트를 사용하거나 수동으로 RTF 파일을 생성합니다. • 사용자가 문서를 열면 winword.exe는 악성 HTA 파일을 검색하기 위해 원격 서버에 HTTP 요청을 보냅니다. • 서버는 악성 스크립트가 포함된 HTA 파일을 반환합니다. • exe는 DLL 개체를 통해 application/hta에 대한 파일 처리기를 조회하며, 이로 인해 Microsoft HTA 애플리케이션(mshta.exe)이 로드되어 악성 스크립트를 실행합니다.
먼저 두 대의 가상 머신이 필요합니다. 저는 공격 환경으로 Kali Linux를, 피해자로 Windows 7을 사용하고 있습니다.
그런 다음 CVE-2017-8759에 대한 간단한 조사를 통해 취약점에 대한 정보를 얻어야 합니다.
• https://github.com/bhdresh/CVE-2017-8759 • https://github.com/nccgroup/CVE-2017-8759 • https://securitytracker.com/id/1039324 • https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-8759 • https://www.securityfocus.com/bid/100742 • https://www.exploit-db.com/exploits/42711 • https://www.cvedetails.com/cve/CVE-2017-8759/
저는 이 .NET Framework 원격 코드 실행 취약점에 대한 자세한 내용을 얻기 위해 위 참고 자료를 사용했습니다. 그림 4.3과 같이 이 취약점은 9.3의 CVSS 점수를 가지며, 모든 시스템 파일이 노출되는 완전한 정보 공개, 시스템 무결성의 완전한 손상, 시스템 보호의 완전한 상실로 인한 전체 시스템 손상, 영향받는 리소스의 완전한 종료가 있습니다. 공격자는 리소스를 완전히 사용 불가능하게 만들 수 있습니다. 접근 조건은 다소 특수합니다. 악용하려면 몇 가지 사전 조건이 충족되어야 합니다. 취약점을 악용하는 데 인증은 필요하지 않습니다.