이번 문제는 Fedora 3 LOB 의 마지막 문제입니다 ! 문제보시죠 ~xshell 을 이용해서 풀어봤는데 뭔가 더 보기가 좋네요 ㅎㅎ. 앞으로는 xshell 사용키로 했습니다.아무튼, 이번 문제는 전 문제와 풀이는 같지만 fgets 함수의 임시버퍼 부분을 지웁니다.xinetd 환경이라는 것을 빼면 다를 것이 없지만 전 문제와 똑같은 방식으로 풀면 풀리지 않을 확률이 높습니다.왜 그런지에 대해서 한 번 보고 시작하죠.일단 printf@got 주소는 0x804984c 입니다. 그렇다면 got 의 주소와 범위를 살펴보도록 하죠.data 영역의 주소와 printf@got 주소의 차이가 0x10 밖에 안나기 때문에 가젯을 잘못사용하면, data 영역을 침범하는 사태가 발생합니다. 그렇기 때문에 이번 문제에서는..
드디어 ! PPR 가젯을 제공하는 문제에 도달했습니다. 문제 보시죠.크... 엄청나게 기네요...중요한 곳은 두 곳이 있습니다. PPR(pop pop ret) 가젯과 setre* 계열 함수의 제공입니다. 즉, 간단한 ROP(Return Oriented Programming)의 개념을 이용한 문제라는 것을 알 수 있습니다 !plt, got, ppr 등을 모두 알고있다고 가정한 후에 문제를 풀겠습니다.먼저 공격 코드를 구성해보면,| buf(268) | +| strcpy@plt | ppr | printf@got+0 | system[0] | +| strcpy@plt | ppr | printf@got+1 | system[1] | +| strcpy@plt | ppr | printf@got+2 | system[2] ..
이번 문제는 fgets 로 입력을 받고 입력받은 것을 strcpy 로 옮겨주는 문제입니다. 버퍼는 256 바이트만큼 입력받는데 fgets 로 1024 바이트만큼 입력받은 값을 옮기기 때문에 취약합니다.먼저, 힌트를 보시면 fake ebp 나 got overwrite 를 사용하라고 나와있습니다.만... 사실 두 가지 방법 외에도 do_system 을 이용한 공격이 가능한데... 이것은 따로 찾아보시기 바랍니다.아무튼... 저는 원래 쉽고 간단한 do_system 으로 풀었습니다만, 여러분들을 위해 !mprotect 라는 함수를 이용한 방법을 소개해드리겠습니다.(워 게임에서 mprotect를 사용한 것은 이 문제가 최초군요.)일단 환경은 ASLR, Ascii-Armor, NX-Bit 입니다. 하지만 stdi..
이번에는 조금(?) 참신한 문제입니다.이번에는 Fake EBP 가 안먹히도록 ebp 주소를 저장해놨다가 복구시키네요...이것은 execl+3 을 사용하지 못하도록 하려는 제작자의 배려(?)입니다...사실 전 첫 번째 문제도 RET Sled 로 풀었는데... 두 번째 문제라서 살짝 당황했었습니다.(execl+3 은 이후에 알게된...)아무튼 RET Sled는 Nop Sled 와 비슷한 원리입니다. ret이 수행되면, pop eip; jmp eip 의 동작이 수행됩니다. 그렇게 되면 esp의 값이 4 바이트만큼 증가하게 되죠 ? | ebp(4) | ret(ret) | new ret | -> ret에 ret을 넣어주면 그 뒤의 값이 ret으로 바뀌는 원리를 이용하는 것입니다. 이게 통하는 이유는 스택의 모든 ..
매우 간단한 문제입니다.그 대신 이제 ASLR, Ascii-Armor, NX-Bit 가 걸려있어서 쉘코드를 실행시키기도 어렵고, 공유라이브러리 함수를 연결시켜서 수행하기도 힘듭니다. 그 대신 정말 참신한 방법이 존재합니다. 바로, execl+3 의 주소를 이용하는 겁니다.이 글 읽는 분들이라면 아마 스택이 어떤식으로 만들어지고, 인자를 어떻게 참조하는지 아실겁니다. 그래도 간단히 보죠.| buf(264) | ebp(4) | ret(4) | 인자1 | 인자2 | -> 이와 같은 식으로 구성됩니다.위와 같이 구성되는 이유는 함수의 프롤로그 때문인데요. 함수가 처음 수행될 때 아래와 같이 수행됩니다.익숙하시죠 ? push ebp; mov ebp, esp -> 이 과정을 거침으로써 위의 기본 스택 구조가,| e..
페도라 버전부터 추가되는 보호기법들은 크게 세 가지입니다.1. ASLRRedhat 9(FTZ) 와는 달리 이제 정말 제대로 된 ASLR이 적용 됩니다.2. Ascii-Armor페도라 버전 부터는 공유라이브러리의 상위 1바이트 주소가 0x00 으로 바뀌었습니다.더 이상 기존의 RTL을 수행할 수 없습니다.3. NX-Bit스택과 힙 부분에서 더 이상 쉘코드를 실행할 수 없습니다.이번에는 간단히 페도라 3 링크만 걸어드리겠습니다 ~Fedora 3 LOB 서버다른 과정은 Redhat 에서 했던 것과 동일하게 하시면 됩니다.
- Total
- Today
- Yesterday
- security
- JavaScript
- defaulttheme
- AWS #CIS
- stateType
- REACT
- IAM
- ViaAWSService
- opensource
- web
- compliance
- 계정정보저장
- Cloud
- .get()
- findinglatestversion
- conftest policy
- scp
- temlate
- ControlTower
- 2xx
- steampipe
- 우주와컴퓨터
- cloudsecurity
- teplate
- 4xx
- fleet manager
- CIS
- aws
- terraform
- platform
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |