SlideShare a Scribd company logo
1 of 36
Download to read offline
Real Life Hacking
Hacking 101
1
2
アジェンダ
● 序論
● 情報収集
● 間接 アクセス
● 直接 アクセス
● システムのセキュリティ
● 設定エラー
● パスワードポリシー
● パッチ
● Web セキュリティ
3
ハッキングとは ?
開発者の予期せぬ方法でアプリケーションやシステム
にアクセスすることである。
4
攻撃手順
情報収集
● 攻撃対象のシステムの情報を取得
– 直接・間接 アクセス
– フィンガープリント
● 攻撃手法
● 脆弱性を発見する
● 攻撃をするツールの選定
● 攻撃の開始
● 被害の拡散
5
情報収集
情報収集
•
間接 アクセス
•
直接 アクセス
•
フィンガープリント
6
情報収集
● ハッキングの最初の段階は、情報収集を行うことある。
● 攻撃に使用できる情報をピックアップ
– 誕生日、電話番号、勤務先、電話番号、メールアドレ
ス
● 攻撃対象のサーバへ侵入するための情報を探す(例:
ルータ、ゲートウェイ)
● サーバに進入するための情報を取得
– (例:空きポート、ログインパスワード、使用ミドル
ウェアなど)
● 最も効果的な方法はソーシャル・エンジニアリング。
– 対象者 ( セキュリティ担当者など ) にコンタクトを取
り、機密情報を問い合わせる。(例:付箋に書かれた
パスワード、電話による聞き出し)
7
間接 アクセス
● « Whois » DB
● 登録処理の際に用いられた管理者情報など、すべて
の情報にアクセスを行う
● 名前 , 住所 , 電話番号
– ネットワークの情報
● DNS サーバ
● ソーシャル・エンジニアリングをするためのメールアド
レス
● 対象者の IP レンジ
● これらの情報はすべて公開されているものである
8
WHOIS  (ツール)
● « whois » のツール
● whois ドメイン名 か whois IP アドレス
Domain Information: [ ドメイン情報 ]
[Domain Name] COOKBIZ.JP
[ 登録者名 ] 藪ノ 賢次
[Registrant] kenji yabuno
[Name Server] ns-1253.awsdns-28.org
[Name Server] ns-1824.awsdns-36.co.uk
[Name Server] ns-412.awsdns-51.com
[Name Server] ns-608.awsdns-12.net
[Signing Key]
[ 登録年月日 ] 2007/12/11
[ 有効期限 ] 2015/12/31
[ 状態 ] Active
[ 最終更新 ] 2015/01/01 01:05:11 (JST)
Contact Information: [ 公開連絡窓口 ]
[ 名前 ] 藪ノ 賢次
[Name] kenji yabuno
[Email] info@cook-
biz.jp
[Web Page]
[ 郵便番号 ] 530-0012
[ 住所 ] 大阪府大阪市北
区芝田 2-7-18
恵比寿 AM ビル
7F
[Postal Address] Ebisu AM Bldg
7F
2-7-18 Shiba-
ta Kita-ku Osaka-shi
5300012,Japan
[ 電話番号 ] 06-6374-9912
[FAX 番号 ] 06-6131-6470
9
直接 アクセス
● セキュリティホールを探す方法
● ポートスキャン
– 開いているポートの発見
– いくつかのアクセス方法
● フィンガープリント
– サービスに使用しているツール名 (apache など )
– サービスツールのバージョン
– OS
10
Nmap scanning
● Nmap で表示されるフィンガープリント
● Nmap -A IP ( コマンド )
11
その他の方法
● SNMP (ネットワーク監視用のプロトコ
ル)
● SNMP 通信の発見
– 対象マシンの情報を取得
● Netbios
● Windows 用の通信プロトコル
– ゲスト・ nobody アカウントが有効になる場合がある
● 共有フォルダの列挙
● ユーザ / グループ /administrator の列挙
12
ソーシャル・エンジニアリング
● 機密情報を公開させる技術
● なりすまし電話をかける
● 電話を受け取った人は、危険性を認識できていない
ことが多い .e.g 電話で windows を使っていると伝え
てしまうが、それが危険だとは気づいていない。
● ほとんどの場合、有益な情報へアクセスす
る最も有効な手段となる。
● 会社の情報を守ることは難しい
(全員、 IT リテラシーが高いわけではない)
13
System vulnerabilities ( セキュリティ・ホール )
•
設定ミス
•
パスワード
•
パッチ
14
セキュリティ・ホールとは
– 設定ミス
– デフォルト設定が残ったままの状態
– 権限の低いタスクを実行するために、管理者権限を使用し
ている
● 悪いパスワード例
– デフォルト パスワード
– 弱いパスワード eg abc, 123 など
● 悪いパッチ例
– 新しい脆弱性が存在するが、 OS が対応していない。
– サポートが切れた OS を使用している
● そのため簡単にハッキングができてしまう
15
設定ミス
● 開発用設定が、本番用成果物でも使われて
いる
● 機器
– アクセス制限の無い SNMP 通信
– 初回から設定されているパスワード
● アプリケーション
– デフォルトパスワード
– デバッグモードが有効のまま
– アプリケーションの、サンプルソースから変更のないもの
( e.g. ログインパスが test / test )
16
パスワード
● セキュリティシステムの大半は、パスワードがシンプルになるほど弱くなる
●
システムが簡単なパスワードを受け入れる作りになっていれば , 簡単なパス
ワードを入力してしまいがちになってしまう .e.g) システムがパスワードの
長さを指定しなければ、 abc など短いパスワードが使われてしまいがち . 記
号を含めるとパスワードは強くなる .
● パスワードはアプリケーション内で暗号化されるべきである
– ハッカーが DB に侵入した場合、暗号化されていなければ簡単にパスワー
ドを抜き取られてしまう
– 暗号化しても、簡単なパスワードだとハッシュの逆引きで解析される。ソ
ルトつきハッシュを使用するのがよい
– デモ
● https://crackstation.net/
● 711761afb4d338578b0de251c1a39b4d
17
パスワード攻撃
● 暗号化パスワードを平文に変換
● Online
– Medusa (ツール名)
– Hydra (ツール名)
– ブルートフォース
● Offline
– John The Ripper (ツール名)
– Cain (ツール名)
– L0phtcrack (ツール名)
● 早くて気づかれにくいが 常に可能ではない
18
デモ 1
● 対象 : http://192.168.1.3
● 目的
● ログイン後の画面へのアクセス権を得る
● Medusa と 辞書 の組み合わせの実践
19
パッチ
● アップデートサービス
● 会社にセキュリティルールが必要である
● 最新版のパッチはすべてのマシンに適応さ
れているべきである
● 脆弱なマシンが一つでもあれば、社内ネットワーク
全体の侵入口となりえてしまう
● 脆弱なマシンはハッキングするのに最適なため、最
初の対象となってしまう
20
問題
● 脆弱性情報は公開されていることが多い
● 誰でもアクセスすることができる
● 脆弱性情報を使って、アクセス先の情報を取得する
自動スクリプトが使える
● ゼロデイ攻撃
● 脆弱性の利用
● 脆弱性を通してセキュリティホールを見つけること
ができる
● Metasploit を使って脆弱性を利用できる。
● 結果的に、対象をコントロールできるようになる
21
デモ 2
● 対象 : 192.168.1.4
– 目的
– Discover information about the target
– Compromise entirely the target
– Windows 2003 Server SP1
– CVE : MS08_67 vulnerability
22
アプリケーションの脆弱性
• Cross-Site Scripting
• SQL Injection
23
アプリケーションの脆弱性
● 対象となるアプリケーションの特徴
● システム管理者の管理不足
● 開発時の不具合、セキュリティテスト不足
● ハッカーがアプリケーションの動作を変更
できる
● 開発者の予期せぬアプリケーションの使用方法を行
う
● WEB アプリケーションでは頻繁に起こって
いる
24
パラメータ
● アプリケーションメソッド :
● GET : URL にパラメータを付加
– search.php?query=toto
● POST : メッセージの body にパラメータを付加
– Usually for forms submission
● パラメータを使って攻撃ができてしまう →
BurpSuite
25
XSS
● ブラウザ上で任意の JavaScript コードが実
行される
● ユーザの入力に応じて、クライアントサイドのソー
スコードが実行される際に問題が発生する
● ハッカーが web ページ内に HTML/Javascript を埋め
込むことができる
– Web ページの画面をコントロール
● 画像表示
● JavaScript の実行
26
デモ 3
● 対象 : http://192.168.1.2/7/
– 目的
– Display Cookbiz in a popup message
<form action="index.php?p=search" method="GET">
<input type="text" name="query" style="width: 250px;"/>
<input type="submit" value="Search"/>
</form>
<?php
if(isset($_GET['query']))
echo "0 Results for <b>" .$_GET['query']. "</b>!";
?>
27
XSS - 例
● 脆弱なソースコード
● 正常動作 異常動作
28
SQL インジェクション
● SQL クエリ
● SELECT 文  :
– SELECT column_name FROM table WHERE condition
● 例
– SELECT contenu FROM news WHERE id=1
● データベースの情報を取得するため
に、 Web サイトの脆弱性を利用する
29
SQL Injection examples
● 正常動作  :
● http://site/news.php?id=1
– SELECT * FROM news WHERE id = 1
– id=1 のデータだけが取得される
● 異常動作  :
● http://site/news.php?id=1 OR 1=1
– SELECT * FROM news WHERE id = 1 OR 1=1 // > TRUE
– 全部のデータが取得される!
30
デモ 4
● 対象 : http://192.168.1.2/11/
● 目的
● 管理者権限のエリアにアクセス
require_once("config.php");
mysql_connect($dbhost,$dblogin,$dbpass);
mysql_select_db($dbname);
$login = $_POST['login'];
$pass = $_POST['pass'];
$query = "SELECT pass FROM users WHERE login = '$login' AND pass = md5('$pass')";
$result = mysql_query($query) or die("Error SQL : " . mysql_error());
f(mysql_num_rows($result) > 0) {
echo "Connected.";
}
else {
echo "Wrong user/ password";
}
31
SQL Injection example
● 脆弱なソースコード
● 正常動作 異常動作
32
ハッカーの目的
● 権限プロセスのハイジャック
● データベースの検索
● 機密情報の取得
– ユーザ、アドミンのパスワードなど
– 個人情報
● DB を通してシステムの操作
● ファイルの読み取り
● ファイルの書き込み
● コマンドの実行
33
MSSQL Server
● MSSQL サーバでは、 DB から xp_cmdshell
を使ってコマンドを実行できる
● MSSQL サーバは管理者権限で動いていることが多
いので、コマンドが実行されやすい
● DB を通してシステム全体が破壊される
● ネットワークの検索に使用される
34
デモ 5
● 対象 : http://192.168.1.2/12/
● 目的
● 管理者のログインパスワード取得
require_once("config.php");
mysql_connect($dbhost,$dblogin,$dbpass);
mysql_select_db($dbname);
$id = addslashes($_GET['id']);
$query = "SELECT * FROM news WHERE id=$id";
$result = mysql_query($query) or die('Error Sql : ' . mysql_error());
$row = mysql_fetch_array($result,MYSQL_BOTH);
35
便利な Hacking のツール
Web Scanner :
● Nikto
● SkipFish
● W3af
● OWASP WebScarab
XSS Scanner :
● Xsser
● BurpSuite
● OWASP ZAP
Vulnerability scanner :
● Metasploit
● OpenVAS
● Nessus
● NMAP
SQL Injection Scanner :
● Sqlmap
● Sqlninja
● Sqlsus
セキュリティテストに特化した Linux
Kali Linux
36
質疑応答
•
質問がありますか ?

More Related Content

Similar to ウェブセキュリティ

Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護Kuniyasu Suzaki
 
ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎Takahisa Kishiya
 
[data security showcase Sapporo 2015] D24:データセキュリティ最後の砦 リアルタイムデータアクセスモニタリング &...
[data security showcase Sapporo 2015] D24:データセキュリティ最後の砦 リアルタイムデータアクセスモニタリング &...[data security showcase Sapporo 2015] D24:データセキュリティ最後の砦 リアルタイムデータアクセスモニタリング &...
[data security showcase Sapporo 2015] D24:データセキュリティ最後の砦 リアルタイムデータアクセスモニタリング &...Insight Technology, Inc.
 
Windows 10 IoT Coreの脅威分析と実施すべきセキュリティ対策 by 和栗直英 - CODE BLUE 2015
Windows 10 IoT Coreの脅威分析と実施すべきセキュリティ対策 by 和栗直英 - CODE BLUE 2015Windows 10 IoT Coreの脅威分析と実施すべきセキュリティ対策 by 和栗直英 - CODE BLUE 2015
Windows 10 IoT Coreの脅威分析と実施すべきセキュリティ対策 by 和栗直英 - CODE BLUE 2015CODE BLUE
 
hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版Hiroki Ishikawa
 
セキュアプログラミング講座
セキュアプログラミング講座セキュアプログラミング講座
セキュアプログラミング講座minoru-ito
 
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009Tsukasa Oi
 
Deep Learning Lab 異常検知入門
Deep Learning Lab 異常検知入門Deep Learning Lab 異常検知入門
Deep Learning Lab 異常検知入門Shohei Hido
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summaryYukio NAGAO
 
データベースセキュリティ
データベースセキュリティデータベースセキュリティ
データベースセキュリティYasuo Ohgaki
 
Postgre SQL security_20170412
Postgre SQL security_20170412Postgre SQL security_20170412
Postgre SQL security_20170412Kazuki Omo
 
5 moriya security-seminar2005_05
5 moriya security-seminar2005_055 moriya security-seminar2005_05
5 moriya security-seminar2005_05Eiichi Moriya
 
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)akira6592
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Yurika Kakiuchi
 
LED-Camp2「組込みシステム開発の勘所と実践」
LED-Camp2「組込みシステム開発の勘所と実践」LED-Camp2「組込みシステム開発の勘所と実践」
LED-Camp2「組込みシステム開発の勘所と実践」Hideki Takase
 
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催) ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催) akira6592
 
Webアプリケーション脆弱性体験ハンズオン
Webアプリケーション脆弱性体験ハンズオンWebアプリケーション脆弱性体験ハンズオン
Webアプリケーション脆弱性体験ハンズオンYuichi Hattori
 
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達zaki4649
 
システムコールフックを使用した攻撃検出
システムコールフックを使用した攻撃検出システムコールフックを使用した攻撃検出
システムコールフックを使用した攻撃検出FFRI, Inc.
 

Similar to ウェブセキュリティ (20)

社内勉強会 20120518
社内勉強会 20120518社内勉強会 20120518
社内勉強会 20120518
 
Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護
 
ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎
 
[data security showcase Sapporo 2015] D24:データセキュリティ最後の砦 リアルタイムデータアクセスモニタリング &...
[data security showcase Sapporo 2015] D24:データセキュリティ最後の砦 リアルタイムデータアクセスモニタリング &...[data security showcase Sapporo 2015] D24:データセキュリティ最後の砦 リアルタイムデータアクセスモニタリング &...
[data security showcase Sapporo 2015] D24:データセキュリティ最後の砦 リアルタイムデータアクセスモニタリング &...
 
Windows 10 IoT Coreの脅威分析と実施すべきセキュリティ対策 by 和栗直英 - CODE BLUE 2015
Windows 10 IoT Coreの脅威分析と実施すべきセキュリティ対策 by 和栗直英 - CODE BLUE 2015Windows 10 IoT Coreの脅威分析と実施すべきセキュリティ対策 by 和栗直英 - CODE BLUE 2015
Windows 10 IoT Coreの脅威分析と実施すべきセキュリティ対策 by 和栗直英 - CODE BLUE 2015
 
hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版
 
セキュアプログラミング講座
セキュアプログラミング講座セキュアプログラミング講座
セキュアプログラミング講座
 
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009
 
Deep Learning Lab 異常検知入門
Deep Learning Lab 異常検知入門Deep Learning Lab 異常検知入門
Deep Learning Lab 異常検知入門
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summary
 
データベースセキュリティ
データベースセキュリティデータベースセキュリティ
データベースセキュリティ
 
Postgre SQL security_20170412
Postgre SQL security_20170412Postgre SQL security_20170412
Postgre SQL security_20170412
 
5 moriya security-seminar2005_05
5 moriya security-seminar2005_055 moriya security-seminar2005_05
5 moriya security-seminar2005_05
 
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策
 
LED-Camp2「組込みシステム開発の勘所と実践」
LED-Camp2「組込みシステム開発の勘所と実践」LED-Camp2「組込みシステム開発の勘所と実践」
LED-Camp2「組込みシステム開発の勘所と実践」
 
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催) ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
 
Webアプリケーション脆弱性体験ハンズオン
Webアプリケーション脆弱性体験ハンズオンWebアプリケーション脆弱性体験ハンズオン
Webアプリケーション脆弱性体験ハンズオン
 
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
 
システムコールフックを使用した攻撃検出
システムコールフックを使用した攻撃検出システムコールフックを使用した攻撃検出
システムコールフックを使用した攻撃検出
 

ウェブセキュリティ