おはようございます。こんにちは。こんばんは。
ミッド(@mid_v_lab)です
昨日のパッチチューズデイは大したことなくて良かったな~と思っていたら、Windowsの印刷スプーラーサービス周りで「また」脆弱性が見つかったそうです。
「Windows印刷スプーラーサービス」に関するあらたなゼロデイ脆弱性が公表された。マイクロソフトでは、回避策を示すとともに、対象製品の調査や修正プログラムの開発を進めている。
同社では、いわゆる「パッチチューズデー」にあたる米時間8月10日に月例セキュリティ更新をリリースしたばかりだが、翌11日に未修正のあらたな脆弱性「CVE-2021-36958」を公表したもの。
引用元:Secuity NEXT
わ~~い(苦笑い
パッチ出た次の日にまた脆弱性が発見されるって、
というギャグみたいな展開ですね。
でも実際にありますけどね。同じシステムのメンテのこともあれば、別のシステムのメンテのこともありますけど。無限に続く、メンテ地獄。
話が逸れましたが、「印刷スプーラーサービス」は印刷するときに利用するサービスで、全台の端末で影響しますので普段あまり印刷しない人は、とりあえずサービス停止推奨です。
サービスの止め方と、スタートアップの無効方法は2021年7月度のパッチチューズデイ記事で触れてます。
■過去記事
今日は、PowerShellで印刷スプーラーサービスが「起動状態なら停止」にする、「停止状態なら起動」するというスクリプトを組んでみました。
という人のためのやつです。コピペしてデスクトップなどに置いておけば、そこそこ捗ると思います。
↓コードはこれ↓
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(“Administrators”)) { Start-Process powershell.exe “-File `”$PSCommandPath`”” -Verb RunAs; exit }
$print_status = Get-Service | Where-Object { $_.Name -eq “Spooler” }
if ($print_status.Status -eq “Running”){
$wsobj = new-object -comobject wscript.shell
$result = $wsobj.popup(“印刷スプーラーサービスは起動しています。止めますか?”,0,”実行確認”,1)
if($result -eq “1”){
Stop-Service -Name Spooler -Force
}else{
exit
}
}else {
$wsobj1 = new-object -comobject wscript.shell
$result1 = $wsobj1.popup(“印刷スプーラーサービスは停止しています。開始しますか?”,0,”実行確認”,1)
if($result1 -eq “1”){
Start-Service -Name Spooler
}else{
exit
}
}
exit
印刷スプーラーサービス(Spool)の状態を取得して、「Running」なら止めるかをウインドウ表示して、「はい」ならサービス停止、「いいえ」なら何もせずにそのまま終了。
それ以外(停止状態)なら開始するかをウインドウ表示して、「はい」ならサービス開始、「いいえ」なら何もせずにそのまま終了。
って感じです。
1行目はサービスの開始終了なので管理者権限が必要で、この1行を入れると管理者権限で実行してくれる魔法のコマンドです。
<使い方>
1.デスクトップに適当なテキストファイルを作って、名前を「printspooler.ps1」にリネーム。(拡張子変えると~~はOKで閉じる)
2.「printspooler.ps1」を右クリックして、「編集」を選択。
3.上記のコードをコピペして、貼り付け。上書き保存して閉じる。
4.「printspooler.ps1」を右クリックして、「PowerShellで実行」を選択。
悪夢よ・・・夢以外の場所では、出てこないでくれ。(夢でも出てほしくありません
印刷スプーラーサービスはまだまだ荒れそうですね。
PC端末だけじゃなくて、サーバも対象ってところがね・・・まあサーバこそ印刷スプーラーサービスは永久的に封印しておけと思います。
ではでは