[vulnhub]: callme
Time: 2021-2-11
Author: badbird
Target: 192.168.31.96
Attack: 192.168.31.100
先使用arp-scan来一波主机发现,因为这个比nmap快很多,发现了目标再用nmap扫描单个IP就好。
arp-scan --interface=eth0 --localnet
nmap -sS -sV -T5 -A 192.168.31.96 (真的是太慢了,不知道有没有啥好的加速参数)
可以看到,开放了22、111、2323端口。其中发现2323端口有点意思,nmap返回了在2323端口尝试登录的一些信息。(其实22/ssh也可以尝试一下枚举用户名爆破密码,但是2323提示太明显了)
这个端口开放的服务是3d-nfsd,没见过就google一下:
看到了,telnet服务,连接试试看:
常用的判断用户是否存在的办法:错误的用户名会提示用户不存在,正确的用户名会提示该用户密码错误。
现在知道了username:admin,接下来就是爆破密码。
尝试使用hydra爆破:
hydra -l admin -P /usr/share/seclists/Passwords/probable-v2-top1575.txt 192.168.31.96 telnet -s 2323
(Seclists是个在github上的密码大集合)
没等他运行结束,估计是有点问题,随后又尝试了一下metasploit的auxiliary/scanner/telnet/telnet_login模块
依然没有成功,这就有点蹊跷了。此时有两种继续的办法:1.换大字典。2.自己写破解脚本。3.google国外大佬的wp
懂的都懂。
这里会想到自己写破解脚本是因为看了大佬的解答。
复习一下python socket编程。
最后的脚本:(增加了个没啥用的进度条)。这种脚本的编写是需要根据连接情况和收到的消息进行不断测试修改的,需要确定什么时候、收到多少数据之后应该发送数据,比如用户名密码的输入。
import socket
import time
import sys
print("[~]This is a script for a VM(Callme) for Foxlox")
with open('/usr/share/seclists/Passwords/probable-v2-top1575.txt')