1. 程式人生 > >【安全牛學習筆記】主動資訊收集

【安全牛學習筆記】主動資訊收集

​發現主機和二次發現(arping)

被動資訊不與目標進行互動

主動資訊進行互動:傳送包到目標系統進行探測

使用代理或第三方的電腦tor goagent

ip層的掃描:

識別活的的主機

2,3,4層

2層的發現

arping 1.1.1.1 -c(傳送arp包的個數) l

nmap

nmap -sn(做ping掃描不做埠掃描) 

netdiscover專用於二層發現

netdiscover -i eth0 -r(指定地址段) x.x.x.x/24

netdiscover -i x.txt(支援地址列表)

scapy的arp傳送

timeout verbose

a=sr1(ARP(pdst=prefix+atr(addr),timeout=1,verbose=0))

netdiscover -p閘盒模式

3層發現

4層的發現(識別ip是否線上)

基於tcp的主機發現

直接發ack的請求包時,相應端會返回拒絕包。因此可由此判斷是否主機線上

基於udp的主機發現

a=sr1(IP(dst='10.10.10.254')/UDP(dport=1111),timeout=0.1)

nmap進行主機掃描

nmap 10.10.10.1-254 -PU53(掃udp的53埠) -sn(不做埠掃描只做四層的主機發現)

nmap 10.10.10.1-254 -PU53 -sn

nmap -iL a.txt -PA80 -sn

4層發現

基於tcp三次握手

直接發未經請求的ack包,如果如果目標ip不線上,就沒反應,如果線上就會返回一個reset包提示你發的包格式不對

或者傳送syn包,正常通訊的包

基於udp53

通過埠不可達判斷是否

反正是有返回值就是線上的,無返回值就是不線上的

通過scapy進行指令碼的掃描

基於tcp的

#!/usr/bin/python

import logging

logging.getLogger("scapy.runtime").setLevel(logging.ERROR)

from scapy.all import *

if len(sys.argv)!=2:

    print"....."

    sys.exit()

address=str(sys.argv[1])

prefix=address.split('.')[0]+'.'+address.split('.')[1]+'.'+address.split('.')[2]+'.'

for addr in range(1,254):

    response=sr1(IP(dst=prefix+str(addr))/TCP(dport=2222,flags="A"),timeout=1,verbose=0)

    try:

        if int(response[TCP].flags)==4:(flags位的00000100)

            print prefix+atr(addr)

    except:

        pass

。。

用nmap

發ack的包,如果目標地址是線上就會返回reset值

使用hping3

將tcpflags清0,等待返回的ack和reset

埠的掃描

1:tcp(三次握手)和udp的埠

response=sr1(IP(dst='X.X.X.X')/TCP(dport=80,flags='S'))傳送syn包,假設埠開啟,會返回一個syn/ack包,因此我返回一個第三次握手的reply,seq+1

reply=sr1(IP(dst='x.x.x.x')/TCP(dport=80,flags='A',ack=(response[TCP].seq+1)))

需設定iptables輸出規則

nmap

nmap -sT(tcp的全連線) x.x.x.x -p1-100

備註::::

:::::

::::任務16第13分鐘真正的三次握手連線仔細看一次

2:隱蔽掃描syn掃描,不建立完整連線

傳送syn包,當目標機返回syn/ack,我返回rst斷開連線

編寫scapy執行的py指令碼進行多埠的掃描

(135RPC服務139檔案共享服務)

nmap -sS(掃描使用syn方式,預設的也是這種方式) x.x.x.x -p

nmap x.x.x.x -p 11,12,13,14

nmap x.x.x.x -p 1-100

hping3 x.x.x.x --scan 1-100 -S

hping3 --spoof x.x.x.x -p 1-100 -S x.x.x.x(偽造地址)

殭屍掃描:極度隱藏,實施條件苛刻,可偽造地址,選擇殭屍機(系統的ipid是遞增)

只有scapy和nmap能夠進行傳輸

使用scapy::::

i=IP()

t=TCP()

rz=(i/t)(向殭屍機發送)

rt=(i/t)(向目標機發送)

rz[IP].dst='殭屍機ip'

rz[TCP].dport=445

rz[TCP].flags='SA'

rt[IP].src='殭屍機ip'

rt[IP].dst='目標機ip'

rt[TCP].dport=445

rt[TCP].flags='S'

python指令碼掃描埠

#!/usr/bin/python

import

logging

from scapy

def ipid(zombie):

    reply1=sr1(IP(dst=zombie)/TCP(flags='SA',timeout=1))

    send(IP(dst=zombie)/TCP(flags='SA'),verbose=0)

    reply2=sr1(TP(dst=zombie)/TCP(flags='SA'),timeout=1)

    if reply2[TP].id==(reply1[IP].id+2):

        print '此機器可用zombie'

        response=raw_input('使用此殭屍機?Y OR N')

if response=='Y':

    target=raw_input('ip地址')

    zombiescan(target,zombie)

    else:

print '離開'

def zombiescan(target,zombie):

    for port in range(1,100):

try:

    start=sr1(IP(dst=zombie)/TCP(flags='SA',dport=port),timeout=1)

    send(IP(src=zombie,dst=target)/TCP(flags='SA',dport=port))

    end=sr1(IP(dst=zombie)/TCP(flags='SA',dport=port),timeout=1)

    if end[IP].id==(start[TP].id+2):

print port

except:

    pass

print'主程式掃描埠開始'

print('1:掃描改ip地址機器是否為殭屍機')

print('2:進行殭屍掃描')

ans=raw_input('1 or 2')

if ans=='1':

    zombie=raw_input('待掃描的ip為')

    ipid(zombie)

else:

    if ans=='2':

zombie=raw_input('殭屍機的ip為')

target=raw_input('目標機的ip為')

zombiescan(target,zombie)

使用nmap::::

nmap -p445 x.x.x.x --script=ipidseq.nse(檢測是否是一個好的殭屍機)

nmap x.x.x.x(target) -sI x.x.x.x(殭屍機) -Pn -p 1-100

埠服務的掃描

識別埠應用

識別目標作業系統

提高攻擊效率

    banner捕獲

軟體開發商

軟體名稱

服務名稱

版本號

    直接發現漏洞和弱點

        建立連線

nv -nv x,x,x,x xxx進行通訊連線

    服務識別

    作業系統識別

    snmp分析

    防火牆識別

版本識別:::

使用scapy的python指令碼

import socket

banner=socker(socker.AF_INET,socket.SOCK_STREAN)

banner.connect('x.x.x.x',21)

ready=select.select([banner],[],[],1)

banner.recv(4096)

banner.close()

dmitry -p(執行tcp掃描) -pb(讀取埠的banner資訊) x.x.x.x

nmap -sT x.x.x.x -p xx --script=banner.nse

amap(專用掃描banner服務-B引數) 

nmap -sV x.x.x.x -p x-xx使用(-sV使用指紋資訊來識別服務)

nmap -Pn -sT 202.202.43.106 --script=banner.nse

作業系統識別:::

通過ttl值進行識別作業系統windows128(65-128) linux64(1-64) Unix255(129-255)

nmap -O x.x.x.x

xprob2

被動式的作業系統識別

p0f

161 162

67 68

mib tree

dpkg -L

網路交換機資料庫waf

snmp

smb掃描

nmap

nbtscan

enum4linux

安裝vm的tools的時候需要安裝系統的標頭檔案

apt-get install linux-headers-4.12.0-kali2-all-amd64

lsb_release -a

防火牆的識別

nmap -sA x.x.x.x -pxx

nmap x.x.x.x --script=http-waf-detect.nse

fhs

etc

pentest

該筆記為安全牛課堂學員筆記,想看此課程或者資訊保安類乾貨可以移步到安全牛課堂

Security+認證為什麼是網際網路+時代最火爆的認證?

      牛妹先給大家介紹一下Security+

        Security+ 認證是一種中立第三方認證,其發證機構為美國計算機行業協會CompTIA ;是和CISSP、ITIL 等共同包含在內的國際 IT 業 10 大熱門認證之一,和CISSP偏重資訊保安管理相比,Security+ 認證更偏重資訊保安技術和操作。

       通過該認證證明了您具備網路安全,合規性和操作安全,威脅和漏洞,應用程式、資料和主機安全,訪問控制和身份管理以及加密技術等方面的能力。因其考試難度不易,含金量較高,目前已被全球企業和安全專業人士所普遍採納。

Security+認證如此火爆的原因?  

       原因一:在所有資訊保安認證當中,偏重資訊保安技術的認證是空白的, Security+認證正好可以彌補資訊保安技術領域的空白 。

      目前行業內受認可的資訊保安認證主要有CISP和CISSP,但是無論CISP還是CISSP都是偏重資訊保安管理的,技術知識講的寬泛且淺顯,考試都是一帶而過。而且CISSP要求持證人員的資訊保安工作經驗都要5年以上,CISP也要求大專學歷4年以上工作經驗,這些要求無疑把有能力且上進的年輕人的持證之路堵住。在現實社會中,無論是找工作還是升職加薪,或是投標時候報人員,認證都是必不可少的,這給年輕人帶來了很多不公平。而Security+的出現可以掃清這些年輕人職業發展中的障礙,由於Security+偏重資訊保安技術,所以對工作經驗沒有特別的要求。只要你有IT相關背景,追求進步就可以學習和考試。

       原因二: IT運維人員工作與翻身的利器。

       在銀行、證券、保險、資訊通訊等行業,IT運維人員非常多,IT運維涉及的工作面也非常廣。是一個集網路、系統、安全、應用架構、儲存為一體的綜合性技術崗。雖然沒有程式猿們“生當做光棍,死亦寫程式碼”的悲壯,但也有著“鋤禾日當午,不如運維苦“的感慨。天天對著電腦和機器,時間長了難免有對於職業發展的迷茫和困惑。Security+國際認證的出現可以讓有追求的IT運維人員學習網路安全知識,掌握網路安全實踐。職業發展朝著網路安全的方向發展,解決國內資訊保安人才的匱乏問題。另外,即使不轉型,要做好運維工作,學習安全知識取得安全認證也是必不可少的。

        原因三:接地氣、國際範兒、考試方便、費用適中!

CompTIA作為全球ICT領域最具影響力的全球領先機構,在資訊保安人才認證方面是專業、公平、公正的。Security+認證偏重操作且和一線工程師的日常工作息息相關。適合銀行、證券、保險、網際網路公司等IT相關人員學習。作為國際認證在全球147個國家受到廣泛的認可。

        在目前的資訊保安大潮之下,人才是資訊保安發展的關鍵。而目前國內的資訊保安人才是非常匱乏的,相信Security+認證一定會成為最火爆的資訊保安認證。