CreateProcessA²ÎÊýÐÍShellcodeµÄ±àÂëÎÊÌâ×êÑÐ
°ä²¼¹¦·ò 2021-12-22µ¥Ò»À´½²£¬£¬£¬¸Ã½ÚÖÆÏµÍ³µÄ·ì϶ÓÉÁ½¸ö·¨Ê½×é³É£º£ºÖ÷ÌⷨʽCoreProcessºÍ¸¨Öú·¨Ê½HelpProcess£¬£¬£¬Ö÷ÌⷨʽCoreProcessͨ¹ýϵͳº¯ÊýCreateProcessAÀ´Æô¶¯HelpProcess£¨Í¬Ê±´«µÝÁËÓйزÎÊý£©¡£ÆäÖУ¬£¬£¬CoreProcessµÄ¼ò»¯´úÂëÈçÏ£º£º

ÏÔÈ»£¬£¬£¬HelpProcessµÄWinMainº¯Êý´æÔÚÒ»¸ö¾µäµÄÕ»Òç³ö·ì϶¡£µ±lpCmdLineµÄÊý¾Ý³¤¶È³¬¹ý400×Ö½Úʱ£¬£¬£¬¶ÔbuffµÄstrcpy²Ù×÷¾Í»á²úÉúÒç³ö£»µ±³¤¶È³¬¹ý404×Ö½Úʱ£¬£¬£¬¾Í»á¸²¸Çµ½eipCallerNext£¬£¬£¬´Ó¶ø½Ù³ÖHelpProcessµÄ·¨Ê½½ÚÖÆÁ÷¡£
»ØËÝ´úÂë¿ÉÖª£¬£¬£¬lpCmdLineµÄÊý¾ÝÆðÔ´ÊÇCoreProcessµÄCreateProcessAŲÓ㬣¬£¬ÇÒÊÇÓû§¿É¿ØµÄ¡£Òò¶ø£¬£¬£¬¸Ã·ì϶µÄÀûÓÿ´ÆðÀ´Êǵ¥Ò»µÄ£¬£¬£¬Ö»±ØÒªÍÆËãºÃeipCallerNextµÄÆ«ÒÆÁ¿²¢ÀûÓÃshellcodeÌî³äbuff¼´¿É¡£¸Ã·ì϶µÄÀûÓÃÁ´ºÍ²Ö¿â²¼¾ÖÈçÏÂËùʾ£º£º

ÔÚÀûÓùý³ÌÖУ¬£¬£¬Ñ¡È¡²âÊÔÌî³ä×Ö·û½øÐÐÒç³öʱ£¬£¬£¬eipCallerNextµÄ¸²¸Ç×ÜÊÇÕýÈ·µÄ£»µ«Ñ¡È¡metasploitµÄshellcodeÀ´Òç³öʱ£¬£¬£¬eipCallerNextµÄ¸²¸Ç¾Í±äµÃ²»ÕýÈ·¡£¶ÔÊý¾Ý½øÐбÈÁ¦ºó·¢ÏÖ£¬£¬£¬shellcodeÔÚCoreProcessºÍHelpProcessÊDz»Ò»ÑùµÄ£¬£¬£¬¼´shellcode´«µÝµ½HelpProcessºó²úÉúÁËŤת¡£´ËÍ⣬£¬£¬Í¨¹ý³¢ÊÔmetasploitµÄ·ÖÆçshellcode£¬£¬£¬·¢ÏÖÕâÖÖŤתûÓÐÏÔÖøµÄ·¨¹æ¿ÉÑ¡£
Õë¶ÔÕâ¸öÎÊÌ⣬£¬£¬ADLabµÄ°²È«×êÑÐÔ±½øÐÐÁËÉî¿ÌµÄ·ÖÎö£¬£¬£¬ÅªÇåÁËCreateProcessA²ÎÊý´«µÝµÄshellcodeµÄ±àÂëÎÊÌ⣬£¬£¬²¢¿ª·¢ÁË×Ô¶¯»¯´¦Öò½Ö裬£¬£¬´Ó¶ø¼æÈÝËÁÒâshellcode¡£
CreateProcessAµÄ²ÎÊý´¦ÖÃ
Windows²Ù×÷ϵͳµÄÄÚºËÊÇÖ§³ÖÈ«Çò¸÷Àà˵»°µÄ£¬£¬£¬ÆäÌṩͳһµÄUnicode±àÂëÐÍÄÚºË̬API£»Õë¶Ô¾ßÌåµÄ¹ú¶È»òµØÓò£¬£¬£¬Windowsͨ¹ýÇøÓò±àÂëÀ´ÊµÏÖ±¾µØËµ»°Ö§³Ö£¬£¬£¬¼´Ansi×Ö·û´®Ð͵ÄÓû§Ì¬API¡£ÕâЩÓû§Ì¬APIÔÚÄÚ²¿ÏȰÑAnsi×Ö·û´®×ª»»ÎªUnicode×Ö·û´®£¬£¬£¬¶øºóÔÙŲÓÃÄÚºË̬API£»Õâ¸öת»»¹ý³ÌÊÇͨÃ÷µÄ£¬£¬£¬Óû§±àдµÄ·¨Ê½¶Ô´ËÎÞ¸ÐÖª¡£
ÔÚWindow²Ù×÷ϵͳÉÏ£¬£¬£¬1¸öUnicode×Ö·ûÓÉ2¸ö×Ö½Ú×é³É£¬£¬£¬1¸öAnsi×Ö·ûÓÉ1¸ö×Ö½Ú»ò2¸ö×Ö½Ú×é³É¡£µ±Ê××Ö½ÚµÄÖµÊÇ0µ½127ʱ£¬£¬£¬ËüÊÇ1¸öASCII×Ö·û£¬£¬£¬¶ÔÓ¦Unicode×Ö·ûµÄ2×Ö½ÚµÄÄÚÈݾÍÊǸÃASCII×Ö·û¼Ó1¸öÌî³ä×Ö·û0£»ÀýÈ磬£¬£¬Ansi×Ö·û¡±A¡±£¬£¬£¬Æä¶ÔÓ¦µÄUnicode×Ö·ûÊÇ¡±A\x00¡±¡£µ±Ê××Ö½ÚµÄÖµ´óÓÚ127ʱ£¬£¬£¬Ôòµ±Ç°×Ö½ÚºÍϸö×Ö½Ú×éºÏÆðÀ´ÊÇÒ»¸öÇøÓò˵»°µÄ×Ö·û£¬£¬£¬ÇøÓò˵»°×Ö·û´æÔÚ¶ÔÓ¦µÄUnicode×Ö·ûÓ³Éä±í£»ÀýÈ磬£¬£¬¡±\xce\xd2¡±µÄ¡°\xce¡±²»ÊÇ1¸öºÏ·¨µÄASCII×Ö·û£¬£¬£¬ËüÖ»Äܺ͡°\xd2¡±½áºÏ×÷Ϊ1¸öÖÐÎÄ×Ö·û¡°ÎÒ¡±£¬£¬£¬¶ÔÓ¦µÄUnicode×Ö·ûÊÇ¡±\x11\x62¡±¡£
ÈçÏÂËùʾ£¬£¬£¬CreateProcessA¾ÍÊÇÒ»¸öAnsi±àÂëÐ͵ÄÓû§Ì¬API£¬£¬£¬×Ö·û´®¡±AAAA¡±»á±»×Ô¶¯×ª»»ÎªUnicode×Ö·û´®²¢´«µÝ¸øHelpProcess£¬£¬£¬¶øºóÔÚŲÓÃWinMain֮ǰÓÖ±»×Ô¶¯»¹ÔΪAnsi×Ö·û´®¡£Òò¶ø£¬£¬£¬¶ÔÓÚAnsi×Ö·û´®¡±AAAA¡±£¬£¬£¬CoreProcessºÍHelpProcessÔÚ·¨Ê½¿ª·¢É϶¼ÎÞÐè×öÈκζîÍâµÄ´¦Öá£

ͨ³£Çé¿öÏ£¬£¬£¬CreateProcessA²ÎÊýlpCmdlineµÄÆðÔ´ÊÇ¿¿µÃסµÄ£¬£¬£¬ºÃ±È±àÒëʱԤԼÒåµÄ×Ö·û´®ºÍAPIµÄ·µ»ØÖµ£¬£¬£¬´ËʱlpCmdline¶¼ÊÇÕýÈ·µÄAnsi×Ö·û´®¡£Òò¶ø£¬£¬£¬CreateProcessÏÕЩ×ÜÄÜÔÚUnicodeºÍAnsiÖ®¼ä×ÔÓɵØÕýȷת»»¡£
ÏÖʵÉÏ£¬£¬£¬¶ÔÓÚÈκÎÒ»ÃÅÇøÓò˵»°£¬£¬£¬ÆäAnsi×Ö·ûºÍUnicode×Ö·ûµÄÓ³Éä¶¼²»ÊÇÖðÒ»Ó³Éä¹ØÏµ£»¼´ÔÚ2×Ö½ÚµÄÈ«Êýȡֵ¿Õ¼äÖУ¬£¬£¬Ansi×Ö·û±íµÄÓÐЧÏîÊý×ÜÊÇСÓÚUnicode×Ö·û±íµÄÓÐЧÏîÊý¡£ÕâÒâζ×Å£¬£¬£¬Õë¶ÔÎÞ·¨È·ÈÏÊÇÇøÓò˵»°µÄ2¸ö×Ö½Ú£¬£¬£¬ÈôÊÇÇ¿ÖÆÊÓ×÷Ansi×Ö·ûÔòת»»³ÉUnicode×Ö·ûºó²»Ô¸¶¨ÄÜ»¹ÔΪ³õʼµÄAnsi×Ö·û¡£ÀýÈ磺£º¡±\xeb\x2a¡±ÊÇÒ»ÌõͨÀýµÄjmp offsetÖ¸Á£¬£¬Ëü²»ÊÇ1¸öºÏ·¨µÄÖÐÎÄ×Ö·û£»ÈôÊÇÊÓ×÷Ansi×Ö·ûÇ¿ÖÆ×ª»»ÎªUnicode×Ö·ûÔòÊÇ¡±\x3f\x00¡±£¬£¬£¬ÔÙ´Îת»»ÎªAnsi×Ö·û¼´ÊÇ¡±?¡±£¬£¬£¬ÃÔʧÁËjmp offsetÖ¸ÁîµÄÓïÒå¡£
Òò¶ø£¬£¬£¬Í¨¹ýCreateProcessAµÄcmdline²ÎÊý½øÐÐshellcode´«µÝ£¬£¬£¬±Ø±ØÒªË¼¿¼ÇøÓò˵»°µÄAnsi×Ö·ûºÍUnicode×Ö·ûÏ໥ת»»µÄÎÊÌâ¡£
ÔÚ±¾Îĵķì϶ÀûÓð¸ÀýÖУ¬£¬£¬±¾µØÓòÓòµÄ˵»°ÊÇÖÐÎļòÌ壬£¬£¬¶ÔÓ¦Ansi±àÂë±íÊÇGBK¡£Òò¶ø£¬£¬£¬±Ø±ØÒª¶ÔmetasploitµÄshellcode½øÐÐGBK±àÂ룬£¬£¬È·±£ÆäÊÇÕýÈ·µÄAnsi×Ö·û´®¡£
GBK±íµÄ±àÂëÔÚ2×Ö½Úȡֵ¿Õ¼äµÄÁìÓòÊÇ8140£FEFE£¬£¬£¬¼´µÚ1×Ö½ÚµÄȡֵÁìÓòÊÇ0x81µ½0xFE£¬£¬£¬µÚ2×Ö½ÚµÄȡֵÊÇ0x40µ½0xFE£¬£¬£¬ÈçÏÂËùʾ£º£º

´ËÍ⣬£¬£¬µÚ2×Ö½ÚµÄÏÖʵÓÐЧȡֵ»¹Óиü¶àÔ¼Êø¡£ºÃ±È£¬£¬£¬µÚ2×Ö½Ú²»ÄÜΪ0X7F¡£Õë¶ÔijЩȡֵµÄ×Ö½Ú£¬£¬£¬µÚ2×Ö½ÚµÄȡֵ±È[0x40, 0xFE]µÄ¿Õ¼ä¸üС¡£ÈçÏÂͼËùʾ£¬£¬£¬ÓеÄÖ»ÄÜÈ¡¸Ã¿Õ¼äµÄºó°ë²¿ÃÅ£¬£¬£¬ÓеÄÔòÖ»ÄÜȡǰ°ë²¿ÃÅ¡£
¶ÔÓÚshellcodeÀ´½²£¬£¬£¬Æäÿ¸ö×Ö½ÚµÄȡֵÔÚ0µ½255Ö®¼ä¶¼ÊÇÆëÈ«ºÏ·¨µÄ¡£Òò¶ø£¬£¬£¬±¾Îĵķì϶ÀûÓÃҪʵÏÖshellcodeµÄÇáÒ×´úÌæ£¬£¬£¬±Ø±ØÒªÓÐÒ»ÖÖ²½ÖèÀ´¶ÔshellcodeÖÐÎ¥±³GBK±àÂëµÄ×Ö½Ú½øÐд¦Ö㬣¬£¬´Ó¶øÔ¤·ÀAnsi×Ö·ûºÍUnicode×Ö·û¼äת»»µ¼ÖµÄshellcode×Ö·û±»Å¤×ªµÄÎÊÌâ¡£Ò»¸ö¸ù»ùµÄ²½ÖèÊÇÒÀÕÕÈçϵÄÁ÷³Ì¶Ôshellcode½øÐд¦Ö㬣¬£¬Æä¹Ø¼üÊǶÔGBK±í½øÐвé±í²¢Ð޸Ļã±àÖ¸Áî¡£

ÒÔÈçϵÄshellcodeΪÀý£¬£¬£¬ÔÚɨÃèµ½×Ö½Ú0xEBʱ£¬£¬£¬·¢ÏÖ³¤¶ÌASCII×Ö·ûÇÒ²é±íGBKÁ˾ÖÊDz»´æÔÚ£¬£¬£¬±ØÒª½øÐÐת»»£»²éÎÊGBK±íºó·¢ÏÖ£¬£¬£¬ÔÚ0xEB֮ǰ²åÈë0x90Äܹ»Ê¹µÃ90 EBÊÇÒ»¸öºÏ·¨µÄGBK×Ö·û£¬£¬£¬Í¬Ê±90EB 38ÓÖ²»Å¤×ªÔÀ´µÄ»ã±àÓïÒ壬£¬£¬×ª»»³É¹¦¡£Í¬Àí£¬£¬£¬³ÖÐøÉ¨Ãèµ½ÏÂÒ»¸ö×Ö½Ú0XEBʱ£¬£¬£¬ÔÙ×öͬÑùµÄת»»¾ÍÄܹ»¡£µ«ÊÇ£¬£¬£¬µÚ2´ÎµÄת»»²åÈëÁËеÄ×Ö½Ú0x90£¬£¬£¬µ¼ÖÂÁËÔʼlab1¶ÔÓ¦µÄÆ«ÒÆÁ¿²úÉúÁËŤת£»ÔʼlabµÄÖ¸ÁîÏÖʵλÓÚתºóµÄlab+1µØÎ»£¬£¬£¬Ê¹µÃµÚÒ»¸ö0XEBµÄÓïÒå·¸·¨ÁË¡£Òò¶ø£¬£¬£¬×ª»»¹ý³Ì»¹ÒªÇó¸ú×ÙÖ¸ÁîÇø¿éµÄ³¤¶È±ä¶¯¡£

³ýÁËÖ¸ÁîÇø¿éµÄ³¤¶ÈŤתÍ⣬£¬£¬»¹ÓÐÆäËü¼æÈÝÐÔÎÊÌâ¡£ºÃ±È£¬£¬£¬shellcodeÖÐÌØÊâȡֵ£¨µäÐÍÓÐ0£©µÄ×Ö½Ú´¦ÖÃÎÊÌ⣬£¬£¬¶ÔshellcodeµÄÄÚǶ²ÎÊýÅú¸ÄÎÊÌâµÈ¡£Òò¶ø£¬£¬£¬Ö»¹Ü²é±íת»»ÊÇ×îµ××ӵķ¨×Ó£¬£¬£¬µ«È«±í²éÎʵĿռä´ó£¬£¬£¬ÏÞ¶ÈÁËshellcodeµÄ½Ã½ÝÐÔ¡£ÎªÏàʶ¾ö¸ÃÎÊÌ⣬£¬£¬ADLabµÄ°²È«×êÑÐÔ±Ìá³öÁËÒ»ÖÖ»ùÓÚÍÆËãµÄshellcode±àÂë²½Öè¡£
ShellcodeÍÆËãת»»
Ê×ÏÈ£¬£¬£¬ÎÒÃǰÑshellcode·ÖΪÁ½²¿ÃÅ£º£ºÍ·²¿µÄ¹Ì¶¨decoderºÍβ²¿µÄ¶à±äpayload¡£¶øºó£¬£¬£¬Ñ¡È¡²é±í·½Ê½½øÐÐÊÖ¹¤±àдÇкÏGBK±àÂëµÄ»ã±à´úÂë¡£ÆäÖУ¬£¬£¬decoderµÄ³¤¶ÈºÜÓÐÏÞ£¬£¬£¬¾ö¶¨ÁËÕâ¸ö±àдµÄ¼ÛÖµ²»´ó£»Í¬Ê±£¬£¬£¬¶à±äpayloadÊÇûÓжîÍâÏ޶ȵ쬣¬£¬Í¨¹ý±àд¶ÔÓ¦µÄencoderÀ´±àÂëpayloadʹÆä²»Î¥·´GBK±àÂ룬£¬£¬ÓÖÄܹ»±»decoder»¹Ô¡£Í¨¹ýÕâÖÖ·½Ê½£¬£¬£¬¶ÔÔʼshellcodeµÄÑ¡ÔñºÍŤת¾ÍÆëÈ«²»ÓùØÇÐGBK±àÂëÎÊÌ⣬£¬£¬Ê¹µÃ¸Ã·ì϶µÄÀûÓÃÔ½·¢·á˶¡£
ΪÁËÏ÷¼õdecoderµÄÌå»ý£¬£¬£¬ÎÒÃÇÉè¼ÆÁËÒ»ÖÖÍÆËã²½ÖèÀ´±àÂëºÍ½âÂ룬£¬£¬ÕâÑù¾Í²»±ØÒª´æ´¢GBK×Ö·û±í»òÕ߸´ÔӵĹ涨¡£Ôʼshellcode±àÂëʱµÄÍÆËã¹æ¶¨ÈçÏ£º£º
Óöµ½×Ö½ÚÊÇASCII¡¢¡¢0x80ºÍ0xff£¬£¬£¬Ö±½Ó±£Áô¡£
Óöµ½×Ö½ÚÊÇ\x00£¬£¬£¬×ª»»³É¼Ó·¨ÔËËã·û\x90ºÍ2¸öÍÆËãÊý·û\x80ºÍ\x80¡£
Óöµ½×Ö½ÚÊÇ\x90£¬£¬£¬×ª»»³É¼Ó·¨ÔËËã·û\x90ºÍ2¸öÍÆËãÊý·û\x48ºÍ\x48¡£
Óöµ½2¸ö×Ö½ÚÄܹ»×ª»»Îªunicode×Ö·û£¬£¬£¬Ö±½Ó±£ÁôÕâ2¸ö×Ö½Ú¡£
Óöµ½Ç°Ãæ¶¼²»ÄÜ´¦ÖõÄ×Ö½Ú£¬£¬£¬Ö±½Óת»»³É¼Ó·¨ÔËËã·û\x90ºÍ2¸öÍÆËãÊý·û£¬£¬£¬µÚ1¸öÊÇ\x80£¬£¬£¬µÚ2¸öÊDzîÖµ¡£
ѡȡÉÏÊöµÄ±àÂë²½Öèºó£¬£¬£¬ÈκÎshellcode¶¼Äܹ»±»×ª»»ÎªºÏ·¨GBK×Ö·û´®£¬£¬£¬²¢ÇÒdecoder¶ÔpayloadµÄ½âÂëÍÆËãÒ²¼«¶Èµ¥Ò»£¬£¬£¬Ö»±ØÒªÈçϵÄ1ÌõÎÄÔò£º£º
Óöµ½×Ö·ûÊÇ\x90£¬£¬£¬Ö±½Ó¶Ôºó2¸ö×Ö·û½øÐмӷ¨ÍÆË㣬£¬£¬²¢ÓÃÁ˾ִúÌæ×Ö·û\x90¡£
ÖÁ´Ë£¬£¬£¬CreateProcessA²ÎÊý´«µÝµÄshellcodeµÄ±àÂëÎÊÌâ¾ÍÈ«Êý±»Ô¼ÊøÔÚÁËÖ»ÓÐÒ»ÌõÎÄÔòµÄdecoder´úÂëÖУ¬£¬£¬ºÜÏÔÈ»ÕâÊÇÒ»¸öÌìǵ¼«¶ÈÃ÷È·µÄ²¿ÃÅÎÊÌ⣬£¬£¬Òò¶øºÜÈÝÒ׾ͽâ¾öÁË¡£Ñ¡È¡ÕâÖÖ²½Ö裬£¬£¬±¾Îĵķì϶ÀûÓÃÄܹ»ÇáÒ×ŲÓÃmetasploitÖеÄshellcode£¬£¬£¬ÎÞÐèÔÙ²»°²ËüÃǵÄÖ¸ÁîÄÚ²¿Ï¸½Ú¡£
ÔÚ¶à˵»°»·¾³Ï£¬£¬£¬shellcodeÈôÊDz»ÊÇÖ±½ÓµÄÄÚ´æ´«µÝ£¬£¬£¬Ôò¿ÉÄܻᱻϵͳAPIº¯ÊýËùת»»£¬£¬£¬´Ó¶øµ¼ÖÂÆäÒòÔÚ»ñµÃÖ´ÐÐȨ֮ǰ²úÉúÄÚÈÝŤת¶øÎÞЧ¡£Òò¶ø£¬£¬£¬ÔÚ·ì϶ÀûÓùý³ÌÖУ¬£¬£¬±ØÒª°ÑÎÈshellcodeÊÇ·ñÊܵ½¶à˵»°°æ±¾µÄAPIÓ°Ïì¡£


¾©¹«Íø°²±¸11010802024551ºÅ