本記事はプロモーションを含みます

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週間このライブラリーで正常に動きましたので、記事にすることにしました。

問題が解決したら、お友達と共有しませんか?

この記事にいっぱいおごってみる?

KOBE WINGのAmazonほしい物リスト

オススメ記事

Windows10Windows10

Posted by KobeWing