티스토리 뷰


네티스 공유기, 백도어 발견…비밀번호 하드코딩돼

 http://dailysecu.com/news_view.php?article_id=7689


만약, 우리가 이런 기사를 접한다면,,,,,,,,,,,,,,,,,,,   직접 까 본다.. ^^;;;

조금 지난 이야기지만 이제서야 정리해서 올려봅니다. 

중국에서 제조된 공유기 Netis(Netcore) 제품에 다음과 같은 문제점들이 발견되었다고 합니다.


1) 백도어가 존재.

2) 백도어 접근을 위한 비밀번호가 기기 펌웨어 상에 하드코딩.


우선 할일은 펌웨어를 해체작업하는 겁니다. 


1) Firmware 획득하기


http://www.netis-systems.com/en/Downloads/Details/?id=66


기사가 발표된 게 8월이니 맘에 드는 녀석 중에 6월에 업데이트된 녀석이 있네요.. 요녀석으로 선정하겠습니다. 


Model : WF2419

Netis(WF2419_WF2419D)-V1.2.27001.bin

2014-6-12



2) Firmware 구조를 파악하기


Netis\(WF2419_WF2419D\)-V1.2.27001.bin 


DECIMAL   HEX       DESCRIPTION

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

325       0x145     LZMA compressed data, properties: 0x88, dictionary size: 336068608 bytes, uncompressed size: 29696 bytes

465       0x1D1     LZMA compressed data, properties: 0x88, dictionary size: 336068608 bytes, uncompressed size: 29696 bytes

509       0x1FD     LZMA compressed data, properties: 0x88, dictionary size: 1048576 bytes, uncompressed size: 65535 bytes

11280     0x2C10     LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 2338816 bytes

622690     0x98062   Squashfs filesystem, big endian, version 2.0, size: 2125248 bytes, 412 inodes, blocksize: 65536 bytes, created: Wed May  7 17:18:43 2014

622753     0x980A1   gzip compressed data, was "netcore.css", from Unix, last modified: Wed May  7 17:14:58 2014

624794     0x9889A   gzip compressed data, was "style.css", from Unix, last modified: Wed May  7 17:14:58 2014

… 중간생략….


"Squashfs" 파일 시스템이 하나 발견되었습니다.  해당 파일 시스템 부분만 데이터덤프(dd)를 사용해서 추출해볼게요. 


redhidden$ dd if=Netis\(WF2419_WF2419D\)-V1.2.27001.bin of=Netis\(WF2419_WF2419D\)-V1.2.27001.fs skip=622690 bs=1

2125890+0 records in

2125890+0 records out

2125890 bytes transferred in 7.321059 secs (290380 bytes/sec)


추출한 데이터가 정말 올바른 파일시스템인지 확인해볼까요?


redhidden$ file Netis\(WF2419_WF2419D\)-V1.2.27001.fs

Netis(WF2419_WF2419D)-V1.2.27001.fs: Squashfs filesystem, big endian, version 2.0, 2125248 bytes, 412 inodes, blocksize: 65536 bytes, created: Wed May  7 17:18:43 2014


대략 맞는 것 같습니다. 참잘했어요




3) 파일시스템(Squashfs) 로부터 파일 획득


파일 시스템으로부터 파일들을 추출할 수 있는 방법은  다음을 고려해볼 수 있습니다. 

  • 파일 시스템을 지원하는 시스템 상에서 데이터를 마운트한 후 추출.
  • 파일 시스템을 묶거나 풀어주는 툴을 사용하여 추출. 

이번에는 후자의 방법을 사용해보자. 


Netis\(WF2419_WF2419D\)-V1.2.27001.fs

Reading a different endian SQUASHFS filesystem on Netis\(WF2419_WF2419D\)-V1.2.27001.fs


created 264 files

created 21 directories

created 104 symlinks

created 23 devices

created 0 fifos



4)  추출된 파일 시스템에 존재하는 파일 살펴보기 


 redhidden$ ls squashfs-root

 bin     dev    etc    lib    media    proc    sbin    sys    tmp    usr    var    web


       redhidden$ vi /etc/profile

        생략

      telnetd.sh

      igdmptd &

      360_udp_server &


       redhidden$ vi /etc/services

… 생략 …

  # Local services

   …

  cdrom_wizard    20010/udp            #cdrom_wizard @netcore

  igdmptd          53413/udp             #igdmptd daemon @netcore



위의 수집된 데이터를 보니 시스템 시작 시 "igdmptd" 데몬이 실행되고, UDP/53413 포트가  해당 데몬을 서비스하기 위해 오픈된다는 것을 추정할 수 있다. 발표된 1) 백도어가 존재 문제점은 일단 확인한 것 같습니다. 

      


5)  igdmptd 데몬 (bin/igdmptd) 살펴보기


해당 데몬이랑 추출된 다른 파일들을 살펴보고 2) 백도어 접근을 위한 하드코딩된 로그인 정보 에 대해서 살펴보아야 할 차례네요.. 이 부분은  조금 있다 다시 돌아오겠습니다……  고고



TIP!! 

2012 PoC(Power Of Community) : SilverBug & RedHidden

"Fu~~~n of Attacking Firmware" 

www.powerofcommunity.net/poc2012/re&si.pdf


댓글
댓글쓰기 폼