¼ÇÒ»´ÎVMwareµÄ±ÀÀ£µ÷ÊÔ·ÖÎö¹ý³Ì

°ä²¼¹¦·ò 2020-08-11

1.×êÑв¼¾°


VMware WorkstationÊÇÒ»¿îÖ÷Á÷µÄÐé¹¹»úÈí¼þ£¬£¬£¬½üÆÚOG¶«·½ÌüADLab°²È«×êÑÐÔ±ÔÚʹÓÃVMwareÐé¹¹»úµÄ¹ý³ÌÖÐÓöµ½Ðé¹¹»úÒì³£±ÀÀ£µÄÎÊÌ⣬£¬£¬µ±´Ó7zipÖÐÖ±½Ó½«ÎļþÍÏ×§µ½VMwareÐé¹¹»úÖУ¬£¬£¬»áÔì³ÉÐé¹¹»úÒì³£¹Ø±Õ¡£¡£¡£Ä¿Ç°ÒѲâÊÔ¹ýVMware 15.5.0 ¡¢¡¢¡¢15.5.2 ¡¢¡¢¡¢15.5.5 ÒÔ¼°7zip 19.0 ¡¢¡¢¡¢20.02µÈ°æ±¾¡£¡£¡£±¾ÎĽ«Í¨¹ý¶ÔVMwareºÍ7zip·¨Ê½½øÐиú×Ù·ÖÎö£¬£¬£¬×îÖÕ¶¨Î»Ðé¹¹»úÒì³£¹Ø±ÕÔ­Òò¡£¡£¡£

2.VMware¶Ëµ÷ÊÔ·ÖÎö

ʹÓÃWinDbg-IÖ¸ÁWinDbgÉèÖÃΪ¼´Ê±µ÷ÊÔÆ÷£¬£¬£¬VMware-vmx.exe·¨Ê½±ÀÀ£º£ºó×Ô¶¯µ¯³öWinDbg¡£¡£¡£²Ö¿âÐÅÏ¢ÈçÏ£º£º


640?wx_fmt=png


µ÷ÊÔÐÅÏ¢ÏÔʾstack buffer overrunÒì³££¬£¬£¬×î³õ´§¶È¿ÉÄÜÊÇ»º³åÇøÒç³ö·ì϶¡£¡£¡£


640?wx_fmt=png


ͨ¹ý²éÎÊ×ÊÁϺó·¢ÏÖ£¬£¬£¬´ÓWindows 8ÆðÍ·£¬£¬£¬WindowsÉè¼ÆÁËÒ»¸öеÄÖжÏINT 29H£¬£¬£¬ÓÃÒÔ¼±¾çÅ׳öʧ°Ü£¬£¬£¬ÔÚsdkÖб»ÉêÃ÷Ϊ__fastfail£¬£¬£¬ __fastfailÄÚ²¿º¯Êý²»»á·µ»Ø¡£¡£¡£


ϵͳ½á¹¹
Ö¸Áî
´úÂë²ÎÊýµÄµØÎ»
x86
int 0x29
ecx
x64
int 0x29
rcx
ARM
²Ù×÷Âë 0xDEFB
r0


ÔÚÉÏͼÖУ¬£¬£¬·¨Ê½ÖÕÖ¹ÓÚint 29h£¬£¬£¬¶øËüµÄ²ÎÊýΪ0xa£¬£¬£¬¶ÔÓ¦FAST_FAIL_GUARD_ICALL_CHECK_FAILURE£¬£¬£¬ÓÉ´Ë´§¶ÈÎÊÌâ¿ÉÄܳʴ˿ÌCFGµÄ²é³­¹ý³ÌÖС£¡£¡£


640?wx_fmt=png


´Óº¯ÊýŲÓÃÕ»ÖÐvmware_vmx+0x58b21µØÖ·ÏòÉÏ×·Ò䣬£¬£¬¶¯Ì¬µ÷ÊÔ·¨Ê½£¬£¬£¬±ÈÁ¦·¨Ê½Õý³£ÔËÐÐÓëÒì³£±ÀÀ£µÄº¯ÊýŲÓÃÇø±ð£¬£¬£¬¶¨Î»µ½Ó뷨ʽ±ÀÀ£Óйصĺ¯Êýsub_1400965A0¡£¡£¡£


ʹÓÃWindbg Attach vmware-vmx.exe·¨Ê½£¬£¬£¬ÔÚsub_1400965A0º¯ÊýÉèÖöϵ㣬£¬£¬ÆðÍ·¶¯Ì¬µ÷ÊÔ¡£¡£¡£´Ó7z´ò¿ªµÄѹËõÎļþÖÐÍÏ×§cdp.pcapngµÄÎļþ£¬£¬£¬·¨Ê½Ôڶϵ㴦ͣÏ¡£¡£¡£Í¨¹ý¶¯Ì¬µ÷ÊÔ¿ÉÖª¸Ãº¯ÊýÖÐcalloc·ÖÅäÁËÈý¸ö¶Ñ¿Õ¼ä£¬£¬£¬±ðÀëÓÃÓÚ´æ·Å£º£ºÖ÷»úһʱÎļþõè¾¶temp_path ¡¢¡¢¡¢Ö¸±êÎļþÃûfile_nameÒÔ¼°VMwareÖеĻº´æÄ¿Â¼Ãûvm_cache_dir_name¡£¡£¡£


640?wx_fmt=png


µ«ÊÇ´ò¿ªÖ÷»úTempĿ¼ÏÂȴûÓз¢ÏÖ¸ÃÎļþ£¬£¬£¬Òò¶ø³õ²½Åж¨ÕâÊÇ·¨Ê½±ÀÀ£Ô­Òò¡£¡£¡£³ÖÐøÍùÏ¿´£¬£¬£¬3¸öÎļþÓйزÎÊýÈ«¶¼´«ÈëÁËsub_140579b30º¯Êý¡£¡£¡£


640?wx_fmt=png


½øÈ뺯Êýsub_140579b30£¬£¬£¬¶¨Î»temp_path²ÎÊýµÄ´¦Öᣡ£¡£ÆäÖУ¬£¬£¬sub_14057FF90º¯Êý¶Ô´«ÈëµÄtemp_path½øÐÐÁËÖðÒ»±éÀú£¬£¬£¬sub_1405B2080º¯Êý¶Ô´«ÈëµÄtemp_path½øÐÐÁË·¸·¨ÐԲ鳭¡£¡£¡£ÏÂÃæÖØµã·ÖÎösub_140576460º¯Êý¡£¡£¡£


640?wx_fmt=png


sub_140576460º¯Êý½«õè¾¶²ÎÊýtemp_path´«ÈëÁËsub_14049DA50¡£¡£¡£


640?wx_fmt=png


Ê×ÏÈ£¬£¬£¬º¯Êýsub_14049DA50ͨ¹ýsub_140477C70¶Ô×Ö·û´®½øÐÐÁË´¦Öᣡ£¡£¶øºó£¬£¬£¬Å²ÓÃwstat64»ñÈ¡ÏàÓ¦õè¾¶µÄÎļþ״̬£¬£¬£¬ÈôÊdzɹ¦»ñÈ¡Ôò±£Áôµ½Ò»¸ö½á¹¹ÌåÖУ¬£¬£¬²»È»·µ»Ø0xffffffff¡£¡£¡£ÓÉÓÚTempĿ¼Ï²¢Î´·¢ÏÖ±¸·ÝÎļþ£¬£¬£¬µ¼Ö»ñȡ״̬ʧ°Ü£¬£¬£¬´Ó¶ø·µ»Ø0xffffffff¡£¡£¡£


640?wx_fmt=png

640?wx_fmt=png


·µ»Ø0xffffffffºó£¬£¬£¬ÖØÐ»ص½sub_140579b30º¯ÊýÖУ¬£¬£¬·¨Ê½Ìø³öwhileÑ­»·´ïµ½ÈçϵØÎ»£¬£¬£¬Êä³öÃýÎóÐÅÏ¢²¢Ìø×ªÖÁsub_140572A70¡£¡£¡£


640?wx_fmt=png


´Ósub_140572A70×îÖÕÖ´Ðе½sub_1400960C0£¬£¬£¬´ïµ½ÈçϵØÎ»½«vmware_vmx+0xb1ed90´¦µÄÖµ¸³¸øÁËrsi£¬£¬£¬¼´Îª0¡£¡£¡£


640?wx_fmt=png


³ÖÐøÍùÏÂÖ´ÐУ¬£¬£¬½«rsiÖÐ0Öµ¸³Öµµ½raxÖУ¬£¬£¬¶øºóŲÓÃ0x7ff8fab0c510´¦£¬£¬£¬¼´ntdll!LdrpDispatchUserCallTarget¡£¡£¡£


640?wx_fmt=png


´Ë´¦Ó뾲̬ϵĹý³ÌÓÐÒ»µã·ÖÆç£¬£¬£¬¾²Ì¬Ï¸ô¦Å²ÓÃÈçÏ£º£º


640?wx_fmt=png


ÈôÊÇÒÀÕÕ¾²Ì¬¹ý³ÌÖ´ÐУ¬£¬£¬¸Ãµ±´ïµ½sub_1407C7650,¼´ÈçϵØÎ»£º£º


640?wx_fmt=png

ÔÚntdll.dll±»¼ÓÔØÖ®Ç°£¬£¬£¬¸Ã´¦Êý¾ÝÈÔ¾ÉΪÉÏͼËùʾµØÖ·£º£º


640?wx_fmt=png


ºóÀ´ÔÚntdll.dllÖÐÖ´ÐÐCFG£¨ControlFlowGuard£©±£» £»£»¤»úÖÆ£¬£¬£¬½«vmware_vmx+0x7c9668µØÖ·´¦Êý¾Ý½øÐÐÁ˸Äд£¬£¬£¬´Ó¶øÖ´Ðе½ntdll!LdrpDispatchUserCallTargetÖС£¡£¡£


640?wx_fmt=png


ÔÚntdll!LdrpDispatchUserCallTargetº¯ÊýÖУ¬£¬£¬È¡r11+r10*8´¦µÄÖµ¸³Öµ¸ør11ʱ³öÏÖÁËÎÊÌ⣬£¬£¬¸ÃµØÖ·Îª¿Õ£¬£¬£¬¾ÍÔì³ÉÁË¿ÕÖ¸ÕëÒýÓ㬣¬£¬´Ó¶øÖ´ÐÐÁËint 29h£¬£¬£¬Ôì³ÉÒì³£¡£¡£¡£È»¶ø£¬£¬£¬¼´±ãûÓÐCFG»úÖÆ£¬£¬£¬·¨Ê½Ò²»áÔÚÖ´ÐС°jmp rax¡±´¦±ÀÀ££¬£¬£¬Í¨¹ýÏÂͼÄܹ»¿´³ö£¬£¬£¬CFG»úÖÆ½ö½öÊÇÔÚÕý±¾·¨Ê½Ìø×ªÖ¸ÁîǰÔö³¤ÁËһЩ²é³­¡£¡£¡£


640?wx_fmt=png

640?wx_fmt=png


ÖÁ´Ë£¬£¬£¬VMware±ÀÀ£µÄÔ­Òò¸ù±¾·ÖÎö·ÖÁËÈ»¡£¡£¡£ÁíÒ»¸öÒÉÄÑÊÇ£¬£¬£¬ÎªÊ²Ã´7zipÒѾ­ÔÚϵͳTempÏÂÌìÉúÁËÎļþ£¬£¬£¬²¢ÇÒVMwareÒ²ÒѾ­»ñÈ¡µ½ÁËõè¾¶²ÎÊý£¬£¬£¬È´ÔÚÒÆ¶¯Ç°×Ô¶¯É¾³ýÁËÎļþÄØ¡£¡£¡£Õâ¾Í±ØÒª´Ó7zipÖÐѰÕҴ𰸡£¡£¡£


3.7zip¶Ëµ÷ÊÔ·ÖÎö

ÓÉÉÏÒ»½Ú·ÖÎö¿ÉÖª£¬£¬£¬Vmware crashÔ­ÒòÊÇTempĿ¼ÏÂÎļþ±»É¾³ý¡£¡£¡£ÔĶÁ7zipÔ´Â룬£¬£¬Ëø¶¨ÁËCPP/Windows/FileDir.cppÖеÄÎļþɾ³ýº¯Êý¡£¡£¡£


640?wx_fmt=png


ʹÓÃWinDbg¼ÓÔØ7zip£¬£¬£¬¶øºóÔÚRemoveº¯ÊýµØÎ»½øÐÐ϶Ï£¬£¬£¬·¨Ê½ÔËÐкó½øÐÐÍÏ×§²Ù×÷£¬£¬£¬ÔÚRemoveº¯ÊýÖжϺó¶ÔÓ¦µÄŲÓòֿâÈçÏÂËùʾ¡£¡£¡£


640?wx_fmt=png


²Ö¿âÖÐ7zFM+0x5b212µØÖ·Î»ÓÚº¯ÊýCPanel::OnDragÖУ¬£¬£¬¸Ãº¯ÊýΪÊó±êÍÏ×§²Ù×÷º¯Êý¡£¡£¡£µ±¼ì²âµ½¶Ô7zip´ò¿ªµÄĿ¼½øÐвÙ×÷ʱ£¬£¬£¬±ã»áÔÚTempĿ¼ÏÂÌìÉúÒ»¸öÒÔ7zE¿ªÍ·µÄËæ»ú¶¨ÃûÎļþ¼Ð¡£¡£¡£


640?wx_fmt=png


¶øºó£¬£¬£¬½«¸ÃÎļþ¼ÐÉèÖÃΪָ±êĿ¼£¬£¬£¬²¢ÇÒÉèÖÃÁËһЩÊý¾Ý¼°IpDropSourse½á¹¹Ìå¡£¡£¡£


640?wx_fmt=png


³ÖÐøÍùÏÂÄܹ»¿´µ½Ò»¸öDoDragDropº¯Êý£¬£¬£¬¸Ãº¯ÊýÖ°ÄÜÊǽøÐÐOLEÍÏ·ÅÓйزÙ×÷£¬£¬£¬Í¨¹ý¼ì²â¹â±êµÄÐÐΪ±ðÀëŲÓÃһЩ²½Öè²¢·µ»Ø¶ÔÓ¦µÄÊýÖµ¡£¡£¡£


640?wx_fmt=png


¶øºó£¬£¬£¬Æ¾¾ÝDoDragDropº¯ÊýµÄ·µ»ØÖµÀ´ÅжϹâ±êµÄÍÏ×§ÊÇ·ñÓÐЧ£¬£¬£¬´Ó¶øÖ´ÐжÔÓ¦µÄ²Ù×÷¡£¡£¡£


640?wx_fmt=png


´Ó7zipÖÐÍÏ×§Îļþµ½Ðé¹¹»ú£¬£¬£¬ÓÉÓÚÎÞ·¨»ñÖªÎļþÍÏ×§µÄÖ¸±êõè¾¶£¬£¬£¬Òò¶øDoDragDrop»á·µ»ØDRAGDROP_S_CANCEL(0x40101)£¬£¬£¬²»»áÖ´Ðп½±´²Ù×÷µÄ·ÖÖ§£¬£¬£¬¶øÊÇÖ±½Ó½«TempĿ¼ÏÂÌìÉúµÄһʱĿ¼ɾ³ý¡£¡£¡£


640?wx_fmt=png


4.С ½á


7zipѹËõ°üÖÐÎļþÍÏ×§²Ù×÷»á´¥·¢DoDragDropº¯ÊýŲÓ㬣¬£¬¸Ãº¯Êý»á»ñÈ¡ÎļþÊý¾Ý¼°¹â±êÖÕ³¡µÄµØÎ»¡£¡£¡£µ«Êǽ«ÎļþÍÏ×§µ½VMware´°¿Úʱ£¬£¬£¬DoDragDropº¯Êý²»ÄÜ»ñÈ¡ÕýÈ·µÄÖ¸±êõè¾¶£¬£¬£¬Òò¶øÎÞ·¨½«Îļþ¿½±´µ½Ö¸±êµØÎ»£¬£¬£¬´Ó¶øÖ±½Óɾ³ýһʱÎļþ£¬£¬£¬×îÖÕµ¼ÖÂVMwareÎÞ·¨»ñÈ¡Îļþ״̬Ôì³É±ÀÀ£¡£¡£¡£


²Î¿¼Á´½Ó£º£º

[1]https://0cch.com/2016/12/13/int29h/

[2]https://docs.microsoft.com/en-us/windows/win32/api/ole2/nf-ole2-dodragdrop

[3]https://github.com/kornelski/7z/tree/20e38032e62bd6bb3a176d51bce0558b16dd51e2



OG¶«·½Ìü»ý¼«·ÀÓù³¢ÊÔÊÒ£¨ADLab£©


ADLab³ÉÁ¢ÓÚ1999Ä꣬£¬£¬ÊÇÖйú°²È«ÐÐÒµ×îÔç³ÉÁ¢µÄ¹¥·À¼¼Êõ×êÑг¢ÊÔÊÒÖ®Ò»£¬£¬£¬Î¢ÈíMAPP´òËãÖ÷Ìâ³ÉÔ±£¬£¬£¬¡°ºÚȸ¹¥»÷¡±¸ÅÄîÊ×ÍÆÕß¡£¡£¡£½ØÖ¹Ä¿Ç°£¬£¬£¬ADLabÒÑͨ¹ýCVEÀۼư䲼°²È«·ì϶½ü1100¸ö£¬£¬£¬Í¨¹ý CNVD/CNNVDÀۼư䲼°²È«·ì϶900Óà¸ö£¬£¬£¬³ÖÐøÎ¬³Ö¹ú¼ÊÍøÂ簲ȫÁìÓòÒ»Á÷Ë®×¼¡£¡£¡£³¢ÊÔÊÒ×êÑз½Ïòº­¸Ç²Ù×÷ϵͳÓëÀûÓÃϵͳ°²È«×êÑÐ ¡¢¡¢¡¢Òƶ¯ÖÇÄÜÖն˰²È«×êÑÐ ¡¢¡¢¡¢ÎïÁªÍøÖÇÄÜÉ豸°²È«×êÑÐ ¡¢¡¢¡¢Web°²È«×êÑÐ ¡¢¡¢¡¢¹¤¿ØÏµÍ³°²È«×êÑÐ ¡¢¡¢¡¢Ôư²È«×êÑС£¡£¡£×êÑгɾÍÀûÓÃÓÚ²úÆ·Ö÷Ìâ¼¼Êõ×êÑÐ ¡¢¡¢¡¢¹ú¶ÈÖØµã¿Æ¼¼ÏîÄ¿¹¥¹Ø ¡¢¡¢¡¢×¨Òµ°²È«·þÎñµÈ¡£¡£¡£


lab.jpg