ËÌÄ«Á¯¤¬Áà¤ëLazarus¤¬Python¥Ñ¥Ã¥±¡¼¥¸¤«¤é¥Þ¥ë¥¦¥§¥¢ÇÛÉÛ¡¢Ãí°Õ¤ò - JPCERT/CC
JPCERT¥³¡¼¥Ç¥£¥Í¡¼¥·¥ç¥ó¥»¥ó¥¿¡¼(JPCERT/CC: Japan Computer Emergency Response Team Coordination Center)¤Ï2·î21Æü¡¢¡ÖPyPI¤ò°ÍѤ·¤¿¹¶·â¥°¥ë¡¼¥×Lazarus¤Î¥Þ¥ë¥¦¥§¥¢³È»¶³èÆ° - JPCERT/CC Eyes¡ÃJPCERT¥³¡¼¥Ç¥£¥Í¡¼¥·¥ç¥ó¥»¥ó¥¿¡¼¸ø¼°¥Ö¥í¥°¡×¤Ë¤ª¤¤¤Æ¡¢ËÌÄ«Á¯¤¬´ØÍ¿¤·¤Æ¤¤¤ë¤È¤ß¤é¤ì¤ë¶¼°Ò¥°¥ë¡¼¥×¡ÖLazarus Group¡×¤¬ÉÔÀµ¤ÊPython¥Ñ¥Ã¥±¡¼¥¸¤ò¸ø¼°PyPI¥ê¥Ý¥¸¥È¥ê¤Ë¸ø³«¤·¤Æ¤¤¤ë¤³¤È¤òȯ¸«¤·¤¿¤ÈÊ󤸤¿¡£
PyPI¤ò°ÍѤ·¤¿¹¶·â¥°¥ë¡¼¥×Lazarus¤Î¥Þ¥ë¥¦¥§¥¢³È»¶³èÆ° - JPCERT/CC Eyes¡ÃJPCERT¥³¡¼¥Ç¥£¥Í¡¼¥·¥ç¥ó¥»¥ó¥¿¡¼¸ø¼°¥Ö¥í¥°
¡ûȯ¸«¤µ¤ì¤¿4¤Ä¤ÎÉÔÀµ¤ÊPython¥Ñ¥Ã¥±¡¼¥¸
ȯ¸«¤µ¤ì¤¿ÉÔÀµ¤ÊPython¥Ñ¥Ã¥±¡¼¥¸¤Ï¼¡¤Î4·ï¡£
pycryptoenv
pycryptoconf
quasarlib
swapmempool
ÉÔÀµ¤ÊPython¥Ñ¥Ã¥±¡¼¥¸¤ÎÎã ¡¡°úÍÑ¡§JPCERT¥³¡¼¥Ç¥£¥Í¡¼¥·¥ç¥ó¥»¥ó¥¿¡¼
pycryptoenv¤ª¤è¤Ópycryptoconf¤Ë´Ø¤·¤Æ¤Ï¡¢Python¤Î°Å¹æ¥é¥¤¥Ö¥é¥ê¡Öpycrypto¡×¤È»÷¤¿Ì¾¾Î¤Ë¤·¤Æ¤¤¤ë¤³¤È¤«¤é¡¢¥æ¡¼¥¶¡¼¤¬´Ö°ã¤¨¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤ò´üÂÔ¤·¤Æ¤¤¤ë²ÄǽÀ¤¬¤¢¤ë¤È»ØŦ¤µ¤ì¤Æ¤¤¤ë¡£
¡ûÉÔÀµ¤Ê¥Ñ¥Ã¥±¡¼¥¸¤ÎʬÀÏ·ë²Ì
JPCERT/CC¤Ï¡¢¤³¤ì¤éÉÔÀµ¤Ê¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ä¤¤¤ÆʬÀÏ·ë²Ì¤ò¸ø³«¤·¤Æ¤¤¤ë¡£¤³¤ì¤Ë¤è¤ë¤È¡¢¤³¤ì¤é4¤Ä¤ÎPython¥Ñ¥Ã¥±¡¼¥¸¤Ï¤¤¤º¤ì¤â¤Û¤ÜƱ¤¸¥Õ¥¡¥¤¥ë¹½À®¤À¤Ã¤¿¤È¤Î¤³¤È¡£¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¤Ï¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¥é¥¤¥Ö¥é¥ê(DLL: Dynamic Link Library)¤ò¥¨¥ó¥³¡¼¥É¤·¤¿¥Ð¥¤¥Ê¥ê¡¼¥Ç¡¼¥¿¤¬³ÈÄ¥»Ò¡Ö.py¡×¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ´Þ¤Þ¤ì¤Æ¤¤¤ë¡£¤³¤Îµ¶¤ÎPython¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ïinit.py¤Ë´Þ¤Þ¤ì¤ë´Ø¿ô¤Ë¤è¤ê¥Ç¥³¡¼¥É¤µ¤ì¤Æ¡Öoutput.py¡×¥Õ¥¡¥¤¥ë¤È¤·¤ÆÊݸ¡¢¼Â¹Ô¤µ¤ì¤ë¡£¤·¤«¤·¤Ê¤¬¤é¡¢init.py¤Î´Ø¿ô¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤À¤±¤Ç¤Ï¼Â¹Ô¤µ¤ì¤Ê¤¤¤¿¤á¡¢¶¼°Ò¥°¥ë¡¼¥×¤Ï²¿¤é¤«¤Î¼êÃʤǥ桼¥¶¡¼¤Ë¤³¤Î´Ø¿ô¤ò¼Â¹Ô¤µ¤»¤Æ¤¤¤¿¤â¤Î¤È¤ß¤é¤ì¤Æ¤¤¤ë¡£
¥Þ¥ë¥¦¥§¥¢¤Î´¶À÷·ÐÏ© ¡¡°úÍÑ¡§JPCERT¥³¡¼¥Ç¥£¥Í¡¼¥·¥ç¥ó¥»¥ó¥¿¡¼
¡û¥Þ¥ë¥¦¥§¥¢¡ÖComebacker¡×¤Î¼ÂÂÖ
¥Ç¥³¡¼¥É¤µ¤ì¤¿¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¥é¥¤¥Ö¥é¥ê¡Öoutput.py¡×¤òrundll32¤«¤é¼Â¹Ô¤¹¤ë¤È¡¢¡ÖIconCache.db¡×¤È¡ÖNTUSER.DAT¡×¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¡£¼¡¤Ë¡¢rundll32¤ò»ÈÍѤ·¤ÆIconCache.db¤¬¼Â¹Ô¤µ¤ì¡¢IconCache.db¤Ë¤è¤êNTUSER.DAT¤¬¥Ç¥³¡¼¥É¤µ¤ì¤ë¡£¥Ç¥³¡¼¥É¤µ¤ì¤¿¥Ç¡¼¥¿¤Ï¥á¥â¥ê¾å¤ËŸ³«¡¦¼Â¹Ô¤µ¤ì¤ë¡£¥á¥â¥ê¾å¤ËŸ³«¤µ¤ì¤¿¥×¥í¥°¥é¥à¤¬¥Þ¥ë¥¦¥§¥¢¡ÖComebacker¡×ËÜÂΤȤʤ롣
Comebacker¤Ï¼Â¹Ô¤µ¤ì¤ë¤È¡¢¶¼°Ò¥°¥ë¡¼¥×¤Î¥³¥Þ¥ó¥É¡õ¥³¥ó¥È¥í¡¼¥ë(C2: Command and Control)¥µ¡¼¥Ð¤ÈÀܳ¤ò³ÎΩ¡£¥µ¡¼¥Ð¤«¤éÁ÷¤é¤ì¤Æ¤¯¤ëWindows¤Î¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤ò¥á¥â¥ê¾å¤ËŸ³«¤·¤Æ¼Â¹Ô¤¹¤ëµ¡Ç½¤ò»ý¤Ä¡£
¡ûÂкö
JPCERT/CC¤Ë¤è¤ë¤È¡¢¤³¤ì¤éÉÔÀµ¤ÊPython¥Ñ¥Ã¥±¡¼¥¸¤Ï¤½¤ì¤¾¤ì300¤«¤é1,200·ïÄøÅÙ¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤¿¤È¤¤¤¦¡£¤³¤ì¤é¥Ñ¥Ã¥±¡¼¥¸¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤À¤±¤Ç¤Ï´¶À÷¤·¤Ê¤¤¤È¹Í¤¨¤é¤ì¤Æ¤¤¤ë¤¬¡¢¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç´¶À÷¤¹¤ë²ÄǽÀ¤¬¤¢¤ë¡£
³«È¯¼Ô¤Ï¤³¤Î¤è¤¦¤Ê¹¶·â¤ò²óÈò¤¹¤ë¤¿¤á¤Ë¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤è¤¦¤È¤·¤Æ¤¤¤ëPython¥Ñ¥Ã¥±¡¼¥¸¤¬Àµµ¬¤Î¤â¤Î¤«¤É¤¦¤«¤ò³Îǧ¤·¡¢ÇÛÉÛ¼Ô¤¬¿®Íê¤Ç¤¤ë¤«¸¡¾Ú¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤ë¡£¤Þ¤¿¡¢¥¤¥ó¥¹¥È¡¼¥ë¤ª¤è¤Ó¼Â¹ÔÁ°¤Ë¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥°¥é¥à¤ò²òÀϤ·¤Æ°°Õ¤Î¤¢¤ë¥³¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤«¤ò¸¡¾Ú¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤ë¡£
JPCERT/CC¤Ï¡¢º£²ó¤ÎÄ´ºº¤Ë¤ª¤¤¤ÆȽÌÀ¤·¤¿¥Þ¥ë¥¦¥§¥¢¤ÎÄÌ¿®ÀèURL¤È°°Õ¤Î¤¢¤ëPython¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ï¥Ã¥·¥åÃͤò¸ø³«¤·¤Æ¤ª¤ê¡¢É¬Íפ˱þ¤¸¤Æ³èÍѤ¹¤ë¤³¤È¤¬Ë¾¤Þ¤ì¤Æ¤¤¤ë¡£
¡ûȯ¸«¤µ¤ì¤¿4¤Ä¤ÎÉÔÀµ¤ÊPython¥Ñ¥Ã¥±¡¼¥¸
ȯ¸«¤µ¤ì¤¿ÉÔÀµ¤ÊPython¥Ñ¥Ã¥±¡¼¥¸¤Ï¼¡¤Î4·ï¡£
pycryptoenv
pycryptoconf
quasarlib
swapmempool
ÉÔÀµ¤ÊPython¥Ñ¥Ã¥±¡¼¥¸¤ÎÎã ¡¡°úÍÑ¡§JPCERT¥³¡¼¥Ç¥£¥Í¡¼¥·¥ç¥ó¥»¥ó¥¿¡¼
pycryptoenv¤ª¤è¤Ópycryptoconf¤Ë´Ø¤·¤Æ¤Ï¡¢Python¤Î°Å¹æ¥é¥¤¥Ö¥é¥ê¡Öpycrypto¡×¤È»÷¤¿Ì¾¾Î¤Ë¤·¤Æ¤¤¤ë¤³¤È¤«¤é¡¢¥æ¡¼¥¶¡¼¤¬´Ö°ã¤¨¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤ò´üÂÔ¤·¤Æ¤¤¤ë²ÄǽÀ¤¬¤¢¤ë¤È»ØŦ¤µ¤ì¤Æ¤¤¤ë¡£
¡ûÉÔÀµ¤Ê¥Ñ¥Ã¥±¡¼¥¸¤ÎʬÀÏ·ë²Ì
JPCERT/CC¤Ï¡¢¤³¤ì¤éÉÔÀµ¤Ê¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ä¤¤¤ÆʬÀÏ·ë²Ì¤ò¸ø³«¤·¤Æ¤¤¤ë¡£¤³¤ì¤Ë¤è¤ë¤È¡¢¤³¤ì¤é4¤Ä¤ÎPython¥Ñ¥Ã¥±¡¼¥¸¤Ï¤¤¤º¤ì¤â¤Û¤ÜƱ¤¸¥Õ¥¡¥¤¥ë¹½À®¤À¤Ã¤¿¤È¤Î¤³¤È¡£¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¤Ï¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¥é¥¤¥Ö¥é¥ê(DLL: Dynamic Link Library)¤ò¥¨¥ó¥³¡¼¥É¤·¤¿¥Ð¥¤¥Ê¥ê¡¼¥Ç¡¼¥¿¤¬³ÈÄ¥»Ò¡Ö.py¡×¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ´Þ¤Þ¤ì¤Æ¤¤¤ë¡£¤³¤Îµ¶¤ÎPython¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ïinit.py¤Ë´Þ¤Þ¤ì¤ë´Ø¿ô¤Ë¤è¤ê¥Ç¥³¡¼¥É¤µ¤ì¤Æ¡Öoutput.py¡×¥Õ¥¡¥¤¥ë¤È¤·¤ÆÊݸ¡¢¼Â¹Ô¤µ¤ì¤ë¡£¤·¤«¤·¤Ê¤¬¤é¡¢init.py¤Î´Ø¿ô¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤À¤±¤Ç¤Ï¼Â¹Ô¤µ¤ì¤Ê¤¤¤¿¤á¡¢¶¼°Ò¥°¥ë¡¼¥×¤Ï²¿¤é¤«¤Î¼êÃʤǥ桼¥¶¡¼¤Ë¤³¤Î´Ø¿ô¤ò¼Â¹Ô¤µ¤»¤Æ¤¤¤¿¤â¤Î¤È¤ß¤é¤ì¤Æ¤¤¤ë¡£
¥Þ¥ë¥¦¥§¥¢¤Î´¶À÷·ÐÏ© ¡¡°úÍÑ¡§JPCERT¥³¡¼¥Ç¥£¥Í¡¼¥·¥ç¥ó¥»¥ó¥¿¡¼
¡û¥Þ¥ë¥¦¥§¥¢¡ÖComebacker¡×¤Î¼ÂÂÖ
¥Ç¥³¡¼¥É¤µ¤ì¤¿¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¥é¥¤¥Ö¥é¥ê¡Öoutput.py¡×¤òrundll32¤«¤é¼Â¹Ô¤¹¤ë¤È¡¢¡ÖIconCache.db¡×¤È¡ÖNTUSER.DAT¡×¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¡£¼¡¤Ë¡¢rundll32¤ò»ÈÍѤ·¤ÆIconCache.db¤¬¼Â¹Ô¤µ¤ì¡¢IconCache.db¤Ë¤è¤êNTUSER.DAT¤¬¥Ç¥³¡¼¥É¤µ¤ì¤ë¡£¥Ç¥³¡¼¥É¤µ¤ì¤¿¥Ç¡¼¥¿¤Ï¥á¥â¥ê¾å¤ËŸ³«¡¦¼Â¹Ô¤µ¤ì¤ë¡£¥á¥â¥ê¾å¤ËŸ³«¤µ¤ì¤¿¥×¥í¥°¥é¥à¤¬¥Þ¥ë¥¦¥§¥¢¡ÖComebacker¡×ËÜÂΤȤʤ롣
Comebacker¤Ï¼Â¹Ô¤µ¤ì¤ë¤È¡¢¶¼°Ò¥°¥ë¡¼¥×¤Î¥³¥Þ¥ó¥É¡õ¥³¥ó¥È¥í¡¼¥ë(C2: Command and Control)¥µ¡¼¥Ð¤ÈÀܳ¤ò³ÎΩ¡£¥µ¡¼¥Ð¤«¤éÁ÷¤é¤ì¤Æ¤¯¤ëWindows¤Î¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤ò¥á¥â¥ê¾å¤ËŸ³«¤·¤Æ¼Â¹Ô¤¹¤ëµ¡Ç½¤ò»ý¤Ä¡£
¡ûÂкö
JPCERT/CC¤Ë¤è¤ë¤È¡¢¤³¤ì¤éÉÔÀµ¤ÊPython¥Ñ¥Ã¥±¡¼¥¸¤Ï¤½¤ì¤¾¤ì300¤«¤é1,200·ïÄøÅÙ¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤¿¤È¤¤¤¦¡£¤³¤ì¤é¥Ñ¥Ã¥±¡¼¥¸¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤À¤±¤Ç¤Ï´¶À÷¤·¤Ê¤¤¤È¹Í¤¨¤é¤ì¤Æ¤¤¤ë¤¬¡¢¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç´¶À÷¤¹¤ë²ÄǽÀ¤¬¤¢¤ë¡£
³«È¯¼Ô¤Ï¤³¤Î¤è¤¦¤Ê¹¶·â¤ò²óÈò¤¹¤ë¤¿¤á¤Ë¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤è¤¦¤È¤·¤Æ¤¤¤ëPython¥Ñ¥Ã¥±¡¼¥¸¤¬Àµµ¬¤Î¤â¤Î¤«¤É¤¦¤«¤ò³Îǧ¤·¡¢ÇÛÉÛ¼Ô¤¬¿®Íê¤Ç¤¤ë¤«¸¡¾Ú¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤ë¡£¤Þ¤¿¡¢¥¤¥ó¥¹¥È¡¼¥ë¤ª¤è¤Ó¼Â¹ÔÁ°¤Ë¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥°¥é¥à¤ò²òÀϤ·¤Æ°°Õ¤Î¤¢¤ë¥³¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤«¤ò¸¡¾Ú¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤ë¡£
JPCERT/CC¤Ï¡¢º£²ó¤ÎÄ´ºº¤Ë¤ª¤¤¤ÆȽÌÀ¤·¤¿¥Þ¥ë¥¦¥§¥¢¤ÎÄÌ¿®ÀèURL¤È°°Õ¤Î¤¢¤ëPython¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ï¥Ã¥·¥åÃͤò¸ø³«¤·¤Æ¤ª¤ê¡¢É¬Íפ˱þ¤¸¤Æ³èÍѤ¹¤ë¤³¤È¤¬Ë¾¤Þ¤ì¤Æ¤¤¤ë¡£