W1R3S

信息收集

主机发现

利用nmap -sn参数进行主机发现,该参数是当发现存活主机的时候,不进行端口的探测,其中的n并不是network的含义,而是not port的意思!

nmap -sn 192.168.217.0/24 -oA ./hosts

这种方式和arp-scan -l的结果几乎是一样的,作用是相同的!

发现存活主机192.168.217.130 这就是我们的靶机地址!

端口探测

nmap -sT -p- 192.168.217.130 -oA ./ports
//指定以TCP协议进行全端口的扫描 
//-p- 是-p1-65535 的缩写
//-oA全格式输出

得到了四个端口分别是:21,22,80,3306

利用grep 进行匹配端口:

grep open ./ports.nmap

尝试将端口提取出来,并且合并成一行:

grep open ./ports.nmap | awk /F'/' '{print $1}' | paste -sd ','
//利用awk /F 指定分隔符为‘/’ 打印输出每一行
//利用paste 参数为-sd s:合并成一行 d:指定分隔符为‘,’

尝试将结果赋值给一个变量ports:

ports=$(grep open ./ports.nmap | awk /F'/' '{print $1}' | paste -sd ',')
echo $ports

之后我们进行一次详细的扫描:

nmap -sT -sV -sC -O -p21,22,80,3306 192.168.217.130 -oA ./details
//指定以TCP协议进行扫描
//探测各服务的版本信息
//指定使用默认脚本进行扫描
//扫描操作系统版本信息

分析探测结果:

  1. 21端口存在FTP服务,可能存在FTP匿名登录,存在三个目录,分别是content、docs、new-employees,可能存在信息泄露,
  2. 22端口运行的服务是ssh,7.2p2版本,操作系统可能是ubuntu 发现了sshhostkey
  3. 80端口运行的是apache 版本是2.4.18 大体能够确定操作系统就是ubuntu,网站的标题是apache的默认界面it works!
  4. 3306端口 mysql服务
  5. mac地址 该靶机运行在vmware上
  6. 操作系统是linux 具体的版本信息有待详细探测!

整个端口的探测到此为止了,我们收获了四个端口,之后的渗透测试,优先级是21 3306 80 22;

漏洞脚本探测

利用nmap进行漏洞的初判断:

nmap --script=vuln -p21,22,3306,80 192.168.217.130 -oA ./vulns

针对漏洞的初步探测,相较于上面的信息收集,除了发现80端口上存在着wordpress,没有什么额外的其他收获。

UDP常用端口探测

nmap -sU --top-ports 20 192.168.217.130 -oA ./udp
//指定以UDP协议进行扫描
//扫描常用的udp端口20个

渗透测试

FTP匿名登录

由于上面我们在进行信息收集的时候 发现了21端口存在FTP服务,并且我们可能存在匿名登录;

利用ftp 登录192.168.217.130靶机:

FTP匿名登录的时候 用户名是anonymous 密码为空;成功登录!由于上面进行信息收集的时候发现了三个目录,接下来我们就是看看这三个目录下存在什么文件,下载下来即可

输入binary进入二进制模式:

进入content目录下,发现存在三个文件:

输入prompt,将交互模式进行关闭(这样的话就可以一次性全部将文件下载下来,而不用每次都进行询问),后面利用mget下载所有的txt文件:

之后分别进入另外的两个目录下,将目录中的文件全部下载下来:

之后FTP利用就到此结束了,退出即可!

后面我可以查看下载下来的所有的txt文件!

看到01ec,大概能够判断这是md5,如果你判断不出来的话,可以使用hash-identify工具进行识别:

之后找一个在线的md5破解平台进行破解:

"This is not a password" 没啥有用的信息,继续向下看

后面出现一串base64的字符串“SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==”

尝试base64解码:

没用的信息

再往下看,发现了公司的成员表:

这里我们就需要有一个认知,这些信息是很重要的,不管之后会不会用得到,我们都可以收集下来。再往下发现了两行奇奇怪怪的文字:

很明显是经过了倒置和左右的对换,找个在线的网站:https://www.upsidedowntext.com/

“i don't think this is the way to root” -----我不认为这是完成靶场的途径

“we have a lot of work to do stop playing around”-----我们有很多的 工作需要做 别搁着闲逛了!

到这里FTP就结束了,没有找到什么突破口!继续向下看

3306

尝试登录mysql:

mysql -h 192.168.217.130 -u root -p
//由于我们没有密码,便尝试空密码进行登录

无法进行登录,没啥突破点,看看80端口吧

80

尝试访问的时候,确实发现的是Apache的默认界面:

之前我们还是发现了wordpress这个目录的,尝试访问下:

发现他会跳转到localhost!接下来怎么办呢?感觉存在别的目录,扫一下目录吧

发现了三个目录,分别是administrator javascript wordpress

尝试去访问这些资源:

发现内容管理系统Cuppa CMS!安装界面!

尝试进行安装一下吧,看看会发生什么,心里有个准备,说不定就会对服务器造成什么样的影响,或者直接就被管理员发现了!

安装不上。。。

此时看看cuppa cms有没有什么历史的漏洞吧:

searchsploit cuppa cms

果然发现一个漏洞,将对应的说明文件下载下来:

searchsploit -m 25971.txt

存在文件包含漏洞。该漏洞适用于windows 或者linux ;漏洞出现在/alerts/alertconfigfield.php中的22行:

漏洞代码为:
<?php include($REQUEST["urlConfig"]);?>

可以直接读取敏感文件,或者是利用伪协议进行读取!

没找到?目录是不是改成了administrator?试试:

确实存在,但是没读出什么东西啊,源码呢?

啥也没有啊。怎么回事?回到我们下载的漏洞文件中,发现文件中给出了源码的地址,我们可以尝试去看下源码,(其实这里也应该要想到的,我们用的GET方法,是不是用POST?)

看一下源码吧:

果然是POST方式才可以的!

利用curl -d参数指定 使用POST方式传递参数:

curl -d 'urlConfig=../../../../../../../../../etc/passwd' http://192.168.217.130/administrator/alerts/alertConfigField.php

读取/etc/shadow文件:

之后将看到的三个hash保存下来:

之后直接利用john工具进行破解:

拿到了两个账户的密码,我们先用w1r3s用户进行登录(感觉这个用户的权限更高):

提权写在后面吧。差不多到这里80端口的利用就结束了。

22

关于ssh的利用可以尝试利用hydra进行爆破:

我们之前收集到了几个用户名(就是公司中的各种管理人员)

hydra -L username -P /usr/share/wordlist/rockyou.txt ssh://192.168.217.130 

hydra没有爆破成功!

提权

利用w1r3s账户进行ssh登录之后,查看所拥有的权限:

具有所有的权限:

利用sudo 开启一个新的bash窗口进行提权:

sudo /bin/bash

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/188306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为OD机试真题-素数之积-2023年OD统一考试(C卷)

题目描述: RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高,给定一个32位正整数,请对其进行因数分解,找出是哪两个素数的乘积。 输入描述: 一个正整数num 0 < num <= 2147483647 输出描述: 如果成功找到,以单个空…

JOSEF约瑟 DY-34 型电压继电器,15-30V 柜内安装,板前接线

DY-30系列电压继电器 DY-32电压继电器&#xff1b; DY-36电压继电器&#xff1b; DY-33电压继电器&#xff1b; DY-37电压继电器&#xff1b; DY-34电压继电器&#xff1b; DY-38电压继电器&#xff1b; DY-31电压继电器&#xff1b; DY-35电压继电器&#xff1b; DY-32/60C电压…

c语言-浅谈指针(4)

文章目录 1.回调函数概念举例 2.qsort函数qsort的使用 3.通过冒泡排序来模拟qsort函数排序int类型排序结构体类型 这是指针最后一篇了喔&#xff0c;完结撒花 ! 前三篇&#xff1a; 浅谈指针&#xff08;1&#xff09;http://t.csdnimg.cn/JTRjW 浅谈指针&#xff08;2&#xf…

GROM gorm.DB 对象剖析

文章目录 1.GORM 简介2.gorm.DB 简介2.1 定义2.2 初始化2.3 查询方法2.4 事务支持2.5 模型关联2.6 钩子&#xff08;Hooks&#xff09;2.7 自定义数据类型 3.为什么不同请求可以共用一个 gorm.DB 对象&#xff1f;4.链式调用与方法5.小结参考文献 1.GORM 简介 GORM 是一个流行…

社区工作者在哪里啊?真救命了

社区工作者&#xff0c;每天各种写材料啊啊啊&#xff01;&#xff01; 有时候真的写麻掉了啊&#xff0c;家人们&#xff0c;太难了&#xff0c;谁懂啊&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 这个好东西真的救我大命啊&#xff0c;只要输入关键词和…

linux基础五:linux 系统(进程状态2:)

linux 系统 一.进程状态&#xff1a;1.睡眠状态(sleep)&#xff1a;2.磁盘休眠状态(disk sleep)&#xff1a;3.停止状态(stoped --- T)&#xff1a;4.死亡状态&#xff1a;5.控制状态&#xff08;t&#xff09; 二.僵尸进程和孤儿进程&#xff1a;1.僵尸状态&#xff1a;2.孤儿…

Redis:缓存问题及解决——缓存穿透、缓存击穿、缓存雪崩

缓存穿透 问题描述 当系统中引入redis缓存后&#xff0c;一个请求进来后&#xff0c;会先从redis缓存中查询&#xff0c;缓存有就直接返回&#xff0c;缓存中没有就去db中查询&#xff0c;db中如果有就会将其丢到缓存中&#xff0c;但是有些key对应数据在db中并不存在&#x…

管理员配置Jupterhub

在Ubuntu上演示如何部署R语言环境&#xff0c;包括 posit的已经编译了一些R的安装 系统已经装了R&#xff0c;我额外编译的R如何让大家都能用到 如何配置RStudio jupyterhub的配置和使用 管理员如何配置jupyterhub 用户如何配置自己的jupyter环境 Ubuntu上的R部署 这一次…

后端防止重复提交相同数据处理方式(Redis)

使用AOP注解处理接口幂等性&#xff0c;默认禁止同一用户在上次提交未果后10秒内又重复提交 在原先的sameUrlData的注解上进行了copy新建优化&#xff0c;使用redis去setnx的参数视项目使用点而调整&#xff0c;不一定是每个项目都适合这种取参形式。 源码如下: package com…

Mendix UI页面布局以案说法

一、前言 试着回想最近一次与公司网站交互的情况&#xff0c;访问了多个页面&#xff0c;并且可能使用了某些功能。有可能基于这种互动&#xff0c;可以向某人介绍公司的一些主要功能。其中一些可能是更肤浅的东西&#xff0c;比如他们的标志是什么样子或他们的主要配色方案是…

笔记二十四、剖析Redux的工作流程

24.1 定义 用做于状态管理的第三方 js 库react框架中使用&#xff0c;也可应用于其他的框架 使用场景 组件间需要共享状态和改变另一个组件的状态在react项目中可以不使用就尽量不用&#xff0c;复杂场景下才使用 24.2 原理图 24.3 代码 安装 yarn add reduxjs/toolkit rea…

GPIO的使用--操作PE02 PE03 PE04实现开关控制灯泡亮灭

效果&#xff1a; 开关控制灯的亮灭 目录 1.找到引脚组别(DEFG) led灯硬件结构 开关硬件结构 2.时钟使能 3.GPIO时钟控制 4.控制实现思路 5. 完整代码 6.视频演示 1.找到引脚组别(DEFG) 开关的引脚组别--E&#xff1b;LED灯的引脚组别--F led灯硬件结构 开关硬件结构…

【linux】基本指令(上篇)

1.快速认识5~6个指令 pwd指令 ls指令 touch指令 cd指令 clear指令 touch指令 详细讲解 首先有一个问题就是当我们创建一个文件&#xff0c;但是没有往里面写内容&#xff0c;那么磁盘上会有该文件吗&#xff1f; 磁盘上会保存&#xff0c;因为创建好的文件&#xff0c;没有…

Configure ssh-config简化ssh , scp命令;Screen 后台运行命令

1. Configure .ssh/config简化ssh, scp命令 # Configure myServer Host myServerHostName <ServerIP>User ubuntuIdentityFile /home/ubuntu/.ssh/<myServerKey>.pemssh 命令简化为. ssh myServer ssh myServerscp 命令简化为 scp -rp test.txt myServer:~/Down…

IDEA安装python插件并配置

目录 一、Mac1. 安装插件2. 新建项目3. 下载第三方库4. 配置镜像源 一、Mac 1. 安装插件 在plugins中搜索python 2. 新建项目 使用本项目独享的虚拟环境&#xff0c;选择解释器 如果需要修改解释器可以进入project structure&#xff0c;在SDKs中点击&#xff0c;选择add py…

clip-path,css裁剪函数

https://www.cnblogs.com/dzyany/p/13985939.html clip-path - CSS&#xff1a;层叠样式表 | MDN 我们看下这个例子 polygon里有四个值分别代表这四个点相对于原图左上方的偏移量。 裁剪个五角星

解决vue3项目打包发布到服务器后访问页面显示空白问题

1.在 vite.config.ts 文件中 加入 base:./ 当你将 base 设置为 / 时&#xff0c;它表示你的应用程序将部署在服务器的根路径上&#xff0c;&#xff08;将 base 设置为 / 表示你的应用程序部署在服务器的根路径上&#xff0c;并且 Vite 会相应地处理资源和路由的路径…

【UE】制作一块布

效果 步骤 1. 新建一个空白模板工程&#xff0c;新建一个Basic关卡 2. 选项模式选择“建模” 3. 创建一个矩形 宽度、深度设为500&#xff0c;宽度细分和深度细分设置为100&#xff0c;然后点击接受 此时在浏览器中编辑器也帮我们创建了一个矩形的静态网格体&#xff0c;这里…

C/C++---------------LeetCode第27. 移除元素

移除元素 题目及要求双指针在main内使用 题目及要求 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元…

MySQL数据库SQLSTATE[22007]: Invalid datetime format 日期类型不能为空值的解决办法

如果你的数据库是mysql&#xff0c; 如果你创建表或插入数据时遇到的BUG–它长这样&#xff1a; Invalid datetime format: 1292 Incorrect datetime value: ‘’ for column ‘xxx’ at row 1 或 1067 - Invalid default value for ‘xx’ 那么我将赐予你 两套剑法: &#…