2015-03-01ãã1ã¶æéã®è¨äºä¸è¦§
ãLinuxã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ã§ret2usrã«ãã権éææ ¼ããã£ã¦ã¿ããã§ã¯ãKernel Address Display Restrictionï¼KADRï¼ãç¡å¹ã«ããä¸ã§/proc/kallsymsããã«ã¼ãã«ã·ã³ãã«ã®ã¢ãã¬ã¹ãåå¾ããã«ã¼ãã«ç©ºéããã¦ã¼ã¶ç©ºéã®é¢æ°ãå®è¡ããããã¨ã«ãã権éâ¦
Linuxã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ã«ãããä»»æã¢ãã¬ã¹æ¸ãæãï¼Arbitrary address writeï¼ã®èå¼±æ§ãå©ç¨ããret2usrï¼Return-to-userï¼ã¨å¼ã°ããææ³ã«ããroot権éã¸ã®æ¨©éææ ¼ããã£ã¦ã¿ãã ç°å¢ Ubuntu 14.04.1 LTS 64bitçãIntel SMEPç¡å¹ $ uname -a Linuâ¦
Linuxã«ãããã«ã¼ãã«ã¨ã¯ã¹ããã¤ãã®ä¸æºåã¨ãã¦ãç¡æ¡ä»¶ã§æ¨©éææ ¼ããï¼å®å ¨ã§ãªãï¼ã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ãæ¸ãã¦ã¿ãã ç°å¢ Ubuntu 14.04.1 LTS 64bitç $ uname -a Linux vm-ubuntu64 3.13.0-44-generic #73-Ubuntu SMP Tue Dec 16 00:22:43 UTC 201â¦
dog - opposite of cat èæ¯ Burp Suiteã®Decoderæ©è½ã§ã¯ãä¸å³ã®ããã«é©å½ãªæååã«å¯¾ãã¦è¤æ°åã®ã¨ã³ã³ã¼ãããã³ã¼ããããã·ã¥è¨ç®ãç°¡åã«è¡ããã¨ãã§ããã 便å©ãªã®ã§ãã³ãã³ãã©ã¤ã³ã¨ãã¤ãã§ãããããã ã¾ããUbuntu 8.04ã§ã¯cat(1)ã«å¯¾ãâ¦
ãARMã§Return-oriented Programmingï¼ROPï¼ããã£ã¦ã¿ããã§ã¯libcã®ãã¼ã¹ã¢ãã¬ã¹ãlibcé¢æ°ã®ãªãã»ããã調ã¹ãä¸ã§ROPãè¡ã£ãã ããã§ã¯ãASLRãæå¹ã¨ãªã£ã¦ããå ´åãæ³å®ããGOTã¢ãã¬ã¹ã®æ¸ãåºãããã³stack pivotããã¨ã«ããDynamic ROPï¼JITâ¦
ARM EABIï¼armelï¼ç°å¢ã§Return-oriented Programmingï¼ROPï¼ããã£ã¦ã¿ãã ç°å¢ Ubuntu 14.04.2 LTS ARMçï¼ã¦ã¼ã¶ã¢ã¼ãQEMUå©ç¨ï¼ # uname -a Linux c7b94bb2fc1e 2.6.32 #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 armv7l armv7l armv7l GNU/Linux #â¦
ãåç´ãªã¹ã¿ãã¯ãããã¡ãªã¼ãã¼ããã¼æ»æããã£ã¦ã¿ããã¨åæ§ã«ãLinux ARMï¼armelï¼ç°å¢ã§ã¹ã¿ãã¯ãããã¡ãªã¼ãã¼ããã¼ããã®ã·ã§ã«ã³ã¼ãå®è¡ããã£ã¦ã¿ãã ç°å¢ Ubuntu 14.04.2 LTS ARMçï¼ã¦ã¼ã¶ã¢ã¼ãQEMUå©ç¨ï¼ # uname -a Linux c7b94bb2fc1â¦
ãLinux x86ç¨ã®ã·ã§ã«ã³ã¼ããæ¸ãã¦ã¿ããã¨åæ§ã«ãLinux ARMï¼armelï¼ç¨ã®ã·ã§ã«ã³ã¼ããæ¸ãã¦ã¿ãã ç°å¢ Ubuntu 14.04.2 LTS ARMçï¼ã¦ã¼ã¶ã¢ã¼ãQEMUå©ç¨ï¼ # uname -a Linux c7b94bb2fc1e 2.6.32 #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 armvâ¦
ARM EABIï¼armelï¼ã«ã¤ãã¦ã®ã¡ã¢ã RealView Compilation Tools ã¢ã»ã³ãã©ã¬ã¤ã ãã¼ã¸ã§ã³ 4.0 ARMã¬ã¸ã¹ã¿ r0ããr15ã¾ã§ã®ã¬ã¸ã¹ã¿ã¨cpsrã¬ã¸ã¹ã¿ããããr11ã¯ãã¬ã¼ã ãã¤ã³ã¿ï¼fpï¼ãr12ã¯ããã·ã¼ã¸ã£å å¼ã³åºãã¹ã¯ã©ããã¬ã¸ã¹ã¿ï¼ip; intra-proâ¦
æå ã«x64ãã·ã³ãããªãç¶æ³ã§ARMç°å¢ãç¨æãããã¨ããå ´åã以ä¸ã®ãããªé¸æè¢ãèããããã å®æ©ãç¨æããï¼Raspberry PiãAndroid端æ«ãªã©ï¼ ãéããããã使ãã®ã«æéãããã QEMUã®ã·ã¹ãã ã¨ãã¥ã¬ã¼ã·ã§ã³ã使ã åç¾æ§ãé«ãä¸æ¹ãéã QEMâ¦
ãuse-after-freeã«ããC++ vtable overwriteããã£ã¦ã¿ããã§ã¯ãASLRãç¡å¹ã«ããæ¡ä»¶ä¸ã§ã·ã§ã«èµ·åãè¡ã£ãã ASLRãæå¹ã®å ´åãæ¸ãæããvtableã®é¢æ°ãã¤ã³ã¿ãæãã¢ãã¬ã¹ãæ¨æ¸¬å¯è½ã§ãªããã°ãªããªããããã¼ãé åã«ä»»æã®æ°ã®ãªãã¸ã§ã¯ããçâ¦