这里写目录标题
只是学习记录
linux里切换python版本
sudo update-alternatives --config python //显示当前系统中所有的Python版本
我们不能简单地通过端口号来识别端口上运行的应用,因此可以通过服务扫描来进行识别,从而有针对性地找到它的利用代码或者发现它的漏洞以及利用方法。
- 端口对应的服务
- 识别操作系统
- 提权
Banner捕获
- 服务识别
- 操作系统识别
- SNMP分析(通过系统内部信息来进行信息的探测和搜索,所以准确性也会比较高)
- 防火墙识别(识别边界防火墙的类型以及过滤机制,从而绕过和躲避它)
一、服务扫描——Banner(准确性不高)
Banner
- 获取软件开发商、软件名称、服务类型、版本号(可能直接发现已知的漏洞和弱点)
- 只有建立完整的连接后才能获取目标系统的Banner信息,才能更准确地识别端口上运行的应用。
- Banner并不是特别准确,它需要结合另类的服务识别方法——特征行为和响应字段,不同的操作系统对于同一请求的响应结果是不同的,因此不同的响应可用于识别低层操作系统。
- 通过连接服务器的端口,使其返回banner信息,结果可能查不到,也可能是管理员伪造的。
SNMP
- 简单网络管理协议
- Community strings
- 信息查询或重新配置
1、nc
┌──(root💀kali)-[/usr/local/netcat-0.7.1]
└─# nc -nv 192.168.98.132 445 1 ⨯
192.168.98.132 445 (microsoft-ds) open
踩坑
注意!
nc与netcat是一个玩意儿,ncat是nmap下面的一个玩意儿,是一个组件
我第一次搞混了。。。试了很多次都是denied,但凡看看报错里说nmap也不至于这样。
我的参考
https://blog.youkuaiyun.com/Jahnsonxi/article/details/95910690
2、socket —— 用于连接网络服务
脚本
python
>>> import socket # 导入socket
>>> banner=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
>>> banner.connect(("192.168.247.129",80)) //创建连接
>>> banner.recv(1024) //接收数据
''
>>> banner.close() //关闭连接
>>> exit()