DC-2 靶机渗透测试
DC-2 靶机渗透测试
冲冲冲,好好学习。
本靶机核心内容“
受限shell提权
”,知识点在另一篇文章中总结归纳了。
攻击机:kali
靶 机:DC-2
准备:在使用前需要在操作机的hosts文件里添加靶机的ip和域名,访问靶机80端口时会自动转跳dc-2,不添加则无法访问172.66.66.132 dc-2
信息收集:nmap -sV -A 172.66.66.0/24
nmap -sV -p- 172.66.66.132
-A :探测操作系统
-sV :探测版本
-p- :探测0~65535端口开放情况
没有robots.txt文件,访问80端口看看并识别cms:
dirb扫一下目录,找找就发现了登录页面
发现登录页面,因为是wordpress的网页,想到cewl和wpscan。接着操作。
cewl是kali自带的一个字典生成文件,教程参考freebuf的文章 Kali Linux字典生成工具Cewl使用全指南
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会根据爬取内容的关键字生成一份字典,通过这种方式生成的字典可以作为cupp生成字典的补充。你可以把字典用到类似John the Ripper这样的密码破解工具中。
其实就是生成一个社工的密码文件,网站的某些特定的字符有时候可能会成为密码,用cewl提取一下出来。
默认方法
cewl http://www.ignitetechnologies.in/ #输入下列命令之后,爬虫会根据指定的URL和深度进行爬取,然后打印出可用于密码破解的字典: 保存字典文件
cewl http://www.ignitetechnologies.in/ -w dict.txt #为了方便大家记录,或者为将来的研究提供参考,Cewl可以将打印出的字典存储为文件。这里可以使用 -w参数 来将密码字典存储为text文件: 查看的时候就 cat 一下 如果你想生成指定长度的密码字典,你可以使用-m选项来设置:
cewl http://www.ignitetechnologies.in/ -m 9 #上述命令将生成长度至少为9位的密码,你可以从下图中看到,Cewl对目标网站进行了爬取,并打印出了长度至少为9位的密码: 从网站中获取Email
cewl http://www.ignitetechnologies.in/ -n -e #你可以使用-e选项来启用Email参数,并配合-n选项来隐藏工具在爬取网站过程中生成的密码字典: 计算网站字典中重复的单词数量:
cewl http://www.ignitetechnologies.in/ -c #如果你想要计算目标网站中某个词的重复出现次数,你可以使用-c选项来开启参数计算功能:
输入cewl http://dc-2/ -w dir.txt
把生成的密码保存在 dir.txt
中,路径在/root,可以用cat dir.txt
查看详情。
接着有了密码,缺用户名,刚好这是个wordpress的站点,可以用WPScan枚举用户名,输入:wpscan --url dc-2 -e -u
找到三个用户名 admin
jerry
tom
可以尝试爆破:wpscan --url http://dc-2 -e u -P dir.txt
枚举用户名,加上 -P 密码文件路径
也可新建文件保存用户名再爆破:
wpscan --url http://dc-2 -U users.txt -P dir.txt
爆破成功:
| Username: jerry, Password: adipiscing
| Username: tom, Password: parturient
出现search,输入flag,找到flag1 、flag2,并且,是否存在注入点?
flag2 提示有另一个入口,猜想 注入
、SSH登录
,注入尝试失败,剩下SSH登录,ssh tom@172.66.66.132 -p 7744
密码parturient
只有tom账号密码可登录,但shell受限制大,较多命令无法执行。!
查看vi flag3.txt
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
可怜的老汤姆老是追杰瑞。也许他应该为他造成的所有压力负责。 提示信息指向jerry
并且提示使用su
简单试了一下发现,当前tom用户能使用的命令:ls vi less scp(不完全),得知当前shell为 rbash
开始提权,针对rbash
提权,下面的操作是突破 rbash
,整个bash
出来。先知道一个函数BASH_CMDS[]
挖个坑,其实我也不是很透彻,后面再补。
BASH_CMDS[a]=/bin/sh;a
/bin/bash
再添加环境变量:export PATH=$PATH:/bin
添加/bin
是为了能够使用/bin 下的命令
(/bin
里是系统的一些指令。bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar
等。)
需要再去理解PATH的含义,再su与sudo 的那个login shell的区别
export -p
列出当前shell中所有的环境变量,特别留意 PATH
看一下passwd文件,jerry是允许登录的
提权成功后,执行su jerry
,adipiscing
切换到jerry用户,cd ../ ,ls 看到了flag4.txt,cat一下
提示git
提权
查看当前用户下的sudo命令列表 sudo -l
看到 (root) NOPASSWD: /usr/bin/git
,git命令是切换到root用户且无需密码直接使用,(注意,直接sudo ,不指定用户名,默认切换至 root 用户)
提权原理:因为git显示的内容太多需要分页显示的话,默认调用more来显示,那么more和less一样,都可以通过命令行模式输入!/bin/bash
进行提权
sudo git -p help
!/bin/bash
本靶机核心“受限shell提权
”
路线:nmap-->御剑扫后台并访问-->cewl-->wpscan-->ssh登录-->rbash突破-->sudo git 提权root
cewl
一个工具,根据目标网站的内容,生成一个特殊的社工密码文件
,可用于后续爆破,缺个用户名,这时候如果目标站点是WordPress站点
的话,就可以配合 Wpscan来获取用户名,再一起爆破。
WPScan
一个WordPress站点
扫描工具:(kali默认自带工具)
--url [wordpress url]
直接开始扫描
--enumerate |-e [option(s)]
枚举, option有
u 枚举用户名(默认从1-10)
,
p 枚举插件
vp只枚举有漏洞的插件
vt只枚举有漏洞的主题
tt列举所列图相关的文件
注意:没有指定选项是,
-e 默认为vt tt u vp 四个
--update
使用前先更新
wpscan --url https://www.xxxxxxx.wiki/ --enumerate u
扫描用户名爆破:
wpscan --url https://www.xxxxx.wiki/ -e u --wordlist 字典文件路径
1.针对WPScan防护措施 :用户名枚举--->不要把昵称用作用户名,用包含随机字符的名字作用户名,昵称用低频的; 防止爆破措施:禁止ip重复尝试登陆; 防止扫描主题插件timthumb文件:使用
Block Bad Queries (BBQ)
插件
当拿到了账号密码,接下来有什么可以做的?
后台登录
、SSH登录
SSH远程登录命令格式:
ssh 客户端用户名@服务器ip
例:ssh tom@172.66.66.132
ssh 客户端用户名@服务器ip -p 端口
例:ssh tom@172.66.66.132 -p 7744
ssh 服务器ip
如果客户机的用户名和服务器的用户名相同,登录时可以省略用户名。拿到一个陌生的
受限制的shell
后,尽可能多的获取当前shell的信息,shell的类型
,可用功能/命令
检查可用命令:
敲入一个字母,按两下TAB键补全
,看能不能列出来文件/目录,如图都是可用的命令
检查有suid权限的命令,哪些是归属于root用户。
find / -perm -4000 -type f 2>/dev/null -exec ls -alh {} \;
find / -perm -u=s -type f 2>/dev/null -exec ls -alh {} \;
查找可以使用的命令列表sudo
sudo -l
,看能不能用我们的密码执行其他用户的权限命令检查有什么语言可以使用,python、php、ruby、expect、perl等,它们会在后面排上用场
检查重定向运算符是否可用,例如
|
>
>>
<
>|
>&
&>
检查转义字符和执行标记,如
;
&
'
"
(
{
其中,(
这个是shell执行标记
export
命令用于设置或显示环境变量,在shell中执行程序时,shell会提供一组环境变量。export可增删改
环境变量,供后续程序使用,但是export的效力仅限于本次登录操作
(这里的 删 其实更贴切的描述是“暂时性禁用”,并不真的删除)格式:
export [-fnp][变量名称]=[变量设置值]
例:export MYNE=7 //定义环境变量并赋值,export -p 列出当前shell中所有环境变量
git提权
-p | --paginate
这个-p的意思就是以分页的形式展示git的帮助信息,进入交互模式,可输入命令sudo git -p help
!/bin/bash
su 与 sudo 异同:在另一个笔记里,自己想,想不起来再去翻
echo $0 查看当前shell类型
DC-2 靶机渗透测试的更多相关文章
- DC-1 靶机渗透测试
DC-1靶机渗透测试 对着镜子大喊三声"太菜了""太菜了""太菜了" DC系列靶机的第一篇.边学习边日靶机边进步,摸爬滚打着前行. 内容不只 ...
- DC-5 靶机渗透测试
DC-5 靶机渗透测试 冲冲冲,好好学习 .核心:footer 文件包含漏洞,wfuzz .收获总结写在文末. 谨记任务:找地方上传shell---> root. 操作机:kali 172.66 ...
- DC-9 靶机渗透测试
DC-9 渗透测试 冲冲冲,好好学习 DC系列的9个靶机做完了,对渗透流程基本掌握,但是实战中出现的情况千千万万,需要用到的知识面太广了,学不可以已. 靶机IP: 172.66.66.139 kali ...
- DC-7 靶机渗透测试
DC-7 渗透测试 冲冲冲,好好学习 .对管道符的理解加深了好多.最后提权时,遇到了点麻烦.想不懂一条命令为啥能执行生效,耗了一整天才算解决掉. 操作机:kali 172.66.66.129 靶机:D ...
- DC-8 靶机渗透测试
DC-8 渗透测试 冲冲冲 ,好好学习 . 核心:cms上传添加存在漏洞组件,利用该组件getshell 操作机:kali 172.66.66.129 靶机:DC-4 172.66.66.137 网络 ...
- DC-6 靶机渗透测试
DC-6 渗透测试 冲冲冲,好好学习 . 收获总结写在文末. 操作机:kali 172.66.66.129 靶机:DC-4 172.66.66.136 网络模式:NAT 上来一波 netdiscove ...
- DC-4 靶机渗透测试
DC-4 渗透测试 冲冲冲,努力学习 .掌握 hydra ,nc反弹shell 记住你要干嘛, 找地方上传shell(大多以后台登录为切入点,再反弹shell),shell提权到root 操作机:ka ...
- DC 1-3 靶机渗透
DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...
- vulnhub-DC:7靶机渗透记录
准备工作 在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 已经知道了靶 ...
随机推荐
- 宝,我今天CR了,C的什么R? 走过场的CR
原创:猿天地(微信公众号ID:cxytiandi),欢迎分享,转载请保留出处. CodeReview我相信目前很多公司都会有这么一个流程,关键是这个流程有没有用就很难讲.主要还是取决于你对CR的理解以 ...
- .NET Core/.NET5/.NET6 开源项目汇总10:实用工具
系列目录 [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...
- ClickHouse学习系列之七【系统命令介绍】
背景 前面介绍了ClickHouse相关的系列文章,该系列文章包括了安装.权限管理.副本分片.配置说明等.这次介绍一些ClickHouse相关的系统命令,如重载配置文件.关闭服务和进程.停止和启动后 ...
- Linux主机解析顺序
1.介绍 本篇文章由于因公司项目上线,需要对项目环境进行压力测试.在压测过程中,所有打压机从公网对目标项目服务器进行压力测试,发现和内网压力测试的性能结果差距10倍左右,在调整主机对DNS的解析顺序之 ...
- 乘风破浪,Windows11官方原装4K壁纸,前卫的艺术数字设计
Windows11预览版官方壁纸 默认主题Windows Windows.zip 月轮主题ThemeA ThemeA.zip 艺术石主题ThemeB ThemeB.zip 日升主题ThemeC The ...
- Docker搭建Gogs代码仓库——代码自动化运维部署平台(一)
一.准备工作 1.Gogs 概念: Gogs 是一款极易搭建的自助 Git 服务. 目的: Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Go ...
- 『动善时』JMeter基础 — 54、JMeter聚合报告详解
目录 1.聚合报告介绍 2.聚合报告界面详解 3.聚合报告中信息点说明 (1)百分位数的说明 (2)吞吐量说明 提示:聚合报告组件的使用和察看结果树组件的使用方式相同.本篇文章主要是详细的介绍一下聚合 ...
- 架构之:serverless架构
目录 简介 什么是serverless serverless的例子 简单的三层服务 消息驱动 FaaS FaaS的缺点 FaaS的优点 总结 简介 不知道什么时候,出现了一个叫做Serverless架 ...
- <jsp:param>传递参数,出现乱码问题
今天在学习<jsp:forward>和<jsp:param>时,用<jsp:param>传递参数时,出现乱码问题,部分代码如下: 1 <jsp:forward ...
- 《PHP安全编程系列》系列分享专栏
PHP安全编程系列收藏夹收藏了有关PHP安全编程方面的知识,对PHP安全编程提供学习参考 <PHP安全编程系列>已整理成PDF文档,点击可直接下载至本地查阅https://www.webf ...