0x00 前言
0x01 扫描检测思路
0x02 利用思路
0x03 全球检测.
0x04 关于`bounty`
0x05 影响
0x06 关于大网蜜罐
0x07 不错的文章解读
0x08 最新动态
0x09 招聘推荐
历史背景,很多
php
系的公司,其实会用fastcgi
的模式,集群的模式去部署php应用. (今天看到有几个群在讨论,多说2句)
当然里面会存在一些安全问题.
漏洞利用的话,一般会为2个版本.
php<5.3.9
,比如知道主机上的任意文件路径/etc/passwd
, 其实就可以任意php
代码执行,属于rce
类漏洞了。
当php>=5.3.9 或者 php7+
等版本时(安全加固了
),需要知道一个php
类型文件的绝对路径
, 才可以同上攻击.
9000
端口(适合全球扫描),直接发送fastcgi
格式的包,不管是啥php版本,都可以检测出来。但是为了统一回显检测. 可以指定一个不存在的路径
如上图,masscan
等工具检测9000
端口open
,然后发送这个数据包,然后进行回显识别即可.这是16-17年一个工具,差不多masscan
的速度,nmap
的精度. 现在的 goby
/fscan
等工具,其实也都是这个宗旨,最快的速度,最少的交互,最好的指纹识别.
综上所述,基本都是高版本php的情况,获取任意一个
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
9000,AQEAAQAIAAAAAQAAAAAAAAEEAAEAlwEADxNTQ1JJUFRfRklMRU5BTUUvZXRjL2lzc3VlYXNkYXNkYXNkDQFET0NVTUVOVF9ST09ULw8QU0VSVkVSX1NPRlRXQVJFZ28gLyBmY2dpY2xpZW50IAsJUkVNT1RFX0FERFIxMjcuMC4wLjEPCFNFUlZFUl9QUk9UT0NPTEhUVFAvMS4xDgNSRVFVRVNUX01FVEhPREdFVAABBAABAAAAAA==,fastcgi
bounty
RCE
HHVM
(类似php的高性能版)当利用过一次后,就会污染
php-fpm
等一个线程,当外部web请求,遇到此线程时,有概率会造成业务影响。真实环境发生过几次. 😳
提示: 尽量不要在生产环境进行此类探测,否则就是留了个后门.
之前写过一个简单的全端口低交互蜜罐,大概是16-17年开始跑的,因为数据量太多,es里面可能只存留了近2年的数据了。不过按我们扫描的指纹去反向关联,还是可以观测到不少探测行为的.
local_port:9000 AND remote_data:php AND NOT remote_data:cgi-bin
//路径
/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
PHITHON
wofeiwo
知识星球: 红蓝早读 (碎片记录)
公众号: 甲方安全建设 (整理沉淀)
作者: red4blue (交流讨论)
公众号增改字数和次数有限,防御检测策略,其它拓展思考,可能会留到群里讨论,留到星球沉淀.
Follow Me
微信/微博:
red4blue
公众号/知乎:
blueteams