《網絡攻防實踐》第八週做業

教材內容

linux操做系統基本框架概述

系統特色:php

  • 兼容UNIX :API 兼容,管理命令和各類工具:
  • 源碼開放
  • 支持各類硬件平臺,支持多CPU
  • Linux 平臺上存在大量的應用軟件,以及應用開發工具
  • 多種不一樣發行版: RedHat(RHEL,Fedora, CentOS, …),Ubuntu,Debian, …

優點:python

  • 開放源代碼與免費
  • 跨平臺的硬件支持
  • 豐富的軟件支持
  • 多用戶多任務
  • 可靠的安全性
  • 良好的穩定性
  • 完善的網絡功能

linux安全機制

身份認證:linux

  • linux用戶(root根用戶、普通用戶、系統用戶)
  • linux用戶組(具備相同特徵的用戶帳號集合)
  • linux本地登陸用戶認證機制(控制檯)
  • linux遠程登陸用戶認證機制(ssh服務)
  • Linux的統一身份認證中間件——PAM(可插入身份認證模塊)

受權與訪問控制:c++

  • 文件全部者(chown命令)
  • 文件的訪問權限(讀、寫、執行,chmod命令)
  • 文件的特殊執行權限

linux內存管理

  • 在i386 機器上,每一個進程有獨立的4G 虛存空間
  • 32位線性地址—— 利用硬件的分頁機制
  • 內核的代碼段和數據段被映射到3G 以上的空間中
  • 用戶態下的代碼實際可申請的虛存空間爲0-3GB
  • 每一個進程用兩套段描述符來訪問內存,分別用來訪問內核態和用
  • 戶態下的內存空間
  • 在用戶態下,代碼不可能訪問3G 以上的地址空間,若是要訪問內
  • 核空間,必須經過系統調用或者中斷
  • Linux 對虛存的管理使用vma(virtual memory area) 機制
  • 頁交換機制:缺頁中斷、頁面換入

linux網絡服務遠程滲透攻擊

  • Linux網絡服務的遠程滲透攻擊
  • Linux內核中的網絡協議棧實現
  • LAMP Web網站構建解決方案中的網絡服務
  • FTP、Samba等文件共享服務
  • 電子郵件收發服務
  • 其餘網絡服務

linux安全防範措施

  • 禁用全部沒必要要的網絡服務
  • 儘可能選擇更安全的網絡協議與服務軟件,並使用最佳安全實踐進行部署
  • 及時更新網絡服務版本
  • 使用xinetd、防火牆爲linux網絡服務添加網絡訪問控制機制
  • 創建入侵檢測與應急響應計劃流程

視頻學習

set

SET(Social Engineering Toolkit)是一個開源、python驅動的社會工程學滲透測試工具,提供了很是豐富的攻擊向量庫。是開源的社會工程學利用套件,一般結合metasploit來使用。
git


set釣魚攻擊
此攻擊向量主要目的是爲了發送存在惡意軟件的釣魚郵件。相應的payload能夠選擇不一樣的漏洞。
github


網站攻擊框架
能夠開放一個WEBServer服務,若是對方訪問此頁面,若系統存在漏洞觸發條件,則會被植入後門。如Java Applet Attack方法就須要目標有Java運行環境。
web


介質感染攻擊
藉助Autorun.inf執行exploit獲得一個返回的shell,結合metasploit建立後門。
shell


建立payload和監聽器
建立一個返回的Payload並開啓監聽,與metasploit給出的payload相似。
windows


羣發郵件攻擊
能夠把垃圾郵件或帶有病毒的郵件發送到郵件列表。支持導入列表並向列表中的每一個人發送郵件。
安全


無限接入點攻擊
無線接入點攻擊會建立一個虛擬無線AP,經過接入點ap能夠抓取全部鏈接的設備的流量。


二維碼攻擊
填入一個危險的URL,使得被攻擊者掃描二維碼自動訪問頁面中招。


powershell攻擊
針對Vista以上的Powershell的攻擊模塊。


嗅探欺騙和中間人攻擊實驗

爲kali設置開啓端口轉發:

echo 1 /proc/sys/net/ipv4/ip_forward

設置ssltrip
爲了劫持ssl數據,須要使https數據變爲http:

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8081

讓sslstrip在8081端口監聽:

ssltrip -l 8081

ettercap
ettercap是一套用於中間人攻擊的工具。和dsniff套件齊名。支持插件和過濾腳本,直接將帳號、密碼顯示出來,不用人工提取數據。若是是第一次中間人攻擊操做,那麼要對kali下的etteracp作點配置。
使用步驟以下:

  1. 配置文件是/etc/ettercap/etter.conf,首先要將ec_uid、ec_gid都變爲0。
  2. 而後找到linux分類下的if you use iptables這一行,將下面兩行的註釋(「#」號)去掉,打開轉發。
  3. 打開圖形化界面 ettercap -G
  4. 選擇嗅探網卡 默認eth0
  5. 打開ettercap,選擇hosts選項:先scan for hosts,等掃描完了選host list。
  6. 將網關add to target 1/想攻擊的目標add to target 2,mitm選項卡arppoisoning,而後start sniffing。
  7. 查看被監聽主機之間的全部鏈接信息,依次點擊View--Connections。

Dsniff套裝介紹

Dsniff套裝主要是arpspoof和dsniff,前者用來進行arp欺騙,後者用於嗅探。

-c:打開半雙工TCP流,容許在使用arpspoof時進行正確的嗅探操做
-d:啓動調試模式
-f:以/etc/service格式從文件中加載觸發器(也就是口令嗅探的服務類型)
-I:使用特定的網絡接口
-m:使用dsniff.magic文件經過在magic文件中定義的特徵嘗試自動判斷協議
-n:不執行主機查找
-r:從前面保存的會話中讀取被嗅探的數據
-s:最多對報文的前個字節進行嗅探,若是用戶名和口令信息包含在隨後的默認1024字節界限中
-t:使用格式port/proto=servise;來加載一個以逗號界定的觸發器集;

權限維持

(1)Weevely

Weevely是一款使用python編寫的webshell工具,集webshell生成和鏈接於一身,生成後門的代碼是通過base64編碼的,後門中所使用的函數都是經常使用的字符串處理函數,被做爲檢查規則的eval、system等函數都不會直接出如今代碼中,從而能夠導致後門文件繞事後門查找工具的檢查,隱蔽性較好,能夠算做是linux下的一款菜刀替代工具(限於php),某些模塊在windows上沒法使用。

經過命令weevely generate test ~/1.php,生成一個名字爲1.php,密碼爲test的後門。



將1.php拷貝到靶機192.168.199.139 /var/www/路徑下,即將後門上傳到web。
輸入命令weevely http://192.168.199.139/1.php test,用weevely鏈接後門(鏈接後爲設置的密碼),便可得到一個webshell,而後就能夠隨意使用終端了。

(2)WeBaCoo
WeBaCoo(Web Backdoor Cookie)script-kit 是一個小巧的、隱蔽的php後門,它提供了一個能夠鏈接遠程web服務器並執行php代碼的終端。WebaCoo使用HTTP響應頭傳送命令結果,shell命令經base64編碼後隱藏在Cookie中,即其通訊內容均經過cookie頭傳輸。


將2.php文件拷貝到靶機192.168.199.139的 Web 根目錄(/var/www/)下,輸入命令

webacoo -t -u http://192.168.199.139/2.php

kali逆向工具

1.Edb-Debugger

EDB(Evan's Debugger)是一個基於Qt4開發的二進制調試工具,主要是爲了跟OllyDbg工具看齊,經過插件體系能夠進行功能的擴充,當前只支持Linux。



2.Ollydbgs是經典的Ring3級調試器,是一個動態調試工具,將IDA與SoftICE結合起來的思想。在Kali下是Wine方式運行的Ollydbg。

3.jad是一個Java反編譯工具

4.Radare2 是一款開放源代碼的逆向工程平臺,它能夠反彙編、調試、分析和操做二進制文件。

5.APKTool是GOOGLE提供的APK編譯工具,可以反編譯及回編譯apk,同時安裝反編譯系統apk所須要的framework-res框架,清理上次反編譯文件夾等功能。

6.Clang、Clang++

Clang是一個C語言、C++、Objective-C、Objective-C++語言的輕量級編譯器。Clang++是clang的另外一個升級版本,使用方法其實都是同樣的。clang相似於gcc編譯器,clang++相似於gc++編譯器。
7.D2j-des2jar反彙編dex文件到jar文件。進而可使用其餘工具查看源代碼。

8.Flasm

主要功能是用於直接修改swf文件裏的腳本actionscript。
swf轉fla文件的軟件不能確保100%還原,若是隻是修改as腳本代碼,flasm是最佳的選擇,由於他只修改腳本,資源數據不作修改。

9.Javasnoop


教材實踐

課上活動已完成

Black Hat Python3 Chapter七、8

這周第八章第一個代碼堪稱經典,然而再python3下嘗試過各類姿式後不得不放棄,緣由以下:
1.pyhook安裝繁瑣,須要的swig工具試過各類版本後才裝好,安裝可參照:https://blog.csdn.net/u013560932/article/details/78732250/。也能夠下載包到本地進行本地安裝
2.pyhook即使裝好後,python3運行依然會有問題,具體體如今進程名稱中出現中文時,詳見Python的KeyboardSwitch() missing 8解決方法
3.安裝2中連接的包時,出現了各類新的問題,尤爲是visual c++ 14.0微軟官網已經不提供下載了。
部分運行結果:





所以本週重點放在了第七章的代碼。我作的工做主要有兩點:
1.轉成python3會在某個文件調用中出現charmap格式沒法解碼的問題,有人在stack overflow提問過這個問題,但沒有有效的解答,我在該問題下作出了回答,詳見 Traceback Error: Lookup Error: unknown encoding charmap,簡單來講就是將出錯文件中的代碼修改一下,不會影響咱們本身代碼的運行。

2.源代碼登陸時寫的是明文的用戶名和密碼,這個很不利於咱們的帳戶安全,我在本身的代碼中使用了token鏈接github,更加安全,更方便管理。

代碼運行結果以下:


代碼連接

第七章代碼新建了單獨的倉庫:https://github.com/ChosenOne95/chapter7/tree/master
第八章:https://github.com/ChosenOne95/black-hat-python3/tree/master/Chapter%208

相關文章
相關標籤/搜索