Brute Force (무차별 대입 공격)
사용자의 패스워드를 알아내기 위한 공격 기법 중 하나로,
아이디와 패스워드가 일치할 때까지 조합 가능한 모든 경우의 수를 반복해서 대입해보는 방법
버프슈트의 인트루더 기능을 이용하여 자동으로 반복한다.
1. 알파벳 순서대로 대입
전달 방식을 브루트 포스로 했을때 최소길이 최대길이 어떤 키를 입력할 것인지,
총 몇 번을 시도해야 경우의수가 끝나는지 다 나오게된다.
2. Dictionary 공격
사람들이 자주 사용하는 패스워드를 대입해보는 것이다.
시도횟수(count) 알파벳순보다 보통 훨씬 적은 것을 볼 수 있다.
127.0.0.1/dvwa를 사용하면 버프 스위트에서 못 잡는 경우가 생기니 Kali IP/dvwa로 접속한다.
Brute Force (low)
Dictionary 공격을 사용하였다.
username과 password 를 입력하여 로그인하는 폼이다.
Username에 'admin'
Password에 틀린 값(0000)을 입력하여 로그인에 실패한 후 해당 패킷을 가로채서 intruder로 보냈다.
Intruder 탭의 Positions에 들어가면 해당 화면이 보인다.
빨간색 박스 안의 Query String 이라고 하는 입력된 값이 서버로 전달된다.
$$표시는 선택한 영역을 문자로 치환해주는 역할이다. Add 버튼을 눌러 password 부분에 지정해준다.
Payload type을 Simple list로 두고
Load 버튼을 누른 후
/usr/share/john에서 password.lst 파일을 연다.
*password.lst 파일은 사람들이 자주 사용하는 비밀번호를 리스트로 모아놓은 것
Start Attack 을 누르면 list에 있는 비밀번호들을 대입시켜 길이를 응답받는다.
틀린 비밀번호를 입력했을 때의 응답 길이와 올바른 비밀번호를 입력했을 때의 응답 길이가 서로 다르다.
비밀번호 중 'password' 라는 페이로드가 서버에서 응답 길이가 다른 것을 확인할 수 있다.
해당 비밀번호로 로그인 시 성공적으로 로그인이 된다.
추가적으로 알파벳 순서대로 대입하는 방법도 있다.
Payload type 을 Brute forcer 로 바꾼다.
Character set 은 조합할 문자들 (숫자, 알파벳, 특수문자 등)
Min length 와 Max length 는 문자열의 최소, 최대 길이를 말하며 지정해준다.
Start attack을 누르면 알파벳/숫자 순서대로 문자열을 조합하여 일일이 대입한다. 일일이 대입해보기 때문에 시간이 매우 오래걸린다.
Command Injection (명령어 주입)
시스템 명령어를 웹을 통해 실행하는 공격이다.
;(세미콜론), &(앰퍼샌드),&& 를 사용하여 하나의 명령어를 주입하여 두 개의 명령어가 실행되게 하는 공격
취약한 애플리케이션을 통해 호스트 OS에서 시스템 명령(서버 자체의 콘솔 명령어)을 실행시킬 수 있다.
system(),exec() 와 같은 OS 시스템 명령어를 실행할 수 있는 함수를 통해사용자 입력값에 필터링이 제대로 이루어지지 않은 경우
공격자가 시스템 명령어를 호출하여 공격할 수 있다.
Command Injection (low)
Ping 결과를 리턴해주는 웹사이트 폼으로 보인다.
localhost 주소를 입력하였을 때 빨간색 문자열이 출력되는 정보들이다.
Ping을 체크하는 폼인 것을 확인할 수 있었다.
리눅스는 ; 를 구분되는 경우 ;를 기준으로 명령어를 순차적으로 실행한다.
IP 뒤에 ;를 활용하여 ls -al를 입력하였다.
ping 127.0.0.1 과 ls -al 명령어 둘다 수행되었다.
IP 뒤에 ;를 활용하여 cat/etc/passwd를 입력하였다.
ping 127.0.0.1 과 ls -al 명령어 모두 수행되었다.
/etc/passwd 는 시스템에 등록된 사용자의 정보들이 담겨있는 파일이다.
이 파일을 이용해서 사용자의 계정과 인증을 관리하게 된다.
'Security > 웹 모의해킹 실습' 카테고리의 다른 글
File Upload & Insecure CAPTCHA (Low) (0) | 2023.07.16 |
---|---|
CSRF & File Inclusion (Low) (0) | 2023.07.16 |
프록시와 프록시 툴 (0) | 2023.07.12 |
Kali linux에서 DVWA 환경 구성 및 Burp Suite 설치 (0) | 2023.06.24 |
Kali linux 가상환경에 설치 및 한글 입력기 설정 (0) | 2023.06.20 |