漏洞赏金和安全测试 | 关于fastcgi的一些小故事

admin 2022年8月24日22:22:52评论60 views字数 2337阅读7分47秒阅读模式
目录:

  • 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版本,都可以检测出来。但是为了统一回显检测. 可以指定一个不存在的路径
漏洞赏金和安全测试 | 关于fastcgi的一些小故事

如上图,masscan等工具检测9000端口open,然后发送这个数据包,然后进行回显识别即可.这是16-17年一个工具,差不多masscan的速度,nmap的精度. 现在的 goby/fscan等工具,其实也都是这个宗旨,最快的速度,最少的交互,最好的指纹识别.

  • Web层识别.直接盲打
    • 如果有人以内存shell模式,或者fastcgi等端口上,打过攻击的话。其实用多线程盲打,是有很大的概率,可以扫描出来的。但是不适合全球类扫描.

0x02 利用思路

综上所述,基本都是高版本php的情况,获取任意一个php文件的绝对路径,是漏洞利用的大前提。

解决思路:

  1. 有web接口的,各种php的报错语法,如str参数传入[]. 如各种cms等,常见报错路径。以及phpinfo等等,尽力获取一个绝对路径
  2. 搜集所有发行版centos/ubuntu/debian等各版本的预装php后,默认环境里存在的php文件路径.
  3. 搜集各种一键编译环境lnmp/宝塔/wammp/phpstudy等等,里面默认的php文本路径
  4. 搜集各种nginx/apache2fastcgi环境下的web目录,然后拼接index.php等常见文件列表
  5. 其他组合漏洞思路,获取php文件绝对路径等等.

综上各角度,可以搜集一个比较合适的php路径字典了. 然后利用时,遍历这份路径即可. 之前的mac挂了,路径列表,我也找不到了😭

路径举例有

/usr/lib/rpm/macros.php
/usr/lib/php/build/run-tests.php
/etc/rpm/macros.php
/usr/lib/rpm/macros.php
漏洞赏金和安全测试 | 关于fastcgi的一些小故事

0x03 全球检测.

  • masscan 扫全球大网ipv4段,合适的扫描机,大概6个小时不到,可以扫完
  • 然后精准指纹识别. 配置文件如下.
9000,AQEAAQAIAAAAAQAAAAAAAAEEAAEAlwEADxNTQ1JJUFRfRklMRU5BTUUvZXRjL2lzc3VlYXNkYXNkYXNkDQFET0NVTUVOVF9ST09ULw8QU0VSVkVSX1NPRlRXQVJFZ28gLyBmY2dpY2xpZW50IAsJUkVNT1RFX0FERFIxMjcuMC4wLjEPCFNFUlZFUl9QUk9UT0NPTEhUVFAvMS4xDgNSRVFVRVNUX01FVEhPREdFVAABBAABAAAAAA==,fastcgi

0x04 关于bounty

  • 某国内厂商的几个RCE
漏洞赏金和安全测试 | 关于fastcgi的一些小故事
  • 某国外厂商HHVM(类似php的高性能版)
漏洞赏金和安全测试 | 关于fastcgi的一些小故事

0x05 影响

当利用过一次后,就会污染php-fpm等一个线程,当外部web请求,遇到此线程时,有概率会造成业务影响。真实环境发生过几次. 😳

提示: 尽量不要在生产环境进行此类探测,否则就是留了个后门.

0x06 关于大网蜜罐

之前写过一个简单的全端口低交互蜜罐,大概是16-17年开始跑的,因为数据量太多,es里面可能只存留了近2年的数据了。不过按我们扫描的指纹去反向关联,还是可以观测到不少探测行为的.

  • 搜索语句
local_port:9000 AND remote_data:php AND NOT remote_data:cgi-bin
  • 攻击频次
漏洞赏金和安全测试 | 关于fastcgi的一些小故事
  • asn来源
漏洞赏金和安全测试 | 关于fastcgi的一些小故事
  • 探测数据包
漏洞赏金和安全测试 | 关于fastcgi的一些小故事
//路径
/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
漏洞赏金和安全测试 | 关于fastcgi的一些小故事

0x07 不错的文章解读

  • https://github.com/piaca/fcgi_exp
  • Fastcgi协议分析 && PHP-FPM未授权访问漏洞 && Exp编写PHITHON
  • 利用 PHP-FPM 做内存马的方法wofeiwo

0x08 最新动态

  • 知识星球: 红蓝早读 (碎片记录)漏洞赏金和安全测试 | 关于fastcgi的一些小故事

  • 公众号: 甲方安全建设 (整理沉淀)漏洞赏金和安全测试 | 关于fastcgi的一些小故事

  • 作者: red4blue (交流讨论)漏洞赏金和安全测试 | 关于fastcgi的一些小故事

公众号增改字数和次数有限,防御检测策略,其它拓展思考,可能会留到群里讨论,留到星球沉淀.

0x09 招聘推荐

最后

Follow Me

微信/微博: red4blue

公众号/知乎: blueteams

漏洞赏金和安全测试 | 关于fastcgi的一些小故事


漏洞赏金和安全测试 | 关于fastcgi的一些小故事


原文始发于微信公众号(甲方安全建设):漏洞赏金和安全测试 | 关于fastcgi的一些小故事

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月24日22:22:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞赏金和安全测试 | 关于fastcgi的一些小故事http://cn-sec.com/archives/1252074.html

发表评论

匿名网友 填写信息