-
0x00 前言
-
0x01 扫描检测思路
-
0x02 利用思路
-
0x03 全球检测.
-
0x04 关于`bounty`
-
0x05 影响
-
0x06 关于大网蜜罐
-
0x07 不错的文章解读
-
0x08 最新动态
-
0x09 招聘推荐
0x00 前言
历史背景,很多
php
系的公司,其实会用fastcgi
的模式,集群的模式去部署php应用. (今天看到有几个群在讨论,多说2句)
当然里面会存在一些安全问题.
漏洞利用的话,一般会为2个版本.
php<5.3.9
,比如知道主机上的任意文件路径/etc/passwd
, 其实就可以任意php
代码执行,属于rce
类漏洞了。
当php>=5.3.9 或者 php7+
等版本时(安全加固了
),需要知道一个php
类型文件的绝对路径
, 才可以同上攻击.
0x01 扫描检测思路
-
端口上: 默认 9000
端口(适合全球扫描),直接发送fastcgi
格式的包,不管是啥php版本,都可以检测出来。但是为了统一回显检测. 可以指定一个不存在的路径
如上图,masscan
等工具检测9000
端口open
,然后发送这个数据包,然后进行回显识别即可.这是16-17年一个工具,差不多masscan
的速度,nmap
的精度. 现在的 goby
/fscan
等工具,其实也都是这个宗旨,最快的速度,最少的交互,最好的指纹识别.
-
Web层识别.直接盲打 -
如果有人以内存shell模式,或者fastcgi等端口上,打过攻击的话。其实用多线程盲打,是有很大的概率,可以扫描出来的。但是不适合全球类扫描.
0x02 利用思路
综上所述,基本都是高版本php的情况,获取任意一个
php
文件的绝对路径,是漏洞利用的大前提。
解决思路:
-
有web接口的,各种php的报错语法,如 str
参数传入[]
. 如各种cms等,常见报错路径。以及phpinfo
等等,尽力获取一个绝对路径
-
搜集所有发行版 centos/ubuntu/debian
等各版本的预装php
后,默认环境里存在的php
文件路径. -
搜集各种一键编译环境 lnmp/宝塔/wammp/phpstudy
等等,里面默认的php
文本路径 -
搜集各种 nginx/apache2
等fastcgi
环境下的web
目录,然后拼接index.php
等常见文件列表 -
其他组合漏洞思路,获取 php文件绝对路径
等等.
综上各角度,可以搜集一个比较合适的php路径字典了. 然后利用时,遍历这份路径即可. 之前的mac
挂了,路径列表,我也找不到了😭
路径举例有
/usr/lib/rpm/macros.php
/usr/lib/php/build/run-tests.php
/etc/rpm/macros.php
/usr/lib/rpm/macros.php
0x03 全球检测.
-
masscan 扫全球大网ipv4段,合适的扫描机,大概6个小时不到,可以扫完 -
然后精准指纹识别. 配置文件如下.
9000,AQEAAQAIAAAAAQAAAAAAAAEEAAEAlwEADxNTQ1JJUFRfRklMRU5BTUUvZXRjL2lzc3VlYXNkYXNkYXNkDQFET0NVTUVOVF9ST09ULw8QU0VSVkVSX1NPRlRXQVJFZ28gLyBmY2dpY2xpZW50IAsJUkVNT1RFX0FERFIxMjcuMC4wLjEPCFNFUlZFUl9QUk9UT0NPTEhUVFAvMS4xDgNSRVFVRVNUX01FVEhPREdFVAABBAABAAAAAA==,fastcgi
0x04 关于bounty
-
某国内厂商的几个 RCE
-
某国外厂商 HHVM
(类似php的高性能版)
0x05 影响
当利用过一次后,就会污染
php-fpm
等一个线程,当外部web请求,遇到此线程时,有概率会造成业务影响。真实环境发生过几次. 😳
提示: 尽量不要在生产环境进行此类探测,否则就是留了个后门.
0x06 关于大网蜜罐
之前写过一个简单的全端口低交互蜜罐,大概是16-17年开始跑的,因为数据量太多,es里面可能只存留了近2年的数据了。不过按我们扫描的指纹去反向关联,还是可以观测到不少探测行为的.
-
搜索语句
local_port:9000 AND remote_data:php AND NOT remote_data:cgi-bin
-
攻击频次
-
asn来源
-
探测数据包
//路径
/app/public/index.php
/app/index.php
/usr/local/lib/php/PEAR.php
/usr/share/php/PEAR.php
//php code
<?php echo shell_exec('echo kksdfdfg|md5sum');
//echo kksdfdfg|md5sum
3f03cdf811a0afccfeb65f12f2f946d7 -
-
老六延伸行为
低交互蜜罐,可以简单的做个指纹判定,遇到这个md5sum
的,给他返回正确的hash
, 说不定还能观测到下一步行为。😄
-
其他报告 hinehinehine.livedoor.blog
0x07 不错的文章解读
-
https://github.com/piaca/fcgi_exp -
Fastcgi协议分析 && PHP-FPM未授权访问漏洞 && Exp编写 PHITHON
-
利用 PHP-FPM 做内存马的方法 wofeiwo
0x08 最新动态
-
知识星球: 红蓝早读 (碎片记录)
-
公众号: 甲方安全建设 (整理沉淀)
-
作者: red4blue (交流讨论)
公众号增改字数和次数有限,防御检测策略,其它拓展思考,可能会留到群里讨论,留到星球沉淀.
0x09 招聘推荐
最后
Follow Me
微信/微博:
red4blue
公众号/知乎:
blueteams
原文始发于微信公众号(甲方安全建设):漏洞赏金和安全测试 | 关于fastcgi的一些小故事
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论