침입 허점 찾는데 유용한 해커 툴 Best 5
침입자들은 이런 툴을 사용하여 업무를 마비시키지만 여러분은 이들 툴을 사용하여 침입자의 공격을 받기 전에 허점을 찾는 데 사용해야 한다.
글_Ed Skoudis*
해커들이 사용하는 스캐닝 툴은 ‘양날의 칼’이다. 이 툴은 침입자들에게는 기업체의 약점을 찾아내고 침투하는 강력한 무기로 사용되어지고, 보안 담당자에게는 침입자들의 허점을 찾아내는 데 적절하게 사용될 수 있어서다. 침입자들은 이 툴로써 업체를 공격하여 업무를 마비시키고 중대한 정보를 빼내는데 사용하지만, 감사자와 내부 보안 담당자는 동일한 이 툴을 사용해 침입자들이 허점을 찾아내기 전, 미리 예방하는데 사용해야 한다.
모든 감사관과 관리자들은 평가 도구의 최고로 꼽는 Nessus 및 Nmap와 같은 툴에 대하여 잘알고 있어야 하는 것은 물론 그 이상의 것에 대해서도 관심을 가져야 한다. 하나의 평가 도구만이 아닌 훨씬 더 많은 툴이 사용되어지고 있어서다. 현재 시중에는 수백만 개의 무료 툴이 나와있는데 그럼 어떤 툴에 대해서 파악해야 할까. 어디서부터 시작해야 할지가 고민일 것이다. 물론 해답은 간단하다. 가장 강력하고 뛰어난 툴부터 사용해야 한다는 것이다.
이번 호에서는 관리자들의 효율적인 시작을 돕기 위해 광범위한 기술을 대표하는 감사, 평가 및 보급 테스트를 위한 5가지 필수 툴을 선정해 분석해본다. 이 툴들은 보안 관리자들에게 웹 애플리케이션, 인증 메커니즘 및 무선LAN 환경에서 보다 쉽게 허점 및 약점을 찾을 수 있도록 할 것으로 기대된다. 관리자들은 이런 툴들의 기능에 익숙해지도록 자신의 연구소에서 테스트해보고 조심스럽게 자신의 평가 방법에 적용시켜보는 작업이 필요하리라 본다.
WIKTO www.sensepost.com
웹 스캐너 및 구글 해킹 툴
침입자들이 허점을 발견하기 전에 미리 선수를 치려면 웹 서버의 취약성을 찾아낼 수 있는 견고한 스캐너가 필요하다. 인터넷을 사용하는 웹 애플리케이션들은 무수한 비즈니스 기회에 노출되어 있기는 하지만 동시에 악의적인 악성 해커들이 쉽게 침입할 수 있는 위험한 구멍이기도 하다.
지난해에 있었던 취약한 phpBB 웹 포럼 스크립트를 실행하는 수천 개의 사이트 및 로그 파일로부터 액세스 통계를 수집하기 위해 AWStats CGI 스크립트를 호스팅하는 수천 개의 사이트들이 침입자의 공격에 노출된 일이 그러한 경우다. 이런 유명한 일화 이외에도 여러 웹 스크립트에서 새로운 취약성들이 정기적으로 발견되고 있다. 이런 허점을 쉽게 발견하려면, 인상적인 웹 서버 스캐닝 툴인 WIKTO를 사용할 것을 권장한다.
남미에 본사를 둔 보안서비스 업체인 센스포스트(Sensepost,www.sensepost.com)에서 개발한 WIKTO는 인기 높은 명령행 Nikto 웹 스캐너 Perl 스크립트 상에 구축되었으며, 사용이 쉬운 윈도 GUI 및 확장 기능들을 가지고 있다.
Nikto처럼 WIKTO도 수천개의 불량 스크립트, 잘못된 서버 구성 및 패치되지 않은 시스템들을 검색한다. 또한 이 툴은 관리자들이 침입자들을 속이기 위해 의도적으로 웹 서버 배너 정보를 위장하더라도 HTTP 지문 인식 기술을 추가하여 프로토콜의 동작에 따라 웹 서버 유형을 식별한다. 악의 없는 화이트햇(white hat) 해커들에게 있어 이것은 강력한 기능이 될 수 있다.
최근에는 점점 더 많은 침입자들이 정교하게 개발된 구글(Google) 검색 기능을 사용하여 취약성이 높은 사이트들을 찾아내고 있는 실정인데, WIKTO는 이런 경우에도 유용하게 사용될 수 있다. 보안 연구원인 조니 롱(Johnny Long)은 취약성이 높은 시스템을 찾아낼 수 있는 1,000개 이상의 구글 검색 결과로 구성된 GHDB(Google Hacking Database)라는 이름의 목록을 보유하고 있는데, WIKTO는 최신 GHDB 취약성 목록을 가져와서 구글에서 검색하여 사용자의 도메인이 가진 이런 허점을 찾아낼 수 있다.
파로스 프록시 www.parosproxy.org
웹 애플리케이션 조작 프록시
많은 사용자 웹 애플리케이션들이 SQL 투입, 교차 사이트 스크립트, 세션 복제와 기타 공격에 취약하다. 침입자들은 웹 애플리케이션을 조작하기 위해 설계된 특수화된 웹 프록시에 의존하여 이런 결점을 찾아내 악용한다. 이들이 점점 더 이런 강력한 툴에 의존하면 보안 담당자들도 동시에 그 의존도를 높여야 한다.
파로스 프록시(www.parosproxy.org)에서 제공하는 웹 애플리케이션 조작 프록시는 침입자의 브라우저와 대상 웹 서버 사이에 존재한다. 모든 HTTP 및 HTTPS 요청 및 응답이 이 프록시를 통해 전송되어, 침입자들에게 브라우징 세션에서 전달된 모든 정보(웹 애플리케이션에 의해 쿠키로 전달된 모든 변수, 숨겨진 형식 요소 및 URL)를 보고 변경할 수 있는 윈도를 제공한다.
윈도 또는 리눅스(Java Runtime Environment)상에 실행되는 파로스 프록시(Paros Proxy)는 이런 프록시 중 최고이며, 수많은 웹 애플리케이션 평가 장치들로 가득 차 있는 강력하고 다재 다능한 해킹 툴이다. 다음은 각 평가 장치들의 특징이다.
-레코더. 파로스는 모든 HTTP 요청 및 응답을 기록하고 이 히스토리를 철저하게 보관함으로써 유사한 경쟁 제품을 능가한다. 나중에 침입자는 모든 동작들을 페이지, 변수 및 기타 요소들과 함께 조회하여 자세하게 분석해 볼 수 있다.
-웹 스파이더. 자동화된 웹 스파이더는 대상 사이트에 있는 모든 링크된 페이지를 탐색하면서 로컬로 해당 HTML을 저장하여 나중에 검사할 수 있도록 한다.
-해시 계산기. 침입자들은 때때로 되돌아온 특정 데이터 요소의 인코딩이나 해싱에 대한 예감을 가지고 있다. 파로스 계산기를 사용하여 침입자들은 이런 예감을 신속하고 쉽게 테스트해 볼 수 있다. 파로스 프록시는 사용자가 입력하거나 애플리케이션에서 붙여넣기한 모든 임의의 텍스트의 SHA1, MD5 및 Base64 값을 계산할 수 있는 GUI 툴을 가지고 있다.
-SSL 버스터. 대부분의 기타 웹 애플리케이션 공격 및 평가 프록시는 서버 측의 SSL 인증을 처리할 수 있다. 파로스는 여기에 더해 클라이언트 측의 SSL 인증을 필요로 하는 애플리케이션들도 조사할 수 있다.
이외에도 파로스는 SQL 투입 및 교차 사이트 스크립트와 같은 가장 일반적인 웹 애플리케이션 공격에 대한 자동화된 취약성 검사 및 검출 기능을 가지고 있다. 또한 서명되지 않은 ActiveX 조절 및 대상 웹 서버에서 보낸 브라우저 악용과 같이 안전하지 않은 웹 컨텐츠도 검출 가능하다.
CAIN & ABEL www.oxid.it
암호 탐지기/크래커
CAIN & ABEL은 윈도 상에서 실행되는 암호 크래킹 툴이다. 매스밀리아노 몬토로(Massimiliano Montoro, www.oxid.it)에서 제작한 이 놀라운 소프트웨어는 암호 및 암호화 키를 해독하기 위한 수십 가지 유용한 기능을 제공한다.
초보자를 위해 CAIN은 표준 윈도 LANMAN 및 NTLM 암호 표식을 포함해서 로컬 윈도 시스템에 캐시화, 암호화, 해시화된 다양한 암호 및 마이크로소프트 아웃룩, 인터넷 익스플로러 및 MSN 익스플로러와 같은 애플리케이션에 고유한 암호들을 밝혀낸다. 기업체들은 CAIN을 사용하여 개별 암호 및 자신의 암호 정책의 효율성을 테스트해 볼 수도 있다.
CAIN & ABEL은 수십 가지의 OS 및 프로토콜 유형에 대한 암호를 해독할 수 있다. 윈도 운영 체제 전용으로서, CAIN은 SAM 데이터베이스에서 LANMAN 및 NTLM 암호 표식뿐만 아니라, LANMAN 첼린지(Challenge) 및 리스폰스(Response), NTLMv1, NTLMv2 및 마이크로소프트 Kerberos와 같은 윈도 네트워크 인증 프로토콜을 처리한다. 통합된 이 탐지기는 LAN을 모니터링하면서 응답 패킷을 낚아채고 306,000개의 단어로 구성되어 있는 내장 딕셔너리를 사용하여 암호를 해독한다.
윈도 암호 이외에도 이 툴은 여러 가지 다양한 시스코 암호, 라우팅 프로토콜 해시, VNC 암호, RADIUS 쉐어드 시크리트(RADIUS Shared Secrets), Win95/98 패스워드 리스트(PWL) 파일 및 MS SQL 서버 2000 그리고 MySQL 암호를 해독할 수 있다. 뿐만 아니라 IKE 미리 공유된 키까지 해독하고 IKE를 사용하여 비밀 키를 교환 및 업데이트하는 IPSec VPN에 침입한다.
암호 해독 이외에도 CAIN은 무선 LAN 탐지 툴, 해시 계산기 및 ARP 캐시 포이즈닝 툴(침입자가 보다 쉽게 전환된 환경에서 탐지 능력을 발휘할 수 있도록 LAN상에서 트래픽을 다른 방향으로 돌리는 데 사용할 수 있음)이 정교한 GUI로 포함되어 있다.
윈핑거프린트 http://http://winfingerprint.sourceforge.net
윈도 구성 추출기
윈도 시스템은 여러 가지 방식으로 액세스 가능한 귀중한 구성 정보를 가지고 있다. 침입자와 평가팀은 일반적으로 윈도 시스템에서 최대한 많은 정보를 추출하여 취약성 검색 기능을 정교하게 만들며 강화시킨다.
바쿰(Vacuum)에서 개발한 윈핑거프린트(Winfingerprint)는 윈도 도메인 액세스, 액티브 디렉토리(Active Directory) 및 마이크로소프트의 포괄적인 시스템 구성 분석 프레임워크인 WMI(Windows Management Instrumentation)를 포함한 다양한 메커니즘을 사용하여 윈도 구성 정보를 추출하는 매우 소중한 툴이다.
윈핑거프린트는 단일 윈도 시스템이나 단일 네트워크 범위로부터 사용자, 그룹 및 보안 설정 목록을 추출한다. 이 툴은 또한 대상 시스템, 로컬 시스템 시간 및 데이터, 레지스트리 설정 및 이벤트 로그의 로컬 하드 드라이브에 대한 정보도 입수한다.
이 간편한 툴에는 또한 모든 기능을 완성하는 SNMP (Simple Network Management Protocol) 스캐너 및 TCP/UDP 포트 스캐너가 포함되어 있으며, 이 모든 기능을 하나의 GUI 화면에서 접근할 수 있다.
웰렌레이터 www.wellenreiter.net
수동 WLAN 감지기
무선 LAN을 인식하는 툴은 수만가지가 있지만, 그 중에서 가장 돋보이는 툴은 웰렌레이터(Wellenreiter)이다. 인기 높은 넷스텀블러(Netstumbler)와 같은 기존의 툴들은 일련의 조사 요청 패킷을 전송하여 무선 연결 지점을 찾아낸다. 그러나 넷스텀블러는 WLAN SSID를 알지 못하는 클라이언트가 보낸 조사 요청은 무시하도록 구성되어 있어 연결 지점은 찾아내지 못한다. 반면 맥스 모서(Max Moser)의 웰렌레이터를 사용하면 이런 연결 지점까지 찾아내는게 가능하다.
웰렌레이터는 완전히 수동적이므로 조사 요청을 보내는 대신 무선 카드를 ‘rfmon 모드’라고 불리는 곳에 넣어 관련된 자체 SSID가 있는 모든 패킷의 전체 무선 프레임을 포함하여 전송되는 모든 데이터를 획득하고, 발견된 연결 지점을 자체 GUI로 표시하는 방식으로 무선 트래픽을 탐지해낸다. 그런 다음 ARP 또는
DHCP 트래픽에 주위를 기울여 발견된 각 무선 장치의 MAC 및 IP 주소를 파악한다.
이 툴은 tcpdump 또는 Ethereal 패킷 캡처 파일로 무선 패킷을 저장하므로 추후 자세한 분석에 사용할 수 있다. 침입자나 무선 침입 테스터는 웰렌레이터를 시동시키고 한 시간 정도 수동적으로 실행되도록 한 다음, 가까운 무선 장치를 빠르게 일람할 수 있다. 웰렌레이터는 또한 GPS 장치와도 호환되므로 각 무선 LAN이 감지될 때 워 드라이빙(war-driving) 컴퓨터의 물리적인 위치를 저장한다. 이 툴은 리눅스 상에서 실행되며 프리즘2, 루슨트 및 시스코무선 카드를 지원한다.
평가 툴의 +α _ N’s 3인방
앞에 소개한 5개의 필수 툴이 많은 기본적인 사항을 처리할 수 있다. 그러나 무언가 2% 부족하다는 생각을 지울 수 없다면…, 그런 경우에도 유용하게 사용할 수 있는 툴들이 많이 존재한다. 플러스 알파 코너로 보안 관리자의 평가 기술을 완성시킬 3가지 툴을 더 들여다보자.
Nmap (www.insecure.org) : 이 가장 오래된 포트 스캐너는 계속해서 업그레이드되고 있다. Nmap의 개발자인 포더(Fyodor)는 최신 스캐닝 기술과 발맞추어 버전 스캐닝(주어진 리스닝 포트를 분석하여 어떤 서비스가 실제로 청취하고 있는지를 알아내기 위한) 및 대기 스캐닝(매우 은밀한 스캔 옵션)과 같은 기능들로 Nmap을 지속적으로 정교화시키고 있다.
Nessus (www.nessus.org) : 이 널리 사용되는 취약성 스캐너는 일천 가지 이상의 점검을 수행하여 대상 환경에 허점이 없는지 파악해 낸다. 무료인 이 오픈 소스 툴은 종종 여러 다른 상용 스캐너를 능가한다.
Netcat (www.vulnwatch.org/netcat) : 이 간단한 프로그램은 일반적인 목적의 네트워크 연결 장치로서, 모든 종류의 데이터를 TCP 및 UDP 포트에 걸쳐 전송한다. 악성 해커들이 자주 Netcat에 의존하여 뒷문을 만들어내기도 하지만, 방어자들은 이 다재 다능한 툴을 사용하여 파일을 이동하고 테스트용 기본 네트워크 서비스를 생성하며, 늘어나는 맬웨어를 잡아내는 간단한 기술을 구현하기도 한다.
*필자 Ed Skoudis는 CISSP를 획득한 정보보호전문가이며, 보안 컨설팅 업체인 인텔가디언즈(Intelguardians)의 공동 설립자이다. 현재 자유기고가로 활동중인 그는 저서로는 ‘Malware: Fighting Malicious Code’ 및 그의 베스트셀러인 ‘Counter Hack’의 업데이트 버전인 ‘Counter Hack Reloaded’ 등이 있다. 이 기사에 문의는 feedback@infosecuritymag.com으로 보내면 된다.
※ 본 기사는 TechTarget이 발행하는 Infomation Security와의 기사 협약에 의해 전재한 것이며, 기사의 저작권은 TechTarget에 있음을 알려드립니다.
<저작권자: 보안뉴스(www.boannews.com). 무단전재-재배포금지.>