DDoS Attack ( Distributed Denial of Service Attack )

: 디디오에스/디도스, 분산 서비스 거부 공격을 뜻하는 것으로 서비스 거부 공격 DoS(Denial of Service attack)에서 한 단계 발전한 것으로 여러 대의 장비를 이용하여 다중 공격을 하는 것이다

 

DDoS Attack Tool

- Slowloris DoS

 

Slowloris DoS

- 아파치 웹 서버를 겨냥

- Low Rate DDoS

: 정상적인 get접속 요청을한 후 마지막에 하나의 CR-LF를 하지 않아 서버에서 대기한 후 Timeout에 도달하거나 무의미한 헤더를 지속적으로 전송

 

DDoS 과정

 

 

실습환경

 

 

Slowloris DoS 순서

1. slowloris.pl 파일을 다운 받아서 실행 권한을 주고 실행

2. 공격 코드 실행

3. Client에서 Server의 웹 페이지 접속 후 결과 확인

 

1. slowloris.pl 파일을 다운 받아서 실행 권한을 주고 실행

 

- 실행권한을 주고 실행해줍니다

 

- 실행이되면 팬더 모양이 나오고 밑에 명령어 설명이 나옵니다

 

2. 공격 코드 실행

 

- 명령어 : perl ./slowloris.pl -dns [ 공격대상 서버 ] [ 옵션 ]

 

- 많은 로그가 지나가면서 공격이되고 있는 것을 확인할 수 있다

 

3. Client에서 Server의 웹 페이지 접속 후 결과 확인

 

- 공격한 Server의 웹페이지에 접속이 안되는걸 확인할 수 있다

 

- 공격 종료 후 다시 접속해보면 잘 접속이되는 것을 확인할 수 있다

 

Slowloris DoS 대응 방법

- Timeout 설정 변경

: 가장 현실적인 방법으로 연속된 패킷이 지정된 시간동안 오지 않을 경우 종료

 

- netstat -na | grep ESTABLISHED 실행시 많은 연결이 보이는 IP에 대해 iptables로 차단

: 공격이 진행시 로그는 남지 않아도 netstat으로는 보이며 공격 IP는 위조 될 수 없다

 

- iptables의 connlimit( 커넥션 제한 ) 설정

: #iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 30 -j DROP 

'네트워크 해킹' 카테고리의 다른 글

DoS Attack  (0) 2020.11.27
SSH Downgrade Attack  (0) 2020.11.26
SSL Sniffing  (0) 2020.11.25
Sniffing  (0) 2020.11.25
DNS Spoofing  (0) 2020.11.24

DoS Attack( Denial-of-service attack )

: 서비스 거부 공격 또는 디오에스/도스는 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격이다

 

Dos 공격의 분류

- 파괴 공격

- 시스템 자원의 고갈 

- 네트워크 자원의 고갈

 

파괴 공격

: 디스크나 데이터,  시스템의 파괴

 

시스템 자원의 고갈

: CPU, 메모리, 디스크의 사용에 과다한 부하를 가중시킴

 

네트워크 자원의 고갈

: 쓰레기 데이터로 네트워크의 대역폭을 고갈시킴

 

DoS 공격의 종류

- Ping Of Death
- Land Attack
- SYN Flooding
- TearDrop Attack

 

Ping Of Death

: Ping을 이용하여 ICMP 패킷을 정상적인 크기보다 크게 만드는 것이다

만들어진 패킷은 네트워크를 통해 라우팅되어 공격 네트워크에 도달하는 동안 작은 조각으로 Fragment된다 공격 대상 시스템은 이렇게 작은 조각호된 패킷을 모두 처리행하므로 정상적인 Ping의 경우보다 엄청난 부하가 걸린다

 

 

Land Attack

: 출발지 IP를 도착지 IP로 속여 수신단에서 도착지 IP가 자신이므로 루핑이 발생하면서 가용성이 저하된다

 

 

SYN Flooding

: TCP/IP 네트워크에서의 정상적 TCP 연결 3-way 핸드셰이크(handshake) 과정의 경우, 클라이언트가 원격지 서버의 특정 포트에 SYN 패킷(packet)을 발송함으로써 연결을 요청하고 요청을 받은 원격 서버가 SYN/ACK 패킷으로 응답한 후 수신된 연결 요청 정보를 해당 시스템의 TCP 연결 자원인 백 로그 큐(Backlog Queue)내 incomplete connection queue에 저장한다
 이때 서버가 응답한 SYN+ACK에 대하여 클라이언트가 ACK로써 응답을 보내지 않으면 accept() 시스템콜을 통해 클라이언트와 통신할 연결소켓 생성하지 못하므로 서버는 incomplete connection queue에 있던 연결 요청 정보를 completed connection queue로 이동하는 연결 요청 정보 삭제 과정을 수행하지 못하고 해당 연결 요청 정보가 그대로 남아있다는 half-open TCP 연결 상태에 머무르는 구조적 취약점이 있다
그렇기 때문에 공격자는 서버 특정 포트에 SYN packet을 발송하는 과정을 대량으로 중첩시켜서 백 로그 큐내 incomplete connection queue를 가득 채움으로써 소진시키게 되고 이로인해 더 이상 새로운 클라이언트의 TCP 연결요청을 받을 수 없게되니 이 후 요청되는 다수의 TCP 연결이 완료되지 않고 무시된다

 

- ARP Spoofing을 이용해 SYN+ACK 패킷을 다른 Client가 받게 만든다

 

TearDrop Attack

: TCP/IP 통신에서 보내는 쪽에서는 IP 데이타그램을 쪼개고 받는 쪽에서는 이를 합치는(프레그멘테이션과 리어셈블리) 아주 정상적으로 일어나야 할 과정을 공격자가 임의적으로 과도하게 발생 시키거나, 꼬이게 함으로써 대상컴퓨터가 다운되게 하는 DOS공격의 일종이다 또한 이 공격은 어떤 OS의 IP fragment 재조합 코드 안에 버그를 일으키는 invalid fragmented IP패킷을 보낸다 이 취약성은 공격자가 목적 시스템을 손상시켜 서비스손실을 유발시키고, 서버를 다운 시킬 수도 있다

 

- 시퀀스 넘버를 이상하게 만들어 대상 서버가 재조합 하지 못하게 만든다

'네트워크 해킹' 카테고리의 다른 글

DDoS  (0) 2020.12.02
SSH Downgrade Attack  (0) 2020.11.26
SSL Sniffing  (0) 2020.11.25
Sniffing  (0) 2020.11.25
DNS Spoofing  (0) 2020.11.24

SSH

: 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다

 

SSH Version

- SSH1

- SSH2

- SSH1, SSH2 모두 지원

 

SSH1

- SSHV1 : SSH-1.5

- public-key를 이용하여 session-key를 암호화하는 방식을 사용

- 중간자 공격에 취약하다

 

SSH2

- SSHV2 : SSH-2.0

- Diffe-Hellman 방식의 암호화 사용

 

SSH1, SSH2 버전 모두 지원

- SSH-1.99

- Version Negotiation(버전 동기화) 과정이 Text로 노출되어있어 취약하다

 

SSH Downgrade Attack

: ARP Spoofing을 이용해 중간자가 되어서 취약한 Version인 SSH1로 연결을하게 만들어 Client와 Server가 주고 받는 내용을 훔쳐 보는 공격 기법이다

 

정상적인 SSH 세션의 연결과정

 

 

SSH Downgrade Attack 과정

 

 

실습환경

 

 

SSH Downgrade Attack 순서

1. Server에서 SSH 버전을 1, 2 모두 사용 가능하도록 설정을한다

2. hacker는 SSH Version 협상시 정보 변경을 위한 Filter를 생성한다

3. hacker는 명령어를 통해 ARP Spoofing과 생성한 Filter를 걸고 공격을 실행한다

4. Client에서 Server로 SSH 요청

5. hacker는 결과를 확인한다

 

1. Server에서 SSH 버전을 1, 2 모두 사용 가능하도록 설정을한다

 

- /etc/ssh/sshd_config 파일에 들어간다

 

- 사용가능한 Version을 1,2로 변경해준다

 

2. hacker는 SSH Version 협상시 정보 변경을 위한 Filter를 생성한다

 

- find / -name etter.filter.ssh 명령어로 파일 위치를 찾는다

 

- 명령어 : etterfilter etter.filter.ssh -o ssh.co

- 해당 디렉터리에 들어가서 컴파일을 해준다

 

- 컴파일된 파일을 root의 홈디렉터리로 옮겨준다

 

3. hacker는 명령어를 통해 ARP Spoofing과 생성한 Filter를 걸고 공격을 실행한다

 

- ettercap --help 명령어로 옵션 설명을 확인해준다

 

- 명령어 : ettercap -T -M ARP -F [ Filter 파일 ] [ Client MAC/IPs/Ports ] [ Server MAC/IPs/Ports ]

- 위 명령어로 ARP Spoofing과 함께 SSH Downgrade Attack 어택이 시작된다

 

- 실행하게되면 위와 같은 화면이 나오고 Client가 Server에 연결을 요청할때까지 대기한다

 

4. Client에서 Server로 SSH 요청

(Client는 Server에게 SSH 연결을 요청하지만 hacker가 요청을 받고 Server에게 보내준다)

- putty를 사용해서 Server( 192.168.1.12 )로 연결을 시도한다

- 이때 Server는 사용 가능한 SSH Version(SSH1, SSH2 둘다 가능) 정보를 hacker에게 보내고 hacker는 SSH1 Version만 사용가능하게 변조를 한뒤 Client에게 보내준다

 

- Client는 SSH1 Version으로 연결이 수립된다

- ID와 Password를 치고 계정에 로그인한다

 

5. hacker는 결과를 확인한다

 

- Client가 연결 요청을 했을때 Server는 1.99로 SSH1, SSH2 버전 모두 사용가능하다고 알려주었으나 hacker는 이를 변조하여 SSH1인 1.5만 가능하다고 Client에게 알려주는걸 확인할 수 있다

 

- 많은 로그가 올라와있는데 스크롤을 올려보면 Client에서 입력한 내용이 다 보이는걸 확인할 수 있다

'네트워크 해킹' 카테고리의 다른 글

DDoS  (0) 2020.12.02
DoS Attack  (0) 2020.11.27
SSL Sniffing  (0) 2020.11.25
Sniffing  (0) 2020.11.25
DNS Spoofing  (0) 2020.11.24

SSL

: 사이버 공간에서 전달되는 정보의 안전한 소통을 위해 넷스케이프사가 정한 인터넷 통신규약 프로토콜을 말함

 

SSLstrip

: 리눅스 기반의 툴로 SSL Sniffing 공격을 실행하는 Tool이다

 

SSL 과정

 

 

SSL Sniffing 과정

 

 

실습환경

 

 

SSL Sniffing 순서

1. SSLstrip 파일 다운 받고 압축 풀기

2. hacker는 포워딩 모드를 설정

3. hacker가 Client A ARP Cache에 Gateway에 대해서 ARP Spoofing 공격

4. HTTP 요청을 인터셉트하도록 hacker가 Client A에 통신 대체 포트 설정

5. 다운 받은 sslstrip 디렉토리에 들어가서 실행

6. Client A측에서 특정 홈페이지 로그인창에서 로그인 시도

7. 결과 확인

 

1. SSLstrip 파일 다운 받고 압축 풀기

압축풀기 명령어 : tar -zxvf [파일명]

 

 

2. hacker는 IP 포워딩을 설정한다

 

- 클라이언트에게 받은 데이터를 서버에게 포워딩하기 위해서 설정한다

- 관리자 권한으로 실행하여야하기 때문에 sudo 명령어를 사용해 root계정으로 바꿔준다

- echo 1 > /proc/sys/net/ipv4/ip_forward 명령어로 포워딩을 설정해준다

 

3. hacker가 Client A ARP Cache에 Gateway에 대해서 ARP Spoofing 공격

 

- Client A는 Gateway에게 무언가 요청을 할 때 hacker에게 요청을 하게 된다

- 명령어 : arpspoof -i [인터페이스] -t [Client IP] [Gateway IP]

 

4. HTTP 요청을 인터셉트하도록 hacker가 Client A에 통신 대체 포트 설정

 

-명령어 : iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 1000

5. 다운 받은 sslstrip 디렉토리에 들어가서 실행

 

- SSL_sniffing을 해서 얻는 내용을 저장할 파일을 만들어준다 ( ssl_sniff )

- 명령어 : python sslstrip.py -w [저장할 파일명] -ㅣ [포트]

 

6. Client A측에서 특정 홈페이지 로그인창에서 로그인 시도

 

- 아이디는 "test" 비밀번호는 "1234" 를 입력한다

 

7. 결과 확인

 

- herker의 Backtrack5에 보면 무언가 많은게 쓰여져있고 저장할 파일로 설정한 ssl_sniff에 내용을 확인하면 Client A가 접속한 도메인명과 작성한 ID와 PW가 쓰여져있는걸 확인할 수 있다

'네트워크 해킹' 카테고리의 다른 글

DoS Attack  (0) 2020.11.27
SSH Downgrade Attack  (0) 2020.11.26
Sniffing  (0) 2020.11.25
DNS Spoofing  (0) 2020.11.24
ARP Spoofing  (0) 2020.11.23

Sniffing

: 스니퍼를 이용하여 네트워크상의 데이터를 도청하는 행위를 말한다 스니퍼란 컴퓨터 네트워크상에 흘러 다니는 트래픽을 엿듣는 도청장치라고 할 수 있다 스니핑 공격을 수동적 공격이라고 말하는데 공격할 때 아무 것도 하지 않고 조용히 있는 것만으로도 충분하기 때문이다

 

Sniffing Tool

- Wireshark

- Ettercap

- Tcpdump

 

Sniffing 기법

- MAC Flooding

- ARP Spoofing

- ARP Redirect

- ICMP Redirect

 

MAC Flooding

: 컴퓨터 네트워킹에서 미디어 액세스 제어 공격 또는 MAC 플러딩은 네트워크 스위치의 보안을 손상시키는 데 사용되는 기술이다

 

ARP Spoofing

: 근거리 통신망 하에서 주소 결정 프로토콜 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법이다

 

ARP Redirect

: 공격자가 Gateway의 IP 주소를 알아내어, 공격대상에게 자신의 MAC 주소가 Gateway인 것처럼 속인 후, 브로드캐스트를 주기적으로 하여 패킷을 스니핑하는 공격방법이다

 

ICMP Redirect

: 3계층에서 스니핑 시스템을 네트워크의 존재하는 또 다들 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격이다 ARP Redirect와 차이점은 ARP Redirect는 희생자의 ARP Cache 정보를 변조하여 스니핑하는 것이고 ICMP Redirect는희생자의 라우팅 테이블을 변조하여 스니핑한다는 차이점이있다

'네트워크 해킹' 카테고리의 다른 글

SSH Downgrade Attack  (0) 2020.11.26
SSL Sniffing  (0) 2020.11.25
DNS Spoofing  (0) 2020.11.24
ARP Spoofing  (0) 2020.11.23
Scanning Tool ( NMAP Tool )  (0) 2020.11.20

+ Recent posts