靶场下载地址:https://www.vulnhub.com/entry/tr0ll-1,100/
kali ip:192.168.20.128
靶机和kali位于同一网段
首先通过nmap扫描靶机ip地址
nmap -sP 192.168.20.0/24
确定靶机ip
扫描开放端口
nmap -sV 192.168.20.129
发现21 和80 端口可能有用我们先来看看80端口
并没有发现什么信息我们使用dirb扫描一下目录
dirb http://192.168.20.129/
依次访问还是没有发现什么
刚刚还发现一个21端口我们尝试匿名登录ftp
成功登录ftp并且在ftp中发现一个流量包
将他下载下来使用wireshark统计中的协议分级看看有什么协议
主要发现三个协议:tcp 、ftp data和ftp
我们在ftp协议的流量包中发现了登录FTP使用的用户名密码
登录成功后执行了一下命令:SYST(获取服务器的操作系统)
返回结果:UNIX Type:L8
PORT 10,0,0,12,173,198(客户端请求服务端,服务端连接客户端44486端口)
这里我们来简单分析一下,它是由六个被逗号隔开的数字组成的序列。前四个表示IP地址,后两个组成了用于数据连接的端口号。用第五个数乘以256再加上第六个数就得到了实际的端口号。上面的端口号就为((173*256)+198)=44486
返回结果:PORT command successful. Consider using PASV.
然后执行命令:LIST(列出指定目录中的子目录和文件信息,如果没有指定目录则列出当前目录下的所有子目录和文件信息并返回客户端)
发现有个secret_stuff.txt
命令:TYPE I(I文件传输类型为二进制;A文件传输类型为ASCII)
返回结果:Switching to Binary mode.
PORT 10,0,0,12,202,172(客户端请求服务端,服务器连接客户端51884端口)
返回结果:PORT command successful. Consider using PASV.
RETR secret_stuff.txt(下载secret_stuff.txt)
返回:Well, well, well, aren’t you just a clever little devil, you almost found the sup3rs3cr3tdirlol
Sucks, you were so close… gotta TRY HARDER!
中文意思:好吧,好吧,好吧,你不就是一个聪明的小恶魔吗,你几乎找到了sup3rs3cr3tdirlol:-P
糟透了,你离得太近了…必须更加努力!
我们发现了sup3rs3cr3tdirlol,一开始挺疑惑的这是啥东西,从最简单的开始测试——网站目录
用浏览器访问一下
成功访问还发现一个文件下载下来看看
使用file查看文件类型
file roflmao
是个可执行文件我们授权执行
爆出0x0856BF感觉又是个网站目录继续访问
分别去两个文件夹下看看有些啥
good_luck
继续看一下记事本内的内容
再看看另外一个文件夹
继续看一下记事本内的内容
this_folder_contains_the_password目录提示文件包含密码
猜测which_one_lol.txt为用户名我们使用hydra爆破一下试试,目前我们只知道两个服务一个是ssh 一个是ftp
但是都失败了,但是又提示文件包含密码莫非是文件名?再用hydra测试一下
爆破得到用户名密码使用ssh连接
首先使用python获得交互式页面
python -c 'import pty;pty.spawn("/bin/bash")'
查看系统版本
确定内核为3.13.0系统版本为14.04.1
searchsploit Linux 3.13.0
发现可用payload,将他复制出来
cp /usr/share/exploitdb/exploits/linux/local/37292.c ~/Tr0ll
在kali中开启web服务
靶机下载payload(保存到靶机tmp目录下防止没权限写入)
gcc编译程序并运行程序
得到root权限
由于ssh会不断断开获得root权限后我修改了root的密码
切换到靶机就可以直接登录了