초소형 ELF 를 만들거나 쉘코드를 ELF 로 만들때 아주 좋다.
바이너리를 a.bin 에 준비시켜놓고 쉘스크립트를 실행시키면 ELF 헤더가 알맞게 붙어서 a.out 으로 생성된다.
Thanks to bla.
#!/bin/bash
(
# Tiny ELF stub based on:
# http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
echo -ne "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x00"
echo -ne "\x00\x54\x80\x04\x08\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x20\x00\x01\x00"
echo -ne "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x08\x00\x80\x04\x08"
echo -ne "$(printf %08x $((84+$(stat -c %s a.bin))) | sed -r "s/(..)(..)(..)(..)/\\\\x\4\\\\x\3\\\\x\2\\\\x\1/g")"
echo -ne "$(printf %08x $((84+$(stat -c %s a.bin))) | sed -r "s/(..)(..)(..)(..)/\\\\x\4\\\\x\3\\\\x\2\\\\x\1/g")"
echo -ne "\x05\x00\x00\x00\x00\x10\x00\x00"
cat a.bin
) > a.out
chmod +x a.out
'Shellcode' 카테고리의 다른 글
Shellgen v1.0 (0) | 2014.06.03 |
---|---|
egg.c (0) | 2014.03.25 |
FreeBSD ARM overwrite (0) | 2013.07.24 |
FreeBSD ARM readkey (0) | 2013.07.24 |
FreeBSD ARM remote (0) | 2013.07.24 |