AhnLab SEcurity intelligence Center(ASEC)は、最近、アカウントパスワードクラックツールに偽装して配布されるランサムウェアを発見した。このようなパスワードクラックツールは主に、ブルートフォース(Brute Force)攻撃で活用される。 ブルートフォース(Brute Force)攻撃は、可能なすべての組み合わせを総当たりで試行し、正しいパスワードを見つけ出す方式であり、攻撃者はシステムの認証手続きを繰り返し試みてパスワードを窃取する。この方式は、特に短いまたは単純なパスワードを使用するアカウントに対して高い成功率を示し、自動化されたツールによって素早く実行することができる。攻撃者は、セキュリティ研究者やハッカーがよく探すクラックツールやハッキングツールの形でランサムウェアを配布することで、ユーザーの警戒心を無力化し、感染の可能性を高めるため、特に注意が必要である。
今回発見されたランサムウェアの場合、Pyinstallerで製作されており、[図1]のように Username および Email を入力してパスワードを窃取するツールに偽装した形態である。Pyinstaller は、Python で作成されたプログラムを実行ファイル(EXE など)にパッケージングしてくれるツールである。 Windows、macOS、Linux など、様々な OS に対応し、Python がインストールされていない PC でもプログラムを実行できるようにしてくれる。

[図1] アカウントパスワードクラックツールに偽装したランサムウェア
Username および Email を入力後、「Run as Admin」を選択し、「START HACK(Admin Only)」をクリックすると、ターミナル出力画面にパスワードクラックツールが開始されたというメッセージが表示され、特定の URL から key 値を受け取る振る舞いに偽装する。OS が Windows の場合、基本ディレクトリパスは「C:\」に、Windows でない場合には「/home」に設定される。

[図2] アカウントパスワードクラックツールに偽装したランサムウェア

[図3] アカウントパスワードクラックツールに偽装したランサムウェア
ファイルの暗号化方式は AES-256 アルゴリズムの CFB モードであり、キーに関する情報を保存や攻撃者に送信しないため、ランサムノートに案内された通りに攻撃者にビットコインを送金しても、暗号化されたファイルを復旧することは不可能である。作成されるランサムノート(snapReadme.txt)は以下の通りであり、ビットコインを要求する内容が存在する。

[図4] AES-256 アルゴリズムの CFB モード

[図5] ランサムノート
暗号化対象のファイル拡張子は[表1]と同じであり、ファイルパス上に「Program Files」または「Windows」文字列が含までいる場合、暗号化対象から除外される。また、このディレクトリに「snapReadme.txt」という名前のランサムノートファイルが存在しない場合、これを新しく作成する。

[図6] 拡張子定義およびランサムノート作成
| .data | .epub | .gif | .md | .sql | .jpg | .rar | .txt |
| .mdb | .doc | .odp | .tar | .bmp | .htm | .sqlite | |
| .gz | .csv | .zip | .rtf | .ppt | .html | .accdb | .docx |
| .xlsm | .json | .ini | .xlsx | .png | .odt | .log | .db |
| .tsv | .ods | .bak | .pptx | .jpeg | .xls | .xml |
[表1] 拡張子
지정된 확장자를 가진 파일 중 “snapReadme.txt” (랜섬노트) 파일이 아닌 경우, 해당 파일의 데이터를 읽어 암호화를 수행한다. 암호화된 데이터는 원본 파일명에 “.NS1419” 확장자를 추가한 새 파일에 저장되며, 저장 후 원본 파일은 삭제된다. 암호화가 성공했는지 여부에 따라 터미널 출력창에 서로 다른 메시지가 표시되며, 이는 마치 비밀번호를 알아내기 위한 브루트 포스(Brute Force) 공격이 진행 중인 것처럼 위장된다.
指定された拡張子のファイルのうち、「snapReadme.txt」(ランサムノート)ファイルでない場合、そのファイルのデータを読み込み、暗号化を実行する。暗号化されたデータは原本のファイル名に「.NS1419」拡張子を追加した新しいファイルに保存され、保存後に原本のファイルは削除される。暗号化の成功有無によりターミナル出力画面に異なるメッセージが表示され、これはまるでパスワードを解読するためのブルートフォース(Brute Force)攻撃が進行中であるかのように偽装される。

[図7] ファイル暗号化

[図8] ファイル暗号化
対象ファイルがすべて暗号化されると、ターミナル出力画面に「Snapchat is hacked… Please read snapReadme.txt!」という文字列が出力される。これはランサムノートの閲覧を誘導する文章である。

[図9] アカウントのパスワードクラックツールに偽装したランサムウェア
ユーザーがよく探すクラックツールに偽装して配布されるランサムウェアは、ユーザーの疑いを最小限に抑え、簡単に実行されるように誘導し、そのため感染の危険が大幅に増加するので、特に注意が必要である。したがって、出どころが不確かなサイトが提供するプログラムはインストールせず、公式ウェブサイトや信頼できる経路を通じて安全にソフトウェアをインストールする必要がある。