용오름체험휴양마을영농조합법인 / 홍천 용오름캠핑장 팸투어 다녀왔어요.

용오름체험휴양마을영농조합법인 / 홍천 용오름캠핑장 팸투어 다녀왔어요. 강원도 홍천 서석면에 위치해있으며 1급수 용오름계곡 바로 옆에 있습니다.홍천군 1등 마을로 마을에서 직접 관리하는 용오름캠핑장,펜션 10개를 운영하고 있으며 각종 모임이 가능하도록 식당,회의실,야외무대가 설치되어 있습니다.홍천군 1등 마을답게 캠핑장,펜션 마을 전지역 wi-fi 사용이 가능하며 매년 봄 팸투어 실시, 여름엔 마을에서 재배한 홉으로 직접만든 맥주축제,마리소리 음악축제 를 열고 있습니다.계곡의 경우 수심이 다양하여 다이빙 포인트가 2곳이 있으며 아이들이 안전하게 물놀이를 할 수 있는 곳도 여러 곳 있습니다. 홍천 용오름캠핑장 팸투어 다녀왔어요. 요즘은 농산촌체험마을에서 캠핑과 여러프로그램을 같이 하는 곳이 추세더라고요. 아미산이 둘러쌓인 청정계곡이 흐르는 아름다운 용오름체험휴양마을 에서 운영하는 홍천 용오름캠핑장 팸투어 다녀왔어요. 테크 앞 강이... 붕어빵 가족의 담너머 세상구경 https://m.blog.naver.com/1092119/220711235599 가을여행-홍천여행- 홍천 용오름 마을 첫째날 여행의 계절 가을입니다. 요즘 저희는 강원도에 꽃힌 상태인지라...카페 행복한 이티씨와 함께하는 홍천 용오름 마을 1박2일 체험에 참가를 하였답니다! 평소 체험 시간보다 조금 늦은 출발을 해서 차가 밀리지 않으려나... 귀여운 단지 https://m.blog.naver.com/sanguidan/50181593653 용오름마을 캠핑장 여름휴가의 시즌이다.. 강원도의 계곡과 시원함을 만끽하기 위해 캠핑장을 검색하다 우연히 알게 된 홍천의 용오름 캠핑장.. 성수기라 캠핑장 요금들이 사악하다 용오름캠핑장 옆엔 해미르 캠핑장이 있는데... ★살로몬의 잇츠캠핑★ https://m.blog.naver.com/freeguy9040/20163628934 맥주효모로 만든 용오름맥주마을 바쏘 맥주샴푸와 맥주마스크팩... 1988년까지 맥주 원료인

CVE-2012-1823 취약점 분석 (PHP-CGI)

CVE-2012-1823 취약점 분석 (PHP-CGI)

취약점 요약

2012년 1월 PHP 5.4.2 이전 버전에서 원격 코드 실행(RCE, Remote Code Execution)이 가능한 취약점이 발견됐다. 1월에 최초로 발견되어 CVE-2012-1823로 명명됐다. 취약점이 발견된 후 즉시 보안 조치가 적용되지 않다가 5월 6일 보안 패치가 적용됐다. 이 취약점은 sapi/cgi/cgi_main.c 파일 내의 CGI 스크립트(php-cgi)가 –s, -d, -c 등과 같은 매개 변수를 적절히 검증하지 않아 발생한다.

공식 홈페이지

대상

영향을 받는 버전의 5.3.12 또는 5.4.2 이전 버전을 사용하는 모든 시스템에 취약점이 노출되어 있다.

구분 제품명 버전 취약한 대상 PHP 5.3.12 이전 버전 5.4.2 이전 버전 권고 대상 PHP 5.3.12 이후 버전 5.4.2 이후 버전

환경 설정

연구와 학습 목적으로 취약하게 설정되어 있는 메타스플로잇테이블 버전2(Metasplitable V2)를 대상으로 CVE-2012-1823 취약점을 실습한다.

http://sourceforge.net/projects/metasploitable/files/Metasploitable2/

취약점 공격

취약점 공격 시 주로 사용되는 php-cgi 옵션과 php.ini 파일의 설정이다. 해당 옵션 및 설정을 가지고 원격 코드 실행이 가능한 공격이 가능하다.

옵션 내용 -s 소스코드에 색을 입혀 출력 -n php.ini 파일 사용하지 않음 -d php.ini 파일에 정의된 설정 내용 조작

설정 내용 allow_url_fopen=1 외부 URL 파일을 로드 allow_url_include=1 외부 파일을 include, include_once, require, require_one 함수와 같이 포함할 때 사용 auto_prepend_file=php://input HTTP 요청 바디에 있는 데이터를 실행

엔맵 스크립팅 엔진(NSE, Nmap Scripting Engine)을 이용해 메타스플로잇테이블 대상 내의 PHP 버전을 확인한다. 스캔 결과가 종료되면 PHP 버전이 출력되며, 출력된 버전을 보면 CVE-2012-1823 취약점에 해당하는 버전을 사용한 것으로 확인된다.

PHP 버전 확인

PHP로 구성된 웹 사이트에 매개변수 "-s"를 지정하면 "php-cgi –s"가 실행되어 웹 사이트의 소스코드가 노출된다.

소스코드 노출

매개변수 "-d", php.ini 파일의 설정 내용 "auto_prepend_file"을 지정하면 "php-cgi –d auto_prepend_file=/etc/passwd가 실행되어 패스워드 파일이 노출된다.

패스워드 파일 노출

매개변수 "-d", php.ini 파일의 "allow_url_include, auto_prepend_file"을 이용하면 시스템 명령어를 사용할 수 있다. 다음과 같이 HTTP 헤더, HTTP 바디에 데이터를 입력 후 서버로 요청하면 shell_exec() 함수가 실행되어 현재 접속된 사용자의 정보가 출력된다.

원격 코드 실행

외부에서 shell_exec() 함수를 사용할 수 있다는 것은 아파치 권한으로 실행될 수 있는 모든 명령어를 사용할 수 있다. 다음과 같이 wget 명령어로 웹쉘 파일을 업로드 시도하면 정상적으로 업로드 된다.

웹쉘 업로드

업로드한 디렉토리로 이동하여 웹쉘 파일을 실행한다.

웹쉘 실행

메타스플로잇 프레임워크(MSF, Metasploit Framework)를 이용해 해당 취약점 모듈을 선택 후 공격을 수행한다. 취약점 공격에 성공하면 웹 서버와 리버스 커넥션이 맺어지게 되어 시스템 쉘이 획득된다.

자동화 취약점 공격

공격 수행 중 패킷을 보면 php.ini 파일 설정을 무시하고 HTTP 바디에 있는 데이터를 먼저 처리하게 된다. 즉, 원격 코드 실행 시 사용한 HTTP 헤더, HTTP 바디와 동일한 페이로드이다.

공격 시 패킷

취약점 발생 원리

CVE-2012-1823 취약점은 sapi/cgi/cgi_main.c 파일에서 매개변수를 검증하지 않아 발생되는 취약점이다. 취약점이 발생한 소스코드를 보면 while()문 내의 매개변수를 검증하는 코드가 존재하지 않아 취약점이 발생한다. if문은 cgi 사용 여부, while문은 php-cgi 옵션이 존재하면 php-cgi에 전달되는 구문이다.

취약점 발생 소스코드

대응 방안

취약점이 존재하지 않는 버전으로 업데이트

from http://dazemonkey.tistory.com/20 by ccl(A) rewrite - 2020-03-14 00:20:06

댓글

이 블로그의 인기 게시물

[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용...

phpmyadmin 설치 차분히 따라해보자

용오름체험휴양마을영농조합법인 / 홍천 용오름캠핑장 팸투어 다녀왔어요.