정보보안(구버전)/공격툴&정보수집 2016. 5. 26. 15:07
공격툴&정보수집 - 14. exploit-db 사이트 & 활용 방법
본 내용은 교육 과정에서 필요한 실습 목적으로 구성된 것이며, 혹시라도 개인적인 용도 및 악의적인 목적으로 사용할 경우, 법적 책임은 본인에게 있다는 것을 알려드립니다.
- 프로그램, 운영체제, 데이터베이스, 전송 및 보안 장비/운영체제에 대한 취약점 분석 코드 제공
- Zero Day 공격 기간 이후 해결 방안을 제시하는 취약점 코드 및 공격 코드 제공
- Kali Linux에는 exploit-db에서 제공하는 취약점 코드들이 내장되어 있음
[참고] Zero Day 공격
프로그램, OS, DB, 장비의 보안 취약점이 발견되고, 이를 해결하는 패치가 발표되기도 전에 그 취약점을 이용한 악성 코드 및 해킹 공격을 수행하는 공격
Ex1) exploit-db 사이트 활용 (Bash Shell Bug - 2014년 9월 24일 발견)
- Bash Shell : 사용자가 CLI 기반에서 명령어를 입력하면 운영체제가 이에 대응하는 동작하게 하는 명령어 해석기이다.
- Bash Shell Bug : Bash로 해당 명령을 실행했을때, 그에 대응하는 결과 뿐만 아니라, 다른 결과까지 실행되는 버그이다.
- Bash Shell Bug 관련 기사
http://www.edaily.co.kr/news/NewsRead.edy?SCD=JE41&newsid=01387446606224712&DCD=A00504&OutLnkChk=Y
http://www.ddaily.co.kr/news/article.html?no=122932
- exploit-db 사이트를 이용하여 Bash Shell Bug 관련된 내용을 찾아보도록 한다.
http://www.exploit-db.com -> Search -> 'GNU bash' 검색 (https://www.exploit-db.com/exploits/34765/)
GNU Bash - Environment Variable Command Injection (Shellshock) 클릭
(바로가기 : https://www.exploit-db.com/exploits/34765)
Exploit Database Note:
|
env x='() { :;}; 명령어는 함수를 이용한 환경변수 설정의 기본 형식이다. 만약, 명령어 끝나는 ; 뒤에 명령어는 오류가 발생하거나, 실행되지 않는게 원칙이다. 취약점이 있는 경우에는 echo vulnerable의 환경 변수를 이용하여 "echo this is a test" 를 실행하게 된다. 이때 { :;}; 에서 ':'는 참을 의미하기 때문에 무조건 함수가 실행된다.
다음과 같이 테스트를 실시한다.
Ex2) Bash Shell Bug 유무 확인
@ CentOS
[root@CentOS /root]# env x='() { :;}; cat /etc/passwd' bash -c "echo this is a test"
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
~ 중간 생략 ~
- 함수 선언 뒤에 임의의 명령어를 삽입했을 경우, 유효성 검증 단계 없이 명령어를 실행한다.
- Bash Shell Bug 취약점을 갖고 있는 대표적인 버전은 다음과 같다.
bash-4.2.45-5.el7_0.2
bash-4.1.2-15.el6_5.1
bash-4.1.2-15.el6_5.1.sjis.1
bash-4.1.2-9.el6_2.1
bash-4.1.2-15.el6_4.1
bash-3.2-33.el5.1
bash-3.2-33.el5_11.1.sjis.1
bash-3.2-24.el5_6.1
bash-3.2-32.el5_9.1
bash-3.2-32.el5_9.2
bash-3.0-27.el4.2
- 현재 Bash 버전을 확인한다.
[root@CentOS /root]# rpm -qa | grep bash
bash-3.2-32.el5_9.1
- Bash Shell Bug 해결 방법은 다음과 같이 최신 버전으로 업데이트를 실시한다.
[root@CentOS /root]# yum -y install bash
[root@CentOS /root]# rpm -qa | grep bash
bash-3.2-33.el5_11.4
- Bash Shell Bug가 있는지 확인한다.
[root@CentOS /root]# env x='() { :;}; cat /etc/passwd' bash -c "echo this is a test"
this is a test
[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)
공격툴&정보수집 - 14장 exploit-db 사이트 & 활용 방법 (Bash Shell Shock) https://youtu.be/GfWLtvcLNAI
'정보보안(구버전) > 공격툴&정보수집' 카테고리의 다른 글
공격툴&정보수집 - 16. DNS 정보 수집 (0) | 2016.05.26 |
---|---|
공격툴&정보수집 - 15. 말테고(maltego)를 이용한 정보 수집 (0) | 2016.05.26 |
공격툴&정보수집 - 13. HTTPs 패스워드 크래킹 (sslstrip) (0) | 2016.05.26 |
공격툴&정보수집 - 12. SNMP Sniffing 공격 (0) | 2016.05.25 |
공격툴&정보수집 - 11. DNS Spoofing 공격 (0) | 2016.05.25 |