보안 / 개발 챌린저가 목표

TCP 연결 기반 DoS 공격 (1) 본문

IT Security/Class_Do it

TCP 연결 기반 DoS 공격 (1)

햄미은서 2020. 9. 6. 22:36

NetCat(넷캣)이란

  • TCP나 UDP를 사용하여 네트워크 연결을 하여 읽기, 쓰기를 해주는 유틸리티 프로그램을 말한다.

 


 

 

방화벽 해제 $ sudo iptables -F

우선, 방화벽이 설정되어 있다면 NC에 접속이 되지 않으므로 방화벽 연결을 끊어준다.

 

 

 

4000번 포트를 listen상태로 열어준다.

  • NC의 주요 옵션(명령어)
옵션 설명
-D 소켓에서 디버깅 활성화
-h 도움말 출력
-l 소켓 서버로서 리스닝 함
-u default인 TCP 대신 UDP 사용
-z 데이터 전송 없이 단순한 포트 스캔

 

 

 

Netcat 폴더에서 shift + 우클릭하여 Power Shell 창을 띄워준 후,

창에서 리눅스 서버와 4000번 포트로 통신하는 명령어를 입력한다.

 

 

 

 

덤프 확인 # tcpdump -S -n port 4000

4000번 포트를 이용하여 덤프를 확인한다.

 

 

 

Power Shell 창에서 "hello"를 입력하면 리눅스 서버와 통신중이기 때문에 "hello"가 리눅스 서버에서 뜨게 된다.

 

 

 

hping3 -s [출발지 포트] -a [위장 IP] -p [목적지 포트] [보낼 IP] -L [추측 ACK] -M [추측 시퀀스] -R(리셋플래그) -c 1

hping3 -s 14562 -a 192.168.0.1 -p 4000 192.168.0.171 -L 0 -M 2887772666 -R -c 1

"hello"를 입력하여 데이터를 보내면 Kali에 데이터를 주고받은 SYN/ACK의 값이 확인된다.

해당 값을 이용하여 Kali에서 터미널을 하나 더 열어 연결을 끊는 명령어를 입력한다.

 

 

 

입력한 후 엔터를 치면 연결이 끊어졌다는 메시지가 출력된다.

(중간에 실수가 있어서 다시 하느라 추측 시퀀스가 다름!)

 

 

 

이렇게 연결이 끊어진 리눅스 서버와 Power Shell을 확인할 수 있다.

Power Shell에서는 엔터를 쳐줘야 연결 끊어진 것이 확인 가능하다.

Comments