热门推荐
(菜鸟自学)漏洞利用与Metasploit
2024-12-29 07:22

(菜鸟自学)漏洞利用与me<em></em>tasploit

什么是渗透测试?
渗透测试指的是用黑客的方式来攻击你自己的或者是客户的IT系统,来找到其中的安全漏洞。因此,渗透测试人员要有目标系统管理人员的准许才能进行测试。这就是渗透测试人员和黑客之间的区别。
什么是vulnerability?
vulnerability是指软件、硬件或者操作系统中存在的安全漏洞。一个vulnerability可以像弱密码这样简单广也可能像缓冲区溢出或者SQL注入这样复杂。我们可以使用Nexpose来扫描vulnerability 。
什么是exploit?
为了利用一个vulnerability(系统存在的漏洞),你通常需要个exploit(利用漏洞的代码)。exploit存在的唯一理由就是利用vulnerability,然后为你提供目标的权限。exploit通常会向目标发送payload(攻击成功后向目标传递的恶意代码),以此来获取目标的权限。
什么是payload?
payload是目标系统被exploit之后,让你控制目标系统的软件。payload通常是由exploit来传递到目标系统上的。
Meterpreter是metasploit中最受欢迎的payload,它让你能在目标系统上做很多事情。比如,你可以上传下载文件、截屏、收集密码的哈希值。你甚至可以控制自标的鼠标、键盘和屏幕等。
metasploit
metasploit就是一个漏洞框架,它拥有全世界最大的、优质的exploit数据库。
它的全称叫做The metasploit framework,简称叫做MSF。metasploit作为全球最受欢迎的王具,不仅仅是因为它的方便性和强大性,更重要的是它的框架。它允许使用者开发自己的漏洞脚本,从而进行测试。
MSF采用了模块化的设计,便于攻击者使用编程(ruby)技能扩展和开发自定义插件和工县。

启动数据库
启动PostgreSQL并设置为开机自启(配置数据库来更方便更快速的查询各种模块)

 

创建用户和数据库
1.切换到PSQL管理员
2.创建账号msf3(用户名并不重要),并且输入密码(自行设置,需要记住,后面需要使用
3.创建数据库msf3(名字不重要).并且msf3这个用户是拥有者

 

metasploit
进入MSF Console
kali命令行终端下直接输入

 

连接数据库,查看数据库状态
#连接本地msf3数据库,使用用户名msf3密码123456

 

通常按照如下顺序设置MSF :

命令参数参数用途search查看相关exploits。use加载相关exploits。show payloads查看该模块的攻击载荷。set payload设置攻击载荷。show options查看需要设置的攻击载荷选项。set设置攻击载荷选项。show targets查看该模块适用的操作系统。set target设置攻击的操作系统。exploit效果和run是一样的。加上-j参数后,渗透攻击就在后台进行、此时我们可以继续做其他的事情而不是—直等着渗透攻击的结果。

MSF资源文件
我们可以将针对某个目标发动攻击使用到的所有命令放到一个文件中,调用这个文件之后,攻击就自动进行了。这样的文件就是资源文件。例如,我有个文件叫做qytAutoExploit.rc,文件内容如下:

 

在terminal中输入如下命令发起自动攻击

 

Meterpreter常用命令

命令参数参数用法background回到前一个命令提示符下,可以使用sessions -l -v看到每个session,使用sessions -i session -id切换到指定的session。screenshot将目标主机截屏;并且将图片保存在本地,具体路径会有提示。sysinfo显示目标主机的系统信息。ps查看目标主机上正在运行的进程。migrate将meterpreter迁移到目标比较稳定的进程中。

Meterpreter脚本使用

参数命令命令用途run keylogrecorder键盘记录器run hashdump收集目标的密码哈希值run get_local_subnets获取目标主机本地可路由信息run vnc打开远端Windows系统的桌面run killav关闭杀毒软件
 
 
 

查看主机
查看扫描到的主机db_hosts

 

MSF-Auto
metasploit在4.2版本之后移除了db_autopwn模块,用户需要手动添加并加载该模块

 

不管在任何位置都可以使用back退回到"msf >"
发起自动攻击

 
 
 

信息收集&清理痕迹
我们渗透入一台服务器,主要是为了完成自己需要的操作,比如信息的收集、权限提升或是修改现有配置。当然在我们完成这些任务后,别忘了“打扫战场”,清理渗透所遗留的痕迹。
信息收集
对于一台Windows服务器,我们可以收集网络配置、DNS服务配置、路由、共享信息、域控制器配置等。
1.收集操作系统和版本信息

 

2主机名称和环境变量

 

3.用户账户信息

 

4.远程端口

 

5.网络信息

 

6.己安装的应用程序和服务

 

7.注册表
C: eg query HKLM /f 关键字 /t REG_SZ /s一9按关键字搜索注册表
注册表主根键名称:

  • HKEY_ LOCAL_MACHINE ——机器软硬件信息
  • HKEY_CURRENT_USER ——当前用户所用信息储存
  • HKEY_CLASSEs_ROOT ——文件关联相关信息
  • HKEY_USERS ——所有用户信息
  • HKEY_CURRENT_ConFIG ——当前系统配置
 

8.系统权限

 

信息收集WMIC
WMIC扩展WMI (Windows Management Instrumentation,Windows管理工具),提供了从命令行接口和批命令脚本执行系统管理的支持。——Windows管理框架

 

使用WMIC控制运行服务:

 
 
 
 
 
 

清理痕迹
当我们完成所有的渗透测试工作后需要清理我们在操作系统内留下的痕迹。仅仅是清除部分本地记录,如果存在日志服务器,渗透操作还是会被记录下来。
清除本地日志记录:
C: >del %WINDIR%*.log /a/s/q/f —强制静默删除只读文件

samba漏洞利用

  1. 终端启动msf应用服务,执行以下搜索命令
 
 
 
  • 为确保RDP能够通过防火墙,添加防火墙规则
 
  • 开启RDP服务,命令
 
  • 为RDP服务具备持久性,执行命令,确保计算机每次启动后都自动开启RDP服务。
  1. 端口扫描:Netcat允许您扫描目标主机上的端口,以确定哪些端口处于打开状态。这对于评估网络安全性和检查网络服务的可用性非常有用。
  2. 客户端/服务器模式:Netcat可以同时充当客户端和服务器。作为服务器,它可以监听指定的端口并等待来自其他计算机的连接请求。作为客户端,它可以主动连接到运行在远程计算机上的服务。
  3. 文件传输:Netcat可以用于在计算机之间传输文件。您可以将文件从一个计算机发送到另一个计算机,也可以接收来自其他计算机发送的文件。
  4. 网络代理:Netcat可以用作网络代理,将流量从一个端口转发到另一个端口。这在需要将流量重定向到其他计算机或端口时非常有用。
  5. 简单聊天工具:Netcat还可以用于在终端之间进行简单的聊天会话。您可以通过建立连接,在两个终端之间发送消息和接收消息。

由于Netcat提供了一种灵活而强大的方式来处理网络数据,它成为了网络和系统管理员、安全专业人员以及研究人员的常用工具。
需要注意的是,由于其功能的强大性,Netcat也可以被滥用为攻击工具。因此,在使用Netcat时,请确保遵守适用法律和道德规范,并获得合法的授权和权限。

  • 首先得获得一个meterpreter控制通道,执行命令将Kali库中的nc.exe上传到被攻击的目标系统中。
 
  • 执行命令配置注册表使目标系统启动NC并监听444 端口。
 
  • 使用queryval命令确认修改注册表是否成功,执行命令
 
  • 在Windows的shell中使用命令为目标系统中防火墙增加通过的444端口。
 
  • 执行命令查看端口添加是否成功。
 
  • 执行命令立即重启系统。
 
  • 待目标系统重启之后,在Kali打开终端执行命令可直接获取到目标系统的shell。
 
 

PostgreSQL是一个自由、开源的关系型数据库管理系统(DBMS,它是一种高度可扩展、具备ACID事务支持和SQL兼容性的数据库软件。它是在Berkeley计算机科学研究所开发的Ingres项目基础上,由PostgreSQL Global Development Group开发的。
PostgreSQL拥有许多先进的特性和功能,如JSON支持、复杂查询、用户定义类型和函数、触发器和存储过程、外键约束等。它支持多版本并发控制(MVCC)来处理并发访问,提供了高度的并发性能和安全性。PostgreSQL还提供各种安全功能,包括用户认证、访问控制和数据加密。
PostgreSQL可运行在多个操作系统上,包括Linux、Unix、Windows和Mac OS X。除了开源社区支持外,还有一些公司提供与PostgreSQL相关的商业支持和专业服务。总的来说,PostgreSQL是一种功能强大、可扩展、高度可定制的关系型数据库管理系统,适用于各种规模和类型的应用程序开发。
渗透攻击具体渗透如下

  1. 终端输入命令启动metasploit,执行命令搜索所有有效的PostgreSQL模块,会显示所有可以利用并进行攻击的模块。
 
  1. 本例选择扫描模块,执行命令,这里也可执行。
 
  1. 选用模块后执行命令查看模块所有选项,可根据攻击情况,选择相应的选项配置。
 
  1. 对目标靶机进行渗透攻击,靶机为metasploitable2,IP地址为192.168.100.20。
    执行命令指定攻击IP地址
    执行命令指定用户名文件
    执行命令指定密码文件
 
  1. 设置完成后,执行命令开始渗透攻击,将输出渗透攻击过程。能从“+”号部分可以看到本次攻击获取到的数据库用户名和密码都是postgresql。
 
 
 
  1.     以上就是本篇文章【(菜鸟自学)漏洞利用与Metasploit】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/quote/28233.html 
         动态      相关文章      文章      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多