브루트퍼스 공격과 snort를 이용한 IDS 실습

블로그의 모든 내용은 학습 목적으로만 사용하세요.

불법적인 행위에 대한 모든 책임은 당사자에 있습니다.


<WireShark에서 정보값 알아내기>

 

목표 : analysis라고 하는 pcap에서 힌트를 찾고, quiz에서 정답을 찾아보자

패킷이 캡쳐된 와이어샤크에서 아이디와 패스워드 알아내기

 

 

 

 

웹 사이트에서 로그인을 시도했기 때문에, protocol에서 http를 검색해보면 로그인 시도한 기록이 나온다.

 

 

 

상세값을 살펴보면 id - kitri pw - 345라는 값으로 접속 시도를 한 이력이 기록되는 Credentials 시그니쳐를 획득

 

 

 

정답이 들어있는 quiz pcap에서 String으로 문자열을 검색 후, Credentials라는 획득한 시그니쳐를 검색해준다.

 

 

 

상세값을 살펴보면 로그인에 성공한 id와 pw를 획득할 수 있다.

 

 


<BurpSuite에서 정보값 알아내기>

 

로그인 해야 하는데 아무런 정보가 도출되어 있지 않은 상태

사전 조건 : 피해자pc에 proxy 설정이 되어있어야 함, 해커가 burpsuite 기본 세팅을 할 줄 안다는 가정

burpsuite 사용법 :  2023.07.04 - [모의해킹] - burpsuite

 

burpsuite

블로그의 모든 내용은 학습 목적으로만 사용하세요. 불법적인 행위에 대한 모든 책임은 당사자에 있습니다. 피해자(victim) 보안 적용된 호스트 / 보안 적용되지 않은 호스트로 구분 해킹이 들어

rmagmlwns.tistory.com

 

 

 

burpsuite 를 사용해 프록시를 연결하고, intercept를 on 해준다.

스니핑을 통해 Raw값 확인 시 접속 시도한 username과 password를 평문으로 확인 가능

피해자가 kitri에 kitri로 접속 시도를 한 정보를 확인 가능하다.

 

 

# 번외 - 스푸핑

 

 

해커가 실제 아이디와 패스워드인 admin , password로 스푸핑을 해준 후 포워드를 해준다.

 

 

 

사용자는 kitri, kitri가 정상 아이디와 패스워드라고 인식하고 웹 사이트를 사용한다.

 

 


<공격자 - 브루트포스 실습>

환경

1. dns를 통해 dvwa에 접속 (dvwa.thoth.com)

2. proxy 설정과 연동이 되어있다.

2023.07.04 - [모의해킹] - burpsuite 참고

3. security level은 row로 설정

4.로그인은 dvwa 내의 Brute Force에서 실행

5.환경 상 진짜 브루트포스를 실행 시 속도가 느리기 때문에 아이디와 비밀번호를 특정했다고 가정한다.

 

Action - Send to intruder - 프레임을 intruder에게 전달하겠다.

 

 

Intercept on으로 캡쳐한 프레임에 Action - Send to Intrider로 설정해준다.

 

 

 

클라이언트가 서버에게 요청정보를 보내는 방법 - GET , POST

GET - URL 안에 페이로드가 존재한다.(헤더안에 존재)

 

 

 

Sniper - 페이로드가 1개일 때

Cluster bomb - 페이로드가 여러개일 때 (최대 20개) 이걸로 실행

 

 

 

페이로드로 인식한 값 - 빨간색으로 표시되어 있다.

인식된  페이로드 (5개) -> 공격에 사용할 페이로드를 선정해준다.

add를 통해 공격할 대상을 선정해준다. (로그인을 시도한 asd 구간과 123구간)

 

 

 

브루트퍼스 type이 원래 맞지만, 대입 속도가 매우 느리기 때문에 simple list로 실습을 한다.

페이로드 리스트 1 : Username List - 무차별 대입을 시도할 ID

대입을 시도할 ID를 ADD 해준다.

 

 

 

페이로드 리스트 2 : password List - 무차별 대입을 시도할 PW

Payload count = 비밀번호에 ADD 해준 대입할 수

Request count = ID와 PW를 대입할 경우 나오는 모든 경우의 수

 

로그인 시도 시 성공, 실패의 패턴이 존재한다.

성공 시 - 웹 사이트에 접속

실패 시 - login failed

사용자 화면에 띄워지는 내용이 다르다. --> 반환되는 Data의 길이가 다르다.

 

 

 

25개의 대입값을 넣은 후 로그인이 success인 경우 성공과 실패의 Length값이 다르기 때문에

Length가 다른 값이 로그인에 성공한 ID와 Password임을 알 수 있다.

 

 


<피해자 - Snort 실습>

환경

1.서버 관리자는 log 관제를 통해 브루트포스 공격을 감지했다.

2.서버 관리자는 snort가 설치되어 있다.

 

 

httpd 로그를 통해서 dns에 실시간으로 들어오는 로그를 분석하다가 해킹시도를 확인

 

 

 

snort를 사용해 80번 포트로 5초에 10번씩 로그인을 시도하는 패킷을 감지하면 Brute Force로 인식하는 스노트 룰을 생성

 

 

 

snort를 켰더니 4.4.4.10으로부터 브루트포스 공격을 감지했다.

IDS이기 때문에 침입을 탐지만 할 뿐 차단은 하지 못함.

 

'해킹기법' 카테고리의 다른 글

Command injection  (0) 2023.07.14
Netcat - 작성중  (0) 2023.07.14
PingScan(CMD), Proxy Regidit 진행중  (0) 2023.07.10
tcpdump  (0) 2023.07.07
ettercap  (0) 2023.07.06