在kali的shell里面写python
写一段小脚本,运行却发现各中错误
import socket
socket.setdefaulttimeout(2)
s = socket.socket()
s.connect(("192.168.176.141",21))
ans = s.recv(1024)
print ans
Traceback (most recent call last):
File “1.py”, line 5, in
s.connect((“192.168.176.141”,21))
File “/usr/lib/python2.7/socket.py”, line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 111] Connection refused
经过多次尝试,原来是目标的端口连接失败导致,而不是代码的错
验证:
#!/usr/bin/python
import socket
socket.setdefaulttimeout(2)
s = socket.socket()
try :
s.connect(("192.168.176.141",21))
except Exception,e:
print "[-] Error = " + str(e)
尝试其它端口,如22号端口
执行
python 1.py
成功连接,并返回服务器的响应,成功知道服务其版本
再加上对版本的判断是否存在漏洞
#!/usr/bin/python
import socket
socket.setdefaulttimeout(2)
s = socket.socket()
s.connect(("192.168.176.141",22))
ans = s.recv(1024)
if ("SSH-2.0-OpenSSH_6.6.1p1" in ans):
print "[+]SSH-2.0-OpenSSH_6.6.1p1 is vulnerable."
elif ("OpenSSH 1.2" in banner):
print "OpenSSH 1.2 is vulnerable"
elif("OpenSSH 7.2p1" in banner):
print "[+]OpenSSH 7.2p1 is vulnerable"
else:
" [-] Openssh sever is not vulnerable"
输出效果