Authentication - Brute forcing2

2021. 1. 7. 19:51문제연습/bs_Training

반응형

 

 

본 티스토리 블로그는 PC에 최적화되어 있습니다.

모바일 유저분들은 아래 네이버 블로그를 이용해 주세요

 

Authentication - Brute forcing2

본 네이버 블로그는 모바일에 최적화되어 있습니다.PC 유저분들은 아래 티스토리 블로그를 이용해 주세요...

blog.naver.com


Lab: Username enumeration via subtly different responses

이번 시간에도 문제를 이어서 풀어 보도록 하겠습니다.

이전 공격 방식과 동일하니 한번 연습 겸 풀어 보는 것도 나쁘지 않습니다.

그럼 문제를 확인해 보도록 하겠습니다.

 

 

1. 문제 내용

이번 문제도 저번 문제와 마찬가지로 브루트 포싱 문제 계열입니다.

대입 후보 데이터들도 문제에서 이미 제시해 준 상황입니다.

한번 접속해 보도록 하겠습니다.

 

초기 접속화면, 로그인 화면

로그인 화면을 확인하였으니 추가적으로 주어지는 데이터가 존재하는지 확인해 보도록 하겠습니다.

 

대표사진 삭제

사진 설명을 입력하세요.

이번 문제는 저번 문제와 다르게 어떤 정보가 틀렸는지를 알려주질 않습니다.

이렇게 될 경우 2가지 시나리오로 접근이 가능합니다.

 

- 모든 후보군에 대한 전수조사.

이 방법이 가장 확실하지만, 저는 burp suite 커뮤니티 버전을 가지고 있기에 굉장히 많은 시간이 소요됩니다.

username 후보군 100개, password 후보군 100개 총 대입 시도 경우 수 10000개.
1개 경우 수 대입 후 처리하는데 걸리는 시간 대략 최소 0.5초
최악의 경우 0.5 * 10000 = 5000초 = 대략 84분... 어마 무시한 시간이 걸립니다.

 

- 각각의 케이스를 따로 시도하고 반환되는 응답 결과를 이용해

username, password를 추측하는 방식.

 

 

일단 두 번째 방법을 이용해 뭔가 걸리는 부분이 없는지 확인해 보도록 하겠습니다.

 

burp suite의 intruder의 sniper 기능을 이용하여 payload를 짜보도록 하겠습니다.

조작할 값 지정, 대입할 패턴 저장, grep할 메시지 입력

이제 한번 부르트 포싱을 진행해 보도록 하겠습니다.

 

 

- username

결과를 확인해본 결과 Invaild username or password. 가 출력되지 않은 케이스가 딱 한 개 존재합니다.

패턴 대입 결과, 해당 추출 username으로 로그인 시도한 화면

추출된 username인 akamai로 로그인을 시도하게 될 경우 화면에 Invalid username or password 문자열이 출력되고 로그인이 되지 않습니다.

 

즉, 응답 부분이 달라진 점이 존재합니다.

이 부분을 이용해 위와 같은 부르트 포싱을 다시 진행해 보도록 하겠습니다.

 

 

password

grep match에서도 Invalid username or password가 없고 응답 코드가 200, 400번 영역이 아닌 302 반환 코드가 돌아온 결과를 확인하였습니다.

패턴 대입 결과, 로그인 시도 결과

 

우리가 대입한 akamai, herley로 로그인을 할 경우 아래와 같이 로그인이 됨을 알 수 있습니다.

이렇게 이번 lab 문제도 성공적으로 풀어 냈습니다.

 

전수조사 문제를 풀면서 생각보다 전수조사 경우의 수가 적고 사이트의 특정 조건을 만족할 경우 매우 효율적인 공격이라는 것을 느낍니다.

 

꼭 보안을 생활 습관화 시켜야겠군요...

 

반응형