최종 수정: 2014-06-22 안녕하세요. Hackability 입니다. 이번 포스팅은 리눅스에서 기초적인 쉘 코드를 만들어 봄으로써 쉘 코드가 어떻게 만들어 지고 동작될 수 있는지 보도록 하겠습니다. 제가 테스트할 환경과 사용할 프로그램은 다음과 같습니다.- Linux Backtrack 5 R2 (Ubuntu)- nasm- objdump- gcc * 앞으로 쉘 코드는 어셈블리 언어로 작성을 할텐데 따로 공부하실 필요 없이 작성 하시면서 보셔도 이해하는데 무리가 없을 것 같습니다. 먼저 다음과 같은 파일을 하나 만들어 줍니다. 02_001.asm1234567[SECTION .text]BITS 32 mov eax, 1mov ebx, 0 int 0x80 각 라인의 의미는 다음과 같습니다. [Line 1]:..
최종 수정: 2014-06-22 안녕하세요. Hackability 입니다. 본 포스팅은 "쉘 코드 기초" 라는 주제로 쉘 코드가 어떤 녀석인지 간단히 정리해보겠습니다. Exploit-DB (exploit-db.com)에서 Linux/x86 Reverse TCP Bind Shellcode (92 bytes)라는 내용은 다음과 같습니다. 보통 이런식으로 된 코드들이 많이 돌아 다니고 있는데, code의 내용이 shellcode의 내용을 담고 있습니다. 제목으로 추측컨데 리눅스 x86 시스템에서 Reverse TCP 동작을 하는 쉘 코드 인것 같습니다. 처음에 쉘 코드를 접했을 때 궁금했던점은 "왜 쉘 코드를 사용하는 것 일까?" 였고 두 번째는 "저 코드는 어떻게 만들어 지는 것 일까?" 였습니다. 먼저, ..
최종 수정: 2014-06-22 안녕하세요. Hackability 입니다. 본 카테고리는 쉘 코드 작성을 위한 기초 가이드로써 윈도우와 리눅스에서 어떻게 쉘코드를 만들고 동작하는지에 대한 내용을 정리하려고 합니다. 익스플로잇 코드를 접할 때마다 나오는 쉘코드를 보며 "저 코드는 과연 뭘까?" 라는 의문을 갖게 되는데 저 처럼 궁금증을 갖고 계신 분들을 위해 조금이나마 도움이 될까 해서 정리해 보려고 합니다. 궁금하신 점이나 잘못된 부분이 있으면 언제든지 지적 부탁드립니다. :P
최종 수정: 2014.06.16 안녕하세요. Hackability 입니다. 간만의 포스팅인 만큼 오랜만에 간단한 뉴스 하나 소개드립니다. "큰 해킹 사고가 이제 없을 것이라 생각하는 당신. 미안하지만 이제는 익숙해져야 한다." 라는 재미있는 내용입니다. :) 우리 몇주 간격으로 큰 데이터 해킹 사고를 접하고 있다. 이것은 마치 기름 유출의 온라인 버전과도 같다. 공격자들은 기업의 내부로 침투하여 개인정보를 훔쳐 블랙 마켓에 제공함으로써 우리는 온라인 사기나 도난 등의 큰 위협에 놓여 있다. 어딘가에는 당신의 이름으로 은행 계좌를 열거나 신용카드를 남용할 수 있을 만큼의 정보가 떠다니고 있다. 저번 주에는 P.F. Changs라는 중국 체인지 레스토랑에서 고객들의 신용카드 및 체크카드 정보가 손실되었다. ..
최종 수정: 2014-03-25 안녕하세요. Hackability 입니다. 오늘 포스팅 할 내용은 PHP 에서 입력 문자열 필터링 함수의 취약점을 이용한 우회 기법에 대한 내용입니다. PHP 에서는 HTTP 메소드를 통해 들어 오는 사용자의 입력 검증 또는 필터링을 위해 eregi 와 같은 함수를 사용해 왔습니다. (POSIX Regex) 예를들어, 간단히 다음과 같이 id 입력에 대해 필터링하는 PHP 코드가 있다고 가정 합니다. index.php12345678910 간단히, index.php?id=admin 으로 접근을 하게 되면 "Filtered !!" 라고 뜨게 되고 그 외 아이디를 입력하게 되면 해당 문자열을 출력해주게 됩니다. 문제가 없어 보이지만, PHP 5.3+ 부터 POSIX Regex ..
최종 수정: 2014-03-16 안녕하세요. Hackability 입니다. 오늘 포스팅 할 내용은 N 개의 원소에서 k 번째 원소를 선택하는 효율적인 알고리즘에 대해 포스팅 하려고 합니다. 배열 = [5, 1, 4, 3, 2] 라고 되어 있을 때, 2 번째로 큰 값을 찾아라 하는 문제가 주어졌다고 가정합니다. 보통 이런 문제를 풀기 위해 배열을 정렬 (Sorting) 한 뒤, 2번째 값을 참조 하게 됩니다. 하지만 이럴 경우, 궂이 정렬하지 않아도 되는 다른 부분들을 정렬하게 되면서 효율적이지 못하게 됩니다. 이렇게 k 번째 요소를 선택하는 문제를 해결하기 위해서는 Selection Algorithm을 사용하시는 것이 효율적입니다. 그래서 오늘 소개 드릴 내용은 Quick Selection Algorit..
우리 우주는 어떨까요? 미지의 영역을 한 번 확인해보세요 :)
최종 수정: 2014-02-25 안녕하세요. Hackability 입니다. 오늘 포스팅 할 내용은 IDA에서 디컴파일시 발생하는 "positive sp value has been found" 에러에 대한 내용입니다. IDA에서 F5를 통해 디컴파일시 다음과 같은 에러 메시지가 발생할 수 있습니다. 위 내용은 스택 포인터가 양수 값을 갖는다는 에러 인데요. 스택 메모리 구조 상 지정된 주소는 초기 스택 포인터 보다 낮은 주소에 있어야합니다. (보통 변수를 선언하면 sub esp, 10h 등과 같이 말이죠) 그러므로, 이 에러 메시지가 뜨는 이유는 지정된 주소가 초기 스택 포인터보다 큰 주소에 있기 때문에 발생하는 에러 메시지 입니다. 먼저 예제를 확인해보도록 하겠습니다. 제가 디컴파일 에러가 발생한 위치는..
- Total
- Today
- Yesterday
- WinDbg
- Mona 2
- 쉘 코드
- Use after free
- IE 10 God Mode
- IE UAF
- School CTF Write up
- UAF
- shellcode writing
- IE 10 익스플로잇
- heap spraying
- data mining
- IE 10 Exploit Development
- Windows Exploit Development
- School CTF Writeup
- expdev 번역
- CTF Write up
- 힙 스프레잉
- 2015 School CTF
- 2014 SU CTF Write UP
- IE 11 UAF
- IE 10 리버싱
- 윈도우즈 익스플로잇 개발
- shellcode
- TenDollar
- IE 11 exploit development
- 데이터 마이닝
- 쉘 코드 작성
- IE 11 exploit
- TenDollar CTF
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |