정보보안공부
네트워크 보안_ SSH 취약점 - Ettercap 사용 본문
네트워크보안_SSH 취약점 - ettercap사용
- Vmware 가상머신 사용
- BackTrack , CentOS , XP
<SSH 취약점 - ettercap 사용>
** SSH ( Secure Shell )
-> 원격 컴퓨터에 안전하게 엑세스하기 위한 유닉스 기반의 명령 인터페이스 및 프로토콜이다.
** SSH1
-> SSH V1 : SSH-1.5
-> Public-Key를 이용하여 Session-Key를 암호화하는 방식을 이용한다.
-> MITM 공격에 취약하다.
-> SSHv1 MITM Attack : SSHv1의 경우 초기 Handshaking 과정에서 MITM 공격을 통해 공격자가 클라이언트에게 서버의 키를 위장하여 보낼 수 있다. 이러한 공격의 탐지는 client의 몫이며 사용자가 해당 키를 accept하는 경우 전 세션의 data가 다 해독된다.
** SSH2
-> Diffie-Hellman 방식의 암호화를 사용한다.
-> SSH V2 : SSH-2.0
** SSH1, SSH2 버전을 모두 지원하는 경우
-> SSH-1.99
-> Version Negotiation(버전 동기화) 과정이 Text로 노출되어있어 취약하다.
-> SSHv2 Downgrade Attack : SSHv2의 경우 SSHv1과 달리 MITM 공격이 힘들지만 Handshaking 과정에서 서버가 보내는 내용을 조작하면 서버와 클라이언트 간 SSHv1으로 통신하도록 유도할 수 있다.
** Version Negotiation
-> 프로토콜 버전이 여러 개인 경우 서버와 클라이언트간의 버전을 동기화하는 것
-> 호환성을 위해 구 버전을 사용할 수 있도록 제작된 경우가 많이 있다.
-> Negotiation 과정이 보호되지 못하면 Version Downgrading 공격에 의해 취약점을 가질 수 있다.
-> Version Downgrading 이 가능하기 위해서는 서버에서 V1, V2를 모두 지원하도록 셋팅 되있어야 한다.
** Countermeasure
-> SSH Server와 Client 모두 SSHv2만 사용하도록 설정한다.
-> Switch 보안
#1 SSH Downgrade Attack 과정
-> 1, 서버는 SSHv1과 SSHv2를 동시에 지원함을 클라이언트에게 알린다.
-> 2. 공격자는 버전 스트링 SSH-1.99를 SSH-1.5로 조작하여 서버가 SSHv1만 지원하는 것처럼 보이게한다.
-> 3. 클라이언트는 서버의 버전에 맞춰 SSHv1으로 통신하는 것으로 알린다.
#2 ettercap을 통해 데이터 변조해보기
** XP : 1.1.1.3
** CentOS : 1.1.1.2
** BackTrack : 1.1.1.1
=> 같은 대역에서 실습한다. XP나 CentOs에서 보내는 사람이 good을 보내면 수신하는 사람은 hello로 수신한다.
@@ BackTrack에서 ettercap 사용 - MITM 공격
-> good 데이터를 hello로 변환시켜주는 filter_test.elf 파일을 작성한다.
-> etterfilter -o filter filter_test.elf 를 통해 filter_test.elf 파일을 필터파일로 ettercap이 사용할 수 있도록 만든다.
-> ettercap -T -M arp -F filter /1.1.1.2/ /1.1.1.3/ 을 통해 MITM 공격을 실행한다. 1.1.1.2과 1.1.1.3이 통신하는 데이터중 good이라는 데이터를 보내면 hello로 전달된다.
-> -T : text 모듈 , -M arp : MITM 공격 , -F : 필터파일지정 , 1.1.1.2와 1.1.1.3로 공격대상을 지정
@@ nc를 통해 XP와 CentOS간에 통신해보기
-> nc를 통해 8888번 포트로 XP는 -lvp로 포트를 열고있고 CentOs는 1.1.1.3의 8888번 포트로 접속한다.
-> good데이터를 보내면 받는 사람은 hello로 데이터를 수신한다.
#3 SSH Downgrade Attack 해보기
*** CentOS 서버에서 취약한 설정
-> SSHv2이면 안전한 설정이지만 ( 기본값 설정 ), SSHv1과 SSHv2 둘다 설정하게되면 공격자가 악의적으로 중간에서 SSHv1 설정으로 클라이언트에게 보내고 클라이언트는 SSHv1방식을 통해 서버와 통신하면 서버도 SSHv1 방식으로 통신한다.
-> Protocol 1,2 : 취약한 설정이다.
*** BackTrack에서 ettercap을 통해 Downgrade Attack
#> vim /usr/local/share/ettercap/etter.filter.ssh
-> if문에서 TCP통신을 SSH를 통해 출발포트가 22번이면 SSH-1.99를 SSH-1.51로 취약하게 변경한다.
-> ettercap을 사용하도도록 ett.ssh로 변환
-> ett.ssh 필터파일을 통해 ettercap 으로 MITM공격을 1.1.1.2와 1.1.1.3 대상으로 실행
@@ XP에서 CentOS로 원격접속해보기
@@ BackTrack에서 확인
-> 공격자는 Dowgrade Attack을 통해 root계정의 비밀번호를 획득할 수 있다.
#4 SSH Downgrade Attack 해보기 - ettercap GUI사용
#> ettercap -G
** Sniff
-> 인터페이스를 eth1으로 지정한다.
** Hosts
-> Add to Target1 , Add to Target2 를 통해 타겟을 지정한다.
** MITM
-> MITM공격으로 arp spoofing공격을 한다.
** Filters
-> 만들어놓은 ett.ssh 필터파일을 지정한다.
** Start
-> arp spoofing 공격으로 MITM 을 진행한 뒤 Filter파일로 인해 SSHv1 버전을 서버가 클라이언트에 보냈다고 클라이언트가 인식하므로 취약한 SSHv1로 통신하게된다.
** 결과
-> 서버의 root계정과 root계정의 패스워드가 확인가능하다.
'정보보안 > 네트워크보안' 카테고리의 다른 글
네트워크보안_ Linux_UTM 장비 다뤄보기 (0) | 2018.11.09 |
---|---|
네트워크 보안_ SNMP 취약점 - TFTP서버 (0) | 2018.11.09 |