꿑팁: 웬만한 툴들은 범위 공격가능함 (시간절약, 무차별대입 공격으로 인한 lock out 조심) 14.2 - Online Password Attacks 온라인 비밀번호 공격은 사용자 이름 및 비밀번호 인증 체계를 사용하는 네트워크 서비스에 대한 비밀번호 추측 시도를 포함한다. 여기에는 HTTP, SSH, VNC, FTP, SNMP, POP3 등의 서비스가 포함된다. 14.2.1 - Hydra, Medusa, and
Ncrack 14.2.1.1 - HTTP Brute Force root@kali:~# medusa -h 10.11.1.219 -u admin -P password-file.txt -M http -m DIR:/admin -T 10 (* 콘솔에서 테스트 해보니 어떤 계정을 넣어도 암호가 admin으로 성공함...집에서 브라우저로 확인해볼 필요가 있음)
root@kali:~# ncrack -vv --user offsec -P password-file.txt rdp://10.11.1.35 (* 우분투에서 Ncrack설치에 실패하여 집에서 칼리로 테스트해봐야함.)
root@kali:~# hydra -P password-file.txt -v 10.11.1.219 snmp 14.2.1.4 - SSH bruteforce root@kali:~# hydra -l root -P password-file.txt 10.11.1.219 ssh (* 대상을 네트워크 대역으로 지정 가능 10.11.1.0/24)
로그인 시도가 여러 번 실패하면 대개 대상 시스템에 로그와 경고가 생성된다. 경우에 따라서는 사전에 정의된 로그인 시도 횟수가 실패한 계정을 차단하도록 대상 시스템을 설정할 수도 있다.
온라인 브루트포스 공격의 숨은 기술은 공격을 시작하기 전에 목표물, 사용자 목록 및 암호 파일을 신중하고 지능적으로 선택하는 것이다. 14.2.3 - Exercises
14.3.1 - Password Hashes 현대의 인증 메커니즘은 암호를 일반 텍스트에 저장하는 대신 보안을 향상시키기 위해 보통 해시(hash)로 저장한다. 이는 운영체제, 네트워크 하드웨어 등에 해당된다. 이는 인증 프로세스 중에 사용자가 제시한 암호가 해시되고 이전에 저장한 메시지 digest와 비교된다는 것을 의미한다 14.3.2 - Password Cracking 암호 해시를 식별할 때 참조용으로 사용할 수 있는 일반적인 해시 목록은 Openwall 웹 사이트에서 찾을 수 있다. 주의해야 할 세 가지 주요 해시 속성이 있다. o 해시의 길이(각 해시함수의 출력길이)이다. 여러 개의 암호 크래킹 프로그램(예: John)은 사용되는 알고리즘을 추측하기 위해 주어진 해시에 패턴 매칭 기능을 적용하지만, 이 기술은 일반 해시에만 적용된다. 이 작업을 수행하려는 또 다른 도구는 해시 hash-identifier이다. root@kali:~#
hash-identifier 14.3.3 - John the Ripper (현재 테스트 해볼 수 있는 pwdump 파일이 없음ㅜ) 대상 시스템에서 암호 해시를 얻었다면, 당신은 추가 공격에서 명확한 평문 값을 얻을 수 있도록 암호를 해독해볼 것이다. 암호를 해독하는 가장 인기 있는 도구 중 하나는 존 더 리퍼다. 존은 수십 개의 비밀번호 형식을 지원하며 계속 개발 중이다. brute-force 모드에서 John을 실행하는 것은 명령줄에 암호 해시가 포함된 파일 이름을 전달하는 것만큼 간단하다. 위의 출력에서 알 수 있듯이, 존은 해시 타입을 정확하게 인식하고 그것을 깨기 위해 출발한다. 대신, 우리는 단어 목록 매개변수 -wordlist를 존에게 전달할 수 있다. 일부 비밀번호가 크랙되어 남아 있으면 다음에는 --rules 파라미터를 사용해서 존의 단어 맹글링을 규칙을 적용할 수 있다.
root@kali:~# unshadow passwd-file.txt shadow-file.txt > unshadowed.txt 우리는 이제 unshadow 파일을 평상시처럼 존에게 전달하고 암호 해시를 깨트릴 수 있다.
암호 크래킹의 어려움을 증가시키기 위해, 암호는 해시되기 전에 임의의 값과 결합되는 경우가 많다. 이 값을 salt라고 하며, 각 암호에 대해 고유해야 하는 그 값은 인증 프로세스에서 사용할 데이터베이스나 파일의 해시와 함께 저장된다. salt의 주된 목적은 Rainbow Table 공격의 비실용성을 높이는 것이며, salt가 없다면 해시된 암호 데이터베이스 크래킹의 효율성을 크게 향상시키는 데 사용될 수 있다
시나리오: root@kali:~# export SMBHASH=aad3b435b51404eeaad3b435b51404ee:6F403D3166024568403A94C3A6561896 그런 다음 pth-winexe 도구를 사용하여 암호 해시를 사용하여 인증하고 대상 시스템에서 원격 명령 프롬프트를 얻을 수 있다. Microsoft
Windows [Version 6.1.7601] C:\Windows\system32> 14.3.6 - Exercises (다양하게 실습해보고 메타스플로잇으로 SMB공격해보기) 1. Use the different tools covered in this module to conduct password attacks against various services in the lab. 2. Use Metasploit to exploit one of the SMB servers in the labs. Dump the password hashes and attempt a pass-the-hash attack against another system |