一、SSH服务
首先把虚拟机导入,打开虚拟机之后,
(1)导入命令,ifconfg
得到,攻击机(即自己的IP),
接下来对靶场机器进行探测,我们使用nmap命令 nmap -sV ip/24
得到好多有价值的东西,第一个是目标靶机的IP,其次是发现了
开放的端口和对应的服务,此靶场机器上开启了ssh服务和两个http服务。
接下来我们分析特殊端口,尤其对开放http服务的大端口(本靶机上31337端口开放了http服务)
, 然后使用浏览器来浏览http服务的信息
神马都没有找到,那我们dirb命令来探测隐藏文件
发现五个隐藏文件,两个敏感目录robots.txt和.ssh,我们打开robots.txt,
把taxes添加到链接后即拿到第一个flag,(ssh服务的作用是让远程计算机登录到本地ssh服务上,进行远程操作)
把敏感文件,ssh添加到链接后,
目录中有公钥和私钥,id_rsa(私钥)和authorized_keys(认证关键字)文件可以进行下载(公钥不用下载),这里就存在私钥泄露。
对私钥进行赋读写权限,ls -alh查看权限,chmod 600 文件名
有了私钥,我们就可以尝试使用ssh命令对靶机进行远程登录(ssh -i 私匙 用户名/id 用户名在认证关键字中泄露)登录时,提示要密码,
有了私钥文件就可以从私钥文件中把密码解出来,使用ssh2john和zcat进行解密。
上一条命令对私钥信息进行转换,转换成john可以识别的信息;
后一条命令用zcat命令,使用字典。。。管道。。规则。。什么什么的进行解密,得到一个密码 starwars
输入密码,虽然没有显示,
远程登陆成功后,pwd查看下当前目录,ls查看下当前目录文件。
访问root目录,root目录中可能含有重要的信息,
找到了,flag.txt,但是没有权限访问,开始设法如何让提权
在出来的C语言代码里我们得到,第二个flag
从c代码中我们可以看出,我们输入的为一个长度20的数组,如果溢出会不会执行?(应该和c中的execve函数有关系)
我们在前面输入simon匹配c,再加入十五个字符,之后再接/bin/sh提升下权限
第三个flag出现啦
注释:
cd /目录:更换目录,可以直接跳转
mkdir 目录名:创建一个新的目录,enter后就到了这个目录下,可以进行一系列操作
vim :Linux下的编辑器
查看小文件的全部信息:cat 文件名
查看比较大文件的全部信息:gedit
特别大的话,head 数字 文件名 :查看文件的前多少行,后多少行内容。