- 1.TTL起始值
通過TTL值可以識別出操作系統(tǒng) - Windows:128(65-128)
- Linux/Unix:64(1-64)
- 一些Unix: 255
- 1.1 腳本實(shí)現(xiàn)
#!/usr/bin/python
from scapy.all import *
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
import sys
if len(sys.argv) != 2:
print "Usage - ./ttl_os.py [IP Address]"
print "Example - ./ttl_os.py 1.1.1.1"
print "Example will preform ttl analysis to attempt to determine whether th system is windows or Linux/Unix"
sys.exit()
ip = sys.argv[1]
ans = sr1(IP(dst=str(ip))/ICMP(),timeout=1,verbose=0)
if ans == None:
print "No reponse was returned"
elif int(ans[IP].ttl) <= 64:
print "Host is Unix/Linux"
else:
print "Host is windows"
執(zhí)行結(jié)果顯示:
- 2.nmap識別
nmap -o 192.168.50.183 //基于特征識別操作系統(tǒng)
- 3.xprobe2識別
專門用于探測目標(biāo)系統(tǒng)的操作系統(tǒng)版本,但是結(jié)果并不是十分準(zhǔn)確唬渗。
xprobe2 192.168.50.183
- 4.被動操作系統(tǒng)識別
- IDS
- 抓包分析
- 被動掃描
- 5.p0f
直接運(yùn)行p0f
典阵,然后產(chǎn)生數(shù)據(jù)包后,會通過網(wǎng)口接收和發(fā)送的數(shù)據(jù)進(jìn)行分析
- 6.SNMP分析
- community strings (默認(rèn)為public[可讀]镊逝、private[可寫])
- 信息查詢或重新配置
- 6.1環(huán)境
windows xp開啟snmp服務(wù)壮啊,運(yùn)行“appwiz.cpl” ,點(diǎn)擊添加/刪除window組件撑蒜,選擇“管理和監(jiān)視工具”他巨,WMI SNMP提供程序/簡單網(wǎng)絡(luò)管理協(xié)議打鉤充坑。
在安裝中需要導(dǎo)入iso鏡像文件
- 6.2 snmpwalk
snmpwalk 192.168.50.185 -c public -v 2c //-c表示community -v表示v2c版本
snmpwalk -c public -v 2c 1.1.1.1 1.3.6.1.4.1.77.1.2.25 //對指定的OID進(jìn)行查詢
- 6.3 snmp-check
snmpcheck顯示界面相比snmpwalk更加友好,而不是只顯示OID
snmp-check -c public -v 2c 192.168.50.185
snmp-check 192168.50.185 -w //檢測是否具有可寫權(quán)限
- 6.3 onesixtyone
onesixtyone的信息不是很準(zhǔn)確染突,并且信息也比較有限
onesixtyone 1.1.1.1 public
onesixtyone -c dict.txt -i hosts -o my.log -w 100