サイバーセキュリティプログラミング#2-2

2.5 NetCatの置き換え

そもそもNetCatが分からない

netcatとは、TCPもしくはUDP接続などを利用して、コマンドラインからデータを送受信するためのツールです。宛先を指定して対象ホストに接続するだけでなく、自らがサーバーになりコネクションを待ち受けるなど、さまざまな通信を行うことができます。

http://www.intellilink.co.jp/article/column/security-net01.html

上記引用元サイトを見たところ通信内容を見るためのアプリケーションのような書き方がされていた。
NetCat越しにSMTPのソフト名やバージョンが攻撃者にみられることになり、その結果セキュリティに問題が発生する恐れがある。
Netcatを使うことで通常使用しないリクエストを送信したり、ポートスキャンを行うことができる。
これは第三者に不用意に行うと犯罪行為となる恐れがある。

このNetcatがなぜ危険につながるのかを調べてみた

Netcatを使用してlistenモードと呼ばれる状態にする。このモードにするとほかのホストからの接続を待つ状態になる。
その際、 -eオプションを使用することで接続してきた通信の入出力先をファイルにすることができるようになる。
そのファイルはシェルにすることもできるので、インターネット越しにシェルを操作することが可能になる。
このようなシェルをインターネット越しに操作できるようにすることをバックドアという。
Netcatにはユーザー認証がないのでこのバックドアは危険性が非常に高い。

まとめ

Netcatは便利だが便利であるがゆえに悪用された際のリスクが非常に高いので、Netcatをインストールしていないサーバーも多く存在している。