实验主机:Os-hackerNos靶机一台/Kali linux攻击机一台

实验网络:桥接网络

实验目标:获取靶机的Root权限

难易程度:简单

前期工作:

1:下载Virtualbox虚拟化软件(也可以使用Vmware导入靶机的OVA文件)
  下载地址:https://www.virtualbox.org/wiki/Downloads
  2:下载目标靶机并导入Virtualbox
  下载地址:https://www.vulnhub.com/entry/hacknos-os-hacknos,401/
  将Os-hackNos-1.ova下载下来之后打开Virtualbox按下快捷键Ctrl+i将其导入

导入之后需要修改几个地方:

3:安装并配置好自己的Kali linux主机,这里我用的版本是最新版201904

Target:信息收集

思路:既然是要对目标主机进行入侵,就要找出目标主机的真实性IP地址的所开放的端口,
  因为服务器或者个人主机对外提供服务都是通过端口来进行数据之间的通行;
  注意:一个服务可以占用多个端口,但是一个端口只能被一个服务占用
  首先确定我们是谁?

扫描我们的目标在哪里???

给几个有意思的截图吧…猜下这些都是什么设备,嘻嘻

看到这,我只想说:放下苹果手机我们还能做朋友

想必,已经猜出来那个是我们的目标了吧!!!

targetIP:172.16.1.16

那么接下来我们需要确定目标主机开起了什么服务???

看到这里是不是想杀人?别慌作为一个专业黑客要冷静
  22端口用于SSH服务,前身是RSH,之后因为传输的数据被加密所以改成了SSH,
  针对于这个端口的最好办法就是暴力破解,但是太费时间不是首要的攻击方式,后面拿不下的时候可以先用暴力破解
  80端口用于HTTP服务,还有一个安全的HTTPS,接下来我们就要转到WEB渗透才是目前最好的选择
  WEB信息收集:
  首先要去目标网站浏览一番,发现这好像是个新建立的站点,但也不确定,毕竟要知道椰树的能力是强大的,但这里我们用dirb这款kali中的工具

这个才是我们今天的主角,整个服务器的安全短板就在于此

我们先从github找下关于这个drupal cms的POC和EXP

下载地址:https://github.com/dreadlocked/Drupalgeddon2

接下来我们就需要下载这个脚本并运行拿到网站的WEBshell

Target:获取目标网站的WEBShell

此时,我们已经拿到一个shell,然而我们的权限太小,需要提权

Target:权限维持

拿到shell第一步:权限维持,我们需要kali中自带网站管理工具来做

我们现在本地做个测试,看看能否连接上

这样我们的权限维持就已经做好了,接下来才是重头戏

Target:提权

Base64加密—>解密:

解密网站:

https://base64.supfree.net/   //base64加密解密网站

https://www.dcode.fr/brainfuck-language  //脑残密码学加密解密网站

如果不出意外的话就是系统用户账号密码了

没办法在shell中,看来必须在msfshell终端中才能切换用户身份了

Root用户的家目录没法进去,但是存储用户密码文件却能被访问

这里我们不能直接通过webshell修改,只能想办法修改掉passwd文件,
  我们先制作一个具有root权限的用户,即为uid和gid都为0,
  并且按照passwd格式添加到文件中,使其保存,我们可以通过小马的file_download功能下载passwd文件,
  并在本地修改回传到靶机上,(o゜▽゜)o☆[BINGO!]

此刻我们只需要一个与其交互的shell即可大功告成!!!

糟糕,忘了设置payload,,,那就随机应变吧

Target:权限维持

以为到这里就完事了,想多了…略略略

接下来还是权限维持,只不过我们要维持Root用户的权限

首先我们分别在本地主机和目标主机上执行ssh-keygen命令

在msfshell中执行:

接下来最激动人心的时刻到啦:

完结撒花,✿✿ヽ(°▽°)ノ✿

作者:黑壳攻击小组(xhong)

欢迎留言评论,如有不足恳请指正!

Os-HackNos-Report的更多相关文章

  1. 最新版ffmpeg源码分析

    最新版ffmpeg源码分析一:框架 (ffmpeg v0.9) 框架 最新版的ffmpeg中发现了一个新的东西:avconv,而且ffmpeg.c与avconv.c一个模样,一研究才发现是libav下 ...

  2. python使用SMTP发送邮件

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.SMTP协议属于TCP/IP协议簇,它 ...

  3. python+selenium自动化软件测试(第3章):unittest

    3.1 unittest简介 前言(python基础比较弱的,建议大家多花点时间把基础语法学好,这里有套视频,可以照着练习下:http://pan.baidu.com/s/1i44jZdb 密码:92 ...

  4. selenium实现自动下载文件

    #coding:utf-8'''说明:导出'''from selenium import webdriverfrom public.highlightElement import highlightf ...

  5. 基于python的接口自动化测试+ddt数据驱动

    在测试接口时,一个接口会先写好测试用例,这个用例主要针对功能,传入参时考虑到各种场景,正常的,异常的,如:参数缺省,参数传一个六位数字写用例时考虑边界情况等. 一个接口设计用例时有可能会十几条到几十条 ...

  6. python——在文件存放路径下自动创建文件夹!

    1.a.py文件存放的路径下为(D:\Auto\eclipse\workspace\Testhtml\Test) 2.通过os.getcwd()获取的路径为:D:\Auto\eclipse\works ...

  7. python自动化-unittest批量执行用例(discover)

    前言 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到unittet里面的discover方法来加载用例了. 加载用例后,用unittest里面的Text ...

  8. python接口自动化测试(八)-unittest-生成测试报告

    用例的管理问题解决了后,接下来要考虑的就是报告我问题了,这里生成测试报告主要用到 HTMLTestRunner.py 这个模块,下面简单介绍一下如何使用: 一.下载HTMLTestRunner下载: ...

  9. python接口自动化测试(七)unittest 生成测试报告

    用例的管理问题解决了后,接下来要考虑的就是报告我问题了,这里生成测试报告主要用到 HTMLTestRunner.py 这个模块,下面简单介绍一下如何使用: 一.下载HTMLTestRunner下载: ...

  10. 自动化测试-18.selenium之bugFree代码注释

    #encoding=utf-8 import xlrd,time,os from xlutils.copy import copy from selenium import webdriver def ...

随机推荐

  1. Where/Order by/Ggroup by/Having使用的注意事项

    1.Where.Order by.Group by .having Where作用对象是:基本表或视图,从中选出符合条件的元素. Order by 作用对象是:基本表或视图,就是排序方式,分为升序(A ...

  2. LNMP-Nginx配置SSL

    SLL工作流程: 浏览器发送一个https的请求给服务器: 服务器要有一套数字证书,可以自己制作(后面的操作就是阿铭自己制作的证书),也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以 ...

  3. 【玩转SpringBoot】用好条件相关注解,开启自动配置之门

    自动配置隐含两层含义,要搞清楚 上帝让程序员的发量减少,是为了让他变得更聪明,如果有一天聪明到了极点,那就是绝顶聪明. 据说在大脑高速运转下,这样更有利于散热,不至于核心温度过高而产生告警. 聪明的大 ...

  4. RNN循环神经网络

    1.为什么还会有RNN? CNN(卷积神经网络)我们会发现, 他们的输出都是只考虑前一个输入的影响而不考虑其它时刻输入的影响, 比如简单的猫,狗,手写数字等单个物体的识别具有较好的效果. 但是, 对于 ...

  5. 安装mysql5.7(亲手实操)

    https://files-cdn.cnblogs.com/files/yucoder/%E5%AE%89%E8%A3%85mysql5.7.pdf

  6. Kubernetes 集群升级docker版本

    Kubernetes 集群升级docker版本   原则:升级完一台正常后再接着升下一台. Work Node 一.迁移上的pod(保证业务,但期间会出现抖动) kubectl drain $NODE ...

  7. 《Java基础知识》Java变量的声明、初始化和作用域

    一.Java变量的声明 在 Java 程序设计中,每个声明的变量都必须分配一个类型.声明一个变量时,应该先声明变量的类型,随后再声明变量的名字.下面演示了变量的声明方式. double salary; ...

  8. 计算机等级考试真题1(JAVA)

    答案: 01-05 C D A A C   06-10 B/D    C C C B 11-15 A C A C A 16-20 C B     C    21-25 D D C D D 26-30 ...

  9. JS---最终版本--封装缓动(变速)动画函数---增加任意多个属性&回调函数&层级&透明度

    封装缓动(变速)动画函数---增加任意多个属性&回调函数&层级&透明度 相较之前的,增加了2个判断,第一个判断是不是透明度,第二个判断是不是zindex, 都不是,就只是普通属 ...

  10. Reproduction CVE_2019_0708

    Xx_introduction Please protection,respect,love,"China's Internet Security Act"! For learni ...