1. 程式人生 > >小白日記8:kali滲透測試之主動資訊收集(二)三層發現:ping、traceroute、scapy、nmap、fping、Hping

小白日記8:kali滲透測試之主動資訊收集(二)三層發現:ping、traceroute、scapy、nmap、fping、Hping

 三層發現

三層協議有:IP以及ICMP協議(internet管理協議).icmp的作用是用來實現intenet管理的,進行路徑的發現,網路通訊情況,或者目標主機的狀態;在三層發現中主要使用icmp協議,arp協議屬於二層協議,它是基於廣播的,所以不可路由。而ICMP協議是可以路由的,理論上可以使用icmp協議發現全球的ip,如果沒有邊界防火牆(禁止icmp的探測包)進行過濾的話,對目標主機進行掃描,則會收到相應的響應,從而進行捕捉【有邊界防火牆的現象比較普遍】,但是三層發現的掃描速度也較二層要慢些。 注:不要完全相信掃描結果,因為會存在漏報、誤報,當有邊界防火牆時,可能活的主機不響應,也可能宕機響應
1、ping命令
ping <ip>   #linux與windows的ping包,有很大區別:windows預設發四個,linux預設不停,可用-c指定包數量 ping -R <ip>   #也可以做路由追蹤 ping命令不支援IP段掃描,使用shell指令碼  #會亂序ping
#!/bin/bash
if [ "$#" -ne 1 ];then
  echo "Usage - ./ping.sh [interface]"
  echo "Excample - ./ping.sh 192.168.1.0"
  echo "Example will perform an ARP scan of the local subnet to which eth0 is assigned"
  exit
fi

prefix=$(echo $1 | cut -d '.' -f 1-3)

for addr in $(seq 1 254);do
   ping -c 1 $prefix.$addr | grep "bytes from" | cut -d " " -f 4 | cut -d ":" -f 1
done


2、traceroute 路由追蹤

不但可以發現目標機器是否線上,還可發現其經過多少跳路由

[email protected]:~# traceroute www.sina.com
traceroute to www.sina.com (121.14.1.189), 30 hops max, 60 byte packets
 1  DD-WRT (192.168.1.1)  1.976 ms  3.157 ms  5.440 ms                  #第一跳
 2  10.12.66.254 (10.12.66.254)  10.196 ms  9.982 ms  9.967 ms
 3  * 10.12.1.54 (10.12.1.54)  11.568 ms  12.779 ms
 4  172.16.254.14 (172.16.254.14)  9.570 ms  16.018 ms  16.016 ms
 5  10.0.3.13 (10.0.3.13)  9.559 ms  15.970 ms  15.954 ms
 6  10.0.4.6 (10.0.4.6)  15.949 ms  5.061 ms  4.393 ms
 7  120.236.177.1 (120.236.177.1)  5.012 ms  5.007 ms  4.999 ms
 8  120.196.2.9 (120.196.2.9)  9.313 ms  9.304 ms 120.196.2.97 (120.196.2.97)  9.290 ms
 9  120.196.240.41 (120.196.240.41)  4.962 ms 120.196.240.93 (120.196.240.93)  9.233 ms 120.196.240.41 (120.196.240.41)  6.145 ms
10  221.183.26.53 (221.183.26.53)  9.873 ms 221.183.26.125 (221.183.26.125)  9.212 ms  9.207 ms
11  221.176.22.182 (221.176.22.182)  9.857 ms 221.176.18.254 (221.176.18.254)  57.810 ms 221.176.22.130 (221.176.22.130)  17.121 ms
12  202.97.15.13 (202.97.15.13)  16.437 ms 221.176.22.130 (221.176.22.130)  16.386 ms 221.176.23.62 (221.176.23.62)  16.385 ms
13  202.97.60.138 (202.97.60.138)  16.373 ms  15.208 ms  12.096 ms
14  202.97.60.138 (202.97.60.138)  13.646 ms 113.108.208.38 (113.108.208.38)  13.625 ms  13.605 ms
15  113.108.209.162 (113.108.209.162)  11.998 ms  12.773 ms  12.261 ms
16  58.63.232.122 (58.63.232.122)  13.024 ms  9.457 ms 113.108.209.162 (113.108.209.162)  15.283 ms
17  * 121.14.1.189 (121.14.1.189)  8.790 ms  8.770 ms

3、scapy
先定義一個ip包頭,再定義一個icmp包頭,最後組合成一個ping包
[email protected]:~# scapy
WARNING: No route found for IPv6 destination :: (no default route?)
Welcome to Scapy (2.3.2)
>>> i=IP()                #定義變數i繼承IP包
>>> p=ICMP()              #定義變數p繼承ICMP包
>>> ping=(i/p)            #把IP包與ICMP組合成ping
>>> 
>>> ping.display()        #檢視包頭結構
###[ IP ]###
  version= 4
  ihl= None
  tos= 0x0
  len= None
  id= 1
  flags= 
  frag= 0
  ttl= 64
  proto= icmp
  chksum= None
  src= 127.0.0.1
  dst= 127.0.0.1
  \options\
###[ ICMP ]###
     type= echo-request
     code= 0
     chksum= None
     id= 0x0
     seq= 0x0
>>> 
ping包設定
>>> ping[IP].dst="192.168.1.1"        #設定目標IP為192.168.1.1
>>> ping.display()
###[ IP ]###
  version= 4
  ihl= None
  tos= 0x0
  len= None
  id= 1
  flags= 
  frag= 0
  ttl= 64
  proto= icmp
  chksum= None
  src= 192.168.1.127               #自動檢測本地網絡卡
  dst= 192.168.1.1
  \options\
###[ ICMP ]###
     type= echo-request
     code= 0
     chksum= None
     id= 0x0
     seq= 0x0
>>> a=sr1(ping)                    #發包,用a接受響應包
Begin emission:
.Finished to send 1 packets.
*
Received 2 packets, got 1 answers, remaining 0 packets
>>> a.display()
###[ IP ]###
  version= 4L
  ihl= 5L
  tos= 0x0
  len= 28
  id= 23488
  flags= 
  frag= 0L
  ttl= 64
  proto= icmp
  chksum= 0x9b50
  src= 192.168.1.1
  dst= 192.168.1.127
  \options\
###[ ICMP ]###
     type= echo-reply
     code= 0
     chksum= 0xffff
     id= 0x0
     seq= 0x0
###[ Padding ]###
        load= '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>> 
組合以上命令
>>> sr1(IP(dst="192.168.1.1")/ICMP())   <span style="color:#ff0000;">#<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span></span><pre name="code" class="plain" style="display: inline !important;">sr1(IP(dst="192.168.1.1")/ICMP(),timeout=1)

Begin emission:.Finished to send 1 packets.*Received 2 packets, got 1 answers, remaining 0 packets<IP version=4L ihl=5L tos=0x0 len=28 id=23489 flags= frag=0L ttl=64 proto=icmp chksum=0x9b4f src=192.168.1.1 dst=192.168.1.127 options=[] |<ICMP type=echo-reply code=0 chksum=0xffff id=0x0 seq=0x0 |<Padding load='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' |>>>>>> 當目標IP在網路中不存在,scapy會一直等待響應,需加上timeout=1
python指令碼
#!/usr/bin/python

import logging
import subprocess
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import*

if len( sys.argv ) !=2:                               #minglingcanshubugou2
   print "Usage - ./pingger.py [/24 network address]"
   print "Example - ./pinger.py 172.16.36.0"
   print "Example will perform an ICMP scan of the 192.168.1.0/24 range"
   sys.exit()

address = str(sys.argv[1])

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

for addr in range(0,254):
   answer=sr1(IP(dst=prefix+str(addr))/ICMP(),timeout=0.1,verbose=0)
   if answer ==None:
     pass;
   else:
     print prefix+str(addr)<span style="font-weight: bold;">
</span>
從檔案中讀取
#!/usr/bin/python

import logging
import subprocess
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import*

if len( sys.argv ) !=2:                             
   print "Usage - ./pingger.py [/24 network address]"
   print "Example - ./pinger.py 172.16.36.0"
   print "Example will perform an ICMP scan of the 192.168.1.0/24 range"
   sys.exit()

filename = str(sys.argv[1])
file=open(filename,"r")

for addr in file:
   answer=sr1(IP(dst=addr.strip())/ICMP(),timeout=0.1,verbose=0)
   if answer ==None:
     pass;
   else:
     print addr.strip()<strong>       #strip()方法用於移除字串頭尾指定的字元(預設為空格)
</strong>
4、nmap  

 #抓包分析ICMP包   #-sn可指定IP段 -iL <txt> -sn
[email protected]:~# nmap -sn 211.144.145.1

Starting Nmap 7.01 ( https://nmap.org ) at 2016-09-10 23:38 CST
Nmap scan report for 211.144.145.1
Host is up (0.11s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.32 seconds
5、Fping
Fping類似於ping,但比ping強大。Fping與ping不同的地方在於,fping可以在命令列中指定要ping的主機數量範圍,也可以指定含有要ping的主機列表檔案。
與ping要等待某一主機連線超時或發回反饋資訊不同,fping給一個主機發送完資料包後,馬上給下一個主機發送資料包,實現多主機同時ping。如果某一主機ping通,則此主機將被打上標記,並從等待列表中移除,如果沒ping通,說明主機無法到達,主機仍然留在等待列表中,等待後續操作
<strong>[email protected]:~# fping -g 192.168.1.100 192.168.1.200 -c 1    #-g指定範圍,從100-200 -c只發一個包</strong>
也可 -g 192.168.1.0/24,可用grep提取 -f <file>  #指定檔案掃描
6、Hping
能夠傳送幾乎任意TCP/IP 包,Hping常被用於檢測網路和主機,其功能非常強大,但每次只能發一個包,可以發大量定製ping包,可做一定程度拒絕服務攻擊。
[email protected]:~# hping3 192.168.1.1 --icmp -c 2
HPING 192.168.1.1 (eth0 192.168.1.1): icmp mode set, 28 headers + 0 data bytes
len=46 ip=192.168.1.1 ttl=64 id=27384 icmp_seq=0 rtt=36.8 ms
len=46 ip=192.168.1.1 ttl=64 id=27385 icmp_seq=1 rtt=2.4 ms

--- 192.168.1.1 hping statistic ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 2.4/19.6/36.8 ms
可用指令碼或組合行實現迴圈
for addr in $(seq 1 254); do hping3 1.1.1.$addr --icmp -c 1 >> handle.txt & done<strong>#結果輸出到文字檔案使結果清晰</strong>
cat handletxt | grep ^len     #篩選活著的IP


小白日記,未完待續……

相關推薦

日記8kali滲透測試主動資訊收集發現pingtraceroutescapynmapfpingHping

 三層發現 三層協議有:IP以及ICMP協議(internet管理協議).icmp的作用是用來實現intenet管理的,進行路徑的發現,網路通訊情況,或者目標主機的狀態;在三層發現中主要使用icmp協

日記18kali滲透測試緩衝區溢位例項)--Linux,穿越火線1.9.0

Linux系統下穿越火線-緩衝區溢位 原理:crossfire 1.9.0 版本接受入站 socket 連線時存在緩衝區溢位漏洞。 工具: 除錯工具:edb; ###python在漏洞溢位方面的滲透

日記36kali滲透測試Web滲透-手動漏洞挖掘-突破身份認證,作業系統任意命令執行漏洞

手動漏洞挖掘 ###################################################################################### 手動漏洞挖掘

日記10kali滲透測試埠掃描-UDPTCP殭屍掃描隱蔽掃描

埠掃描 二三四層發現的目的只是為了準確發現所有活著主機IP,確定攻擊面,埠掃描即發現攻擊點,發現開放埠。埠對應網路服務及應用端程式,服務端程式的漏洞通過埠攻入。【所有的掃描結果,都不要完全相信】 一

日記30kali滲透測試Web滲透-掃描工具-Skipfish

WEB滲透-skipfish Skipfish是一個命令列模式,以C語言編寫的積極的Web應用程式的安全性偵察工具,沒有代理模式。 它準備了一個互動為目標的網站的站點地圖進行一個遞迴爬網和基於字典的探

日記11kali滲透測試服務掃描-bannerdmitrynmap特徵庫作業系統識別SNMP

<strong>[email protected]:~# xprobe2 192.168.1.115 </strong> Xprobe2 v.0.3 Copyright (c) 2002-2005 [email protected], [email pro

日記29kali滲透測試Web滲透-掃描工具-Vega

WEB掃描工具-Vega  純圖形化介面,Java編寫的開源web掃描器。兩種工作模式:掃描模式和代理模式【主流掃描功能】。用於爬站。處理表單,注入測試等。支援SSL:http://vega/ca.c

日記12kali滲透測試服務掃描-SMB掃描

SMB掃描 Server Message Block 協議。與其他標準的TCP/IP協議不同,SMB協議是一種複雜的協議,因為隨著Windows計算機的開發,越來越多的功能被加入到協議中去了,很難區分哪些概念和功能應該屬於Windows作業系統本身,哪些概念應該屬於SMB

Kali Linux滲透測試 021 主動資訊收集

本文記錄 Kali Linux 2018.1 學習使用和滲透測試的詳細過程,教程為安全牛課堂裡的《Kali Linux 滲透測試》課程 1. 簡介 直接與目標系統互動通訊 無法避免留下訪問的痕跡 使用受控的第三方電腦進行探測

滲透測試DVWA暴力破解LOW

     Brute Force,即暴力(破解),是指黑客利用密碼字典,使用窮舉法猜解出使用者口令,是現在最為廣泛使用的攻擊手法之一,  先放出伺服器端核心程式碼 <?php if(isset($_GET['Login'])){ //Getusername $us

滲透測試被動資訊收集

被動資訊收集:不與目標直接互動 1,公開渠道可獲得的資訊 2,與目標系統不產生交往 資訊收集內容:IP地址段/域名資訊/郵件地址/文件圖片資料/公司地址/公司組織架構/聯絡電話,傳真號碼/人員姓名,職務/目標系統使用的技術架構/公開的商務資

滲透測試情報資訊收集

[toc] # 鍾馗之眼搜尋語法 ``` app:apche //元件名 ``` ``` ver:1.0 //版本 ``` ``` os:windows //作業系統 ``` ``` country:"china" //國家 ``` ``` city:"beijing" //城市

日記20kali滲透測試之後滲透測試階段--上傳工具

後滲透測試階段--上傳工具 為防止管理員將漏洞補上後,我們無法再通過該漏洞控制對方主機,所以需要進行後滲透測試階段 1、上傳各種工具 2、提權:為了全面控制目標系統 3、擦除攻擊痕跡:防止管理員通過

Kali 滲透測試- 全主動信息收集-發現

主動信息收集╋━━━━━━━━━━━━━━━━━━━━━╋┃主動信息收集 ┃┃無法避免留下訪問的痕跡 ┃┃使用受控的第三方電腦進行探測 ┃ ┃ 使用代理或已經被控制的主機

《Web安全攻防滲透測試實戰指南》筆記

前言 這個系列是拜讀《Web安全攻防:滲透測試實戰指南》之後的一些筆記和實踐記錄,感謝作者對我學習過程的幫助,這本書值得大家入手學習。 資訊收集 1.獲取真實IP 繞過CDN尋找目標伺服器的真實IP,如果目標伺服器不存在CDN,可以通過www.i

的java學習路 “ 選擇結構

pre ring 問題 -s stat 適合 static 之路 span switch 選擇結構: 為什麽使用switch選擇結構: switch選擇結構可以更好地解決等值判斷問題。 switch選擇結構的四個關鍵字: switch case default

不測的祕密精準測試路----讀書筆記第一章

一、舉步維艱 1、敏捷轉型:測試眼中的研發 傳統: 需求是清晰的 流程是固化的 開發是有序的 系統是可測的 測試時間是充足的 使用者是講道理的 敏捷: 需求頻繁更改 交付問題多 測試時間緊 使用者抱怨多 開發延遲,壓縮測試時間,已成常態 那麼

不測的祕密精準測試路----讀書筆記第二章

二:道與術 1、程式碼分析 解決:如何在保證質量前提下,縮減迴歸測試範圍 why:瞭解其內部實現,讓測試變得更精準白盒測試優勢:對程式內部實現的瞭解;   黑盒測試優勢:對使用者場景的把握   2、測試分析理論由來    黑白測試核心思想: 白盒:

不測的祕密精準測試路----讀書筆記

三、精準化測試第一式:差異化 關注實現,明確測試物件,指哪打哪 尋找測試物件差異,尋找最小精準測試物件    測試物件:指測試的源程式、目標程式、資料和相關文件   精準測試物件:迭代之間的差異部分(需求差異、技術實現上的差異)、差異部分影響的其他功能

不測的祕密精準測試路----讀書筆記第四章

四、精準化測試第二式:技術治理 1、技術耦合(由強到弱) 內容耦合 *  一個模組直接訪問另一個模組的內部資料 *  一個模組不通過正常入口轉到另一模組內部 *  兩個模組有一部分程式程式碼重疊(只可能出現在組合語言中) * &nbs