전문가들이 사용하는 17가지 침투 테스트 툴

2019. 7. 21. 19:23 보안 이야기/취약점

침투 테스트는 전문 해커가 공격자보다 먼저 시스템 취약점을 찾기 위해 사용하는 방법이다. 침투 테스트를 위해서는 치밀한 사고와 인내심이 필요하며 약간의 운도 필요하다. 또한 대부분의 전문 해커에게는 테스트를 위한 몇 가지 특정 툴도 필요하다.
 

Credit: Getty Images Bank 

최근 본지는 몇몇 보안 전문가(일부는 레드 팀 운영자이자 개발자)에게 즐겨 사용하는 툴에 대해 물었다.

다음에서 설명하는 툴은 간단한 평가, 복잡한 교전 상황에서 도움이 됐거나 어떤 식으로든 현장에서 항상 전문가들에게 도움이 된 툴이다. 무료도 있고 라이선스 비용이 필요한 경우도 있지만 모두 한번쯤 살펴볼 가치는 있다.

1. N맵(Nmap) 
N맵은 2017년 9월 1일자로 20주년을 맞았다. 처음 나온 당시부터 네트워크 검색 및 공격 표면 매핑을 위한 최고의 툴 자리를 지켜왔다. 호스트 검색과 포트 스캐닝부터 운영체제 탐지, IDS 회피/스푸핑에 이르기까지 다양한 기능을 제공하며 작업의 규모에 관계없이 필수 툴이다.

2. 에어크랙-ng(Aircrack-ng) 
에어크랙-ng는 N맵과 마찬가지로 침투 테스터들에게 익숙하며 무선 네트워크 평가에서 단골로 사용되는 툴 가운데 하나다. 에어크랙-ng는 패킷 캡처와 공격(WPA 및 WEP 크랙 포함)을 포함한 종합적인 무선 평가 툴이다.

3. 와이파이피셔(Wifiphisher) 
와이파이피셔는 무단 액세스 포인트 툴로, 와이파이 네트워크를 대상으로 자동화된 피싱 공격을 실행한다. 와이파이피셔를 사용하면 작업 범위에 따라 인증 정보를 수집하거나 실제 감염을 일으킬 수 있다. 와이파이피셔 웹사이트의 문서 세션에서 전체적인 개요를 볼 수 있다.

4. 버프 스위트(Burp Suite) 
웹 브라우저와 함께 애플리케이션을 매핑하는 데 사용되는 버프 스위트는 특정 앱의 기능 및 보안 문제를 발견한다. 이를 통해 맞춤형 공격을 실행할 수 있다.
현재 무료 버전의 기능은 상당히 제한적이다. 유료 버전(사용자당 349달러)은 완전한 크롤링과 스캐닝(OWASP 최상위 10가지를 포함한 100개 이상의 취약점, 복수 공격 포인트, 범위 기반 구성 포함)을 지원한다. 이 툴에 대해 가장 자주 듣는 이야기는 반복 작업을 자동화할 수 있고 서버에서 앱이 수행하는 작업을 일목요연하게 표시한다는 것이다.

5. 오와스프 잽(OWASP ZAP) 
오와스프 잽은 버프 스위트와 함께 언급된 애플리케이션 테스트 툴이다. 대체로 잽(Zed Attack Proxy)은 애플리케이션 보안을 처음 시작하는 사람에게 적합한 툴이며, 버프 스위트는 본격적인 하드코어 평가 툴로 분류된다. 가격에 민감한 경우 오픈소스인 잽을 선호한다. 오와스프는 애플리케이션 테스트 용도로 잽을 추천하며, 장기적인 보안 프로젝트에서 제대로 잽을 사용하기 위한 여러 자습서도 내놨다.

6. SQL맵(SQLmap) 
웹사이트에 나온 대로 SQL맵은 "자동 SQL 주입 및 데이터베이스 점유 툴"이다 이 설명은 툴의 핵심을 정확히 표현한다. 마이SQL, MSSQL, 액세스(Access), DB2, 포스트그레SQL(PostgreSQL), 사이베이스(Sybase), SQ라이트(SQLite) 등 일반적으로 많이 사용되는 모든 데이터베이스 플랫폼과 6가지 종류의 공격을 지원한다.

7. CME(CrackMapExec) 
CME는 공격 후(post-exploitation) 툴로, 대규모 액티브 디렉터리 네트워크의 보안 평가 작업을 자동화한다. 이 툴을 만든 'byt3bl33d3r'로 알려진 해커는 이 툴이 "내장 액티브 디렉터리 기능/프로토콜을 악용해 기능을 수행하면서 대부분의 엔드포인트 보호/IDS/IPS 솔루션을 회피할 수 있는 자립적인 개념의 툴"이라고 설명한다.
CME는 레드 팀에서 그 용도가 확실하지만 블루 팀에서도 계정 권한을 평가하고 공격을 시뮬레이션하고 잘못된 구성을 찾는 데 이 툴을 사용할 수 있다. CME는 파워스플로잇 툴킷(PowerSploit)과 임패킷(Impacket) 라이브러리도 사용한다.

8. 임패킷(Impacket) 
CME에 사용되는 임패킷은 SMB1-3 또는 TCP, UDP, ICMP, IGMP 및 IPv4/ IPv6의 ARP와 같은 프로토콜에 대한 저수준 프로그래밍적 접근을 위한 파이썬 클래스 모음이다. 패킷을 처음부터 새로 만들거나 원시 데이터에서 분해해 가져올 수 있다.

9. 파워스플로잇(PowerSploit) 
파워스플로잇은 평가 중 사용할 수 있는 모듈 모음이다. 이름에서 짐작할 수 있듯이 모듈 자체는 윈도우 파워셸용이다. 지속성, AV 우회, 반출(exfiltration), 코드 실행, 스크립트 수정, 정찰 등의 기능이 포함된다.

10. 럭키스트라이크(Luckystrike) 
curi0usJack이 만든 툴인 럭키스트라이크는 악성 엑셀(.xls) 및 워드(.doc) 문서 생성기다. 럭키스트라이크는 표준 셸 명령, 파워셸 스크립트 및 EXE와 함께 사용할 수 있다. 추가 정보 및 사용 세부 정보는 여기서 볼 수 있다.

11. BeEF(Browser Exploitation Framework) 
BeEF는 "클라이언트 측 공격 벡터를 사용해 대상 환경의 실질적 보안 상태를 점검하기 위한 용도"로 유용한 툴이다. 여러 전문가가 BeEF를 언급했고 다양한 기능과 옵션에 비하면 사용하기 쉬운 편이라는 점을 강조했다. 여기서 BeEF에 대해 더 자세히 알아볼 수 있다.

12. THC-히드라(THC-Hydra)  
THC 히드라는 여러 가지 서비스를 지원하는 네트워크 로그인 크래커다. 사실 Cisco auth, Cisco enable, IMAP, IRC, LDAP, MS-SQL, MYSQL, Rlogin, Rsh, RTSP, SSH(v1, v2)를 포함해 50가지에 육박하는 서비스를 지원한다. 생각보다 많이 복잡하지는 않으며 상세한 README 파일이 제공되므로 처음 시작할 때 도움이 된다.

13. 이뮤니티 디버거(Immunity Inc. – Debugger) 
이뮤니티 디버거는 보안 전문가가 익스플로잇을 제작하고 악성코드를 분석하고 바이너리를 리버스 엔지니어링하는 데 사용하는 툴이다. 상당히 많은 기능이 있지만 이고르 노브코비치가 쓴 개요서와 기본적인 리버스 엔지니어링에 대한 SANS 리딩 룸(SANS Reading Room) 논문에서 기능의 대부분을 상세히 다루고 있다. 리버스 엔지니어링 또는 익스플로잇 제작이 주 업무라면 대부분의 경우 이미 이 툴에 익숙할 것이다. 아직 모른다면 살펴볼 만한 가치는 충분하다.

14. 소셜 엔지니어 툴킷(Social Engineer Toolkit, SET) 
이름에서 잘 나타나듯이 SET는 소셜 엔지니어링에 초점을 둔 침투 테스트 프레임워크다. 널리 사용되는 툴이고 텔레비전 방송에도 나왔다. USA 네트워크(USA Network) 프로그램인 미스터 로봇(Mr. Robot)에 등장한 SET는 해커들에게 반가운 장면이었다.
이 외에도 언급할 만한 트러스티드섹(TrustedSec) 툴은 두 가지 더 있다. 유니콘(Unicorn)은 파워셸 다운그레이드 공격을 사용하고 메모리에 직접 코드를 주입하기 위한 툴이고(SET와 함께 사용하면 효과적), nps_payload는 침입 탐지 회피를 위한 페이로드를 생성한다.

15. 메타스플로잇(Metasploit) 
메타스플로잇 프레임워크는 너무 흔히 사용되기 때문에 원래는 이 목록에 넣지 않으려고 했다. 그러나 이 툴은 인터뷰한 전문가들 사이에서 칼리 리눅스(Kali Linux)를 제외한 다른 어떤 툴보다 많이 언급됐다(칼리는 리눅스 배포판으로, 이 기사에 언급된 툴 가운데 상당수가 미리 설치된 상태로 제공된다).
메타스플로잇은 오래 전부터 많은 침투 테스트 전문가의 주요 도구로 사용되고 있다. 래피드7(Rapid7)에 인수된 이후에도 오픈소스 프로젝트로 충실하게 지원되고 있으며 익스플로잇 개발자와 코더 커뮤니티에서 지속적으로 개발되고 있다. 취약점 또는 익스플로잇이 새로 발견됐다는 소식이 뜨면 메타스플로잇에 바로 포함된다. 네트워크에서 예전 취약점에 대한 보안을 평가해야 한다면? 메타스플로잇을 사용하면 된다.

16. 침투 테스트 툴 참고서 
HighOn.Coffee 블로그의 침투 툴 참고서에서 네트워크 구성부터 포트 스캐닝, 네트워크 서비스 공격에 이르기까지 여러 가지 일반적인 명령을 참조할 수 있다.

17. 섹리스트(SecLists) 
섹리스트는 이름대로 깃허브(GitHub)에서 받을 수 있는 침투 테스터의 실무에 도움이 되는 목록(사용자 이름, 비밀번호, 일반적인 데이터 패턴, 퍼징 페이로드, 셸 등) 모음이다. 

원문보기: 
http://www.itworld.co.kr/t/65211/%ED%94%84%EB%9D%BC%EC%9D%B4%EB%B2%84%EC%8B%9C/106421#csidx145c2c8a2ea8bb58480c75fc9889fdb