渗透测试实战5——zico2靶机入侵

一、实验环境

  • 攻击机(Kali):192.168.247.156
  • 靶机(Node):192.168.247.154

二、实验步骤

(一)主动信息收集

1、主机发现

渗透测试实战5——zico2靶机入侵

2、端口扫描

目标靶机开放22、80、111、50309端口

渗透测试实战5——zico2靶机入侵

3、服务版本信息

渗透测试实战5——zico2靶机入侵

(二)端口探测

80端口

1、目录探测

分别使用默认字典和大字典对靶机进行目录探测,探测结果如下:

渗透测试实战5——zico2靶机入侵 渗透测试实战5——zico2靶机入侵

2、访问192.168.247.154/dbadmin/

渗透测试实战5——zico2靶机入侵

点击 ' test_db.php ' ,可以看到该登陆界面只需要输入密码即可登录,尝试使用弱口令admin进行登录,竟然登陆成功。

渗透测试实战5——zico2靶机入侵

找到两个账户,使用MD5对其密码进行解密。

渗透测试实战5——zico2靶机入侵

渗透测试实战5——zico2靶机入侵 渗透测试实战5——zico2靶机入侵

尝试进行ssh登录,失败

渗透测试实战5——zico2靶机入侵

3、接下来可以尝试进行远程PHP代码注入

访问192.168.247.154

渗透测试实战5——zico2靶机入侵

点击 ' CHECK THEM OUT ',跳转到如下页面,其中URL中含有 ' ?page= ',由此我们可以想到文件包含。

文件包含特征:

  • ?page=
  • ?file=
  • ?home=

渗透测试实战5——zico2靶机入侵

查看源代码进行验证:

 渗透测试实战5——zico2靶机入侵

远程PHP代码注入步骤:

  • 创建一个数据库hack.php
  • 创建一个test表
  • 设置缺省值

测试是否可以执行一句话木马,将缺省值设为' <?php phpinfo()?> ' 。

渗透测试实战5——zico2靶机入侵

渗透测试实战5——zico2靶机入侵

访问192.168.247.154/view.php?page=../../../../../usr/databases/hack.php,一句话木马执行成功。

渗透测试实战5——zico2靶机入侵

接下来我们在测试机kali上写一个shell.txt脚本(一句话反弹shell),然后将它上传到靶机上,以此来获得shell。

渗透测试实战5——zico2靶机入侵

渗透测试实战5——zico2靶机入侵

当我们访问192.168.247.154/view.php?page=../../../../../usr/databases/hack.php时,测试机 kali 已经成功拿到了shell。

渗透测试实战5——zico2靶机入侵

渗透测试实战5——zico2靶机入侵

终极三连问

渗透测试实战5——zico2靶机入侵

python -c ‘import pty;pty.spawn(“/bin/bash”)’       //将shell转换为交互式的tty

渗透测试实战5——zico2靶机入侵

拿到了shell,接下来要做的就是提权。

4、脏牛提权

渗透测试实战5——zico2靶机入侵渗透测试实战5——zico2靶机入侵渗透测试实战5——zico2靶机入侵

成功将root账户替换成了firefart。

拿到了root权限后,就可以留后门了(此处略过留后门步骤,后面有讲解)。留完后门后,记得将恢复/etc/passwd,以免被发现了。

渗透测试实战5——zico2靶机入侵

渗透测试实战5——zico2靶机入侵

5、查看wp-config.php

wp-config.php 文件是WordPress数据库的关键。数据库名、用户名、密码、位置都是在此设置。

渗透测试实战5——zico2靶机入侵

渗透测试实战5——zico2靶机入侵  渗透测试实战5——zico2靶机入侵 渗透测试实战5——zico2靶机入侵

得到了MySQL数据库的用户名和密码。

6、尝试使用MySQL数据库的用户名和密码ssh远程登录靶机

  • 账户:zico    
  • 密码:sWfCsfJSPV9H3AmQzw8

渗透测试实战5——zico2靶机入侵

提权

  • 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命令表明可以使用无密码进行运行  

渗透测试实战5——zico2靶机入侵

终极三连问

渗透测试实战5——zico2靶机入侵

7、留后门

渗透测试实战5——zico2靶机入侵

使用中国菜刀进行验证

渗透测试实战5——zico2靶机入侵 渗透测试实战5——zico2靶机入侵 

模拟终端

渗透测试实战5——zico2靶机入侵

接下来就是清理痕迹了。。。。