长亭百川云 - 文章详情

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

甲方安全建设

65

2024-07-13

目录:

  • 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文件的绝对路径,是漏洞利用的大前提。

解决思路:

  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   `

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 不错的文章解读

0x08 最新动态

  • 知识星球: 红蓝早读 (碎片记录)

  • 公众号: 甲方安全建设 (整理沉淀)

  • 作者: red4blue (交流讨论)

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

0x09 招聘推荐

最后

Follow Me

微信/微博: red4blue

公众号/知乎: blueteams

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2