LINE2018.09.02今回は8月に以下の勉強会で発表してきた「OSコマンドインジェクション」について解説していきます。勉強会OSコマンドインジェクションは自分の管理する環境以外で実施した場合は犯罪になりますので、あらかじめご認識ください。検証環境等について検証環境構築や簡単な検証は過去に記事にしていますので、そちらを確認して頂ければ幸いです。・OSコマンドインジェクションのデモをする環境を構築する1・OSコマンドインジェクションのデモをする環境を構築する2・OSコマンドインジェクションのデモをする環境を構築する3今回は実際にOSコマンドインジェクションを使用した攻撃方法の例として、コンソールで操作できるのをお見せします。/etc/passwd」や「sleep」のように動きました!と見せるだけでも良いのですが、具体的にこんなこともできるということを見せることで、脆弱性があった際の怖さがさらに理解できるのではないかと考えています実際の検証まずは使用するコマンド(ツール)を紹介します。何を使用するかと言いますと「nc(Netcat)」コマンドです。netcatは、UNIX系OSで動作するコマンドラインアプリケーションである。TCPやUDPを扱う万能ツールとして知られ、しばしばネットワークのスイスアーミーナイフ、TCP/IPのアーミーナイフ、ハッカーのアーミーナイフなどのように評される。Lyon(英語版)が管理するInsecure.orgにおいて、ネットワークセキュリティツール部門の常に上位5位以内にランキングされているツールである。参考:https://ja.wikipedia.org/wiki/Netcatこのコマンドを使用して確認します。ncコマンドにはオプションとして「-e」オプションというバックドア専用にあるんじゃないかと思われるオプションがあるのですが、通常このオプションは有効になっていません。※コンパイルする際に指定しなければいけないらしいなので、「-e」オプションは使用しないで実施します。以下が参考にしたサイトです。ネットワークのアーミーナイフnetcatを使ってみるまずはOSコマンドのある環境で以下のコマンドを挿入します。ppp#pppという名前のfifoファイルを作成すると実行前にはなかった「ppp」というファイルが作成されています。test.php#実行後(pppというファイルが作成されている)そして、次に以下のコマンドを挿入します。ppp#eオプションが使えないが、サーバー間通信を活用する。出力、エラーをclien側に出力するためにpppファイルを使う。これを挿入するとサーバから応答待ちの状態になります。この状態でアクセスするマシンから次のコマンドを入力します。(通常WindowsにはNetcatが入っていないので、別のVMを立ててコマンドの入力を行いました。4000#別のマシンからOSコマンドの存在するIPの4000番ポートに対してncコマンドで接続すると以下のようなコンソールになります。これで脆弱性が存在するサーバに侵入成功です。addr」と入力してIPアドレスを確認してみると以下のようになっています。結果が「192.168.70.135」(OSコマンドインジェクションのデモ環境のIP)になっています。以下のように「/etc/passwd」ファイルも表示させることも可能です。通常他サーバのターミナルでの操作はsshでログインするか、実際にそのサーバに対してログインしたり、リモートデスクトップで接続する等、限定的な条件でしか操作することができないと思います。(少なくともログインは必要)しかしOSコマンドインジェクションがあればログインをせずとも簡単なコマンド一つで実際にサーバを操作している感じで操作できることが可能です。(こっちはログインしていない。)接続を切る際も、「Ctrl+c」で簡単に接続を切ることが可能です。最後にOSコマンドインジェクションはあまり見ない脆弱性ですが、存在していた際は壊滅的な被害を受けてしまう可能性がある脆弱性です。そんなに見かけることが多いわけではないですが、一説によると発見しにくい脆弱性であるとの話もあるので、ただ単に発見できていない可能性もあります。今一度手元のアプリケーションの環境を見直してみると良いかもしれません。不明点や要望やこういったこともやって欲しいとの要望があれば、お問い合わせページやコメント、ツイッターからでも結構ですので、気軽にご連絡ください。3に「継続的な脆弱性管理」というものがあります。それを調べていた際に「OpenSCAP」という面白そうなツールを見つけたのでそれについて記事にしていきます。2019.11.06セキュリティセキュリティの実績を作ろう!JVNへの報告セキュリティ業界だけではないですが、実績を持つことは非常に重要です。そこまで大きな実績ではなくても、持っているだけで少し安心したり、自信がついたりするものです。今回は比較的取り組み易いと思われるJVNへの脆弱性報告について記事にしていきます。2019.08.19セキュリティmetasploitを使ってみよう!nmapによるポートスキャン前回から結構時間が空いてしまいましたが、続きをやっていきます。metasploitを使う環境もできたので、さっそくと実行いきたいところですが、その前にnmapによるポートスキャンを行っていきます。2019.02.10セキュリティSQLインジェクションの対策をやってみる以前にSQLインジェクションの検証を行ったのですが、その際に対策を記載していなかったので、今回は対策について記事にしていきます。間違っている部分等があるかもしれませんが、気付いた方は優しく教えて頂けると非常に助かります。2018.12.16セキュリティCAPTCHAの利点と最近のトピック最近コメントにスパムによる他サイトへの誘導(恐らくエクスプロイトキット)が増えてきているので、対策として「CAPTCHA」を導入します。導入前のチェックについては以前解説しましたので、今回の記事は「CAPTCHA」について解説していきます。前回に引き続きPGPの記事を記載します。今回は実際に検証環境でPGPを試していきます。概要を知っていても、実際に手を動かさないと分からないことも多くあります。皆さんも是非とも手を動かして検証してみてくださいね。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイト上に表示された文字を入力してください。29tokoroten0813猫が大好きなセキュリティエンジニアです。この業界に入って8年目になりました。妻と子供が二人います。秋葉原でやっているセキュリティの勉強会に毎月参加していますので、興味がある方はご連絡ください。猫の話やセキュリティに関わる話、IT業界、育児等特にこだわりを持たずに記事にしていく予定です。現在前職を退職し、絶賛個人で活動中です。セキュリティ関連で困ったことがあれば気軽に相談いただければ喜びます。Controls7ISMS3ニュース19資格10勉強会44家庭・育児20息抜き11猫20運動4。