sponsored links

Tenda AX12 路由器裝置分析(一)

Tenda AX12 路由器裝置分析(一)

0x01 前言

首先感謝Tenda 提供的對Tenda AX12 路由器的測評資格和提供的路由器裝置。
今天這篇文章就來講述如何對路由器裝置進行裝置分析,以及在分析裝置過程中要注意的點,在Tenda裝置上的UART串列埠中獲取shell。

0x02 Tenda AX12 硬體分析

Tenda AX12 路由器是我們的第一個目標,Tenda AX12 從外觀上看,塑膠的外殼透露著金屬的質感,中間的金黃色log在燈光下非常好看,而且這款路由器的外殼特別堅硬,在使用過程中應該不容易被一些東西砸到而產生變形,影響外觀,整體裝置有四根天線,根據裝置的官方說明,裝置支援5G和2.4G的WiFi訊號。從外觀上看,還看不出來裝置有幾根5G 的天線。需要將裝置拆下來。並且裝置的LED狀態燈只有一個,不像以前的路由器,有專門WiFi、LAN口、WAN口、和電源的狀態訊號燈。

Tenda AX12 路由器裝置分析(一)

這一款Tenda裝置拆卸開還是很輕鬆,背部只有兩顆梅花螺絲,使用螺絲刀套裝擰開螺絲,接著用塑膠卡片一點一點的從邊緣撬開,把頂上的塑膠蓋拿下來之後,這個時候就可以看到裝置開發板,我移除了最外面的散熱器,還有金屬遮蔽層沒有拆下來,從開發板上可以看到最右側貌似是一個串列埠,然後是SOP8 flash 晶片,這邊還看不清除具體是什麼型號,並且在開發板上看到兩個WiFi的晶片組,分別有2,4G和5G,並且每一個WiFi天線分別配備一個WiFi晶片,感覺WiFi的訊號穩定性應該很不錯。

Tenda AX12 路由器裝置分析(一)

用螺絲刀將晶片上的金屬遮蔽層開啟,開啟金屬遮蔽層有一個小竅門,要從遮蔽層的邊緣,可以看到一個小縫隙,用扁頭螺絲刀輕輕網上翹即可,撬開之後用棉籤蘸點洗板水清潔一下晶片,這樣能更清除的看清楚晶片型號,或者輕微的將檯燈的燈光側向一方,能看的更清楚,由於手機的渣畫素,拍的依舊還是不清楚。

1 號晶片:S0374L87 SLN23

2 號晶片:S0393N23 SLMQ3

3號晶片:winbond 25Q128JVSQ 2104

2號晶片下面的晶片:ESMT M15T1G1664A

最右邊的串列埠在板子上標註依次是 “3v3”,”OUT”,”IN”,”GND”,根據以往的路由器串列埠,大體上可以猜測出這是開發板上提供除錯的UART 串列埠。那麼根據UART 串列埠對引腳的定義,從上到下依次應該是 “VCC”、”TXD“、”RXD“、”GND“

智慧裝置的韌體存在一般flash裡,flash沒有保護韌體被非法讀取的措施。現在大多數裝置的FLASH和RAM、CPU分別獨立,這樣是特別容易被提取韌體的,拆下FLASH用程式設計器直接能讀到flash裡面的內容了。如果FLASH和RAM整合在CPU上,並且開啟了加密的話這樣就會比較難提取韌體,也使裝置更加安全。

Tenda AX12 路由器裝置分析(一)

這裡主要關心的是winbond 25Q128JVSQ 2104 晶片,在識別出了晶片型號,可以在搜尋引擎中輸入晶片型號,可以下載裝置的datasheet(晶片資料手冊)。晶片在winbond 華邦的官網中可以找到晶片的datasheet。

韌體存在flash裡,flash沒有保護韌體被非法讀取的措施。現在大多數裝置的FLASH和RAM、CPU分別獨立,這樣是特別容易被提取韌體的,拆下FLASH用程式設計器直接能讀到flash裡面的內容了。如果FLASH和RAM整合在CPU上,並且開啟了加密的話這樣就會比較難提取韌體,也使裝置更加安全

Tenda AX12 路由器裝置分析(一)

根據datasheet 手冊的資訊,可以瞭解到winbond 25Q128JVSQ 晶片是一款25系列的SPI flash 晶片,並且是128mbit 記憶體。

下圖是晶片的引腳定義,這一部分在提取flash晶片內的韌體會用到。

Tenda AX12 路由器裝置分析(一)

0x03 UART 接入

由於在路由器板子上看到的疑似UART串列埠。使用FT232 接入裝置,TXD —> IN,RXD —> OUT,GND —> GND 。由於手頭上沒有邏輯邏輯分析儀,波特率用常用的115200來嘗試。開啟SecureCRT ,裝置通電。看到裝置的啟動的log資訊,這裡放出一部分的UART log資訊。

根據log資訊中的line 20看到,按ESC可以終端boot的自啟。在line 67 的 Kernel command line 值可以瞭解到裝置的韌體檔案型別是squash,裝置的波特率是115200,和核心初始化的一些引數。在line 89 可以看到不同的分割槽所在的偏移區間,根據這些資訊,可以從韌體中提取指定偏移區間內的檔案資訊,比如可以提取 0x000000300000-0x000000f00000 偏移地址區間內的rootfs 檔案系統。

U-Boot 2016.07-INTEL-v-3.1.177 (Nov 25 2020 - 09:48:15 +0000)

interAptiv
cps cpu/ddr run in 800/666 Mhz
DRAM:  224 MiB
manuf ef, jedec 4018, ext_jedec 0000
SF: Detected W25Q128BV with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - Tenda Environment, using default environment

env size:8187, crc:d89b57c5 need d89b57c5
In:    serial
Out:   serial
Err:   serial
Net:   multi type
Internal phy firmware version: 0x8548
GRX500-Switch

Type run flash_nfs to mount root filesystem over NFS

Hit ESC to stop autoboot:  0
Wait for upgrade... use GRX500-Switch
tenda upgrade timeout.
manuf ef, jedec 4018, ext_jedec 0000
SF: Detected W25Q128BV with page size 256 Bytes, erase size 64 KiB, total 16 MiB
device 0 offset 0x100000, size 0x200000
SF: 2097152 bytes @ 0x100000 Read: OK
## Booting kernel from Legacy Image at 80800000 ...
   Image Name:   MIPS UGW Linux-4.9.206
   Created:      2020-11-18   5:39:29 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2079952 Bytes = 2 MiB
   Load Address: a0020000
   Entry Point:  a0020000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
[    0.000000] Linux version 4.9.206 (root@ubt1-virtual-machine) (gcc version 8.3.0 (OpenWrt GCC 8.3.0 v19.07.1_intel) ) #0 SMP Fri Nov 13 09:14:24 UTC 2020
[    0.000000] SoC: GRX500 rev 1.2
[    0.000000] CPU0 revision is: 0001a120 (MIPS interAptiv (multi))
[    0.000000] Enhanced Virtual Addressing (EVA 1GB) activated
[    0.000000] MIPS: machine is EASY350 ANYWAN (GRX350) Main model
[    0.000000] Coherence Manager IOCU detected
[    0.000000] Hardware DMA cache coherency disabled
[    0.000000] earlycon: lantiq0 at MMIO 0x16600000 (options '')
[    0.000000] bootconsole [lantiq0] enabled
[    0.000000] User-defined physical RAM map:
[    0.000000]  memory: 08000000 @ 20000000 (usable)
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 08000000 @ 20000000 (usable)
[    0.000000]  memory: 00007fa4 @ 206d5450 (reserved)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] cma: Reserved 32 MiB at 0x25c00000
[    0.000000] SMPCMP: CPU0: cmp_smp_setup
[    0.000000] VPE topology {2,2} total 4
[    0.000000] Detected 3 available secondary CPU(s)
[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000020000000-0x0000000027ffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000020000000-0x0000000027ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000020000000-0x0000000027ffffff]
[    0.000000] percpu: Embedded 12 pages/cpu s17488 r8192 d23472 u49152
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: earlycon=lantiq,0x16600000 nr_cpus=4 nocoherentio clk_ignore_unused root=/dev/mtdblock6 rw rootfstype=squashfs do_overlay console=ttyLTQ0,115200 ethaddr=CC:2D:21:EE:D9:F0 panic=1 mtdparts=spi32766.1:512k(uboot),128k(ubootconfigA),128k(ubootconfigB),256k(calibration),2m(kernel),12m(rootfs),-(res) init=/etc/preinit active_bank= update_chk= maxcpus=4 pci=pcie_bus_perf ethwan= ubootver= mem=128M@512M
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 87656K/131072K available (5087K kernel code, 294K rwdata, 1264K rodata, 1276K init, 961K bss, 10648K reserved, 32768K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:527
[    0.000000] EIC is off
[    0.000000] VINT is on
[    0.000000] CPU Clock: 800000000Hz  mips_hpt_frequency 400000000Hz
[    0.000000] clocksource: gptc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302233 ns
[    0.000010] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 10737418237ns
[    0.008266] Calibrating delay loop... 531.66 BogoMIPS (lpj=2658304)
[    0.069297] pid_max: default: 32768 minimum: 301
[    0.074090] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.080515] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.089026] CCA is coherent, multi-core is fine
[    0.098050] [vmb_cpu_alloc]:[645] CPU vpet.cpu_status = 11
...
[    2.636153] 7 cmdlinepart partitions found on MTD device spi32766.1
[    2.641030] Creating 7 MTD partitions on "spi32766.1":
[    2.646216] 0x000000000000-0x000000080000 : "uboot"
[    2.652273] 0x000000080000-0x0000000a0000 : "ubootconfigA"
[    2.657866] 0x0000000a0000-0x0000000c0000 : "ubootconfigB"
[    2.663350] 0x0000000c0000-0x000000100000 : "calibration"
[    2.668827] 0x000000100000-0x000000300000 : "kernel"
[    2.673587] 0x000000300000-0x000000f00000 : "rootfs"
[    2.678642] mtd: device 6 (rootfs) set to be root filesystem
[    2.683251] 1 squashfs-split partitions found on MTD device rootfs
[    2.689144] 0x000000d00000-0x000001000000 : "rootfs_data"
[    2.695934] 0x000000f00000-0x000001000000 : "res"
[    2.700477] Lantiq SoC SPI controller rev 9 (TXFS 32, RXFS 32, DMA 1)
[    2.717456] libphy: Fixed MDIO Bus: probed
[    2.726334] libphy: gswitch_mdio: probed
[    2.732619] libphy: gswitch_mdio: probed
[    2.736683] lro_sram_membase_res0 from DT: a2013000

當裝置完全啟動後,很遺憾的是裝置UART 接入設定了登入口令,並且嘗試了一眾弱口令都沒有成功,不得不說,tenda裝置的安全性還是很到位的,我分析的其他tenda裝置UART 串列埠都有登入設定。

Tenda AX12 路由器裝置分析(一)

0x04 裝置韌體獲取

由於無法獲取到裝置的UART shell,我開始考慮從晶片中獲取韌體,這裡我犯了一個經驗性的失誤,因為以前分析過一些Tenda的裝置,比較新的韌體是識別不出來,解不開,並且以前提取Tenda F6裝置flash 晶片中的韌體時,使用飛線來提取,但是晶片有過電保護,無法正常提取韌體,於是這一款裝置我直接沒有考慮從官網下載韌體,而是把flash 晶片拆卸下來讀取韌體。

由於手頭上沒有熱風槍,所以沒辦法直接把flash 晶片直接吹下來,所以採用電洛鐵滴錫的方法來拆解Flash晶片進行韌體讀取。

1、將電烙鐵加熱加上錫,對準晶片一側上錫,此時使用鑷子將上錫的一側輕輕翹起。
2、對準晶片另一側上錫,此時使用鑷子將上錫的另一側輕輕翹起,使用鑷子輕輕夾出。

然後把晶片焊到底座上,方便程式設計器提取。

Tenda AX12 路由器裝置分析(一)

到這裡,我並沒有繼續往下提取,因為我突然想起來在UART log資訊中顯示的squashfs 資訊,我聯想起來,這個裝置的韌體是squashfs檔案系統型別的,那麼就可以直接用binwalk -Me直接提取。

如果要繼續往下提取,那就是根據flash晶片datasheet 中的資訊確定晶片的1號引腳,和程式設計器一一對應,直接就可以提取了,另外winbond 的晶片,現在物美價廉的土豪金CHA341A程式設計器就可以提取出來。

這裡我在Tenda官網中下載了最新韌體進行提取,不出所料,這一款裝置的韌體很成功的就提取出來。

Tenda AX12 路由器裝置分析(一)

0x05 UART 密碼獲取

我把韌體解開之後,首先在/etc/shadow 看到使用者名稱和加密後的hash。一般來說,這一塊是裝置的UART 登入口令。但是很遺憾被MD5加密了。

hash值儲存方式為:以MD5雜湊演算法為例,儲存為$1$salt$encrypted;以SHA雜湊演算法為例,儲存為$6$salt$encrypted

Tenda AX12 路由器裝置分析(一)

接了來使用hashcat 對shadow進行爆破

hashcat -m 500 -a 0  ./test_shadow.txt ./500_passwords.txt --force

嘗試使用hashcat爆破的方式,解開密碼,但是換了許多個密碼字典一直都沒有成功,於是我想到了Tenda裝置AC15的歷史漏洞CVE-2020–10988,密碼為root/ Fireitup ,於是加入到裝置的爆破詞典裡面,如下圖所示,密碼正確。

Tenda AX12 路由器裝置分析(一)

使用獲取到的登入口令,成功獲取到裝置的shell 中。

Tenda AX12 路由器裝置分析(一)

另外,裝置的telnet 服務在UART提供的串列埠進行開啟,遠端連線,也是使用和UART 接入的登入口令是一樣的。

0x06 總結

本片文章主要是對裝置的硬體進行分析,如何來辨別裝置上的晶片,從裝置上的晶片獲取有用的資訊,還有對UART如何進行接入,並且根據Tenda的歷史漏洞資訊,獲取到了裝置的登入口令和密碼。

後續會再出一篇文章,也是以Tenda AX12 路由器為起點,講解如何分析路由器的韌體,在對韌體分析的過程中,著重關注那些點,那些檔案內容容易產生漏洞。以及分享在Tenda AX12 裝置上挖到的一些漏洞,希望能幫助一些小夥伴一起學習參考。

本文由大中午啊原創釋出
轉載,請參考轉載宣告,註明出處: https://www.anquanke.com/post/id/255290
安全客 - 有思想的安全新媒體

分類: 釣魚
時間: 2021-12-21

相關文章

盤點釣魚那些年幹過最多餘的6件事!魚看了也想不通

盤點釣魚那些年幹過最多餘的6件事!魚看了也想不通
以前資源好,釣魚相對也簡單,如今釣魚人是越來越多,大家裝備也越來越好,但是魚獲卻越來越少了. 坐幾個小時沒口.怎麼都釣不到魚,很多釣友就開始懷疑人生,不是說餌料味型不對.就是感覺浮漂沒調好,反正各種折 ...

秋天魚口不好怎麼辦?做對這幾件事,漁獲翻一番

秋天魚口不好怎麼辦?做對這幾件事,漁獲翻一番
秋天魚口不好怎麼辦?做對這幾件事,漁獲翻一番 文章轉自釣魚隊長,請多多關注 秋釣流傳著這樣一句魚諺:"秋天到,魚難釣",轉眼到了7月下旬,中伏天氣悶熱,釣友們在實際垂釣過程中,經常 ...

夜釣總是沒口?提醒你做好這4件事,擺脫空軍不再難

夜釣總是沒口?提醒你做好這4件事,擺脫空軍不再難
秋季是釣魚非常好的季節,很多魚都會在這個時候瘋狂進食,哪怕是鯽魚鯉魚這些一年四季都會開口的魚,在秋季它們也會有一個覓食高峰期. 而我個人認為,秋季真正要"好釣",那還得是氣溫大幅度 ...

牛奶真的可以抗衰嗎?想要抵抗衰老,有幾件事不得不做

牛奶真的可以抗衰嗎?想要抵抗衰老,有幾件事不得不做
隨著年齡的增長,很多人會陷入容貌焦慮的狀態當中,十分擔心長皺紋.肌膚鬆弛.長斑等衰老症狀的到來,會想方設法延緩這些現象.而牛奶作為常見的食品之一,被不少人認為有抗衰的作用,於是每天都會飲用.那麼,牛奶 ...

在洗不洗牛仔褲這件事上,我聽“牛仔皇帝”的

在洗不洗牛仔褲這件事上,我聽“牛仔皇帝”的
作者:Matt "我唯一的遺憾是不能發明牛仔褲."這是 20 世紀法國最偉大的設計師之一 Yves Saint Laurent 的一句名言,在座各位看客無論喜歡什麼風格,相信大多數 ...

人老了,如果兄弟姐妹之間不親了,請做好以下幾件事

人老了,如果兄弟姐妹之間不親了,請做好以下幾件事
點選上方藍字關注,每天和你一起剖析人性與情感. 張阿姨和兄弟姐妹大吵了一架. 起因是半年前父親突然離世,留下的一筆錢,不過二十來萬,兄弟姐妹四個為了這筆錢,討論了半年,也沒有一個大家都滿意的說法. 大 ...

父母患有以下癌症,有可能“遺傳”給子女,醫生:子女做好4件事

父母患有以下癌症,有可能“遺傳”給子女,醫生:子女做好4件事
世界衛生組織多次發表宣告:中國已經是"癌症大國",其中肝癌.肺癌是發作率最高的癌症,在中國擁有廣闊的群眾基礎. 有專家表示,這是因為中國雖然富裕了,但是群眾思維仍然沒有跟上,還保持 ...

別拿“腳氣”不當回事兒!有腳氣要做好這10件事

別拿“腳氣”不當回事兒!有腳氣要做好這10件事
防治 腳氣 "腳氣"聽起來是小事兒 因為有些時候 它在我們的印象裡都不算病 塗點藥膏就好了 所以腳氣的發作 一般不會引起大家的注意 但是腳氣也分嚴重程度 並且它所帶來的危害不容小覷 ...

0-6歲是娃想象力的關鍵期,做好這幾件事,有助於娃想象力更豐富

0-6歲是娃想象力的關鍵期,做好這幾件事,有助於娃想象力更豐富
導語:崔女士最近發現兒子源源總是會有一些非常奇怪的行為舉止,源源會用紙摺疊成一些奇奇怪怪的形狀,然後放在地板上模擬新際大戰.摺疊的紙張造型並不精緻,有些只是胡亂的揉成一團,就當做是一種武器.並且嘴裡還 ...

夜讀 | 一輩子兩件事:做人和做事

夜讀 | 一輩子兩件事:做人和做事
名家畫廊 | 婁師白,繼承齊白石藝術技法特色並有所創新,畫作簡練中有種生機勃勃的感覺. 做事先做人,做人先立德. 人這一生,就像是一場漫長的旅行. 一路上,伴隨著各種坎坷挫折,艱難險阻,誰都走得不容易 ...

人人都有癌細胞,為啥沒有人人得癌?原來癌細胞喜歡你幹這4件事

人人都有癌細胞,為啥沒有人人得癌?原來癌細胞喜歡你幹這4件事
"正常人的身體裡會有癌細胞嗎?" "癌細胞是人體自帶的." "聽說人每天會生成3000個癌細胞!" "......" 人 ...

白面板的寶寶,媽媽在懷孕期間都會做這幾件事,黑黃皮基因也有用

白面板的寶寶,媽媽在懷孕期間都會做這幾件事,黑黃皮基因也有用
在當下社會的審美觀中,雖然說審美趨勢多樣化,但是仍是抵不住大多數都以"冷白皮"為追求.俗話說"一白遮三醜",很多女孩子都希望自己是白面板,而且最好是冷白皮,甚至 ...

夜讀 | 人生,有兩件事最難得

夜讀 | 人生,有兩件事最難得
名家畫廊 | 陸抑非(1908年-1997年),江蘇常熟人,是中國現當代傑出的畫家和卓越的美術教育家. 所謂的幸福,不過是內心看待世界的角度. 人生在世,有兩件事最為難得. 一是知足,二是感恩. 知足 ...

《人間清醒》:人到中年,要學會這幾件事

《人間清醒》:人到中年,要學會這幾件事
文/吳呱呱 嗨,你好啊,我是吳呱呱. 曾在網上看過這樣一個問題:"你覺得什麼樣子,才算是人間清醒?" 底下,有個高贊說:"最好的人間清醒便是學會和解.做減法.自我救續.& ...

李自成當了42天皇帝,期間他只幹了三件事,吃餃子玩妞花錢

李自成當了42天皇帝,期間他只幹了三件事,吃餃子玩妞花錢
1644年,奄奄一息的大明王朝風雨飄搖,終於在一片討伐聲中,轟然倒塌.隨著明朝最後一個皇帝朱由檢,在煤山自縊身亡,統治中國276年的大明王朝就此覆滅. 眾所周知,在明朝覆滅後的下一個朝代就是清朝.但是 ...

無窗衛生間註定是雞肋?我家裝修時做了3件事,暗衛比明衛還好用

無窗衛生間註定是雞肋?我家裝修時做了3件事,暗衛比明衛還好用
我是前年買的二手房,那時候剛好我現在這個戶型,和對面鄰居家的戶型一起出售.兩個戶型格局映象,房間都差不多,最大的區別就是我的衛生間沒有窗戶,但是總價低五萬元左右.那時候朋友都勸我不要買無窗的,房價低一 ...

40歲後,真正有遠見的人,都戒掉了這10件事,為餘生鋪路

40歲後,真正有遠見的人,都戒掉了這10件事,為餘生鋪路
孔子有言:"三十而立,四十而不惑,五十而知天命." 當人到了三十歲,我們都需要成家立業.當人到了四十歲,我們都會變得不再迷惑.而當人到了五十歲,相信我們都"知天達命&qu ...

人老了,如果兄弟姐妹變成了仇人,請務必做好以下幾件事

人老了,如果兄弟姐妹變成了仇人,請務必做好以下幾件事
點選關注☞免費收到文章 親情,血濃於水不能割捨? 親情,與生俱來無法改變. 即使全世界都拋棄你, 親人家人永遠不會. 這世間, 除了父母之外, 最親的就是兄弟姐妹. 小時候一起長大, 長大了互相扶持. ...

在狗狗眼中,主人摸它的爪子,是想幹這幾件事

在狗狗眼中,主人摸它的爪子,是想幹這幾件事
關注[饞不膩狗糧],一起健康科學養寵 原創文章,請勿抄襲. 狗狗的爪子是它們的敏感部位,一般很少讓人碰,在狗狗的眼裡看來,主人摸它的爪子,是想幹這幾件事. 1.主人想幫它剪指甲 當你拿起狗爪子時,狗狗 ...

拉布拉多犬——最受歡迎的犬種!養它必須瞭解的5件事

拉布拉多犬——最受歡迎的犬種!養它必須瞭解的5件事
國外比較多人養大狗狗,因為國外人口密度小,所以很多寵主都是喜歡養中大型犬,大狗狗能看家護院,很有安全感,主人還能跟狗狗一起運動一起玩耍,會特別有趣.而拉布拉多犬是國外最受歡迎的犬種蟬聯30年最受歡迎犬 ...