쉘 접근이 막혀있는 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폴더가 있길레 그냥 한 번 출력해 봤다. (혹시나 하는 마음에.. 하지만 역시나였다...)
다시 본론으로 돌아가면, 위에서 언급했듯 본 시스템에는 명령어가 많지 않고 많이 제한적이다. 따라서 추가적인 연구를 위해서는 기본적으로 파일 편집기와 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 |