UPSのバッテリーを使って爆破する計画を進めるMr ROBOTとそれを阻止するエリオット。
エリオットは署名が無いコードを実行できないように細工するが、ダークアーミーはEコープのコード署名構築チーム”Frank Bowman”の権限をバックドアとして不正プログラムに署名を付けて実行しようとします。実行を阻止するためにはHSMに物理的にアクセスする必要があります。
しかし、暴徒と警官だらけの本社ではエリオットがいつも使っている裏口にアクセスすることは不可能。爆破予定の”復旧施設”へ行ってUPSを直接操作するしかありません。
社員に成りすまして復旧施設へ侵入し、会議室のLANからネットワークに侵入します。

update.binの署名を検証
gpg --verify update.bin.asc update.bin
“E Corp Power systems Hardware Development Team”によって署名されていることを確認。複製されたHSMによって署名されたものと思われる。
update.bin.ascとupdate.binを削除。rmではなくて、shredによって乱数を3回上書きした後に0で上書きしてから削除しているところが良いですね。
shred -uzn3 update*
UPSの正規のアップデートパッチを取得し、カレントディレクトリに解凍します。
wget -q https://192.251.68.232/files/ups_640_patch.zip
unzip ups_fw_patch.zip
エリオットによる署名であることを確認した後、念入りに改ざんされていないかsha256sumで検証します。
gpg--verify hashes.asc
sha256sum --check hashes.asc
scpでUPSにアップデートパッチを送ります。
scp * upsadmin@192.251.68.229:/upsfw
sshでUPSにログインし、アップデートを試みますが。。。
ssh upsadmin@192.251.68.229
upsfwupdate
エリオットがMr Robotに乗っ取られ、同ネットワークセグメントからのアクセスをファイアーウォールでブロックするように設定してしまう。firewallというコマンドは使ったことが無いので分かりませんが、iptablesみたいなものでしょうか。
firewall -f fw.fwl
firewall -r
exit
192.251.0.0/16からの接続を無視するという設定のようですが、ルールを反映した時点で”Connection lost”になると思います。sshで再びログインを試みますが、”Connection refused”というエラー。discardしている場合はパケットを破棄してしまうので、本当なら”Connection timed out”になるでしょう。