❓ 공격 개요
Brute Force 공격개요
브루트 포스(Brute Force) 공격은 특정 정보(주로 사용자의 패스워드)를 알아내기 위한 공격이다. 패스워드 크래킹을 위해 사용하기도 하며, 웹 에플리케이션을 대상으로는 로그인에 필요한 사용자 패스워드를 알아내고자 할 때 사용된다.
공격방식
1. 무작위 대입 > 일련의 문자를 하나씩 입력하여 대입
2. 딕셔너리 공격 > 자주사용되는 패스워드를 목록을 이용하여 대입
💻 실습

Brute Force 의 메인이다. Username과 Pw 를 입력하는창과 로그인 버튼이 보인다.

Username과 Pw에 아무거나 쓰고 로그인버튼을 눌러보았더니 일치하지 않는다고한다.
이제 Brute 공격으로 Username과 Pw 값을 알아내보자
공격은 프록시 도구인 Burpsuite의 Intruder 기능을 이용할 것이다.

먼저 BurpSuite의 Intercept를 켜준후

Username과 Pw에 아무값을 입력한뒤 로그인 버튼을 눌러 burpsuite로 패킷을 잡아보자

잘 잡혔다.
이제 Ctrl+I 를 이용해 Intruder로 보내주자
(마우스 우클릭한뒤 send to intruder로 보내도 되지만 이미 단축키에 익숙해져버렸다..)

position탭을 보면 §test§, §Login§과 같이 이상한문자에 둘러쌓인영역이 있다
이부분을 쿼리 스트링이라고 하는데,
일반적으로 사용자가 입력한 값이 서버로 전달되어 변수의 값으로 처리되는 부분이다.

위 사진과 같이 원하는 부분을 지정하여 페이로드를 설정할 수 있다.
테스트를 위한 환경이므로 username=admin 을 가정하고 Pw부분만 Brute Force 공격을 해보겠다.

먼저 Attack Type을 지정해줄건데 각 방법을 설명하자면
Sniper - 하나의 Payload Set만 설정하여 공격을 진행하고, 여러 개의 Payload Position이 설정되어 있으면 한 번에 하나의 Position에 Payload Set을 차례대로 삽입하고 해당 Set이 다 삽입되었다면 다음 Position에 다시 Payload Set을 대입하는 방법
Battering ram - Payload를 반복하여 사용하며 Payload가 정의된 모든 위치에 동일한 Payload Set을 대입하는 방법
Pitchfork - 설정한 Payload Position의 개수만큼 Payload Set을 설정
Cluster bomb - Pitchfork 방식과 같지만, Cluster bomb은 첫 번째 Payload Set을 반복 삽입하면서 동시에 두번째 Payload Set을 차례대로 반복 삽입한다는 점이 Pitchfork와 다름
현재 환경에서는 Pw만 알아낼 것이므로 Sniper로 설정할 것이다.
설정을 마쳤으면 Payloads 탭으로 넘어가서
Payload type을 설정해 줄건데 가장 대표적인 무작위 대입과 딕셔너리 대입을 사용해볼 것이다.

다음과 같이 무작위로 대입할 값을 넣어준뒤 최소길이와 최대길이를 지정해주면
몇번 시도할 것인지 카운트 된다
너무 오래걸리니 공격 화면은 생략하겠다.

다음으로 딕셔너리 공격을 할건데
효율성을 높이기 위해 Kali 를 이용하였다.
Kali의 /usr/share/john/password.lst 파일을 이용할 것이다.
약 3546개의 자주쓰이는 패스워드로 구성되어있다.

위사진을 보면 다른 페이로드들과는 달리 password 를 입력했을때만 값이 다른데
이는 비밀번호가 password인것을 알수있다.
Response를 보면
Welcome to the password protected area admin 문구와 함께 로그인이 된 것을 확인할 수 있다.
🔍 대응방안
1. sleep 함수 사용

2. sleep 함수 사용 (랜덤값 적용)

3. sleep 함수 사용 랜던값 적용) + 락킹(locking)

4. 로그인시 캡챠 입력
'Web Hacking > DVWA' 카테고리의 다른 글
[DVWA] - Insecure CAPTCHA (0) | 2022.11.09 |
---|---|
[DVWA] - File Upload (0) | 2022.11.08 |
[DVWA] - File Inclusion (0) | 2022.11.07 |
[DVWA] - CSRF(Cross Site Request Forgery) (1) | 2022.11.06 |
[DVWA] - Command Injection (1) | 2022.11.02 |
❓ 공격 개요
Brute Force 공격개요
브루트 포스(Brute Force) 공격은 특정 정보(주로 사용자의 패스워드)를 알아내기 위한 공격이다. 패스워드 크래킹을 위해 사용하기도 하며, 웹 에플리케이션을 대상으로는 로그인에 필요한 사용자 패스워드를 알아내고자 할 때 사용된다.
공격방식
1. 무작위 대입 > 일련의 문자를 하나씩 입력하여 대입
2. 딕셔너리 공격 > 자주사용되는 패스워드를 목록을 이용하여 대입
💻 실습

Brute Force 의 메인이다. Username과 Pw 를 입력하는창과 로그인 버튼이 보인다.

Username과 Pw에 아무거나 쓰고 로그인버튼을 눌러보았더니 일치하지 않는다고한다.
이제 Brute 공격으로 Username과 Pw 값을 알아내보자
공격은 프록시 도구인 Burpsuite의 Intruder 기능을 이용할 것이다.

먼저 BurpSuite의 Intercept를 켜준후

Username과 Pw에 아무값을 입력한뒤 로그인 버튼을 눌러 burpsuite로 패킷을 잡아보자

잘 잡혔다.
이제 Ctrl+I 를 이용해 Intruder로 보내주자
(마우스 우클릭한뒤 send to intruder로 보내도 되지만 이미 단축키에 익숙해져버렸다..)

position탭을 보면 §test§, §Login§과 같이 이상한문자에 둘러쌓인영역이 있다
이부분을 쿼리 스트링이라고 하는데,
일반적으로 사용자가 입력한 값이 서버로 전달되어 변수의 값으로 처리되는 부분이다.

위 사진과 같이 원하는 부분을 지정하여 페이로드를 설정할 수 있다.
테스트를 위한 환경이므로 username=admin 을 가정하고 Pw부분만 Brute Force 공격을 해보겠다.

먼저 Attack Type을 지정해줄건데 각 방법을 설명하자면
Sniper - 하나의 Payload Set만 설정하여 공격을 진행하고, 여러 개의 Payload Position이 설정되어 있으면 한 번에 하나의 Position에 Payload Set을 차례대로 삽입하고 해당 Set이 다 삽입되었다면 다음 Position에 다시 Payload Set을 대입하는 방법
Battering ram - Payload를 반복하여 사용하며 Payload가 정의된 모든 위치에 동일한 Payload Set을 대입하는 방법
Pitchfork - 설정한 Payload Position의 개수만큼 Payload Set을 설정
Cluster bomb - Pitchfork 방식과 같지만, Cluster bomb은 첫 번째 Payload Set을 반복 삽입하면서 동시에 두번째 Payload Set을 차례대로 반복 삽입한다는 점이 Pitchfork와 다름
현재 환경에서는 Pw만 알아낼 것이므로 Sniper로 설정할 것이다.
설정을 마쳤으면 Payloads 탭으로 넘어가서
Payload type을 설정해 줄건데 가장 대표적인 무작위 대입과 딕셔너리 대입을 사용해볼 것이다.

다음과 같이 무작위로 대입할 값을 넣어준뒤 최소길이와 최대길이를 지정해주면
몇번 시도할 것인지 카운트 된다
너무 오래걸리니 공격 화면은 생략하겠다.

다음으로 딕셔너리 공격을 할건데
효율성을 높이기 위해 Kali 를 이용하였다.
Kali의 /usr/share/john/password.lst 파일을 이용할 것이다.
약 3546개의 자주쓰이는 패스워드로 구성되어있다.

위사진을 보면 다른 페이로드들과는 달리 password 를 입력했을때만 값이 다른데
이는 비밀번호가 password인것을 알수있다.
Response를 보면
Welcome to the password protected area admin 문구와 함께 로그인이 된 것을 확인할 수 있다.
🔍 대응방안
1. sleep 함수 사용

2. sleep 함수 사용 (랜덤값 적용)

3. sleep 함수 사용 랜던값 적용) + 락킹(locking)

4. 로그인시 캡챠 입력
'Web Hacking > DVWA' 카테고리의 다른 글
[DVWA] - Insecure CAPTCHA (0) | 2022.11.09 |
---|---|
[DVWA] - File Upload (0) | 2022.11.08 |
[DVWA] - File Inclusion (0) | 2022.11.07 |
[DVWA] - CSRF(Cross Site Request Forgery) (1) | 2022.11.06 |
[DVWA] - Command Injection (1) | 2022.11.02 |