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

lob tips 본문

HACKING/[HACKING] TIPS

lob tips

ANX1Z3R0 2020. 7. 28. 22:07

LOB

(이하 Lord of Bufferoverflow)

 

Red hat 6.2 버전이다.

 

정말 잘 만들었지만, 가끔 문제가 발생한다.

 그것들의 해결법을 좀 짜집기 한 글이다.

 

바로 가보자.

 

1. 쉘코드 문제?????

 

원래

\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80

이 24byte 쉘코드를 많이들 쓰는데

 

쉘코드가 잘 먹히다가 가끔 안 먹히는 경우가 있다.

중팔구 자신의 잘못이지만(복사를 잘못했다거나, 문법을 지키지 않았다거나), 

가끔 쉘코드를 잘 못 썼을 때도 안 먹힌다.

그럴 땐

 

\x31\xc0\x50\xbe\x2e\x2e\x72\x67\x81\xc6\x01\x01\x01\x01\x56\xbf\x2e\x62\x69\x6e\x47\x57\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80

(35 byte shellcode)

 

이걸 써보자.

 

0x2f 때문인데, 0x2f는 문자로 '/' 이며 경로를 구분하는것으로 인식되어 잘 먹히지 않게 된다.

그러니깐 저걸 써보자.

 

2. bash2

 

LOB shell 기본값은 bash다.

하지만 bash에서는 \xff를 NULL로 인식하기 때문에 쉘코드를 원하대로 인식시킬 수 없다.

명령어로 bash2를 입력하면 간단하게 해결된다.

하지만, bash2환경이 되어도 gdb는 bash환경에서 디버깅이 되므로 

<- export SHELL=/bin/bash2 

로 바꿔준다.

하나 더 하자면,

<- vi /etc/passwd

를 한 후

esc를 누르고, 

<- :%s/bash/bash2/

를 쳐준다.

그럼 bash2로 치환이 알맞게 된다.

 

3. 더 빠르게 LINUX EXPERT가 되는 법

 

단 세가지다.

 

TAB, ↓ , ↑

 

위, 아래로 전에 쳤던 명령어를 오갈 수 있고, 

명령어나 파일명을 절반만 치고 TAB을 눌러도 자동완성을 해준다.

 

4. Illegal instruction

 

가끔 ret주소가 제대로 작동 안하고 Illegal instruction error를 뱉어내는데,

페이로드가 다 작성된 후 분석용 복사 파일을 gdb로 다시까서

페이로드를 삽입한 후의 ret주소를 다시 구해서 넣어라. 그럼 잘 작동된다.

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

WSL 설정  (0) 2020.10.19
gdb-peda 설치하는법 | anxi0  (0) 2020.08.05
리눅스 한글화  (0) 2020.08.02
linux가 깔리면 해야할 것  (0) 2020.07.28
Comments