bitsadmin.exeがEMOTETを疑われて使えないときの対策方法
問題点
コマンドプロンプトでインターネット上のファイルを取得しようとするとウイルス対策ソフトやセキュリティー対策ソフトにEMOTETが疑われて実行ができなくなってしまった。コマンドプロンプトのbitsadmin.exeがインターネット上のファイルを取得するコマンドです。
改善方法
インターネット上のファイル取得って結構面倒なことが多いんですよね。元々、バッチ処理に組み込んで、txtたlogぐらいのものをローカル処理用に引っ張ってきていたので、できるだけ簡単にしたかったので、適当にライブラリー化して、同じようなコマンドで済むようにします。
改善コード(ライブラリー部)
Windowsで動かすのに困らない、JScriptを採用。下記はそのコード。
// httpget.js
// Internet file get liblary
if ( WScript.Arguments.length == 0 ) {
WScript.Echo( "httpget url [savepath]" );
WScript.Quit();
}
var http = new ActiveXObject("Msxml2.ServerXMLHTTP")
var file;
var url = WScript.Arguments(0);
if ( WScript.Arguments.length == 1 ) {
var aData = url.split("/");
file = aData[aData.length-1];
}
else {
file = Wscript.Arguments(1);
}
WScript.Echo( url );
http.open("GET", url, false );
http.send();
try {
} catch (error) {
WScript.Echo( error.description );
WScript.Quit();
}
if ( http.status == 404 ) {
WScript.Echo( "URL が正しくありません(404)" );
WScript.Quit();
}
var stream = new ActiveXObject("ADODB.Stream");
stream.Open();
stream.Type = 1
stream.Write( http.responseBody );
stream.SaveToFile( file, 2 );
stream.Close
改善コード(実行部)
コマンドプロンプトなどで、下記で使用できるようになります。基本的には、bitsadmin.exeと同じような仕様になっています。
cscript httpget.js "URL"
「httpget.js」は、必要に応じて絶対パスで入れてください。(c:\Documents\httpget.jsみたいなやつね)
「URL」は接続先のURLです。
一応、接続先URLのファイルがない場合の、404エラーは出るようにしています。
バイナリー処理をしているので、基本的には、ファイル種類に制限はないはずです。
その他
EMOTETの脅威が勢力を広げ、勢いも増しているせいで、ある日突然、24時間自動稼働プログラムが、導入しているセキュリティーソフトに邪魔されるって事件が起きてあせりましたよ。2~3週間このライブラリーで正常に動きましたので、記事にすることにしました。
オススメ記事
Origin エラー MSVCR140.dll がない ダウンロードの方法…
不具合の原因 ソフトの動作に必要なVisual Studio…
【対処法】MP3 タグが編集できないとき ID3タグに関して Windows10…
問題点 コロナ禍のため、比較的に家にいることが多くなり、昔の…
グレースケール画像とは グレースケール画像とは、日本語で分か…
ディスカッション
コメント一覧
まだ、コメントがありません