CAFE

NMAP이란

작성자시샵|작성시간01.11.11|조회수2,888 목록 댓글 0







[nmap]란 크래커의 공격의 대상이되는 사이트를 미리 조사해 두려고 했다면, 우선 사용할 지 모르는 툴의 하나이다. nmap(Network mapper)는 크래커가 공격하기 전에 행하는 정탐으로 다음 세가지를 완수한다.
(1) 공격의 대상이되는 사이트가 사용하고 있는 IP를 확인해 둔다.
(2) 공격의 대상이되는 사이트가 사용하고 있는 포트를 확인해 둔다.
(3) 공격의 대상이되는 사이트가 사용하고 있는 OS를 확인한다.

nmap는 보안툴이기도 한다.
리눅스<http://www.insecure.org/nmap/>와 NT<http://www.eeye.com/>용으로 컴파일된 nmap의 버전, 또는 많은 유닉스 버전용으로 컴파일할 수 있는 소스코드는 인터넷에서 무료로 다운로드 할 수 있다. nmap를 사용하면 당신도 크래커와 같은 무대에 설수 있을 것이다.

Fyodor는 nmap에대해 저술, 그 사용을 보호하고 있는 인물이다. 그는 자신에 대해 [컴퓨터 다루기를 좋아하고, 하드웨어와 소프트웨어의 한계에 도전하는 사람]이라고 말하고 있다. Fyodor는 프로그래머이면서, 시큐리티 문제에도 굉장한 관심을 가지고 있으며, Blackhat과 같은 회의상에서도 말하고 있다. Fyodor는 nmap을 오픈소스코드로서 전세계에 제공하였으며, 그 결과 많은 사람들이 다운로드하여 사용하여오고 있다.


### nmap란 무엇인가?

nmap는 네트워크 스캐너이다. 네트워크 스캐너는 대상이 되는 네트워크에 패킷을 보내, 패킷의 응답을 이용하여 송신처의 네트워크의 상태를 알게된다. 다른 네트워크 스캐너도 입수가능하지만, nmap만큼 기능이 많지 않고, 쉽게 손에 넣기 힘들다.

공격자가 네트워크를 사전조사할 때 그들은 우선 몇 개의 시스템이 동작하고 있는가와 그 각각의 IP주소를 알아내려 한다. nmap는 이를 두가지 방법으로 확인할 수가 있다. 첫 번째 방법은 ICMP echo request packet을 보내는 방법이다. 이것은 Ping 명령어가 하는 일과 비슷하다. 그러나 ping은 한번에 하나의 패킷밖에 보내지 않지만, nmap는 한번에 여러개의 패킷을 보낼 수가 있다. 또한 nmap가 ICMP를 보내어 스캐닝할 때는 ping을 사용하는 것 보다 몇백배나 빠르게 결과를 얻을 수 있다. 두 번째 방법은 포트 address로의 접속을 시험해 봄으로써 사용하고 있는 IP Address를 체크하는 방법이다. 일단 사용하고 있는 IP가 확인되면, nmap의 포트 스캐닝 기능이 대상 네트워크 상의 어느 포트가 열려 있는지를 확인한다. 바꿔말하면, 클라이언트가 접속하기를 기다리면서, 어느 포트에 대응하는 서버 Listening이 있는지를 확인하는 것이다. 열려있는 포트는 취약한 서버일 가능성을 의미한다. 숙련된 공격자라면, 열린 포트의 리스트를 확인하는 것 만으로도 간단하게 사용하고 있는 OS를 확인할 수 있다. nmap는 6가지의 다른 포트스캐닝 방법을 사용할 수 있으며, 그 중 몇가지는 내밀(內密)의 기능이다.

내밀의 스캔을 이해하기 위해서는 우선 [connect scanning]이라고 불리는 내밀(內密)이 아닌 스캐닝 테크닉을 이해해야만 한다. connect scanning은 굉장히 단순한 방법이다. 상당히 느리긴 하지만, telnet client를 사용해도 같은 일을 할 수가 있다. connect scanning에서는 nmap(또는 그외의 스캐닝 툴)는 테스트하고 있는 포트에 접속하려고 시도한다. 이 접속이 성립되지 않는 경우에는 다음 두가지 이유를 들 수가 있다. 한가지는 포트가 닫혀있는 경우이다. 이 경우 OS는 에러메세지를 보내온다. 두 번째는 파이어월이 액세스를 거부(drop)하고 있는 경우이다. 이 경우 응답은 없다. 만약 접속이 성립되었다면, 이것은 포트가 열려 있다는 것을 의미하며, 그 포트의 서버 Listening이 접속이 성립했다는 사실을 로그에 기록하고 있을 것이다.

공격자는 로그엔트리를 피하려 할 것이다. 그것은 이 엔트리가 공격자의 흔적으로 추적하여 공격의 원인을 파악하는데 사용되기 때문이다. '내밀(內密)의 스캐닝'에서는 주의 깊게 만들어진 패킷이 테스트하는 포트에 보내지며, nmap가 포트로부터의 응답을 분석한다. connect scanning과는 달리 이 특별하게 만들어진 패킷은 완전한 접속을 하지 않기 때문에 서버의 로그에 아무런 기록도 남지 않는다. 이들 스캔이 내밀(內密)의 스캔이라고 불리는 이유도 이 때문이다. 그러나 파이어월, 네트워크 모니터, Network Intrusion Detection system(네트워크 침입 탐지 시스템)의 시점에서 보면, 이들 스캔은 내밀(內密)이외에 아무것도 아니다. 내밀(內密)의 기능을 갖는 스캔중 몇가지는 Null 스캔이랑 Xmas 스캔과 같이 변형된 것이므로 패킷자체가 ID시스템의 경고에 걸려버리게된다.


### 왜 nmap를 사용하려 하는가?

여기까지 읽고, 여러분은 공격자가 nmap를 사용하면 무엇을 할 수 있는지 이제 알았을 것이다. 여기서 여러분은 Firewall-II 또는 SOHO를 사용하고 있다는 것을 염두에 두어야 할 것입니다. 내부 호스트에 직접 연결되어 있는 IP랑 Port조차 갖고 있지않다면 nmap를 사용하고 있는 공격자는 파이어월 외부 이외를 스캔하는 것은 불가능하다. 이것이 파이어월의 구멍을 최소화하고 싶은 이유중의 하나이다. 왜냐하면 스캐너는 이 구멍을 악용하여 공격자에게 네트워크의 내부를 보여주기 때문이다. 파이어월의 외부에서 nmap를 실행하여 모든 Public IP Address(일반적으로 외부용, ISP로부터 할당받은 주소)를 포트 스캔 함으로써 파이어월의 외부에 어떤 스캔이 숨어 있는가 알아낼 수 있다.

또한 nmap를 사용해 자신의 네트워크를 스캔하여, 자신의 네트워크가 내측으로부터 어떻게 보이는가 확인해 볼 수도 있다. 예를들면, nmap -sP 192.168.1.1-254는 192.168.1네트워크(호스트 어드레스는 1-254)의 ping scan을 실행한다. 네트워크가 소규모일 경우, Ping scan을 행하면 지금까지 알려진 시스템을 발견하게되어 놀라게되는 경우도 있다.

이 외에도, 네트워크에서 동작하고 있는 시스템을 모두 포트 스캔할 수도 있다. 포트 스캐닝은 어느 서버가 Listening하고 있는가, 또는 서버의 취약성을 조사할 수 있다. 포트 스캔의 결과는 가장 간단히 얻기 위해서는 [포트를 열면 열수록 시스템의 안전성은 없어진다.]라는 가이드라인을 따르는 것이다. 윈도우즈 시스템에서는 항상 같은 포트가 사용된다. 포트 139/tcp는 파일공유와 프린터공유에 사용되는 포트로 닫는다는 것은 거의 불가능하다. 이 포트는 통상 윈도우즈 시스템을 공격하는데 사용되지만, 만약 파일공유와 프린터공유를 사용하고 있다면, 시스템을 안전하게 할 수 있는 최대의 방법은 강력한 패스워드를 사용하기위해 최신의 hotfix를 설치하는 것이다. NT시스템에도 열린 포트가 몇 개인가 존재할 것이다. RPC(Remote Procedure Call)을 배치하기 위한 포트 139/tcp, 포트 21, 포트 80, 그리고 NT시스템이 IIS를 실행하고 있다면 포트 443도 열려 있을 가능성이 있다. 필요최저한의 서비스만을 사용하고 그 외의 서비스는 사용불가로 해야한다.

UNIX와 LINUX시스템은 미리 안전대첵을 세워두지 않은면 (윈도우와 NT에 비해)보다 많은 포트가 열려 있다고 할 수 있다. Unix와 Linux의 Security를 개선하기 위해 여러분이 할 수 있는 가장 간단하고도 효과적인 방법은 사용하고 있는 서비스를 사용할 수 없도록 하는 것이다. 서버로서 사용되지 않는 Unix혹은 Linux는모든 네트워크 서비스를 사용불가로 해도 제대로 동작한다(포트 139를 닫으면 도메인으로 기능하지 않는 NT와는 다르다).


### 스캔을 행하기 위한 계획

네트워크를 스캔하면, 공격자가 파이어월을 통과한 경우 그들이 보는 네트워크 개관(槪觀)과 같은 것을 볼 수 있다. 뿐만아니라 외부에서 파이어월을 스캔하여 생각지도 못했던 포트가 열려있지는 않은가 조사할 수도 있다. 스캐닝은 초보적인 해킹 기술이며, nmap과 같은 강력한 툴은 간단히 마스터 할 수 있다. 다른 누군가가 여러분의 네트워크를 스캔하기 전에 스스로 한번 해 봅시다.


by Rik Farrow, Internet Security Consultant <http://www.spirit.com/>
역 김학진

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼