꿈을꾸는 파랑새

오늘은 나토(NATO) 및 우크라이나 지원 그룹을 공격하는 악성코드-Overview_of_UWCs_UkraineInNATO_campaign.docx(2023.07.08) 에 대해 글을 적어 보겠습니다. 해당 악성코드는 롬콤랫(RomCom RAT)이라는 단체에서 만든 악성코드이며 한때는 쿠바(Cuba) 랜섬웨어 만들어서 수익을 최소 4,390만 달러를 수익 내기도 한 단체이며 최근에는 러시아-우크라이나 전쟁 그리고 리투아니아에서 2023.7.11~2023.7.12 에 있는 나토 양자회담을 노린 것으로 추측되는 공격이며 해쉬값은 다음과 같습니다.
파일명:Overview_of_UWCs_UkraineInNATO_campaign.docx.doc
사이즈:117 KB
CRC32:e8302f14
MD5:d227874863036b8e73a3894a19bd25a0
SHA-1:2400b169ee2c38ac146c67408debc9b4fa4fca5f
SHA-256:a61b2eafcf39715031357df6b01e85e0d1ea2e8ee1dfec241b114e18f7a1163f
공격 목표는 간단합니다. 러시아-우크라이나 전쟁에서 우크라이나를 지원하는 개인 및 국가를 대상을 하고 있습니다.
의제의 주제 중 하나는 우크라이나와 조직의 앞으로 회원 자격 우크라이나 현 대통령인 Zelenskyy(젤렌스키) 참여를 확인
쉽게 이야기하면 우크라이나 지지자들에게 유포해서 한 사람이라도 걸리면 개인정보 및 민감한 군사 정보 및 정치 관련 정보를 수집하기 위해서 작성이 돼 있습니다.
문서에 사용된 감염 기술은 피해자가 문서를 열면 피해자의 시스템에서 아웃 바운드 연결이 시작되는 RTF 익스플로잇 공격이며 피싱 사이트 정보는 다음과 같습니다.

악성코드 가 연결 하는 피싱 사이트
악성코드 가 연결 하는 피싱 사이트

http://ukrainianworldcongress(.)info/

진짜 사이트 주소

https://www.ukrainianworldcongress(.)org/

악성코드 실행 파일
악성코드 실행 파일

공격 방식
타이포스쿼팅
타이포스쿼팅 사용자가 잘못 입력한 인터넷 주소를 이용하여 악성 사이트로 유도하는 공격 방법 간단하게 info 와 org 차이점 한국인들이 알기 쉽게 네이버, 다음 주소가 com, net 가 아니고 info로 돼 있어서 사람을 낚는 방식 Typosquatting(타이포스쿼팅) 대응 방법은 간단합니다. 요즈음 브라우저에 보면 이걸 방지하기 위해서 주소를 입력하다 보면 정확한 주소가 입력되고 아니면 브라우저 이런 것을 예방하기 위해서 최소한 안전장치가 있으며
그리고 기본적으로 한국에서는 백신 프로그램이라고 부르는 안티바이러스 프로그램에도 이런 사이트 접속 못 하게 설정이 돼 있기 때문에 쓸데없이 해당 기능을 꺼는 행동을 하지 않는 것이 좋습니다.

워드 악성코드 에 포함이 되어져 있는 악성코드 다운로드 주소
워드 악성코드 에 포함이 되어져 있는 악성코드 다운로드 주소

afchunk.rtf 가 워드 안에 삽입이 잘되어져 있는 것을 확인할 수가 있으며 먼저 해쉬값은 다음과 같습니다.
파일명:afchunk.rtf
사이즈:43.1 KB
CRC32:0a28337e
MD5:3ca154da4b786a7c89704d0447a03527
SHA-1:98bb203c44421c89cdbbb54ea05602255ce7a61e
SHA-256:e7cfeb023c3160a7366f209a16a6f6ea5a0bc9a3ddc16c6cba758114dfe6b539
OLE 파일에는 각각 다음과 같은 코드가 포함돼 있습니다.

afchunk.rtf 안에 삽입이 되어져 있는 악성 사이트로 연결 되는 주소
afchunk.rtf 안에 삽입이 되어져 있는 악성 사이트로 연결 되는 주소

5C3130342E3233342(E)3233392E32(3)65C7368617265315C4D5348544D4C5F43375C66696C653030312E75726C
\104.234.239(.)26\share1\MSHTML_C7\file001.url

워드 악성코드 실행 화면
워드 악성코드 실행 화면

\104.234.239(.)26\share1\MSHTML_C7\file001.url
0068007400740070003A002F002F00370034002E0035003(0)002E00390034
002E003100350036002F004D005300480054004D004C005F0043003700(2)
F00730074006100720074002E0(0)78006D006C00

을 HEX를 디코딩해보면 다음과 같은 주소가 있는 것을 확인할 수가 있습니다.

h t t p : / / 7 4 . 5 0 . 9 4 (.) 1 5 6 / M S H T M L _ C 7 / s t a r t . x m l

가 있는 것을 확인할 수가 있으며 해당 악성코드가 사용하는 IP 주소는 다음과 같습니다.

104.234.239(.)26:137(UDP)
104.234.239(.)26:139(TCP)
104.234.239(.)26:445(TCP)
104.234.239(.)26:80(TCP)
128.75.237(.)146:443(TCP)
13.107.246(.)53:443(TCP)
13.85.23(.)86:443(TCP)
184.50.201(.)89:443(TCP)
192.229.221(.)95:80(TCP)
20.224.151(.)203:443(TCP)
20.234.90(.)154:443(TCP)
20.74.47(.)205:443(TCP)
34.149.100(.)209:443(TCP)
34.160.144(.)191:443(TCP)
52.109.28(.)107:443(TCP)
52.109.32(.)24:443(TCP)
52.109.68(.)59:443(TCP)
62.115.252(.)50:443 (TCP)
74.50.94(.)156:80(TCP)
8.253.193(.)121:80 (TCP)

각각 OLE에 포함된 부분을 통해서 다음과 같이 실행이 됩니다.

\104.234.239(.)26\share1\MSHTML_C7\file001.url->file001(.)url 다운로드

그리고 실행이 되고 다음과 같은 파일들이 다운로드 됩니다.
C:\Users\admin\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\BDW1XBVN\start[1].xml
C:\Users\admin\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\D2U1WPAC\RFile[1].htm

사용자가 Microsoft Word(마이크로소프트 워드) 파일을 다운로드 하고 실행하면 VPN, 프록시 서비스와 관련된 IP 주소 104.234.239(.)26에 연결되는 RTF 에서 OLE 개체가 로드
사용하는 포트 80, 139 및 445(HTTP 및 SMB 서비스)에 연결이 되는 것을 확인할 수가 있습니다. 
해당 악성코드 IOC는 다음과 같습니다.
파일명:Overview_of_UWCs_UkraineInNATO_campaign.docx.doc
사이즈:117 KB
CRC32:e8302f14
MD5:d227874863036b8e73a3894a19bd25a0
SHA-1:2400b169ee2c38ac146c67408debc9b4fa4fca5f
SHA-256:a61b2eafcf39715031357df6b01e85e0d1ea2e8ee1dfec241b114e18f7a1163f
해당 워드로 작성된 악성코드를 실행하면 다음과 같은 내용이 있는 것을 확인할 수가 있습니다.

워드 악성코드 실행 2
워드 악성코드 실행 2

Talking points for UWC’s #UkraineInNATO campaign
●Today, Ukraine is fighting for more than its own freedom, independence and sovereignty; Ukraine is fighting for the freedom of Europe and for that of the entire Free World, for the very values underlying our right to live in democratic societies where human rights are respected. Ukraine's Armed Forces are defending the peace, prosperity and stability of Europe, and of the entire Euro-Atlantic community, on the frontlines of this war.
●Ukraine's successes on the frontlines would not have been possible without the NATO Allies’ powerful and consistent support. Ukraine has widely adapted to NATO standards, and its army has proven very capable in transitioning to Western weaponry and doing so in conditions of full-scale war. The degree of integration between Ukraine and the Alliance has deepened with every passing month.
●According to NATO's own documents, Russia represents the Alliance’s greatest near-term threat, and no one has more direct experience in fighting, and defeating it, than Ukraine does. Today, Ukraine and its Armed Forces form the NATO alliance’s most powerful and effective defense of its eastern flank.
●Since Russia launched its full-scale invasion on February 24, 2022, Ukraine has de facto become a NATO member; the time has come for the formalities to make this reality de jure.
●At the Vilnius summit, the Allies should provide Ukraine with a clear view of accelerated accession immediately following the war’s end (i.e., define modalities and specific timeframes).
●The situation has changed drastically since 2008, when the Allies declared that Ukraine may, "one day", join their alliance, and only after the implementation of its Membership Action Plan (MAP). Ukraine’s adoption of NATO standards has accelerated in conditions of full-scale war, and Ukraine has “outgrown” its MAP. The memberships of Finland and Sweden in the Alliance have been fast-tracked, with no lengthy MAP implementation. These countries are the models for Ukraine.
●Prior to Ukraine's full accession, NATO allies must work closely with Kyiv to develop the interim security guarantees that will come into force immediately after the war’s end. This is a key condition towards establishing peace in Ukraine and launching the country’s full-scale reconstruction.
●Equally important for NATO member states is to continue supplying military weapons to Ukraine, including tanks, aircraft, and armored combat vehicles, to bring about a speedy victory over the Russian aggressor.
●The absence of clear signals of support for Ukraine in Vilnius, including a clear decision and vision regarding Ukraine’s membership, will be a victory for Russia. It will send Moscow the signal that Putin's blackmail is working, and that the West is afraid of fake Russian threats.
●A clear signal of full-scale support for Ukraine and its Euro-Atlantic future in Vilnius will deliver a powerful message to Moscow: that its plan to blackmail and destabilize the Euro-Atlantic community has failed, and that it makes no sense for Russia to continue waging its war of aggression against Ukraine.
UWC의 #UkraineInNATO 캠페인의 요점
● 오늘날 우크라이나는 자신의 자유, 독립, 주권 이상을 위해 싸우고 있습니다. 우크라이나는 유럽의 자유와 전체 자유 세계의 자유, 인권이 존중되는 민주 사회에서 살 권리의 근간이 되는 가치를 위해 싸우고 있습니다. 우크라이나 국군은 이 전쟁의 최전선에서 유럽과 전체 유로-대서양 공동체의 평화, 번영, 안정을 수호하고 있습니다.
● 최전선에서 우크라이나의 성공은 NATO 동맹국의 강력하고 일관된 지원 없이는 불가능했을 것입니다. 우크라이나는 NATO 표준에 광범위하게 적응했으며 우크라이나 군대는 서방 무기로 전환하고 전면전 상황에서 그렇게 할 수 있는 능력이 매우 뛰어난 것으로 입증되었습니다. 우크라이나와 동맹 간의 통합 정도는 매월 심화하였습니다.
● NATO의 자체 문서에 따르면 러시아는 동맹의 가장 가까운 단기적 위협이며, 우크라이나보다 더 직접적인 전투 경험과 NATO 패배 경험이 있는 국가는 없습니다. 오늘날 우크라이나와 그 군대는 동부 측면에서 NATO 동맹의 가장 강력하고 효과적인 방어를 형성합니다.
● 2022년 2월 24일 러시아가 전면 침공한 이후 우크라이나는 사실상 NATO 회원국이 되었습니다. 이 현실을 정당하게 만들기 위한 형식적 절차가 필요한 때입니다.
● 빌니우스 정상회담에서 연합국은 전쟁이 끝난 직후 우크라이나에 가입 가속화에 대한 명확한 견해를 제공해야 합니다(예: 양식 및 특정 기간 정의).
● 2008년 연합국이 우크라이나가 "언젠가는" 동맹에 가입할 수 있다고 선언한 이후 상황은 급격하게 변했습니다. 이는 회원국 행동 계획(MAP)이 시행된 후에야 가능합니다. 우크라이나의 NATO 표준 채택은 본격적인 전쟁 상황에서 가속화되었으며 우크라이나는 MAP를 "초과"했습니다. 얼라이언스에서 핀란드와 스웨덴의 멤버십은 긴 MAP 구현 없이 빠르게 진행되었습니다. 이 국가들은 우크라이나의 모델입니다.
● 우크라이나의 완전한 가입에 앞서 NATO 동맹국들은 키예프와 긴밀히 협력하여 종전 직후 발효될 임시 안보 보장을 개발해야 합니다. 이는 우크라이나의 평화정착과 전면적인 재건을 위한 핵심조건이다.
● NATO 회원국들에 똑같이 중요한 것은 탱크, 항공기, 장갑 전투 차량을 포함한 군용 무기를 우크라이나에 계속 공급하여 러시아 침략자에 대한 빠른 승리를 가져오는 것입니다.
● 빌니우스에서 우크라이나의 가입에 대한 명확한 결정과 비전을 포함하여 명확한 우크라이나 지원 신호가 없는 것은 러시아의 승리입니다. 그것은 푸틴의 협박이 효과가 있고 서방이 가짜 러시아 위협을 두려워한다는 신호를 모스크바에 보낼 것입니다.
● 우크라이나에 대한 전면적 지원과 빌니우스의 유로-대서양 미래에 대한 명확한 신호는 모스크바에 강력한 메시지를 전달할 것입니다. 우크라이나에 대한 침략 전쟁을 계속하기 위해.

악성코드는 다음 IP 트래픽을 사용을 합니다.

104.234.239(.)26:137 (UDP)
104.234.239(.)26:139 (TCP)
104.234.239(.)26:445 (TCP)
104.234.239(.)26:80 (TCP)
74.50.94(.)156:80 (TCP)

이며 해당 악성코드는 CVE-2023-36884 취약점을 악용합니다. 해당 취약점은 2023년6월에 Microsoft(마이크로소프트)는 Storm-0978로 추적하는 위협 행위자가 시작한 피싱 캠페인을 확인 해당 캠페인은 우크라이나 세계 의회와 관련된 미끼로 북미와 유럽의 국방 및 정부 기관을 표적으로 하고 있으며 캠페인 일부로 전달된 이메일에는 백도어를 설치하기 위해 CVE-2023-36884를 악용한 Word 문서에 대한 링크가 포함되어 있으며 지난 시간에 이야기한 것처럼 해당 취약점은 아직은 패치가 이루어지지 않은 취약점입니다. 앞서 설명을 한 것처럼 레지스터리 편집기를 통해서 해당 취약점을 완화할 수가 있습니다.
PowerShell을 사용하여 CVE-2023-36884를 완화하는 방법도 있습니다.
요구 사항: 윈도우 7 및 Windows Server 2008 시스템 이상에서 작동
-Undo 매개 변수를 사용하여 레지스트리 키 설정을 실행 취소하거나 -OfficeProducts 매개 변수를 사용하여 특정 Office 제품에 적용할 수 있음
그리고 해당 사이트에서 제공을 하고 있는 PowerShell를 이용을 해서 적용을 하는 방법이 있습니다.

CVE-2023-36884 PowerShel 주소

CVE-2023-36844 임시 완화 파워셀
CVE-2023-36844 임시 완화 파워셀

<#
.SYNOPSIS
    This script will set the registry keys required to remediate CVE-2023-36884. Please note that these keys may effect regular functionality of Microsoft Office Products. 
    These changes can be undone with the -Undo parameter or applied only to specific office products using the -OfficeProducts parameter.
.DESCRIPTION
    This script will set the registry keys required to remediate CVE-2023-36884. Please note that these keys may effect regular functionality of Microsoft Office Products. 
    These changes can be undone with the -Undo parameter or applied only to specific office products using the -OfficeProducts parameter.
.EXAMPLE
    (No Parameters)
    
    Visio was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Visio.exe to 1
    Success!
    Word was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\WinWord.exe to 1
    Success!
    Wordpad was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Wordpad.exe to 1
    Success!
    Project was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\WinProj.exe to 1
    Success!
    PowerPoint was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\PowerPoint.exe to 1
    Success!
    Excel was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Excel.exe to 1
    Success!
    Publisher was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\MsPub.exe to 1
    Success!
    Graph was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Graph.exe to 1
    Success!
    Access was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\MSAccess.exe to 1
    Success!
​
PARAMETER: -Undo
    Remove's the registry keys used for this fix (if they're set at all).
.EXAMPLE
    -Undo
    
    Visio was selected for remediation.
    Succesfully removed registry key!
    Word was selected for remediation.
    Succesfully removed registry key!
    Wordpad was selected for remediation.
    Succesfully removed registry key!
    Project was selected for remediation.
    Succesfully removed registry key!
    PowerPoint was selected for remediation.
    Succesfully removed registry key!
    Excel was selected for remediation.
    Succesfully removed registry key!
    Publisher was selected for remediation.
    Succesfully removed registry key!
    Graph was selected for remediation.
    Succesfully removed registry key!
    Access was selected for remediation.
    Succesfully removed registry key!
​
PARAMETER: -OfficeProducts "Excel,Word"
    Set's the registry key for only those products. Can be given an individual product or a comma seperated list. Can also be used in combination with the -Undo parameter Ex. "Publisher" or "Word,Excel,Access"
.EXAMPLE
    -OfficeProducts "Excel,Word"
    
    Word was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\WinWord.exe to 1
    Success!
    Excel was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Excel.exe to 1
    Success!
​
.OUTPUTS
    None
.NOTES
    General notes
#>
[CmdletBinding()]
param (
    [Parameter()]
    [String]$OfficeProducts = "All",
    [Parameter()]
    [Switch]$Undo
)
​
begin {
​
    # Test's if the script is running in an elevated fashion (required for HKLM edits)
    function Test-IsElevated {
        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()
        $p = New-Object System.Security.Principal.WindowsPrincipal($id)
        $p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)
    }
​
    # This is just to make setting regkey's easier
    function Set-RegKey {
        param (
            $Path,
            $Name,
            $Value,
            [ValidateSet("DWord", "QWord", "String", "ExpandedString", "Binary", "MultiString", "Unknown")]
            $PropertyType = "DWord"
        )
        if (-not $(Test-Path -Path $Path)) {
            # Check if path does not exist and create the path
            New-Item -Path $Path -Force | Out-Null
        }
        if ((Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue)) {
            # Update property and print out what it was changed from and changed to
            $CurrentValue = (Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue).$Name
            try {
                Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error "[Error] Unable to Set registry key for $Name please see below error!"
                Write-Error $_
                exit 1
            }
            Write-Host "$Path\$Name changed from $CurrentValue to $($(Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue).$Name)"
        }
        else {
            # Create property with value
            try {
                New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error "[Error] Unable to Set registry key for $Name please see below error!"
                Write-Error $_
                exit 1
            }
            Write-Host "Set $Path\$Name to $($(Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue).$Name)"
        }
    }
​
    # All the microsoft office products with their corresponding dword value
    $RemediationValues = @{ "Excel" = "Excel.exe"; "Graph" = "Graph.exe"; "Access" = "MSAccess.exe"; "Publisher" = "MsPub.exe"; "PowerPoint" = "PowerPnt.exe"; "OldPowerPoint" = "PowerPoint.exe" ; "Visio" = "Visio.exe"; "Project" = "WinProj.exe"; "Word" = "WinWord.exe"; "Wordpad" = "Wordpad.exe" }
}
process {
​
    # Error out when not elevated
    if (-not (Test-IsElevated)) {
        Write-Error -Message "Access Denied. Please run with Administrator privileges."
        exit 1
    }
​
    # If they have a smaller selection we'll want to filter our remediation list
    if ($OfficeProducts -notlike "All") {
        $OfficeProducts = $OfficeProducts.split(',') | ForEach-Object { $_.Trim() }
        $RemediationTargets = $RemediationValues.GetEnumerator() | ForEach-Object { $_ | Where-Object { $OfficeProducts -match $_.Key } }
    }
    else {
        $RemediationTargets = $RemediationValues.GetEnumerator()
    }
​
    # Path to all the registry keys
    $Path = "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION"
​
    # We'll want to display an error if we don't have anything to do
    if ($RemediationTargets) { 
​
        # For Each product we're targeting we'll set the regkey. The Set-RegKey function already checks if it was succesful and will display an error and exit if it fails
        $RemediationTargets | ForEach-Object { 
            Write-Host "$($_.Name) was selected for remediation."
            if (-not $Undo) {
                Set-RegKey -Path $Path -Name $_.Value -Value 1
                Write-Host "Success!"
            }
            else {
                # If you only applied it to certain products this will error so instead we'll hide the errors and check afterwards if the registry key is there.
                Remove-ItemProperty -Path $Path -Name $_.Value -ErrorAction SilentlyContinue | Out-Null
                if (Get-ItemProperty -Path $Path -Name $_.Value -ErrorAction SilentlyContinue) {
                    Write-Error "[Error] Unable to undo registry key $($_.Value)!"
                    exit 1
                }
                else {
                    Write-Host "Succesfully removed registry key!"
                }
            }
        }
​
        Write-Warning "A reboot may be required."
        exit 0
    }
    else {
        Write-Host $RemediationTargets
        Write-Warning "No products were selected! The valid value's for -OfficeProducts is listed below you can also use a comma seperated list or simply put 'All'."
        $RemediationValues | Sort-Object Name | Format-Table | Out-String | Write-Host
        Write-Error "ERROR: Nothing to do!"
        exit 1
    }
}

CVE-2023-36844.ps1
0.01MB

물론 해당 코드를 적용해도 되고 그리고 그냥 기다리는 방법이 있으면 마이크로소프트도 빠르게 해당 취약점에 대응할 것입니다.
해당 스크립트는 PowerShell 스크립트로서 Microsoft Office 제품군에 영향을 주는 특정 보안 취약점인 CVE-2023-36884를 해결하기 위해 레지스트리 키를 설정하는 기능을 제공
주요 기능
스크립트는 관리자 권한으로 실행 중인지 확인하는 Test-IsElevated 와 레지스트리 키를 설정하는 Set-RegKey라는 두 개의 도우미 함수를 정의
RemediationValues 라는 해시테이블을 정의
해당 해시테이블은 Microsoft Office 제품과 해당하는 레지스트리 키 값을 포함
스크립트는 전달된 매개변수를 처리
관리자 권한으로 실행되지 않았으면 오류를 표시하고 종료
-OfficeProducts 매개변수가 지정된 경우 제품 이름을 기준으로 RemediationValues  해시테이블을 필터링
선택한 Office 제품에 대해 Set-RegKey` 함수를 사용하여 레지스트리 키를 설정
각 제품에 대해 성공 메시지를 표시
-Undo 매개변수가 지정된 경우 레지스트리 키를 설정하는 대신 해당 키를 제거
각 제품에 대해 성공 메시지를 표시
마지막으로, 실행 결과에 따라 경고 및 오류 메시지를 표시
2023-07-15 01:20:46 UTC 기준 바이러스토탈(Virus Total)에서 탐지하는 보안 업체들은 다음과 같습니다.
AhnLab-V3:OLE/Cve-2017-0199.Gen
Alibaba"Exploit:Office/CVE-2017-0199.4d2de32e
ALYac:Exploit.CVE-2017-0199
Antiy-AVL:Trojan/Win32.Seheq
Arcabit:Trojan.Generic.D40CC912
Avast:Other:Malware-gen [Trj]
AVG:Other:Malware-gen [Trj]
Avira (no cloud):EXP/CVE-2017-0199.bzhbx
BitDefender:Trojan.GenericKD.67946770
ClamAV:Rtf.Exploit.CVE_2017_0199-6335035-0
Cynet:Malicious (score: 99)
Cyren:CVE-2017-0199.A.gen!Camelot
DrWeb:W97M.DownLoader.6047
Emsisoft:Trojan.GenericKD.67946770 (B)
eScan:Trojan.GenericKD.67946770
ESET-NOD32:Win32/Exploit.CVE-2017-0199.TC
F-Secure:Exploit.EXP/CVE-2017-0199.bzhbx
Fortinet
MSOffice/Reoff.MOWH!exploit
GData:Trojan.GenericKD.67946770
Google:Detected
Ikarus:Trojan.RTF.Agent
K7AntiVirus:Trojan ( 0001140e1 )
K7GW:Trojan ( 0001140e1 )
Kaspersky:UDS:DangerousObject.Multi.Generic
Lionic:Trojan.MSOffice.Generic.4!c
MAX:Malware (ai Score=86)
McAfee:RTFObfustream.a!3CA154DA4B78
McAfee-GW-Edition:RTFObfustream.a!3CA154DA4B78
Microsoft:Exploit:O97M/CVE-2023-36884
NANO-Antivirus:Exploit.Ole2.CVE-2017-0199.equmby
QuickHeal:Exp.RTF.CVE-2017-0199.AC
Rising:Exploit.CVE-2017-0199!1.E825 (CLASSIC)
Sangfor Engine Zero:Malware.Generic-RTF.Save.1e09ac4b
Sophos:Troj/DocDrop-TJ
Symantec:Trojan.Mdropper
Symantec Mobile Insight:AdLibrary:Generisk
Tencent:Exp.MsOffice.Cve2019_0199.11022681
Trellix (FireEye):Trojan.GenericKD.67946770
TrendMicro:Trojan.W97M.CVE20170199.PFKNO
TrendMicro-HouseCall:Trojan.W97M.CVE20170199.PFKNO
VIPRE:Trojan.GenericKD.67946770
ViRobot:Exploit.S.CVE-2023-36884.120614
ZoneAlarm by Check Point:HEUR:Exploit.MSOffice.Generic
해당 관련 파워셀 해쉬값은 다음과 같습니다.
파일명: CVE_2023_36844.ps1
사이즈: 9.37 KB
CRC32: ad8aa487
MD5: 489ced167e8fe958127466b5543d6c5d
SHA-1: 8b11d9c2a8bfb3741174edf898417f5978b78cb8
SHA-256: 29b73385f5a7ec2212c3c2f1ce450b3dc325b61b98e08c7d65aede43e71efa15
결론: 기본적인 보안 수칙을 잘 지키고 표적은 NATO 정상회의(나토 정상회의)의 성격과 악의적인 목적을 가진 사람이 보낸 관련 미끼 문서에 따라서 피해자는 우크라이나 대표, 외국 조직 및 우크라이나를 지원하는 개인 및 단체, 군대들이 스피어 피싱 이메일 목표가 될 것이고 해당 관련 종사하시는 분들은 항상 조심하는 것이 좋습니다.
해당 악성코드는 CVE-2023-36884는 아직 야생에서 악용되고 있으므로 주의가 요하면 마이크로소프트 오피스 이든 윈도우 이든 업데이트 잘하자 입니다.

그리드형

공유하기

facebook twitter kakaoTalk kakaostory naver band