일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- anxi0
- argc
- ultra argv hunter
- lob 10번
- pythonexe
- 써니나타스 1번
- kostat
- lob 9번
- 서니나타스
- troll to
- 써니나타스
- 쉘코드
- orge to troll
- 자료개방포털
- kosis
- IS함수
- 마크업 언어
- 범용레지스터 #레지스터 #어셈블리 #ASM #리버싱 #어셈블리어 #EAX #ESP
- 빅데이터
- lob
- pythoncli
- argv
- mode함수
- R언어
- pyinstaller
- 데이터형
- 결측치
- wolfman to darkelf
- lob 7번
- 포너블
- Today
- Total
ANX1-Z3R0의 불안극복(不安克服)
lob tips 본문
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 |