Kali Linux는 다양한 침투(penetration) 도구를 활용해 기기와 네트워크의 보안 상태를 진단합니다. 윤리적 해커(모의해킹 전문가)로서 커리어를 발전시키고자 하거나, 내 시스템에 숨어 있는 취약점을 찾고 싶다면 이 강력한 도구들이 훌륭한 결과를 제공합니다. 대부분의 도구는 Kali Linux 기본 터미널에서 바로 실행할 수 있습니다.
참고: 윤리적 테스터라면 반드시 사전에 필요한 권한을 확보해야 합니다. 본인이 소유한 기기를 테스트하는 경우가 아니라면 타인의 기기에 접근해서는 안 됩니다.
1. Metasploit Framework
메타스플로이트(Metasploit) 프레임워크는 가장 널리 쓰이는 침투 도구 중 하나로, 시스템에 존재할 수 있는 잠재적 취약점을 발견하는 데 사용됩니다. 침투 테스트가 성공하면 Metasploit을 통해 안드로이드 폰이나 카메라 같은 기기에 접근할 수도 있습니다.
이 프레임워크는 "MSFvenom", "Meterpreter" 등 다양한 페이로드와 함께 실행됩니다. 만약 Metasploit 공격으로 휴대폰이나 다른 기기의 보안을 뚫지 못했다면, 그만큼 제조사가 해당 공격 벡터까지 사전에 점검하고 대비했다는 의미입니다.
2. Hydra
Kali Linux를 막 시작한 초보자에게 Hydra는 매우 유용한 침투 도구입니다. 유효한 로그인 아이디와 비밀번호 조합을 추측하거나 크랙하는 데 쓰입니다. Hydra가 활용하는 기법 중 하나는 "root" 폴더에 저장된 파일 속 방대한 사전 공격(dictionary attack) 목록과 저장된 비밀번호를 이용하는 것입니다. 목록의 비밀번호를 하나씩 네트워크 로그인 계정과 대조해 보면서, 보안 연구자는 지나치게 단순한 아이디·비밀번호 조합이 사용되고 있는지 확인할 수 있습니다.
3. Findmyhash
Findmyhash는 파이썬(Python) 기반 실행 파일로, 무차별(brute force) 방식으로 대상 비밀번호의 해시 값을 알아내려 시도합니다. 웹사이트에 저장된 사용자 인증 정보 목록의 해시를 대상으로 침투를 진행할 수 있습니다. 즉, 웹사이트가 암호화되지 않은 데이터를 전송하고 있다면 이 도구가 그 허점을 파악하는 데 도움이 됩니다. 참고로 최신 웹사이트들은 대부분 트래픽을 암호화합니다.
4. John the Ripper
John the Ripper는 매우 유명한 비밀번호 크래킹 도구로, Kali Linux가 기본 크래커로 채택하고 있습니다. 무료 오픈소스이며, 주요 목적은 취약하고 신뢰할 수 없는 비밀번호를 탐지하는 것입니다. John the Ripper용 기본 비밀번호 목록은 Kali Linux의 "user" 폴더에서 찾을 수 있습니다.
5. Fern Wi-Fi Cracker
내 Wi-Fi 네트워크가 외부인에게 노출되어 있는지 궁금하다면, Kali Linux와 함께 Fern Wi-Fi Cracker를 사용해 보세요. "active(활성)" Wi-Fi 스캔 모드를 켜면 주변의 Wi-Fi 네트워크 목록이 표시됩니다.
다음 단계에서 액세스 포인트(AP)의 세부 정보를 검토하고, 네트워크 인증을 해제(deauthenticate)하는 침투 공격을 실행할 수 있습니다. Wi-Fi가 암호화되어 있지 않거나 약한 비밀번호를 사용하고 있다면, 그 네트워크는 공격에 취약하다는 뜻입니다.
6. exploitdb
exploitdb는 각종 기기와 운영체제를 대상으로 한 침투 공격의 방대한 목록을 담고 있습니다. Linux, macOS, Windows, 웹 기반 시스템 등에 대한 공격을 Kali Linux 터미널에서 직접 실행할 수 있습니다. 예를 들어 내 웹사이트와 기기가 SQL 인젝션(SQL injection) 공격에 얼마나 잘 방어되는지 파악하는 데 유용합니다.
7. Crackle
Crackle은 임시 키(TK) 추측을 통해 네트워크의 백도어 접근 가능 여부를 판단하는 도구입니다. 무차별 대입 공격 방식으로, 시스템의 인증 계정을 변경해야 하는지 평가합니다.
8. Routersploit
오래된 공유기를 사용 중이라면 해커에게 노출될까 걱정될 수 있습니다. Routersploit은 공유기와 기타 임베디드 장치의 알려진 취약점을 점검하는 익스플로잇 도구입니다. 대상 IP 주소에 대해 이른바 "misfortune cookie" 공격을 시도합니다. (Kali Linux에서 IP 주소를 확인하려면 #ifconfig를 입력하세요.) 대상이 취약하지 않다면 결과가 나오지 않습니다.
9. Macchanger
대상 기기의 MAC 주소에 원격으로 접근할 수 있다면(주로 앞서 설명한 Metasploit이나 Hydra 공격을 통해), Macchanger를 사용해 해당 MAC 주소를 변경할 수 있는지 확인할 수 있습니다. 이 침투 도구는 내 시스템이 MAC 스푸핑(spoofing) 등의 공격에 취약한지 평가하는 데 유용합니다.
10. Autopsy
Autopsy는 디지털 포렌식 도구로, 다양한 파일과 비밀번호의 무결성을 확인하는 데 도움을 줍니다. 도구를 실행하면 "Iceweasel" 같은 HTML 브라우저에 URL을 붙여넣으라고 요청합니다. 이후 안내 단계를 따라가면 파일과 비밀번호에 무슨 일이 있었는지, 누군가 접근을 시도했는지 확인할 수 있습니다.
11. sqlmap
sqlmap은 데이터베이스 서버가 SQL 인젝션 공격으로 뚫릴 수 있는지 확인해 주는 오픈소스 도구입니다. Oracle, MySQL, SAP, Microsoft Access, IBM DB2 등 SQL 및 NoSQL 데이터베이스 전반의 취약점을 종합적으로 점검합니다.
12. sqlninja
SQL과 NoSQL 데이터베이스 전반을 대상으로 하는 sqlmap과 달리, sqlninja는 Microsoft SQL Server 기반 애플리케이션 침투에 특화되어 있습니다. 주로 웹 기반 시스템을 대상으로 침투 테스트를 수행합니다.
13. Proxystrike
Proxystrike는 웹 애플리케이션을 대상으로 한 프록시 리스닝(proxy listening) 공격에 사용됩니다. 자바스크립트 기반 애플리케이션에 존재하는 취약점을 최대한 많이 찾아내는 스니핑(sniffing) 도구로, 사용자 인증 정보에 대한 서버 측 공격이 걱정된다면 유용하게 활용할 수 있습니다.
14. Sparta
Sparta는 지정된 범위 내의 모든 IP 주소를 열거(enumerate)하고, 잠재적으로 "노출된 아이디와 비밀번호"를 찾기 위해 스캔하는 널리 쓰이는 툴킷입니다. 스캔 진행 상황은 로그 파일에서 확인할 수 있습니다.
Sparta는 John the Ripper나 Hydra처럼 워드리스트(wordlist) 공격 방식을 활용해 취약한 IP 주소를 찾아냅니다.
15. Kismet
Kismet은 무선 네트워크 탐지기이자 스니퍼, 침입 탐지(IDS) 도구입니다. 요약 정보를 통해 네트워크 상태를 파악하고, 일부 시스템이 암호화 없이 운영되고 있는지 확인하는 데 사용됩니다.
16. Skipfish
Skipfish는 사전 기반 프로브와 워드리스트 침투 시도를 통해 전체 네트워크 정찰(reconnaissance)을 수행하는 널리 쓰이는 도구입니다.
17. Searchsploit
Searchsploit은 로컬 저장소를 기반으로 오프라인 보안 평가를 수행할 수 있는 손쉬운 커맨드라인 도구입니다. 공격자가 시스템에 심어 놓았을 수 있는 악성 파일과 페이로드를 검색할 수 있어, Kali Linux 시스템을 건강하게 유지하는 데 도움이 됩니다.
18. Radare
Radare는 리버스 엔지니어링 침투 테스트 도구입니다. 레지스트리 수준의 공격 분석과 파일 디버깅을 위한 고급 도구로 평가받습니다.
19. Nmap
Nmap은 네트워크 호스트 업타임 스캔 보고서 생성, 보안 감사, 네트워크 인벤토리 관리, 디버깅에 널리 사용되는 도구입니다.
20. Wireshark
Wireshark는 Kali Linux 사용자들에게 특히 인기 있는 도구입니다. 네트워크 프로토콜 분석기로, 가능한 모든 네트워크 연결과 인터페이스의 실시간 데이터를 캡처합니다. Wireshark로 네트워크 내부를 미시적 수준까지 들여다보면 다양한 종류의 공격으로부터 네트워크를 더욱 단단히 보호할 수 있습니다.
21. Arduino Device Attacks
Kali Linux는 아두이노(Arduino) 하드웨어 같은 기기 시스템에 대한 침투 테스트에도 활용할 수 있습니다. 이를 위해서는 소셜 엔지니어링 테스트(SET) 도구를 실행한 뒤 아두이노 기반 공격 벡터를 선택하면 됩니다.
다음 화면에서 주입하고자 하는 아두이노 페이로드의 종류를 선택합니다. 시스템이 취약점을 발견하면 탐지 결과가 표시됩니다.
Kali Linux는 윤리적 테스터들이 자신의 기기, 데이터, 네트워크의 무결성을 다양한 관점에서 평가하기 위해 널리 사용하는 플랫폼입니다. 사용하기 전에는 시스템에 설치하거나 LiveCD로 부팅해 실행해야 합니다.
위 목록은 널리 사용되는 침투 도구들을 엄선해 정리한 것입니다. 앞으로 더 많은 도구들을 더 깊이 있고 자세하게 다룰 예정이니 기대해 주세요.