Python 滲透測試編程技術方法與實踐 ------全書整理


1、整個滲透測試的工作階段

( 1 )前期與客戶的交流階段。
( 2 )情報的收集階段。
( 3 )威脅建模階段。
( 4 )漏洞分析階段。
( 5 )漏洞利用階段。
( 6 )后滲透攻擊階段。
( 7 )報告階段。

2、關於kali linux 相關的知識

  apt-get update   :使用這個命令是為了同步 /etc/apt/sources.list 中列出來的源的索引這樣能夠獲得最新的軟件包

  aot-get upgrade : 這條命令是用來安裝 /etc/apt/sources.list中所列出來的所有包的最新版本。 也就是說kali linux中的所有軟件都會更新 ,這條命令不會改變和刪除之前沒有跟新操作的軟件,但是也不會安全當前系統中沒有安裝的軟件

 apt-get dist-upgrade 會將軟件包升級到最新的版本,並且引入依賴包,除了提供upgrade全部的功能之外,還會智能的處理新版本的依賴關系的問題

3、滲透測試的時候經常會發生系統的崩潰,所以系統備份是非常必須的一件事,VMware提供了系統快照的功能。以及導出虛擬機,克隆虛擬機(連接克隆和獨立克隆)

       python中涉及很多已經寫好的模塊,所以很多時候 不需要關注協議上的實現細節,只是注重自己的邏輯即可

      Python中進場使用的三個模塊是 Socket 模塊、   pyhton-nmap模塊、 scapy 模塊

首先我們看Scoket模塊

      Python中提供解決網絡上連個程序之間建立通信通道,分別提供了服務端Socket和客戶端的socket 在使用Socket編程額時候,首先實例化一個Socket,需要填充地址、流、協議標志的三個參數

      使用Socket建立服務端和客戶端:

      使用socket建立服務端: 

      測試的

4、導入 python-nmap 配置的問題

在Windows操作系統中使用python的編輯器pycharm等其他IDE的時候需要配置。並且版本也要合適,不然會像下面一樣報錯,無法獲取nmap的配置路徑。

5、我們使用kali首先直接可以使用命令 pip  install pythpn-nmap 安裝輪子之后使用 可以導入nmap 來測試

6、修改秘密  passwd +用戶名

      添加用戶 adduser 用戶名

動態網絡地址配置: ifconfig eth0 192.168.1.2 netmask 255.255.255.0

                               route add default gw 172.16.1.245

                                echo nameserver 211.200.9.2>/etc/resolv.conf

靜態IP地址設置:

                      編輯文件:   /etc/network/interfaces

     便捷:  auto eth0

                iface eth0 inet static

               adress 172.12.1.122

               netmask 255.255.255.0

               network 172.12.1.0

              broadcast 172.12.1.255

              gateway 172.12.1.254

   編輯文件  /etc/resolv.conf

      domian

      nameserver   101.10.101.1

     nameserver    102.54.18.2

   便捷完之后重新 服務 :    /etc/init.d/networking restart

    一直在使用 :   apt 工具管理文件,者個命令主要是從互聯網的軟件倉庫中搜索,安裝,升級,卸載或者操作系統,但在編譯代碼的時候可以找出該缺少的文件,

7、創建新的SSH密鑰

     dpkg-reconfigure poenssh-server  

     將舊的秘鑰備份到一個文件中   ,修改sshd_config 文件     文件的目錄是 .etc/ssh/sshd_config

      將閑置連接點注釋去掉,之后重啟服務  :   /etc/init.d/ssh  start

      查看SSH的服務狀態  使用命令  netstat -antp

   

如果使用遠程連接的話可以使用工具PUtty 。

8、klia 升級

 apt-get update 使用這條命令是為了同步/etc/apt/sources.list 中所列出的源的索引,這樣才能獲得最新的軟件包

 apt-get upgrade 使用命令來安全/etc/apt/sources.list 中列出的所有包的最新版本, kali linux 中的軟件都會被更新。但是有個缺點是這個命令不會改變和刪除那些沒有更新操作的軟件,但是也不會安裝當前操作系統不存在的軟件

apt-get dist-upgrade 會將軟件包升級到最新版本,並引入新的依賴包。會自動的處理新版本的依賴關心問題。

虛擬機中的網絡連接方式

    VMnet0    虛擬橋接網絡下的虛擬交換機

    VMnet1  虛擬機僅主機模式網絡下的虛擬機交換

   VMnet8: VMware 用於虛擬NAT網絡下的虛擬交換機

 9、Medusa 通過並行登錄暴力破解的方式嘗試獲取遠程驗證服務器的訪問權限的工具, Medusa 能夠 驗證遠程眾多的類型的遠程服務,包括AFP FTP HTTP IMAPMS-SQL MYSQL NetWare NCP PCAnywhere POP3 REXEC RLOGIN SMTPAUTH SNMP SSv2   SNMP   TELNET  VNC WEb From等

   使用的命令:  medusa -h IP -u username -p password -M ssh

     -h  主機的地址   -u 用戶名  如果是用戶列表寫成大寫  -p 密碼 如果是密碼列表 -P  -M 表示 服務

10、排序算法

   sorted()函數是一個高階函數,他可以接受一個key 函數來實現自定義的排序,例如按照絕對值大小排序:

 sorted([1,241,34,355,5233],key=abc)

高階函數可以接受函數作為參數外,還可以吧函數作為結果的值返回, 我們實現一個可變參數求和,求和函數一般死這樣定義的:

    def calc-sum(*args):

      ax=0;

      for n in args:

      ax+=n;

    return ax;

如果我們不需要立即進行求和 直接返回求和的函數 

      def lazy_sum(*args):

        def sum():

             ax=0;

      for n in args:

      ax+=n;

    return ax;

return sum ;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM