网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > Routers配置

安全性堪忧:手把手教你寻找MikroTik路由器漏洞

 41yf1sh 嘶吼专业版 

一、前言

最近,我在Slack上收到了很多条私信,这些私信都共同指向同一条推文。

为什么这与我有关呢?因为上周日,我在Derbycon上发表了一次关于在MikroTik的RouterOS中寻找漏洞的演讲。

现在,Zerodium已经为MikroTik漏洞支付了6位数的奖励,我认为这是一个好机会,可以让我对RouterOS的漏洞进行一次完整分析。其实,任何时候都是研究RouterOS漏洞的好时机,因为这是一个有趣的目标。在本文的分析过程中,我发现了一个新的未授权漏洞。相信你也可以找到一些漏洞。

二、奠定基础

现在,想必各位读者已经开始规划奖金要如何分配了。但是,还是需要冷静下来,我们还有一部分准备工作要做。

2.1 获取软件

最开始,大家其实不必急于在淘宝上购买MikroTik路由器。因为MikroTik在其网站上就提供了RouterOS的ISO镜像。在下载ISO之后,可以使用 Virtual Box或VMWare创建一台 虚拟主机 。

我们从ISO中,可以提取系统文件。

albinolobster@ubuntu:~/6.42.11$ 7z x mikrotik-6.42.11.iso

 

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

 

Processing archive: mikrotik-6.42.11.iso

 

Extracting  advanced-tools-6.42.11.npk

Extracting  calea-6.42.11.npk

Extracting  defpacks

Extracting  dhcp-6.42.11.npk

Extracting  dude-6.42.11.npk

Extracting  gps-6.42.11.npk

Extracting  hotspot-6.42.11.npk

Extracting  ipv6-6.42.11.npk

Extracting  iso Linux

Extracting  iso Linux /boot.cat

Extracting  iso Linux /initrd.rgz

Extracting  iso Linux /iso Linux .bin

Extracting  iso Linux /iso Linux .cfg

Extracting  iso Linux / Linux

Extracting  iso Linux /TRANS.TBL

Extracting  kvm-6.42.11.npk

Extracting  lcd-6.42.11.npk

Extracting  LICENSE.txt

Extracting  mpls-6.42.11.npk

Extracting  multicast-6.42.11.npk

Extracting  ntp-6.42.11.npk

Extracting  ppp-6.42.11.npk

Extracting  routing-6.42.11.npk

Extracting  security-6.42.11.npk

Extracting  system-6.42.11.npk

Extracting  TRANS.TBL

Extracting  ups-6.42.11.npk

Extracting  user-manager-6.42.11.npk

Extracting  wireless-6.42.11.npk

Extracting  [BOOT]/Bootable_NoEmulation.img

 

Everything is Ok

 

Folders: 1

Files: 29

Size:       26232176

Compressed: 26335232

MikroTik使用他们自定义的.npk格式封装了许多软件。有一个工具可以对它们实现解封装,但我还是更加倾向于使用binwalk。

albinolobster@ubuntu:~/6.42.11$ binwalk -e system-6.42.11.npk

 

DECIMAL       HEXADECIMAL     DESCRIPTION

--------------------------------------------------------------------

0             0x0             NPK firmware header, image size: 15616295, image name: "system", description: ""

4096          0x1000          Squashfs filesystem, little endian, version 4.0, compression:xz, size: 9818075 bytes, 1340 inodes, blocksize: 262144 bytes, created: 2018-12-21 09:18:10

9822304       0x95E060        ELF, 32-bit LSB executable, Intel 80386, version 1 (SYSV)

9842177       0x962E01        Unix path: /sys/devices/system/cpu

9846974       0x9640BE        ELF, 32-bit LSB executable, Intel 80386, version 1 (SYSV)

9904147       0x972013        Unix path: /sys/devices/system/cpu

9928025       0x977D59        Copyright string: "Copyright 1995-2005 Mark Adler "

9928138       0x977DCA        CRC32 polynomial table, little endian

9932234       0x978DCA        CRC32 polynomial table, big endian

9958962       0x97F632        xz compressed data

12000822      0xB71E36        xz compressed data

12003148      0xB7274C        xz compressed data

12104110      0xB8B1AE        xz compressed data

13772462      0xD226AE        xz compressed data

13790464      0xD26D00        xz compressed data

15613512      0xEE3E48        xz compressed data

15616031      0xEE481F        Unix path: /var/pdb/system/crcbin/milo 3801732988

 

albinolobster@ubuntu:~/6.42.11$ ls -o ./_system-6.42.11.npk.extracted/squashfs-root/

total 64

drwxr-xr-x 2 albinolobster 4096 Dec 21 04:18 bin

drwxr-xr-x 2 albinolobster 4096 Dec 21 04:18 boot

drwxr-xr-x 2 albinolobster 4096 Dec 21 04:18 dev

lrwxrwxrwx 1 albinolobster   11 Dec 21 04:18 dude -> /flash/dude

drwxr-xr-x 3 albinolobster 4096 Dec 21 04:18 etc

drwxr-xr-x 2 albinolobster 4096 Dec 21 04:18 flash

drwxr-xr-x 3 albinolobster 4096 Dec 21 04:17 home

drwxr-xr-x 2 albinolobster 4096 Dec 21 04:18 initrd

drwxr-xr-x 4 albinolobster 4096 Dec 21 04:18 lib

drwxr-xr-x 5 albinolobster 4096 Dec 21 04:18 nova

drwxr-xr-x 3 albinolobster 4096 Dec 21 04:18 old

lrwxrwxrwx 1 albinolobster    9 Dec 21 04:18 pckg -> /ram/pckg

drwxr-xr-x 2 albinolobster 4096 Dec 21 04:18 proc

drwxr-xr-x 2 albinolobster 4096 Dec 21 04:18 ram

lrwxrwxrwx 1 albinolobster    9 Dec 21 04:18 rw -> /flash/rw

drwxr-xr-x 2 albinolobster 4096 Dec 21 04:18 sbin

drwxr-xr-x 2 albinolobster 4096 Dec 21 04:18 sys

lrwxrwxrwx 1 albinolobster    7 Dec 21 04:18 tmp -> /rw/tmp

drwxr-xr-x 3 albinolobster 4096 Dec 21 04:17 usr

drwxr-xr-x 5 albinolobster 4096 Dec 21 04:18 var

albinolobster@ubuntu:~/6.42.11$

2.2 打开盒子

(责任编辑:admin)