雑記系ブログ。セキュリティとか、マイルとか、投資とか、、、 / Miscellaneous Blogs. Security, miles, investments, etc
【セキュリティ事件簿#2023-093】沼尻産業株式会社 当社ファイルサーバーのランサムウエア感染による情報流出の可能性についてお知らせとお詫び 2023年3月12日
【搭乗記】日本航空307便(羽田空港⇒福岡空港)
2022年に人生初の海外(バンコク)発券を敢行。
その時、バンコク(BKK)-東京(TYO)の往復航空券と、バンコク-東京-福岡(FUK)の往復航空券が同じ金額だったので、福岡往復のチケットを購入した。
丁度九州に用事があったので、朝8時のフライトにし、朝7時に羽田空港に到着したのだが、この時点で手荷物検査場が激混み。。。
写真に撮り忘れたが、JGC用カウンターも30人くらいの行列ができていた。
ただ、思ったよりもスムーズに流れ、無事手荷物検査完了。
以前はカバンからPCを出す必要があったが、最近はそれが不要になったので助かる。
手荷物検査を終えたらラウンジ直行。
大人しく水でも飲んでいようと思ったら、変なものが浮いていたので、アップルジュールに変更
JALのA350は今更ながら初搭乗。
正直、国内線で各座席にディスプレイがいるのかという疑問があるが、
外部カメラがあるのは斬新でいい感じ。
フライト時間は2時間だったが、ほとんど寝ていたため、あっという間に福岡空港着陸。
国際線ターミナル発のバスに乗る必要があったため、バスで国際線ターミナルに移動
20年位前に東京発福岡乗り継ぎで中国に行ったことがある。当時、預け入れ荷物は国際線ターミナルで受け取れるものと勘違いし、危うく福岡発の国際線に乗れなくなるリスクが発生したが、当時のANAのスタッフさんが全力でサポートしてくれ、何とか間に合った記憶が蘇ってきた。
少し時間があったので、なんか食べようと国際線ターミナルを散策してみる。
国際線ターミナル4Fに行ってみると、うどん屋さんがあったものの、激混みで断念。
他をあたってみるも、国際線ターミナル4Fで営業しているお店はうどん屋さんのみで、あとは閉鎖のシャッター街と化している。
シャッター街と化している割に、近距離国際線はそれなりにある。
LCCとスターアライアンス(エバー航空、シンガポール航空、タイ航空が就航)、スカイチーム(大韓航空、ベトナム航空が就航)が強い感じで、ワンワールドの存在感は皆無。ワンワールドにはかなり頑張ってほしい
ザンネンな国際線ターミナルからバスで目的地に出発。
【セキュリティ事件簿#2023-092】石巻地区広域行政事務組合 石巻地区広域行政事務組合庁内ネットワークサーバーのコンピューターウイルス感染について 2023年3月9日
事務局内の庁内ネットワークサーバーが不正アクセスによりコンピューターウイルスに感染したため、サーバー内のデータが暗号化され使用不能となったもの。
(1) 令和5年2月24日(金)~25日(土)
深夜にサーバー内のデータが暗号化される。
(2) 令和5年2月27日(月)
朝出勤した職員がデータに異常があることを発見した。
庁内ネットワーク保守点検業務委託業者に連絡し、サーバーを確認したところ、コンピューターウイルス(ランサムウエア)への感染が判明した。
当該サーバーには過去から現在までの、各審査会委員及び事業参加者等のデータ(氏名・生年月日・住所・電話番号等)が含まれておりましたが、現時点において、サーバー内のデータが抜き取られた痕跡は認められず、情報の流出は確認されていないものの、引き続き調査を継続する。
総務企画課、施設管理課、介護認定審査課及び石巻広域クリーンセンターの業務の一部に支障が生じているものの、バックアップデータ等を活用し、業務は継続して行っている。
(1) 令和5年2月27日(月)
保守点検業者において、感染経路及びデータの復旧等について、調査を開始した。
(2) 令和5年2月28日(火)
石巻警察署へランサムウエアによる被害があったことを通報の上、対応等について相談し、捜査に協力している。
庁内ネットワークへ接続している全てのパソコンのウイルススキャンを実施し、異常がないことを確認した。
(3) 令和5年3月2日(木)
保守点検業者により、バックアップデータによるサーバーの仮復旧が完了した。
※ 感染経路等については、サーバーのログ等を確認したが特定には至っていない。
セキュリティ対策の強化、データのバックアップの方法等、必要な対応について、調査・検討する。
【セキュリティ事件簿#2023-091】東京海上日動あんしん生命保険株式会社 弊社からの送信メールデータの流出の可能性について 2023年3月8日
(2023 年 2 月 20 日)
(2022 年 12 月 23 日)
現時点で富士通社からは以下の報告を受けております。
- 2022 年 12 月 9 日に FENICS インターネットサービスを構成する一部のネットワーク機器から外部への不正な通信が行われていた事象を確認した。
- その後の調査の結果、FENICS インターネットサービスを構成する一部ネットワーク機器において、不正なプログラムが動作していたことが判明した。
- 不正な通信が行われた時間帯に、当該ネットワーク機器を通過していた東京海上日動およびあんしん生命から発信された電子メールが技術的に外部から窃取可能な状態になっていたことが判明した。
- 2022 年 3 月 28 日から不正な通信が行われていた可能性があるが、2022 年 3 月 28 日~5月 15 日の期間については富士通社にて外部通信のログを保存していない。
- すでに富士通社により同様の事象が生じないよう必要な対処を実施済みである。
弊社では、2022 年 5 月 16 日から 12 月 9 日までの期間にて上記 FENICS インターネットサービスを通じて外部に流出した可能性のある約 1,300 通のメールを特定済みであり、本日以降速やかに同メール送信先の皆様に通知をしてまいります。また、2022 年 3 月 28 日から5 月 15 日の富士通社にてログを保持していない期間につきましては、富士通社とともに調査方法を検討し、適切に通知をしてまいります。
今後も情報管理の徹底に努め、より一層の情報セキュリティ対策の強化に取り組んでまいります。なお、本件につきましては、監督当局に対して報告を実施しております。
【セキュリティ事件簿#2023-090】浜松開誠館中高、サーバーがウイルス感染して成績や出欠の閲覧不可。緘口令をひいたものの隠ぺいの意図は拒否
【セキュリティ事件簿#2023-089】株式会社オーディオテクニカ 不正アクセスによる情報漏えいの可能性に関するお知らせとお詫び 2023年3月7日
【セキュリティ事件簿#2023-088】日本原燃株式会社 お客さまの個人情報漏えいの可能性のお知らせとお詫びについて 2023年3月3日
- 個人情報
氏名、住所、電話番号、生年月日、身分証のコピー 等
- 対象人数
2022年6月3日から2023年2月19日までの期間にご視察を申し込まれたお客さま 4,982人
【TryHackMeウォークスルー】Nmap Basic Port Scans
Task 1 Introduction
ここは、Nmapシリーズ(ネットワークセキュリティ入門モジュールの一部)の2つ目です。
前回では、オンラインシステムの発見に焦点を当て、Nmapスキャンの3つのステップを説明しました。
- ターゲットの列挙
- ライブホストの発見
- 逆DNSルックアップ
次のステップは、どのポートが開いていてリッスンしているか、どのポートが閉じているかをチェックすることでしょう。そこで、今回と次回では、ポートスキャンと、nmapが使用するさまざまなタイプのポートスキャンに焦点を当てます。ここでは、以下のことを説明します。
- TCP connect port scan
- TCP SYN port scan
- UDP port scan
さらに、ポート、スキャンレート、並列プローブの数を指定するためのさまざまなオプションについても説明します。
■Question ※無し
Task 2 TCP and UDP Ports
IPアドレスがネットワーク上の多数のホストを特定するのと同じ意味で、TCPポートまたはUDPポートは、そのホスト上で実行されているネットワークサービスを特定するために使用されます。サーバーは、ネットワークサービスを提供し、特定のネットワークプロトコルに準拠しています。例としては、時刻の提供、DNSクエリへの応答、Webページの提供などがあります。ポートは通常、その特定のポート番号を使用するサービスにリンクされています。例えば、HTTPサーバーはデフォルトでTCPポート80に接続し、さらにHTTPサーバーがSSL/TLSをサポートしている場合は、TCPポート443で待ち受けることになります(TCPポート80と443は、SSL/TLSをサポートしている場合は、TCPポート443で待ち受けることになります)。(TCPポート80と443はHTTPとHTTPSのデフォルトポートですが、Webサーバーの管理者は必要に応じて他のポート番号を選択することができます)。さらに、1つのTCPまたはUDPポートで複数のサービスが(同じIPアドレスで)リッスンすることはできません。
単純化しすぎかもしれませんが、ポートを2つの状態に分類することができます。
- オープンポートは、そのポートでリッスンしているサービスがあることを示します。
- クローズド・ポートとは、そのポートでリッスンしているサービスがないことを示します。
しかし、現実的な場面では、ファイアウォールの影響を考慮する必要があります。たとえば、ポートが開いていても、ファイアウォールがパケットをブロックしている場合があります。そこで、Nmapは次の6つの状態を考慮します。
- Open:指定されたポートでサービスがリッスン中であることを示します。
- Closed:指定されたポートにアクセス可能ですが、どのサービスもリッスンしていないことを示します。アクセス可能とは、到達可能であり、ファイアウォールや他のセキュリティ機器/プログラムによってブロックされていないことを意味します。
- Filtered: ポートがアクセス可能でないため、Nmapがそのポートを開いているか閉じているか判断できないことを意味します。この状態は、通常、ファイアウォールがNmapのそのポートへの到達を妨げていることが原因です。Nmapのパケットがポートに到達するのをブロックしている可能性があり、代わりに、応答がNmapのホストに到達するのをブロックしている可能性もあります。
- Unfiltered: ポートはアクセス可能ですが、Nmapがそのポートが開いているか閉じているか判断できないことを意味します。この状態は、ACKスキャン-sAを使用したときに遭遇します。
- Open|Filtered: ポートが開いているかどうかをNmapが判断できないことを意味します。これは、Nmapが、そのポートが開いているかフィルタリングされているかを判断できないことを意味します。
- Closed|Filtered:これは、Nmapが、ポートが開いているかフィルタリングされているかを判断できないことを意味します。これは、Nmapが、ポートが閉じているかフィルタリングされているかを判断できないことを意味します。
■Question
Which service uses UDP port 53 by default?
⇒DNS
Which service uses TCP port 22 by default?
⇒SSH
How many port states does Nmap consider?
⇒6
Which port state is the most interesting to discover as a pentester?
⇒open
Task 3 TCP Flags
Nmapは、さまざまな種類のTCPポートスキャンをサポートしています。これらのポートスキャンの違いを理解するために、TCPヘッダを確認する必要があります。TCPヘッダとは、TCPセグメントの最初の24バイトのことです。次の図は、RFC 793で定義されているTCPヘッダーを示しています。この図は一見高度に見えますが、理解するのはとても簡単です。最初の行には、送信元のTCPポート番号と送信先のポート番号が記載されています。ポート番号は16ビット(2バイト)割り当てられていることがわかります。2行目と3行目には、シーケンス番号と確認応答番号があります。各行には32ビット(4バイト)が割り当てられており、合計6行で24バイトを構成しています。
特に、Nmapが設定したり解除したりできるフラグに注目する必要があります。ここでは、TCPフラグを赤色で強調表示しました。フラグビットの設定とは、その値を1にすることです。左から右へ、TCPヘッダのフラグは次のとおりです。
- URG: 緊急フラグは、ファイルされた緊急ポインタが重要であることを示します。緊急ポインタは、受信データが緊急であることを示し、URGフラグが設定されたTCPセグメントは、以前に送信されたTCPセグメントを待つことを考慮せずに、直ちに処理されることを示します。
- ACK: 確認応答フラグは、確認応答番号が有意であることを示します。TCPセグメントを受信したことを確認するために使用されます。
- PSH: Pushフラグ TCPにデータを速やかにアプリケーションに渡すように要求するフラグです。
- RST: リセットフラグは、接続をリセットするために使用されます。ファイアウォールなどの他のデバイスがTCP接続を切断するために送信することがあります。このフラグは、データがホストに送信され、受信側に応答するサービスがない場合にも使用されます。
- SYN: 同期フラグは、TCP 3ウェイハンドシェイクを開始し、相手ホストとシーケンス番号を同期させるために使用されます。シーケンス番号はTCPコネクション確立時にランダムに設定する必要があります。
- FIN:送信側にはもう送信するデータがありません。
■Question
What 3 letters represent the Reset flag?
⇒RST
Which flag needs to be set when you initiate a TCP connection (first packet of TCP 3-way handshake)?
⇒SYN
Task 4 TCP Connect Scan
TCPコネクトスキャンは、TCPの3ウェイハンドシェイクを完了させることで動作します。標準的なTCP接続の確立では、クライアントはSYNフラグを設定したTCPパケットを送信し、サーバーはポートが開いていればSYN/ACKで応答し、最後にクライアントはACKを送信して3方向のハンドシェイクを完了させます。
我々はTCPポートが開いているかどうかを知ることに興味があるのであって、TCPコネクションを確立することに興味があるのではありません。したがって、RST/ACKを送信することによってその状態が確認されると同時に、接続は破棄されます。TCPコネクトスキャンを実行するかどうかは、-sTを使用して選択することができます。
特権ユーザ(rootまたはsudoer)でない場合、TCPコネクトスキャンがオープンTCPポートを発見する唯一の可能なオプションであることに注意することが重要です。
次のWiresharkのパケットキャプチャウィンドウでは、NmapがSYNフラグを設定したTCPパケットを、256、443、143など、さまざまなポートに送信しているのがわかります。デフォルトでは、Nmapは最も一般的な1000個のポートに接続しようとします。閉じたTCPポートは、SYNパケットに対してRST/ACKで応答し、それが開いていないことを示します。このパターンは、閉じたポートとのTCP 3ウェイハンドシェイクを開始しようとすると、すべての閉じたポートに対して繰り返されます。
ポート143が開いていることが分かるので、SYN/ACKで応答し、NmapはACKを送信して3ウェイハンドシェイクを完了しました。下図は、Nmapホストとターゲットシステムのポート143の間で交換されたすべてのパケットを示しています。最初の3つのパケットは、TCPの3ウェイハンドシェイクが完了したものです。そして、4番目のパケットがRST/ACKパケットでそれを破っています。
-sT (TCP接続スキャン) を説明するために、次のコマンド例では、開いているポートの詳細なリストが返されました。
pentester@TryHackMe$ nmap -sT 10.10.199.134
Starting Nmap 7.60 ( https://nmap.org ) at 2021-08-30 09:53 BST
Nmap scan report for 10.10.199.134
Host is up (0.0024s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
111/tcp open rpcbind
143/tcp open imap
MAC Address: 02:45:BF:8A:2D:6B (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 0.40 seconds
なお、-Fをつけると高速モードが有効になり、スキャンされるポートの数が1000から最も一般的な100ポートに減少します。
ランダムな順序ではなく、連続した順序でポートをスキャンするために、-rオプションを追加できることも特筆すべき点です。このオプションは、例えばターゲットが起動したときにポートが一貫した方法で開いているかどうかをテストするときに便利です。
■Question
Launch the VM. Open the AttackBox and execute nmap -sT 10.10.199.134 via the terminal. A new service has been installed on this VM since our last scan. Which port number was closed in the scan above but is now open on this target VM?(THM上でVMを起動します。AttackBox を開き、ターミナルから nmap -sT 10.10.199.134 を実行します。前回のスキャン(上述のコマンド例)以降、このVMに新しいサービスがインストールされています。このターゲットVM上で現在開いているポート番号はどれでしょうか)
⇒110
What is Nmap’s guess about the newly installed service?
⇒pop3
Task 5 TCP SYN Scan
非特権ユーザーはコネクトスキャンに限定されます。しかし、デフォルトのスキャンモードはSYNスキャンであり、これを実行するには特権(rootまたはsudoer)ユーザが必要です。SYNスキャンでは、TCPの3ウェイハンドシェイクを完了する必要はなく、サーバーからの応答を受け取ると、接続を切断します。TCP接続を確立しなかったため、スキャンがログに記録される可能性が低くなります。このスキャンタイプは、-sSオプションを使用することで選択できます。下図は、TCP 3ウェイハンドシェイクを完了しないTCP SYNスキャンがどのように動作するかを示しています。
Wiresharkの次のスクリーンショットは、TCP SYNスキャンを示しています。閉じたTCPポートの場合の動作は、TCPコネクトスキャンと同様です。
この2つのスキャンの違いをよりよく理解するために、次のスクリーンショットを考えてみよう。次の図の上半分では、TCPコネクトスキャン -sTトラフィックを見ることができます。開いているTCPポートは、接続を閉じる前に、NmapがTCPの3ウェイハンドシェイクを完了させる必要があります。次の図の下半分では、SYNスキャン-sSがTCP 3ウェイハンドシェイクを完了する必要がないことがわかります。 代わりに、NmapはSYN/ACKパケットを受信すると、RSTパケットを送信します。
pentester@TryHackMe$ sudo nmap -sS 10.10.89.73
Starting Nmap 7.60 ( https://nmap.org ) at 2021-08-30 09:53 BST
Nmap scan report for 10.10.89.73
Host is up (0.0073s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
110/tcp open pop3
111/tcp open rpcbind
143/tcp open imap
MAC Address: 02:45:BF:8A:2D:6B (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 1.60 seconds
■Question
⇒6667
What is Nmap’s guess of the service name?
⇒irc
Task 6 UDP Scan
UDPはコネクションレス型のプロトコルであるため、接続確立のためのハンドシェイクを必要としません。UDPのポートでリッスンしているサービスが,こちらのパケットに応答することは保証できません。ただし、閉じたポートにUDPパケットを送信すると、ICMP port unreachableエラー(タイプ3、コード3)が返されます。UDPスキャンは-sUオプションで選択できます。さらに、別のTCPスキャンと組み合わせることもできます。
次の図は、開いているUDPポートにUDPパケットを送っても、その返信は期待できないことを示しています。したがって、開いているポートにUDPパケットを送っても、何もわかりません。
しかし、下図のように、タイプ3、宛先到達不能、コード3、ポート到達不能のICMPパケットを取得することが予想されます。つまり、何の応答も発生しないUDPポートが、Nmapがオープン状態であることを示すのです。
下記のWiresharkのキャプチャでは、閉じたポートごとにICMPパケットの宛先到達不能(port unreachable)が生成されていることがわかります。
このLinuxサーバーに対してUDPスキャンを開始したところ、確かにポート111が開かれていることが分かりました。一方、Nmapは、UDPポート68が開いているかフィルタリングされているかを判断することができません。
pentester@TryHackMe$ sudo nmap -sU 10.10.73.231
Starting Nmap 7.60 ( https://nmap.org ) at 2021-08-30 09:54 BST
Nmap scan report for 10.10.73.231
Host is up (0.00061s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
68/udp open|filtered dhcpc
111/udp open rpcbind
MAC Address: 02:45:BF:8A:2D:6B (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 1085.05 seconds
■Question
Launch the VM. On the AttackBox, use the terminal to execute nmap -sU -F -v 10.10.73.231. A new service has been installed since the last scan. What is the UDP port that is now open?
⇒53
What is the service name according to Nmap?
⇒domain
Task 7 Fine-Tuning Scope and Performance
デフォルトの1000ポートではなく、スキャンしたいポートを指定することができます。ポートの指定は、直感的に理解できるようになります。いくつか例を見てみましょう。
- ポートリスト:-p22,80,443 は、ポート 22、80、443 をスキャンします。
- ポート範囲:-p1-1023は、1~1023のすべてのポートをスキャンし、-p20-25は、20~25番のポートをスキャンします。
-p-で全ポートのスキャンを要求すると、65535ポートすべてをスキャンします。最も一般的な100個のポートをスキャンしたい場合は、-Fを追加します。top-ports 10を使用すると、最も一般的な10個のポートをチェックします。
-T<0-5>でスキャンのタイミングを制御することができます。-T0が最も遅く(偏執的)、-T5が最も速いです。Nmapのマニュアルページによると、6つのテンプレートがあります。
- paranoid (0)
- sneaky (1)
- polite (2)
- normal (3)
- aggressive (4)
- insane (5)
IDSを回避するには、-T0または-T1を検討するのがよいでしょう。たとえば、-T0は一度に1つのポートをスキャンし、各プローブを送信する間に5分待つので、1つのターゲットのスキャンが終了するまでの時間を推測することができます。タイミングを指定しない場合、Nmapは通常の-T3を使用します。T5は、速度の点で最も優れているものの、パケットロスの可能性が高くなるため、スキャン結果の精度に影響を与える可能性があることに注意する必要があります。T4はCTFや練習用ターゲットでスキャンを学ぶときによく使われ、-T1はステルス性がより重要な実際の活動でよく使われます。
また、--min-rate <number> と --max-rate <number> を使用して、パケットレートを制御することもできます。例えば、--max-rate 10または--max-rate=10は、スキャナが1秒間に10個以上のパケットを送信しないようにします。
さらに、--min-parallelism <numprobes>と--max-parallelism <numprobes>でプロービングの並列化を制御することができます。Nmapはターゲットをプローブして、どのホストが生きているか、どのポートが開いているかを発見します。プローブ並列化では、こうしたプローブを何回並列に実行できるかを指定します。たとえば、--min-parallelism=512は、Nmapが少なくとも512個のプローブを並列に維持するよう促します。この512個のプローブは、ホスト検出とオープンポートに関連します。
■Question
What is the option to scan all the TCP ports between 5000 and 5500?
⇒-p5000-5500
How can you ensure that Nmap will run at least 64 probes in parallel?
⇒--min-parallelism=64
What option would you add to make Nmap very slow and paranoid?
⇒-T0
Task 8 Summary
ここでは、3種類のスキャンを取り上げました。
Port Scan Type | Example Command |
---|---|
TCP Connect Scan | nmap -sT MACHINE_IP |
TCP SYN Scan | sudo nmap -sS MACHINE_IP |
UDP Scan | sudo nmap -sU MACHINE_IP |
これらのスキャンタイプは、ターゲットホスト上で実行されているTCPおよびUDPサービスの検出を開始するのに役立つはずです。
Option | Purpose |
---|---|
-p- | all ports |
-p1-1023 | scan ports 1 to 1023 |
-F | 100 most common ports |
-r | scan ports in consecutive order |
-T<0-5> | -T0 being the slowest and T5 the fastest |
--max-rate 50 | rate <= 50 packets/sec |
--min-rate 15 | rate >= 15 packets/sec |
--min-parallelism 100 | at least 100 probes in parallel |