본문 바로가기

Learning/└◆Network Hacking

네트워크 해킹 - 08. Brute Force & Dictionary Attack

 

Brute Force & Dictionary Attack

Brute Force 공격: 무작위 대입 공격

Dictionary 공격: 사전 파일 대입 공격

 

<window2008>

Linux200(192.168.20.200)에 대해서 서비스 포트를 스캔 (툴: zenmap)

 

BrutusA2 툴을 실행하여, Linux200에 대해서 Dictionary 공격

 

Linux200으로 텔넷 접속 실시 (User : user01, Password : user01)

C:\users\administrator>telnet 192.168.20.200

 

linux200.example.com(Linux release 2.6.18-371.el5 #1 SMP Tue Oct 1 08:35:08

EDT 2013) (2)

login : user01

password : user01

Last login : Wed May 25 14:41:21 from win2008

[user01@linux200 ~]$

[user01@linux200 ~]$ exit

 

 

 

 

--------------------------------------------------------------------------------------------

Brutus Attack & Dictionary Attack

 

 

 

 

 

사용 프로그램

- hydra(xhydra) 프로그램 사용

 

사용 시스템

- kaliLinux (Hacker 시스템)

- linux200 (FTP 서버)

 

용어 설명

password attack

password guessing attack : 암호 추측 공격

dictionary attack : 사전 대입 공격

brutus attack(brute-force attack): 무작위 대입 공격

 

password crack

Local password crack (offline password crack)

Remote password crack(online password crack)

 

작업 시나리오

 

(KaliLinux) xhydra ---- remote password crack ----> (linux200) ftp 서버

 

 

[실습] ftp 서버의 사용자/암호를 크랙 작업을 해 보자.

 

(linux200)

 

FTP 서버 기동 및 확인

vsftpd 서비스 start

# chkconfig vsftpd on

# service vsftpd restart

 

user01 사용자 정보 확인

# grep user01 /etc/passwd

user01 사용자 존재 유무 확인

 

# passwd user01

-> 암호는 user01

 

 

 

(KaliLinux)

FTP 서버 동작 유무 확인

# nmap 192.168.20.200

PORT STATE SERVICE

21/tcp open ftp

 

 

 

 

사전 파일 대입 공격

# mkdir -p /test

# cd /test && rm -rf /test/*

# cat > dict.txt

admin

admin1

user01

test

test1

<CTRL + D>

# cat dict.txt

-> 파일 내용 확인

 

# xhydra &

Target

---------------- Target ----------------

[ V ] Single Target : 192.168.20.200

Port : 21

Protocol : ftp

---------------- Output Options --------------

[ V ] Show Attempts

 

Passwords

---------------- Username -------------

[ V ] Username : user01

---------------- Password -------------

[ V ] Password List : 파일이름지정(EX: /test/dict.txt)

 

Start

---------------- Output -------------

-> 하단에 "Start" 선택

 

(linux200)

# tail -f /var/log/secure

# tail -f /var/log/xferlog

 

# ftp 192.168.20.200

user01/user01

ftp> quit

#

 

[참고] 사전 파일 만드는 방법

인터넷상에서 받은 사전 파일 : a.txt

직접 생성한 사전 파일 : b.txt

# cat a.txt b.txt > c.txt