NFLabs. エンジニアブログ

セキュリティやソフトウェア開発に関する情報を発信する技術者向けのブログです。

【2024年夏】現場受け入れ型インターンシップ体験記 ~レッドチーム業務体験~

研究開発部 システム&セキュリティ担当の松倉です。

エヌ・エフ・ラボラトリーズでは、2023年度に引き続き「現場受け入れ型インターンシップ」を実施しました。

2023年度の模様

blog.nflabs.jp blog.nflabs.jp

システム&セキュリティ担当では2名のインターン生を受け入れ、2024年8月20日から9月4日までの約2週間、「レッドチーム業務体験」として実際に当社で稼働している社内システムのペネトレーションテストに取り組んでいただきました。

この記事では、お二人のインターンシップ参加経緯や業務を体験した感想をご紹介します。

藤井さんの体験記

プロフィール

はじめまして。インターン生の藤井昴です。電気通信大学大学院に所属しており、本人確認方式などの暗号理論の研究を行っております。

インターンシップ参加目的

大学の研究として理論的なセキュリティの研究に近い事を行っていくうちに、実践的で攻撃者の側に立った観点からのセキュリティについての関心が増してきていました。そこで大学院のインターンシップの募集でエヌ・エフ・ラボラトリーズの存在を知り、より実践的なオフェンシブセキュリティについての学習、情報セキュリティ分野で就職するイメージの具体化などを目的として参加しました。

インターンシップで取り組んだこと

今回のインターンシップでは主に以下の2つの事に取り組みました。

  1. セキュリティ教育プラットフォームでの学習とフィードバック
  2. 社内システムへの診断を通じたレッドチーム体験

インターンシップ前半

インターンシップの前半では、ペネトレーションテストの基礎を学習するため、エヌ・エフ・ラボラトリーズで開発中のセキュリティ教育プラットフォームを用いて学習を行いました。nmapを用いたポートスキャン、gobusterを用いたディレクトリ探索、PoCを利用したExploitation、SQLインジェクション、リバースシェルの設置、root権限昇格の順番でトレーニングを行いました。

CTFなどの経験も無かった私は最初の方こそKali Linuxの操作もおぼつかない有り様でしたが、セキュリティ教育プラットフォームの誘導や社員の方々のサポートを受けて、最後のSQLインジェクションやリバースシェルの確立、root権限昇格の組み合わさった問題を解くところまで出来るようになりました。また、実際のペネトレーションテストで行われる報告書の執筆も行いました。見つかった脆弱性を定量的に評価しクライアントにわかりやすく伝えられるような報告書になるように、社員の方々から多くのフィードバックを頂きました。

インターンシップ後半

インターンシップ後半では、実際に社内のシステム2つ(監視カメラのシステム及びネットワーク監視システム)へのペネトレーションテストを行いました。 まずは監視カメラについてのペネトレーションテストを行い、nmapやgobusterを用いてシステムの構造を探り、システムに侵入できそうなページを探しました。その結果監視カメラの製品名やシステムのバージョン情報、MACアドレスなどの情報が見つかりました。それらを用いて、PoCの検索やsqlmapによるSQLインジェクション、BurpSuiteを用いたXSS、niktoによる脆弱性診断を試みましたがいずれも成功には至りませんでした。しかしながら、他のインターン生との情報交換や社員の皆様のアドバイスのおかげで脆弱性をいくつか発見する事ができました。

次にネットワーク監視システムへのペネトレーションテストを行いました。こちらはgobusterでのディレクトリ探索が難しく思うように情報が得られない場面も有りましたが、一部バージョン情報やユーザー名などの特定には至ることが出来ました。しかしこちらのシステムは結果的には脆弱性を見つけることは出来ませんでした。 これらの結果をまとめて、成果発表会にて発表を行いました。

インターンシップを振り返って

オフェンシブセキュリティについてはゼロからのスタートではありましたが、インターンシップを通じて実際の企業の情報セキュリティへの取り組みを知る事が出来ました。また、脆弱性について調査を進めていくと暗号理論等の理論的なセキュリティとのつながりも理解することが出来ました。なので、インターンシップの参加目的は達成できたと言えます。さらに、ペネトレーションテストの体験から、それに関連するスキルの習得のモチベーションが極めて高くなったので、今後はCTFなどに積極的に取り組みスキルアップをしていけたらと思います。

最後になりましたが、このような貴重な機会を設けてくださったエヌ・エフ・ラボラトリーズの皆様に感謝の意を表したいと思います。2週間お世話になりました、ありがとうございました!

横山さんの体験記

プロフィール

初めまして。インターン生の横山創平です。私は電気通信大学の機械システムプログラムに所属しており、普段の学校生活ではセキュリティと異なる分野の勉強をしています。

インターンシップ参加目的

大学ではハードウェアについて学びたいと思い、機械システムプログラムを選択しました。しかし、将来的にはセキュリティの職種に就きたいと思い独学を続けていました。そのため今回は将来的に就きたい職種の仕事内容を体験したいと思い、このインターンシップに参加しました。

インターンシップで取り組んだこと

今回のインターンシップではペネトレーションテストを体験しました。ペネトレーションテストに用いるツールの基本的な使い方から実際の攻撃手法をセキュリティ教育プラットフォームで学習し、最終的には実働環境である監視カメラシステムやLinuxサーバーへのペネトレーションテストを実施しました。

インターンシップ前半

前半ではエヌ・エフ・ラボラトリーズで開発中のセキュリティ教育プラットフォームにてペネトレーションテストの基礎となる知識について学習を行いました。

初めにnmapというポートスキャンツールの使い方とその結果からの脆弱性の利用について学習しました。その次にPoCを利用したExploitationの学習を行いました。このテーマではRCE可能なCVE-2017-5638を悪用するPoCを用いて仮想環境上のやられサーバーへ侵入するという演習を行いました。さらに基礎的なSQLインジェクションについて学び、総合的な演習として脆弱性のある仮想環境上のやられサーバーに対し脆弱性の発見から管理者権限を取得するステップまで行う演習を実施しました。その後、実際のペネトレーションテスト報告書を作成し、報告書の添削、アドバイスをいただきました。

実際にやられサーバーに対して自分で一から脆弱性診断を行うことに苦戦しました。実際に脆弱性が存在すると予め分かっていてもポートスキャンの結果を見てどのような脆弱性があるのかを自分で判断することにとても難しさを感じました。さらに見つけた脆弱性を用いての権限取得となると一段と苦戦してしまいました。また、報告書については脆弱性がどの程度危険でシステムに悪影響を及ぼすのかを誰が見ても分かるように説明する必要があり、そこへ気を配ることもペネトレーションテストの一環であると感じました。

インターンシップ後半

後半では実働の監視カメラシステムとLinuxサーバーへのペネトレーションテストを実施し、その結果をまとめて発表しました。

監視カメラシステムについてはポートスキャンに始まり、sqlmapを用いての脆弱性の調査、いくつかのRCEの試行を行いましたが、いずれも脆弱性を発見するには至りませんでした。また、Linuxサーバーにつきましても監視カメラシステムと同様の脆弱性の調査を行いましたが、脆弱性の発見には至りませんでした。脆弱性があると分かっていても大変なところを実働のシステムは脆弱性があるかどうかを探さなければならないので暗中模索する状態がペネトレーションテストを通して続いたので大変苦労しました。さらに脆弱性情報を特定する手掛かりになる稼働しているサービスのバージョン情報さえ分からない状態であったので最新の脆弱性から古いものへすべて試行しました。SQLインジェクションやRCEの脆弱性があるか調査を行ったのですが、結果としては大きな脆弱性は見つからず、実務としてのペネトレーションテストの難しさを感じました。

インターンシップを振り返って

今回、実務としてのペネトレーションテストを初めて体験しましたが、その難しさと自分の力不足を実感しました。結果としてペネトレーションテストは満足いく結果ではなかったですが、社員の方々の助けを借りて何とかやりきることができました。今回のインターンを通して社員の方々にはペネトレーションテストのほかにも様々な技術的な話や実務の話を多く聞くことができたので今後の勉強になりました。

短い期間ではありましたが、貴重な経験を積むことができ、非常に充実した日々を過ごすことができました。今後のキャリアでも生かせる貴重な経験をさせていただきました。改めて、2週間のインターンシップ期間中のご指導に感謝申し上げます。