• 検索結果がありません。

侵入技術の紹介

N/A
N/A
Protected

Academic year: 2021

シェア "侵入技術の紹介"

Copied!
54
0
0

読み込み中.... (全文を見る)

全文

(1)

侵入技術の紹介

Eiji James Yoshida

[email protected]

penetration technique research site

(2)

• 侵入技術(penetration technique)の調査と報告

– 脆弱性の調査や報告ではなく、脆弱性に潜む侵入技

術として利用できる可能性の調査と報告

• 侵入技術の提供

– 弱点を修正する技術ではなく、弱点を知る技術の提供

– セキュリティシステムを構築する技術ではなく、セキュ

リティシステムの動作を確認する技術の提供

• セキュリティ意識の啓蒙と向上

– 侵入技術を知ることで受ける危機感によるセキュリティ

意識の啓蒙と向上

(3)

紹介する侵入技術

• OS推測

• IP Fragment ID Scan

• 受動的攻撃

(4)

紹介する侵入技術

• OS推測

• IP Fragment ID Scan

• 受動的攻撃

• File Transfer Techniques

調査(情報収集)

検証(攻撃)

(5)

侵入技術の紹介

(6)

推測

• 素早く的確に弱点を見つけることを目的として行

う情報収集技術の一つ。

– insecure.orgのFyodor氏やSys-Security GroupのOfir

Arkin氏、TESO Security Groupなどが確立。

– OS推測として使われる技術は主に5種類

• Banner grabbing

• Telnetd fingerprinting • Identd fingerprinting • TCP stack fingerprinting

(7)

推測について

(8)

• サービスやアプリケーションなどが提供す

る情報に含まれているバージョン情報の収

集。

• 比較的容易に収集できるが、殆どは設定

ファイルの変更等で隠蔽や偽装が可能。

そのため情報の信頼性は低い。

(9)

の一例

• telnet (port:23)

telnetコマンドなどで接続すると表示される。

(例)

# telnet 192.168.1.23

Red Hat Linux release 6.0 (Hedwig)

Kernel 2.2.5-15 on an i586

(10)

推測について

(11)

• Telnet接続を確立する際に行われる交渉

(Negotiation)の初期値が、各OSごとに異

なっていることを利用したOS推測。

• Telnet daemonへの接続が必要。

• TESO Security Groupが検証用ツール

telnetfpを公開。

(12)

の一例

• Netcatを使ってTelnet daemon(port:23)に接

続すると交渉(Negotiation)が表示される。

(例)

# nc -n -o telnet_hexdump.log 192.168.1.23 23

  #‘ ← この部分

< telnet_hexdump.log >

ff fd 18 ff fd 20 ff fd 23 ff fd 27

255 253 24 255 253 32 255 253 35 255 253 39

↑この値をFingerprintとして利用

(13)

Linux DO: 255 253 24 255 253 32 255 253 35 255 253 39 DONT: 255 250 32 1 255 240 255 250 35 1 255 240 255 250 39 1 255 240 255 250 24 1 255 240 FreeBSD 4.1-STABLE DO: 255 253 37 DONT: 255 250 37 1 6 SunOS 5.6 DO: 13 10 77 97 115 116 101 114 46 13 10 DONT: 255 251 3 Windows 2000 DO: 255 253 37 255 251 1 255 253 3 255 253 31 255 253 DONT: 255 250 37 1 15

(14)

推測について

(15)

• 各OSに初期インストールされるIdent

daemonのバージョンが異なっていることな

どを利用したOS推測。

• Ident daemonへの接続が必要。

• TESO Security Groupが検証用ツール

ldistfpを公開。

(16)

の一例

• telnetコマンドなどでauth(port:113)に接続し

てVERSIONと入力することで表示される。

(例)

# telnet 192.168.1.23 113

VERSION

0 , 0 : X-VERSION : 2.8.5 (Compiled: 22:13:48 Mar 21

1999)

(17)

FreeBSD i386 4.2-STABLE

"Compiled: 11:18:59 Oct 23 2000" "pidentd 2.8.5" 1

SunOS 5.8

"UNKNOWN-ERROR" "unknown" 0

RedHat i386 6.0

"Compiled: 22:13:48 Mar 21 1999" "pidentd 2.8.5" 1

HP-UX 11.00

"2.7.4" "pidentd 2.7.4" 0

Debian i386 2.2

(18)

推測について

(19)

• OSごとにTCP/IPの実装が異なっているこ

とから、使用される初期シーケンス番号の

特徴や、多種のパケットを送信した際の返

信パケット種類とフラグの設定、windowサ

イズなどの情報を利用したOS推測。

• 特異なパケットを多数送信するので、検知

が容易。またダイナミックパケットフィルタ

リング越しでの推測は困難。

(20)

• 9種類のテストを用いてOSを推測するので、

他のOS推測より信頼性が高い。

• Insecure.orgで公開されているポートスキャ

ナNMAPのOS推測機能が有名。

(21)

の一例

• ポートスキャナNMAPのOS推測オプション(-O)を

設定したポートスキャンを行うことで、容易にOS

推測を行うことが可能。

(例) # nmap -n -sS -O 192.168.1.23 Interesting ports on (192.168.1.23):

(The 1520 ports scanned but not shown below are in state: closed) Port State Service

21/tcp open ftp 23/tcp open telnet

TCP Sequence Prediction: Class=random positive increments Difficulty=3080148 (Good luck!)

(22)

の仕組み

• 9種類のテストを行い、それぞれのテストで得た情報から推測。 TSeq(初期シーケンス番号テスト) T1(OpenPortにSYNパケットを送った場合の返信内容テスト) T2(OpenPortにNULLパケットを送った場合の返信内容テスト) T3(OpenPortにSYN|FIN|URG|PSHパケットを送った場合の返信内容 テスト) T4(OpenPortにACKパケットを送った場合の返信内容テスト) T5(ClosePortにSYNパケットを送った場合の返信内容テスト) T6(ClosePortにACKパケットを送った場合の返信内容テスト) T7(ClosePortにFIN|URG|PSHパケットを送った場合の返信内容テス ト) PU(UDPを利用した'port unreachable'messageテスト)

(23)

• nmap-os-fingerprintsファイルまたはNMAPのデ

バッグ機能(-d)を設定すれば表示される。

OS Fingerprint: TSeq(Class=RI%gcd=1%SI=4C23BD) T1(Resp=Y%DF=Y%W=7F53%ACK=S++%Flags=AS%Ops=MENN TNW) T2(Resp=N) T3(Resp=Y%DF=Y%W=7F53%ACK=S++%Flags=AS%Ops=MENN TNW) T4(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=) T5(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=) T6(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=) T7(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=) PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E %RIPCK=E%UCK=E%ULEN=134%DAT=E)

(24)

推測について

ICMP responses based TCP/IP stack

fingerprinting

(25)

ICMP responses based TCP/IP stack fingerprinting

• 各種ICMPパケットを送信した際の返信さ

れるICMPパケットや、閉じているUDPポー

トに対してUDPパケットを送信した際の返

信されるICMP不達通知(type 3)パケットの

特徴からOSを推測。

• UDPパケットに対して返信されるICMP不

達通知パケット及び各種ICMPパケットが、

推測行為を行う側に到達することが必要。

(26)

ICMP responses based TCP/IP stack fingerprinting

• OSによっては数回のパケット送信で推測

可能なため、検知や遮断が困難。

• Sys-Security Groupが検証用ツールとして

Xを公開。

Sys-Security Group

( http://www.sys-security.com/html/projects/X.html )

(27)

ICMP responses based TCP/IP stack fingerprinting

# x -v 192.168.1.1 X probe ver. 0.0.1p1 ---Interface: eth0/192.168.1.2 LOG: Target: 192.168.1.1 LOG: Netmask: 255.255.255.255 LOG: probing: 192.168.1.1

TEST: UDP to 192.168.1.1:32132 [98 bytes] sent, waiting for reponse.

TREE: Cisco IOS 11.x-12.x! Extreme Network Switches.Linux 2.0.x!2.2.x!2.4.x. TREE: Linux kernel 2.0.x!2.2.x!2.4.x! Based.

TREE: Linux kernel 2.2.x!2.4.x! Based.

TEST: ICMP echo request to 192.168.1.1 [68 bytes] sent, waiting for reponse. TREE: ICMP echo/echo reply are not filtered

(28)

ICMP responses based TCP/IP stack fingerprinting

の仕組み

• 返信されるICMPパケットから以下の値を調べる

ことでOSを推測。

– IP total length field – IP ID

– 3 bits flags and offset – IP header checksum

– UDP header checksum (in case of UDP datagram) – Precedence bits

– DF bits echoing

– IP ID filend (linux 2.4.0 - 2.4.4 kernels)

– IP ttl field (ttl distance to the target has to be precalculated to guarantee accuracy).

(29)

ICMP responses based TCP/IP stack fingerprinting

– TOS field

• An ICMP error message is always sent with the default TOS (0x0000) • An ICMP request message may be sent with any value in the TOS • An ICMP reply message is sent with the same value in the TOS – ICMP Error Message Quoting Size:

– ICMP error Message echoing integrity

– Using difererent from zero code fields in ICMP echo requests – Using DF bit echoing with ICMP query messages

– Other ICMP messages: • ICMP timestamp request • ICMP Information request • ICMP Address mask request

(30)

侵入技術の紹介

(31)

• ポートスキャンの送信元IPアドレスの隠蔽や、パ

ケットフィルタリングの回避に利用する侵入技術

の一つ。

• hping.orgのSalvatore Sanfilippo氏が確立。

• 検証用ツールとしてhping.orgのhping2や、

insecure.orgのNMAPがある。

Insecure.org ( http://www.insecure.org/nmap/ )

hping.org ( http://www.hping.org/ )

(32)

• IP Fragment ID Scanは次の2点に着目して

対象ホストのポートの開閉を判断。

– フラグメント化されたIPパケットの再構築に利

用されるID(Identification)が、殆どのOSで推

測が容易。

– SYN+ACKパケットやRST+ACKパケットに対

するレスポンスの有無。

(33)

• IP Fragment ID Scanを行うには、次の3台

が必要。

– ポートスキャンを行うScanner host

– ポートスキャンの結果を受信するReceiver host

– ポートスキャンの対象となるVictim host

• Receiver hostにはIDが推測しやすいホスト

を選ぶ。

(34)

の一例

• NMAPのidle scanオプション(-sI)を設定するだけ

でIP Fragment ID Scanが可能。

(例)

# nmap -n -P0 -sI 192.168.1.12 192.168.1.45

Idlescan using zombie 192.168.1.12 (192.168.1.12:80); Class: Broken little-endian incremental

Interesting ports on (192.168.1.45):

(The 1546 ports scanned but not shown below are in state: closed) Port State Service

135/tcp open loc-srv

139/tcp open netbios-ssn

(35)

の仕組み

• IP Fragment ID ScanはScanner hostが

Receiver hostのIPアドレスに偽装して

Victim Hostにポートスキャンを行い、

Victim Hostから返信されるパケットが

Receiver hostのIDに及ぼす影響の有無を

検出することで成立。

(36)

の仕組み

• ScannerからReceiverへID検出用SYNパケットを連続送信。

SYN

SYN+ACK

Scanner host

192.168.1.2

Receiver host

192.168.1.1

Victim host

192.168.1.17

(37)

の仕組み

• hping2を使ったID検出(Scanner ⇔ Receiver)

(例)

# hping2 -n -r -S 192.168.1.1 -p 80

eth0 default routing interface selected (according to /proc)

HPING 192.168.1.1 (eth0 192.168.1.1): S set, 40 headers + 0 data bytes

46 bytes from 192.168.1.1: flags=SA seq=0 ttl=128 id=55829 win=8576 rtt=1.3 ms

46 bytes from 192.168.1.1: flags=SA seq=1 ttl=128 id=+256 win=8576 rtt=1.0 ms

46 bytes from 192.168.1.1: flags=SA seq=2 ttl=128 id=+256 win=8576 rtt=1.0 ms

46 bytes from 192.168.1.1: flags=SA seq=3 ttl=128 id=+256 win=8576 rtt=1.0 ms

46 bytes from 192.168.1.1: flags=SA seq=4 ttl=128 id=+256 win=8576 rtt=1.0 ms

(38)

の仕組み

• ReceiverのIPに偽装してScannerからVictimにSYNパケット送信。

SYN

SYN+ACK

Scanner host

192.168.1.2

Receiver host

192.168.1.1

Victim host

192.168.1.17

SYN

src:192.168.1.1

dst:192.168.1.17

dst-port:80

(39)

の仕組み

• Victimは受け取ったSYNパケットのレスポンスをReceiverに送信。

SYN

SYN+ACK

Scanner host

192.168.1.2

Receiver host

192.168.1.1

Victim host

192.168.1.17

SYN+ACK

or

RST+ACK

(40)

の仕組み

• Victimは受け取ったSYNパケットのレスポンスをReceiverに送信。

SYN

SYN+ACK

Scanner host

192.168.1.2

Receiver host

192.168.1.1

Victim host

192.168.1.17

SYN+ACK

RSTを返信

RST+ACK

反応しない

(41)

の仕組み

• Victimの80番ポートが開いている場合

46 bytes from 192.168.1.1: flags=SA seq=30 ttl=128 id=+256 win=8576 rtt=1.1 ms

46 bytes from 192.168.1.1: flags=SA seq=31 ttl=128 id=+512 win=8576 rtt=1.6 ms

46 bytes from 192.168.1.1: flags=SA seq=32 ttl=128 id=+256 win=8576 rtt=1.5 ms

• Victimの80番ポートが閉じている場合

46 bytes from 192.168.1.1: flags=SA seq=11 ttl=128 id=+256 win=8576 rtt=1.1 ms

46 bytes from 192.168.1.1: flags=SA seq=12 ttl=128 id=+256 win=8576 rtt=1.1 ms

46 bytes from 192.168.1.1: flags=SA seq=13 ttl=128 id=+256 win=8576 rtt=1.1 ms

(42)

侵入技術の紹介

(43)

受動的攻撃

• Georgi Guninski氏やJuan Carlos Cuartango氏が発

見し続けているWebBrowserの脆弱性と、従来の

侵入技術を掛け合せた複合型侵入技術。

• 「増殖と破壊」を重視するウィルスとは異なり、「コ

マンドやファイルの実行」を重視した攻撃。

• 攻撃対象側から攻撃の流れが始まるので、従来

のセキュリティ製品では対策が困難。

(44)

受動的攻撃

• 攻撃対象の行動を引き金として攻撃が始

まるので、成功率やタイミングが攻撃対象

によって大きく異なる。

• 受動的攻撃検証サイトでサンプルファイル

や報告書を公開。

受動的攻撃検証サイト

( http://isweb27.infoseek.co.jp/computer/zaddik/ )

(45)

受動的攻撃の一例

• 「不適切なMIMEヘッダーが原因でInternet Explorerが電子メールの 添付ファイルを実行する(MS01-020)」という致命的な脆弱性を受動 的攻撃の起爆剤として利用。 (例) – <IFRAME>タグを使い添付ファイルを表示するようにHTMLを記 述した拡張子「.eml」のファイルを作成。 – 任意のコマンドが書かれたバッチファイルや実行ファイルを MIME形式に変換。 – MIME形式に変換された悪意のあるファイルのMIMEヘッダーに あるContent-Typeの値をaudio/x-wavに変更して、作成した拡張 子「.eml」のファイルに追加。 – Webサーバにファイルを置いて、攻撃対象のユーザーがファイル を表示するのを待つ。

(46)

受動的攻撃の流れ

• 攻撃対象ユーザーが「.eml」ファイルを表示。

1. 「.eml」ファイルを要求

2. 「.eml」ファイルを送信

(47)

受動的攻撃の流れ

• 「.eml」に書かれた<IFRAME>と不適切なMIME

ヘッダーにより、ユーザーの許可なく添付ファイ

ルを実行。

Webサーバ

攻撃対象

3. 添付ファイル

添付ファイル

添付ファイル

添付ファイル

を実行

を実行

を実行

を実行

(48)

受動的攻撃の流れ

• 実行された添付ファイルの内容に従って、自己

破壊や他のホストへの攻撃、backdoorの設置、

シェルやファイルの転送などを開始。

Webサーバ

攻撃対象

4. 攻撃開始

攻撃開始

攻撃開始

攻撃開始

シェルの転送

シェルの転送

シェルの転送

シェルの転送

他のホストを攻撃

他のホストを攻撃

他のホストを攻撃

他のホストを攻撃

(49)

受動的攻撃の可能性

• セキュリティ製品に保護された環境への侵入

I.N

DMZ

社内

Webサーバ

(侵入者)

社員

Webサーバ

社内サーバ

(50)

受動的攻撃の可能性

• セキュリティ製品に保護された環境への侵入

I.N

DMZ

社内

Webサーバ

(侵入者)

社員

Webサーバ

社内サーバ

(51)

侵入技術の紹介

(52)

報告書作成中につき公開延期

(53)

侵入技術の紹介

(54)

最後に

• 侵入技術は常に進化し続けているので、侵入対

策も常に進化し続けることが必要。

• 進化し続ける侵入技術に対応するには、「侵入

対策」だけではなく「事後対策」も必要。

• 単に対策を「設定設置」するのではなく、「動作

確認限界確認」をすることが必要。

侵入技術を用いた定期的な調査が必要

参照

Outline

関連したドキュメント

本資料は Linux サーバー OS 向けプログラム「 ESET Server Security for Linux V8.1 」の機能を紹介した資料です。.. ・ESET File Security

⑴ 次のうち十分な管理が困難だと感じるものは ありますか。 (複数回答可) 特になし 87件、その他 2件(詳細は後述) 、

アスピリン バイアスピリン 7 日(5 日でも可) 個別検討 なし 術後早期より クロピドグレル プラビックス 7 日(5 日でも可) 7 日(5 日でも可) なし

脅威検出 悪意のある操作や不正な動作を継続的にモニタリングす る脅威検出サービスを導入しています。アカウント侵害の

としても極少数である︒そしてこのような区分は困難で相対的かつ不明確な区分となりがちである︒したがってその

行ない難いことを当然予想している制度であり︑

6 保険料の納付が困難な場合 災害、生計維持者の死亡、失業等のため、一時的に保険

人間は科学技術を発達させ、より大きな力を獲得してきました。しかし、現代の科学技術によっても、自然の世界は人間にとって未知なことが