Analysis of 0x82030909 (PHP Injection Automation Tool) by INetCop Security Team
- Content - 1. PHP Injection ÀÚµ¿È­ µµ±¸ÀÇ °³¿ä. 2. PHP Injection Ãë¾àÁ¡ Proof of Concept 3. PHP Injection ÀÚµ¿È­ µµ±¸ »ç¿ëÀÇ ¿¹Á¦. 4. Plugin ÀÀ¿ë µµ±¸ »ç¿ëÀÇ ¿¹Á¦. 5. °á·Ð -- 1. PHP Injection ÀÚµ¿È­ µµ±¸ÀÇ °³¿ä. PHP Injection¿¡ ´ëÇÑ ¼³¸íÀº ÀÌ¹Ì ´Ù¸¥ ¹®¼­·Î Á¸ÀçÇϹǷΠ»ý·«ÇϰڴÙ. PHP Injection ¸ðÀÇ °ø°Ý ½Ã, ÀϹÝÀûÀ¸·Î °ø°ÝÀ» ½ÃµµÇÒ target ¼­¹ö ÇÑ´ë¿Í ¸í·É¾î¸¦ Á¦°øÇÒ °ø°ÝÀÚÀÇ ¼­¹ö ÇÑ´ë (root±ÇÇÑ ÇÊ¿ä), °á·ÐÀûÀ¸·Î ÃÑ µÎ´ëÀÇ ¼­¹ö¸¦ ÇÊ¿ä·Î ÇÑ´Ù. ¸í·É¾î¸¦ Á¦°øÇÏ´Â ¼­¹ö´Â include µÉ ÆÄÀÏÀÌ ¿ø°Ý¿¡¼­ ¸í·É¾î·Î Àü´ÞµÉ ¼ö ÀÖµµ·Ï ÇØ¾ßÇϹǷΠÀ¥¼­ºñ½º¸¦ ½ÇÇàÇØ¾ß Çϸç, ½ÇÇà ÁßÀÎ À¥¼­¹ö µð·ºÅ丮¿¡ ÆÄÀÏÀ» ÀÛ¼ºÇØ¾ß ÇÑ´Ù. (´ëºÎºÐ À¥¼­¹ö µð·ºÅ丮¿¡ ÆÄÀÏÀ» ÀÛ¼ºÇϱâ À§Çؼ­´Â root±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù.) 2¹ø Àå¿¡¼­ PHP Injection Ãë¾àÁ¡À» ¿¹Á¦·Î ½ÃÇèÇÒ ¶§ ¾Ë°Ô µÇ°ÚÁö¸¸, À¥ºê¶ó¿ìÁ®¸¦ ÅëÇØ target ¼­¹ö¸¦ °ø°ÝÇÏ´Â °æ¿ì "GET" method·Î ¿äûÇϱ⠶§¹®¿¡ ºê¶ó¿ìÁ® »ó¿¡¼­ ÀÔ·ÂÇÏ¿© ¿äûÇÏ´Â ³»¿ëÀÌ ¼­¹ö¿¡ log·Î ÀúÀåµÈ´Ù. À̰ÍÀº °ø°ÝÀÚ¿¡°Ô À־ Ä¡¸íÀûÀÎ À§ÇèºÎ´ãÀÌ µÉ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¸é, Á¤±âÀûÀÎ ·Î±× °Ë»ç ½Ã, À¥»ó¿¡¼­ °ø°ÝÇß´ø ½Ã½ºÅÛ ¸í·ÉÀÌ µå·¯³¯ ¼ö ÀÖ´Ù. (¶ÇÇÑ, °ø°ÝÀÚ IP¿Í ÇÔ²²) º¸Åë, ¿ø°Ý ħÀÔ ½Ã »ç¿ëµÇ´Â PHP Injection °ø°Ý ±â¹ýÀº À¥ ºê¶ó¿ìÁ®¸¦ ÅëÇØ ¿äûÇÏ¿© ÁøÇàµÈ´Ù. ¼­¹öÀÇ °ü¸®ÀÚ ±ÇÇÑÀ» ȹµæ ÈÄ, °ü·Ã ·Î±×¸¦ »èÁ¦Çϱ⠶§¹®Àε¥, ¸¸¾à ÃÖÁ¾ÀûÀÎ °ü¸®ÀÚ ±ÇÇÑ È¹µæ¿¡ ½ÇÆÐÇÏ¿´À» °æ¿ì, ½É°¢ÇÑ ¹®Á¦Á¡ÀÌ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. °á·ÐÀûÀ¸·Î ¿ì¸®´Â º¸´Ù ¾ÈÀüÇÑ °ø°ÝÀ» ½ÃµµÇϸ鼭, ½Å¼ÓÇÏ°í Æí¸®ÇÏ°Ô ÀÛ¾÷ÇÒ ¼ö ÀÖ´Â ÀÚµ¿È­ µµ±¸ÀÇ Çʿ伺À» ´À³¢°Ô µÇ¾ú´Ù. 2. PHP Injection Ãë¾àÁ¡ Proof of Concept. À̹ø Àå¿¡¼­´Â ÀϹÝÀûÀÎ PHP injection °ø°Ý ¹æ¹ýÀ» ½ÃÇèÇØ º¼ °ÍÀÌ´Ù. ¸ðÀÇ °ø°ÝÀ» À§ÇØ, °ø°ÝÀ» ´çÇÒ ¼­¹ö¿¡ PHP Injection¿¡ Ãë¾àÇÑ ´ÙÀ½ code¸¦ ¾÷·ÎµåÇÒ °ÍÀÌ´Ù. // test.php <? include($var); ?> [°ø°Ý ´çÇÒ ¼­¹ö ¿¹Á¦ »çÁø] $var º¯¼ö¿¡ `test'¶ó´Â °ªÀ» ÀÔ·ÂÇÏÀÚ, include path error°¡ Ãâ·ÂµÇ¾ú´Ù. °á·ÐÀûÀ¸·Î ¿ì¸®´Â $var º¯¼ö¿¡ °ø°Ý ÄÚµå URLÀ» ÀÔ·ÂÇÏ¿© ¸í·ÉÀ» »ðÀÔÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ±× ÈÄ, °ø°ÝÀÚÀÇ À¥¼­¹ö¿¡ ´ÙÀ½ code¸¦ ¾÷·ÎµåÇÒ °ÍÀÌ´Ù. // attack <? passthru($command); ?> [°ø°ÝÀÚÀÇ ¼­¹ö ¿¹Á¦ »çÁø] $command º¯¼ö¸¦ ÅëÇØ ½Ã½ºÅÛ ¸í·É¾î¸¦ ¼öÇàÇÒ ¼ö ÀÖµµ·Ï passthru() ÇÔ¼ö¸¦ »ç¿ëÇÏ¿´´Ù. ÀÚ, ±×·³ ¸ðÀÇ °ø°ÝÀ» ½ÃµµÇغ¸ÀÚ. ´ÙÀ½°ú °°ÀÌ $var º¯¼ö¿¡ `attacker_host' host¿¡ ÀÖ´Â attack ÆÄÀÏÀ» include ¿äûÇÏ¿© ºÒ·¯¿Â ÈÄ, $command º¯¼ö¿¡ `id' ¸í·É¾î¸¦ »ðÀÔÇÏ¿© ÇöÀç ±ÇÇÑÀ» È®ÀÎÇÒ ¼ö ÀÖ¾ú´Ù. [°ø°Ý ÈÄ, ¸í·É¾î °á°ú »çÁø] °ø°Ý ÈÄ, °ø°ÝÀ» ¹ÞÀº ½Ã½ºÅÛ¿¡ ÀÛ¼ºµÈ log ÆÄÀÏ ÀϺθ¦ Àо °á°ú, ´ÙÀ½°ú °°Àº ³»¿ëÀ» º¼ ¼ö ÀÖ¾ú´Ù. [°ø°Ý ÈÄ, ¼­¹ö¿¡ ±â·ÏµÈ °ø°ÝÀÚÀÇ IP Á¤º¸¿Í ¿äû³»¿ë] Áö±Ý±îÁö, °³³ä Áõ¸íÇÏ¿¡ PHP Injection Ãë¾àÁ¡ ¸ðÀÇ °ø°ÝÀ» ½ÃµµÇغ¸¾Ò´Ù. °ø°ÝÀ» ½ÃµµÇغ» °á°ú, ¿©·¯´ëÀÇ ¼­¹ö¸¦ ÇÊ¿ä·Î ÇÏ°í ¶Ç, °ø°ÝÀÚÀÇ ¿äû³»¿ëÀÌ ¼­¹ö¿¡ ±â·ÏµÈ´Ù´Â »ç½ÇÀ» ¾Ë°Ô µÇ¾ú´Ù. 3. PHP Injection ÀÚµ¿È­ µµ±¸ »ç¿ëÀÇ ¿¹Á¦. ÀÚ, ±×·³ À̹ø Àå¿¡¼­´Â PHP Injection ÀÚµ¿È­ µµ±¸¸¦ ÀÌ¿ëÇÏ¿© À§ÀÇ test.php°¡ ¼³Ä¡µÇ¾î ÀÖ´Â ¼­¹ö¸¦ °ø°ÝÇØº¸µµ·Ï ÇϰڴÙ. »ç¿ë¹ýÀº ¸Å¿ì °£´ÜÇϸç, µµ±¸¸¦ »ç¿ë ½Ã, ¹Ýµå½Ã ÀÔ·ÂÇØ¾ß ÇÏ´Â Á¤º¸´Â ´ÙÀ½°ú °°´Ù. 1. PHP Injection Ãë¾àÁ¡ÀÌ Á¸ÀçÇÏ´Â php URL. 2. Ãë¾àÇÑ php ÆÄÀÏ¿¡¼­ »ç¿ëÇÏ´Â º¯¼ö À̸§. 3. °ø°ÝÀÚ hostÀÇ ÁÖ¼Ò. 4. °ø°ÝÀÚ hostÀÇ port. Âü°í·Î, °ø°ÝÀÚ host´Â À¥¼­¹ö¸¦ ÇÊ¿ä·Î ÇÏÁö ¾ÊÀ¸¸ç, exploit ÀÚü³»¿¡¼­ À¥¼­¹ö¸¦ ¸¸µé¾î »ç¿ëÇϱ⠶§¹®¿¡ root ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÏÁöµµ ¾Ê´Â´Ù. ÀÌ¹Ì 2¹øÀå¿¡¼­ °ø°ÝÇß´ø ´ë·Î ¼³Á¤ÇÑ´Ù¸é. 1. http://target.inetcop.org/test.php 2. var 3. attacker_host.underattack.co.kr 4. 80 ¸¸¾à °ø°ÝÀÚ host°¡ 80¹øÀ¸·Î À¥¼­ºñ½º¸¦ ½ÇÇà ÁßÀ̶ó¸é, port 8000¹øÀ̳ª, 8080¹ø°ú °°ÀÌ »ç¿ëÇÏÁö ¾Ê´Â port ¹øÈ£¸¦ ÁöÁ¤ÇØÁÖ¸é µÈ´Ù. (±âº» port: 8000¹ø) ÀÚ, °ø°ÝÀ» ½ÃµµÇغ¸ÀÚ. -u ¿É¼ÇÀº Ãë¾àÁ¡ÀÌ Á¸ÀçÇÏ´Â PHP ÆÄÀÏÀÇ URLÀ» ÀÔ·ÂÇÒ ¶§ »ç¿ëµÈ´Ù. (¿¹: -u "http://target.inetcop.org/test.php") -v ¿É¼ÇÀº Ãë¾àÇÑ º¯¼öÀ̸§À» ÀÔ·ÂÇÒ ¶§ »ç¿ëµÈ´Ù. (¿¹: -v "var") -s ¿É¼ÇÀº °ø°ÝÀÚ hostÀÇ ÁÖ¼Ò¸¦ ÀÔ·ÂÇÒ ¶§ »ç¿ëµÈ´Ù. (¿¹: -s "attacker_host.underattack.co.kr") -p ¿É¼ÇÀº °ø°ÝÀÚÀÇ port ¹øÈ£¸¦ ÀÔ·ÂÇÒ ¶§ »ç¿ëµÈ´Ù. (¿¹: -p 8080) -c ¿É¼ÇÀº ¿ø°Ý¿¡¼­ ½ÇÇàÇÒ ¸í·ÉÀ» ÀÔ·ÂÇÒ ¶§ »ç¿ëµÈ´Ù. (¿¹: -c "uname -a; pwd; id") ÃÖÁ¾ÀûÀ¸·Î ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ¿© ±ÇÇÑÀ» ȹµæÇÒ ¼ö ÀÖ¾ú´Ù. [°ø°Ý ÈÄ, ¿ø°Ý¿¡¼­ shellÀ» ȹµæÇÑ ¸ð½À] 4. Plugin ÀÀ¿ë µµ±¸ »ç¿ëÀÇ ¿¹Á¦. ÀÚµ¿È­ µµ±¸¸¦ À§ÇØ Áö¿øÇÏ´Â Plugin µµ±¸¸¦ ¼Ò°³Çϵµ·Ï ÇϰڴÙ. ù¹øÂ° ¼Ò°³ÇÒ Plugin µµ±¸´Â google webÀ» ÀÌ¿ëÇÑ ÀÚµ¿ ½ºÄ³³ÊÀÌ´Ù. »ç¿ë¹ýÀº ¸Å¿ì °£´ÜÇϸç, google webÀ» ÅëÇØ ¼øÂ÷ÀûÀ¸·Î °Ë»çÇÏ¿© ³ª¿Â °á°ú¹°À» È­¸é¿¡ Ãâ·Â½ÃŲ´Ù. [ÀÚµ¿ ½ºÄ³³Ê »ç¿ë ¹æ¹ý] -h ¿É¼ÇÀº À§ÀÇ È­¸é°ú °°ÀÌ »ç¿ë¹ýÀ» Ãâ·ÂÇØÁÖ¸ç, -s ¿É¼ÇÀ» ÅëÇØ ¼­ºñ½º ÁßÀÎ google ¼­¹ö¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. -t ¿É¼ÇÀ» ÀÌ¿ëÇÏ¿© °Ë»öÇÒ ¹®ÀÚ¿­À» ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ È­¸éÀº "test.php"¸¦ °Ë»öÇßÀ» ¶§ ºÒ·¯¿À´Â °á°úÀÌ´Ù. [½ºÄµÀ» ÅëÇØ °Ë»ö °á°ú¸¦ Ãâ·ÂÇÏ´Â ¸ð½À] µÎ¹øÂ° ¼Ò°³ÇÒ Plugin µµ±¸´Â °Ô½ÃÆÇÀ̳ª À¥ ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥ Ãë¾àÁ¡ Á¤º¸¸¦ ¸ðµâÈ­ÇÏ¿© ÆíÇÏ°í ½±°Ô ¸ðÀÇ ÇØÅ·À» ½ÃµµÇÒ ¼ö ÀÖµµ·Ï °³¹ßµÈ µµ±¸ÀÌ´Ù. ÀÌ µµ±¸¸¦ ÀÌ¿ëÇϸé, Ãë¾àÇÑ ÇÁ·Î±×·¥ÀÇ Á¤º¸¸¦ ÄÄÆÄÀÏÇÏ¿©, ¹ÙÀ̳ʸ®·Î ÀÛ¼ºÇϴµ¥, ÀÌ·¸°Ô ÀÛ¼ºµÈ ¹ÙÀ̳ʸ®ÀÇ Á¤º¸¸¦ ÅëÇØ Ãë¾àÁ¡À» exploit ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ È­¸éÀº `0day'¶ó´Â Ãë¾à ÇÁ·Î±×·¥ Á¤º¸ ¼³Á¤ ÆÄÀÏÀÌ´Ù. [¹ÙÀ̳ʸ®·Î ÄÄÆÄÀÏ µÇ±â Àü, Ãë¾àÇÑ ÇÁ·Î±×·¥ÀÇ Á¤º¸¸¦ ´ãÀº ¼³Á¤ ÆÄÀÏ] ´ÙÀ½ È­¸éÀº ÀÚµ¿È­ °ø°Ý ¸ðµâ µµ±¸ÀÇ »ç¿ë ¹æ¹ýÀÌ´Ù. [µµ±¸ÀÇ »ç¿ë ¹æ¹ý] À§¿¡ ÄÄÆÄÀÏÇϱâ ÀüÀÇ ¼³Á¤ ÆÄÀÏÀ» ÄÄÆÄÀÏÇϱâ À§Çؼ­´Â -w ¿É¼ÇÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. [ÄÄÆÄÀÏÇÏ´Â ¸ð½À] `0day.bin' ÆÄÀÏÀº ¿ø·¡ Á¸ÀçÇÏÁö ¾Ê¾ÒÁö¸¸, `0day'¶ó´Â ¼³Á¤ ÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ¿© ¹ÙÀ̳ʸ® ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ÀÖ¾ú´Ù. ÀÚ, ÄÄÆÄÀÏ ÇÑ ÈÄ, ÀÚµ¿È­ °ø°Ý ¸ðµâ µµ±¸¸¦ ´Ù½Ã ½ÇÇàÇØº¸¾Ò´Ù. [¼³Á¤ ÆÄÀÏ ÄÄÆÄÀÏ ÈÄ, »ç¿ë ¹æ¹ý] ÄÄÆÄÀÏ ÈÄ, µµ±¸ÀÇ »ç¿ë ¹æ¹ýÀÌ Ãß°¡µÇ¾ú´Ù. È­¸éÀÇ ¾Æ·¡ ÂÊ¿¡ ¼³Á¤ ÆÄÀÏ¿¡ ÀÖ¾ú´ø °¢Á¾ À¥ ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥µéÀÌ °ø°Ý targetÀ¸·Î »ý¼ºµÇ¾ú´Ù. ÀÚ, ¿©·¯ target Áß Çϳª¸¸À» ¼±ÅÃÇÏ¿©, °ø°ÝÀ» ½ÃÇèÇØº¸µµ·Ï ÇϰڴÙ. [¸ðµâÀ» ÅëÇØ ÀÚµ¿È­ °ø°ÝÀ» ½ÃµµÇÏ´Â ¸ð½À] ÄÄÆÄÀÏµÈ ¹ÙÀ̳ʸ® ¸ðµâÀ» ÅëÇØ ¸Å¿ì ½±°Ô °ø°Ý¿¡ ¼º°øÇÒ ¼ö ÀÖ¾ú´Ù. 5. °á·Ð Áö±Ý±îÁö ÀÚµ¿È­ µÈ PHP Injection °ø°ÝÀ» ÅëÇØ, ¸Å¿ì ½±°Ô ¸ðÀÇ ÇØÅ·À» ½ÃµµÇÒ ¼ö ÀÖ¾ú´Ù. ÀÌ¿Í °°Àº °ø°ÝÀº ´ëºÎºÐ IDS¿¡¼­ °¨ÁöÇÏÁö ¸øÇϸç, À¥À» ÅëÇÑ °ø°ÝÀ̱⠶§¹®¿¡ ¹æÈ­º®À» ¿ìȸÇÒ ¼ö ÀÖ°í, ¼­¹ö ·Î±ëÀ» ÃÖ¼ÒÈ­ ÇÒ ¼ö ÀÖ´Ù. ÃÖ±Ù °ø°³µÈ kernel exploitÀ» Plugin module·Î °³¹ßÇÑ °á°ú, ÀÚµ¿À¸·Î °ü¸®ÀÚ ±ÇÇÑÀ» ȹµæÇÏ´Â test worm »ý¼ºµµ °¡´ÉÇÏ¿´´Ù. (auto google scan -> auto remote attack -> auto local exploit) ÀÌ·¯ÇÑ ÀÚµ¿È­ moduleÀÇ °­Á¡Àº ºü¸¥ ½Ã°£³»¿¡ patch ¼öÇàÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¸é, kernel exploitÀÌ ¾Æ´Ñ, Ãë¾àÁ¡ patch moduleÀ» PluginÀ¸·Î °³¹ßÇÒ °æ¿ì, ¼ö¸¹Àº ¼­¹öÀÇ Ãë¾àÁ¡À» ºü¸¥ ½Ã°£³»¿¡ Á¦°ÅÇÒ ¼ö ÀÖ´Ù. (À̰ÍÀº º»·¡, `INetCop Security'ÀÇ °³¹ß ¸ñÀûÀÌ´Ù.) ¸¸ÀÏ `script kiddie'°¡ ¿ì¸®ÀÇ µµ±¸¸¦ ¾Ç¿ëÇÏ°Ô µÈ´Ù¸é, ÀÌ´Â °¡È÷ Ä¡¸íÀûÀÎ °á°ú¸¦ ºÒ·¯ ÀÏÀ¸Å³ °ÍÀÌ´Ù. ¿ì¸® `INetCop Security'¿¡¼­´Â ½ÃÇè µµ±¸¿Í ÇÔ²² º¸¾È °áÇÔÀ» ÇØ°áÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ¼Ö·ç¼ÇÀ» ¿¬±¸Çϰí ÀÖ´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷À» ÅëÇØ, ±¹³»¿Ü À¥ ÇØÅ· °ø°ÝÀÇ À¯ÇüÀ» ºü¸£°Ô ºÐ¼®ÇÏ¿© ÇØ°áÇϰí ÀÖÀ¸¸ç, ÇØÅ· °ø°Ý ÇÇÇØ¸¦ ¸·±â À§ÇØ, ÃÖ¼±À» ´ÙÇØ ³ë·Â ÁßÀÌ´Ù. -- °¨»çÇÕ´Ï´Ù.