Write up (Wargame)/Pwnable

[pwnable.kr] shellshock 풀이, CVE-2014-6271

2023. 9. 20. 19:40
목차
  1. Analysis
  2. ShellShock (CVE-2014-6271)
  3. Solution
반응형

 

Analysis


bash? 와 관련있다고 하는데 Olday 취약점인가?

 

#include <stdio.h>
int main(){
	setresuid(getegid(), getegid(), getegid());
	setresgid(getegid(), getegid(), getegid());
	system("/home/shellshock/bash -c 'echo shock_me'");
	return 0;
}

 

코드가 매우 짧다.

 

setresuid, setresgid를 통해 set uid가 걸려있던 shellshock 바이너리의 권한을 shellshock_pwn으로 수정한다.

 

그러고보니 shellshock를 bomb lab에서 했는데. 그 때에는 웹을 통해서 공격했었다.

이 문제에서는 쉘을 그대로 공격하는 것으로 원리를 알아가야겠다.

 

 

ShellShock (CVE-2014-6271)


shellshock는 2014년에 발견된 bash쉘의 취약점이다.

bash는 unix 및 시스템에서 널리 사용되는 쉘 중 하나로 이 취약점을 이용하면 RCE (Remote Code Execution)이 가능하다.

 

이 취약점은 환경변수를 처리하는 방식에서 발생한다. bash에서는 특별한 형식의 환경변수를 통해 함수를 정의할 수 있도록 용했다.

asdf가 echo hihi가 된다.

 

그러나 이러한 환경 변수를 처리할 때, 함수 정의 다음에 오는 추가 명령어도 실행하도록 했다.

 

여기서

와 같이 입력한다.

그러면 다음 bash를 실행시킬 때 환경변수를 읽어오는 과정에서, 이를 함수로 읽어온다.

asdf를 test 함수로 인식하여 asdf를 하면 echo test한다.

위는 추가 명령어를 실행하는 예시이다.

함수 정의 이후, 세미콜론을 이용하여 원하는 명령어를 command injection가능하다. 취약한 bash를 실행시켰는데, ls를 자동으로 실행한 모습.

 

문제 바이너리에서는 취약한 bash를 실행시킨다.

우리는 이를 이용하면 환경변수만을 이용하여 flag를 읽을 수 있을 것이다.

 

Solution


함수 정의 뒤에 flag를 읽어들일 명령어를 삽입한다.

반응형
  1. Analysis
  2. ShellShock (CVE-2014-6271)
  3. Solution
'Write up (Wargame)/Pwnable' 카테고리의 다른 글
  • [pwnable.kr] blackjack 풀이
  • [pwnable.kr] coin1 풀이
  • [pwnable.kr] mistake 풀이
  • [pwnable.kr] leg 풀이
그믐​
그믐​
그믐​
neutrinox4b1
그믐​
전체
오늘
어제
  • 분류 전체보기 (288)
    • Write up (Wargame) (121)
      • Pwnable (60)
      • Reversing (0)
      • Web Hacking (8)
      • Forensic (1)
      • Cryptography (6)
      • LOB (10)
      • misc (0)
      • SF pwnable 기초 (10)
      • SF pwnable 심화 (1)
      • LOS (25)
    • Security (73)
      • 시스템 해킹(PWN, System) (21)
      • 리버싱(Reverse Engineering) (1)
      • 포렌식(Forensic) (3)
      • 암호학(Cryptography) (44)
      • 네트워크(Network) (1)
      • 임베디드(Emebedded) (0)
    • Develop & CS (38)
      • Algorithm & Data Structure (6)
      • Baekjoon (11)
      • C, C++ (8)
      • Python (2)
      • R (1)
      • etc (8)
    • 프로젝트(Project) (7)
      • 시간표&급식 파싱 (1)
      • 남방진동지수 (1)
      • 네트워크 해킹 (5)
    • Daily life (44)
      • My Book (10)
      • Book Review (1)
      • IT Review (1)
      • 일상 팁 (19)
      • 네트워크관리사 (2)
      • 근황 (11)
    • 수학&과학(Mathematics & Science.. (4)

인기 글

공지사항

  • Wargame, CTF별 검색 키워드 정리
hELLO · Designed By 정상우.
그믐​
[pwnable.kr] shellshock 풀이, CVE-2014-6271
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.