분석

    [LOB] Level3: cobolt → goblin (renew)

    [LOB] Level3: cobolt → goblin (renew)

    goblin keyword : BoF+env+argv /* The Lord of the BOF : The Fellowship of the BOF - goblin - small buffer + stdin */ int main() { char buffer[16]; gets(buffer); printf("%s\n", buffer); } 0x01. Static Analysis 앞서 문제 cobolt와 다른점은 cobolt에서는 main함수의 argv로 입력값을 받았다면, 지금 문제는 gets를 이용하여 문제를 받는다. 따라서 값을 넘겨주는 방식의 차이만 있을 뿐 앞 문제와 풀이 과정은 동일하다. 0x02. Dynamic Analysis & Exploit cobolt 문제와 동일하게 환경변수에 쉘코드를 넣고 문제..

    [LOB] Level2: gremlin → cobolt (renew)

    [LOB] Level2: gremlin → cobolt (renew)

    Cobolt keyword : BoF+env 0x01. Static Analysis /* The Lord of the BOF : The Fellowship of the BOF - cobolt - small buffer */ int main(int argc, char *argv[]) { char buffer[16]; if(argc < 2){ printf("argv error\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); } 주어진 cobolt바이너리의 소스코드를 살펴보자.buffer의 크기는 16바이트인데 strcpy로 크기 제한없이 argv의 인자값을 buffer로 복사한다.전 문제인 gremlin과 마찬가지로 BoF 취약점이 존재한다..

    [Reversing.kr]Easy Crack

    [Reversing.kr]Easy Crack

    Easy Crack 파일을 다운받아 실행시켜 보면 입력창과 확인버튼이 있다. 아무 내용을 넣고 확인을 누르면 "Incorrect Password"라는 경고창이 뜬다. 해당 파일을 분석해서 Password가 뭔지 찾아내면 될 것 같다. 분석※ OllyDbg프로그램에 대한 기본 단축키와 디스어셈블리 언어를 기본적으로 알고있다는 가정하에 진행합니다. 처음 디버거에 붙이면 401188주소에서 시작된다. 한줄 한줄씩 분석해서 내려가자. 401251주소에서 401000주소부분을 콜하는 것을 볼 수 있다. 해당 라인을 실행(단축키 : F8) 시키면 아까와 같이 입력창이 뜬다.그러면 401000주소 부분에 입력창을 뜨게 하는 명령이 있다는 것을 추측할 수 있다.해당 주소로 가보자. 401000주소부터 하나씩 분석해가며..

    리버싱(Reversing)이란?

    리버싱(Reversing)이란?

    리버싱(Reversing) 리버싱(Reversing)은 리버스 엔지니어링(Reverse Engineering)이라고 한다. 소프트웨어 공학의 한 분야로, 이미 만들어진 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 일을 말한다. 이것은 시스템을 이해하여 적절히 변경하는 소프트웨어 유지보수 과정의 일부이다. [네이버 지식백과] 예를들어 exe파일이 생성되는 과정을 한번 보면, 제일 먼저 프로그래머가 1. 소스코드를 작성 2. 컴파일(Compile)3. 링킹(Linking)4. exe파일 생성이러한 순서로 진행 되게 된다. 앞서 사전적 의미와 같이 이렇게 만들어진 exe파일을 거꾸로 분석하면서 기계어와 1:1대응되는 어셈블리어, 좀 더 깊게는 원시코드를 알아내는 것이 리버스 엔지니어..

    디지털 포렌식의 절차(6단계)

    디지털 포렌식의 절차(6단계)

    디지털 포렌식의 절차(6단계) 디지털 포렌식의 절차(6단계) 1. 사전 준비2. 증거수집3. 증거포장 및 이송4. 조사 분석5. 정밀 검토6. 보고서 작성 1. 사전 준비 디지털 포렌식 절차를 신뢰적, 효율적, 체계적으로 실시 할 수 있는 독립 또는 통합도구 준비저장매체 준비 '유령'드라마에서도 소지섭이 휘발성 데이터를 체크하기위해 별도의 Tools이 설치된 USB를 사용하는 것을 볼 수 있습니다. 2. 증거 수집 ​디지털 증거물 획득 절차에는 6단계가 있습니다. 1) 초기대응현장 도착 및 보호 (폴리스라인 등 경계선 설치)현장 수색 및 시스템 파악현장 정밀 수색 2) 휘발성 데이터 수집프로세스 정보, 레지스터, 캐시메모리, 네트워크 연결정보, 로그온 세션, 임시파일 등.. 수집합니다. 영상에서 소지섭이..

    메타스플로잇을 통한 윈도우 취약점 공격(MS08_067 취약점 공격)

    메타스플로잇을 통한 윈도우 취약점 공격(MS08_067 취약점 공격)

    MS08_067 취약점 오늘은 MS08_067이라는 MS사의 취약점을 이용한메타스플로잇 공격을 할건데요^^ 프스팅에 앞서 !! 주의 사항 : 이를 이용한 공격은 상대방의 동의를 얻거나, 개인용 컴퓨터에서 학습용으로 사용할 것을 당부드립니다. 이를 사용하여 타인에게 공격하여 생기는 모든 책임은 당사자에게 있습니다. 당부말씀 일단 드리고 시작하겠습니다 :) 그럼 이제 먼저 영상을 통해서 소개해 드리겠습니다. 부족하지만... ^^; 잘 봐주세요 ㅎㅎ YouTube 설정(톱니모양) 클릭하셔서 720p를 선택하시면 깔끔하게 보실수 있습니다. http://www.youtube.com/watch?feature=player_detailpage&v=osOrBNyhUaM 준비물 : nessus(설치, 계정), BacktT..

    [CodeEngn]Basic RCE_Level 01 문제풀이

    [CodeEngn]Basic RCE_Level 01 문제풀이

    http://codeengn.com/challenges/ 위 링크(코드엔진) 사이트에서 제공하는 abex문제를 풀어보겠습니다. 분석. Level 01에 파일은 다운로드 하여 실행시켜보면 아래와 같은 알림창이 뜹니다. "Make me think your HD is a CD-Rom."이라는 문구가 출력되는데. 처음에는 무슨 뜻인지 몰랐으나, 뒤에 CD-Rom을 보고나서 HD가 HDD(Hard Disk)를 말하는 건가? 라는 생각을 했습니다. "확인"버튼을 클릭하면 아래와 같은 알림창이 뜹니다. "Nah... This is not a CD-ROM Drive!" 라고 뜨면서 Error창이 뜹니다.첫번째 알림창 내용으로 추측해보면, 자신의 HDD를 CD-ROM으로 인식하게끔 변경 시키라는것 같습니다. OllDbg..