bitsadmin.exeがEMOTETを疑われて使えないときの対策方法

eyecatch_603

問題点

コマンドプロンプトでインターネット上のファイルを取得しようとするとウイルス対策ソフトやセキュリティー対策ソフトに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週間このライブラリーで正常に動きましたので、記事にすることにしました。

オススメ記事

eyecatch_124

QtWebEngineProcess.exeがメモリーを異常に使用している…

不具合内容 主にパソコン起動時にタスクマネージャーを見ると、…

eyecatch_583

Apex Legends エラー Connection rejected: in…

問題点 Apex Legendsの起動時にエラー「Conne…

eyecatch_81

Windows10 Windows Updateの過去の更新履歴を確認する方法…

Windows10で何度か問題があるアップデートがあり、パソ…