Docker 上で32bit ELFファイルを実行すると No such file or directory と出てしまう
ハマったのでメモ
久しぶりにCTF のためにMac 上にLinux 環境を構築しようとしたらファイルシステムの関係でVirtualBox が使えなくなっていた。 面倒なのでDocker で構築してみることに。
こちらを参考にkali-linux のコンテナを作成してみたが、いざelf ファイルを実行しようとすると
No such file or directory
と出てしまいました。確かにファイルはそこにあるのに...
今まで遭遇したことがなかったのでDocker のせいだと思っていたのですが実は全く関係なく、64bit OS のLinux 上で32bit のバイナリファイルを実行しようとするとこのようになるそう。
解決法
32bit Linux OS のDockerイメージは今のところ無いそうなので、64bit 上で動かせるようにするしかなさそうです。
apt-get install lib32z1
これを入れるだけでした。