쉘 접근이 막혀있는 IpTime공유기 대신 넷기어 JWNR2000 v2 모델을 대상으로 연구하기로 했다.


이유는 본 연구의 목적 자체가 공유기의 시스템 해킹이 아니기 때문에 쉘 하나 띄우기 위해 많은 시간을 지체할 이유가 없다 판단되기 때문...


<그림 1> Netgear JWNR2000 v2


<그림 2> Netgear JWNR2000와 컴퓨터를 uart규격으로 통신



<그림 3> putty를 이용해 공유기에 접속


여하튼 JWNR2000 v2공유기를 열어 uart규격으로 컴퓨터와 연결해 보니(그림 2 참조) 그림3 과 같이 쉘이 동작하는 것을 확인하였다. 여기에서 동작하는 쉘은 sh쉘인데, 여러가지로 명령어가 제한되어있는 쉘이다. 이는 그림 4a 를 통해 확인할 수 있는데, bin폴더를 확인해 보면 사용할 수 있는 명령어가 많지 않은 것을 알 수 있다.(사실 이런 임베디드 시스템에 많은 명령어가 포함되어 있는 것이 더 이상한 일이기는 함..)


<그림 4> bin 폴더 안에 있는 리눅스 명렁어


뿐만 아니라 그림 4b를 보면 이 명령어들은 모두 busybox라는 실행파일에 심볼릭 링크가 걸려있는 것을 확인할 수 있는데 아마 busybox가 이 명령어들을 모아서 한 번에 컴파일 해 놓은 파일이 아닐까 예상이 된다. 그래서 그림 5와 같이 busybox를 실행시켜봤더니 예상대로 실행되었다. 참고로 그림 5a는 busybox를 실행한 결과이다. 실행 결과로 busybox의 사용 방법이 화면에 출력된다. 이 정보를 참조해 그림 5b와 같이 명령어를 입력했고 프로그램이 정상적으로 동작하는 것을 확인하였다.


<그림 5> busybox test


그림 6은 이것 저것을 뒤지다 보니 passwd폴더가 있길레 그냥 한 번 출력해 봤다. (혹시나 하는 마음에.. 하지만 역시나였다...)


<그림 6> cat passwd


다시 본론으로 돌아가면, 위에서 언급했듯 본 시스템에는 명령어가 많지 않고 많이 제한적이다. 따라서 추가적인 연구를 위해서는 기본적으로 파일 편집기와 hex viewer, 컴파일러 정도는 필요하지 않을까 싶다. 이를 시스템에 올리기 위해서는 펌웨어를 다운받아 압축을 풀고 명령어를 추가한 후 다시 패키징 하여 시스템에 업로드 해야될 것 같은데, 혹시 다른 방법이 있는지는 더 알아봐야 될 것 같다. 


<그림 7> Netgear firmware download page 


일단 펌웨어를 다운받아 파일의 내용을 수정하기 위해 그림 7의 페이지에서 펌웨어를 다운받았다. 그림 8을 보면 현재 공유기에 들어있는 펌웨어는 1.0.0.8 버전이라는 것을 확인할 수 있다. 펌웨어에 대해서는 일단 시험이 끝나고 다시 알아봐야 될 것 같다... 


<그림 8> 펌웨어 버전 확인


글을 마치며..

블로그에 글을 쓸 때 마다 느끼는 것이지만, 정작 연구한 시간은 30분도 안되는데, 글 써서 올리는데 시간이 너무 많이 든다... 수행한 연구들을 정리하는 것의 필요성을 많이 느껴 조금씩이라도 수행할 때 마다 글을 올리려 노력하지만, 연구를 정리하는 것은 정말 귀찮은 일인듯 하다..

'Wifi_Hacking' 카테고리의 다른 글

[#3] 공유기 분석 160209  (0) 2016.02.09
[#1]공유기 분석 151125  (2) 2015.11.25
Posted by Hugh_K
l