網絡攻擊(一)--安全滲透簡介

1. 安全滲透概述

  • 目標
    • 了解滲透測試的基本概念
    • 了解滲透測試從業人員的注意事項

1.1. 寫在前面的話

在了解滲透測試之前,我們先看看,信息安全相關的法律是怎么樣的

  • 中華人民共和國網絡安全法

    • 《中華人民共和國網絡安全法》由全國人民代表大會常務委員會于2016年11月7日發布,自2017年6月1日起施行

    • 中華人民共和國網絡安全法?-- 中國人大網官方版本

    • 第四十四條 任何個人和組織不得竊取或者以其他非法方式獲取個人信息,不得非法出售或者非法向他人提供個人信息。

    • 第六十四條 第二款 違反本法第四十四條規定,竊取或者以其他非法方式獲取、非法出售或者非法向他人提供個人信息,尚不構成犯罪的,由公安機關沒收違法所得,并處違法所得一倍以上十倍以下罰款,沒有違法所得的,處一百萬元以下罰款。

  • 《中華人民共和國刑法》

    • 《中華人民共和國刑法(修訂)》由1997年3月14日第八屆全國人民代表大會第五次會議修訂,1997年3月14日中華人民共和國主席令第八十三號公布,自1997年10月1日起施行

    • 《中華人民共和國刑法修正案(九)》由2015年8月29日第十二屆全國人民代表大會常務委員會第十六次會議通過,自2015年11月1日起施行。(對285條,286條有修訂)

    • 第二百八十五條: 非法獲取計算機信息系統數據罪, 非法獲取計算機信息系統數據、非法控制計算機信息系統罪,是指違反國家規定,侵入國家事務、國防建設、尖端科學技術領域以外的計算機信息系統或者采用其他技術手段,獲取該計算機信息系統中存儲、處理或者傳輸的數據,情節嚴重的行為。

    • 第二百八十六條:破壞計算機信息系統罪,破壞計算機信息系統罪是指違反國家規定,對計算機信息系統功能或計算機信息系統中存儲、處理或者傳輸的數據和應用程序進行破壞,或者故意制作、傳播計算機病毒等破壞性程序,影響計算機系統正常運行,后果嚴重的行為。

1.2. 滲透測試介紹

滲透測試是一門技術,一門用來模擬黑客的攻擊方法,對信息系統進行安全評估的測試技術

關于滲透測試(penetration test), 目前并沒有一個標準的定義,國外一些安全組織達成共識的通用說法是:滲透測試是通過模擬惡意黑客的攻擊方式,用來評估計算機網絡系統安全的一種評估手段

我們可以從如下幾點進行理解:

  • 滲透測試是一門技術
  • 滲透測試是一門用來進行安全態勢評估的測試技術t滲透測試這門工作包括善用滲透工具(利用現成的)、開發滲透測試程序(腳本)(開發定制的)等等。
  • 由于是模擬惡意黑客的攻擊方法, 所以滲透測試帶有某種“破壞性”, 要注意風險規避
  • 同樣是模擬惡意黑客的攻擊行為,往往充滿了什么色彩

還有的定義給出:滲透測試(Penetration Testing)是一種通過模擬攻擊者的技術與方法,挫敗目標系統的安全控制措施并獲得控制訪問權的安全測試方法

  • 如何規避法律風險

    很簡單,獲取滲透測試主機的有效授權。

小結

滲透測試是一門技術,一門用于對信息系統進行安全評估的測試技術。 技術本身沒有什么正義、邪惡之分。 關鍵是看你怎么用。

你被授權進行滲透測試,那你就是在保護地球, 維護世界和平, 主持武林正義。。。。

你沒有被授權, 或者是沒有這種法律意識, 那么。。。。


1.3. PTES標準中的滲透測試階段

PTES:Penetration Testing Execution Standard, 滲透測試執行標準,已被安全業界中幾個領軍企業所采納。

官網地址:The Penetration Testing Execution Standard

PTES標準中的滲透測試階段是用來定義滲透測試過程,并確保客戶組織能夠以一種標準化的方式來擴展一次滲透測試,而無論是由誰來執行這種類型的評估。

  • 前期交互階段

  • 情報搜集階段

  • 威脅建模階段

  • 漏洞分析階段

  • 滲透攻擊階段

  • 后滲透攻擊階段

  • 報告階段

    我們重點關注 情報搜集和滲透攻擊, 其余前期交互就是“聊天”, 威脅建模和漏洞分析就是確定“從哪兒攻擊”, 內容“物虛”較多。實操沒有。大家作為簡單了解該階段內容即可。

2. Kali Linux

  • 目標
    • 了解滲透測試人員的工作平臺-kali linux
    • 知道kali linux的安裝方法。

2.1. Kali Linux 介紹

  • Kali Linux是一個基于Debian的Linux發行版,
  • 集成了300多個安全和取證方面的相關工具, 專為滲透測試人員準備,

  • Kali Linux的前身是BackTrack Linux發行版。

  • Back Track是基于Ubuntu的一個Linux發行版。(補充: ubuntu也是基于Debian的Linux發型版)

  • 它由Offensive Security Ltd維護和資助,最先由Offensive Security的MatiAharoni和Devon Kearns通過重寫Back Track來完成。

  • Kali Linux有32位和64位的鏡像,可用于x86指令集。同時它還有基于ARM架構的鏡像,可用于樹莓派和三星的ARM Chromebook。用戶可通過硬盤、Live CD或Live USB來運行Kali Linux操作系統。


2.2. 安裝Kali Linux

如今Linux的安裝過程已經非常“傻瓜”化,只需要輕點幾下鼠標,就能夠完成整個系統的安裝。Kali Linux操作系統的安裝也非常簡單。本節將分別介紹安裝Kali Linux至硬盤、USB驅動器、樹莓派、VMware Workstation和Womuare Tods的詳細過程。

2.2.1. ISO下載

安裝到硬盤是最基本的操作之一。該工作的實現可以讓用戶不使用DVD,而正常的運行Kali Linux。在安裝這個全新的操作系統之前,需要做一些準備工作。例如,從哪里得到Linux?對電腦配置有什么要求?……下面將逐一列出這些要求。

  • Kali Linux安裝的磁盤空間的最小值是8GB。為了便于使用,這里推薦至少25GB去保存附加程序和文件。
  • 內存最好為512MB以上。
  • Kali Linux的下載地址,下載界面如圖1.1所示。

下載完ISO文件后, 選中安裝virtualbox虛擬機管理管理軟件。 關于虛擬機安裝步驟,本課程就不再詳述,課下探討。

2.2.2. 下載虛擬機鏡像

當然也可以直接下載基于virtualbox的虛擬機鏡像, 如下圖所示:

建議選擇64位虛擬機鏡像, 如果你選用VMware的話,也可以直接下載VMware虛擬機鏡像

2.2.3. 開機界面

Kali Linux系統開機運行后, 界面如下圖所示:

點擊做上角的應用程序, 會列出如下的滲透測試工具, 見下圖

2.3. Kali Linux 系統更新

當用戶使用一段時間以后,可能對總是在沒有任何變化的系統中工作感到不滿,而是渴望能像在Windows系統中一樣,不斷對自己的Linux進行升級。另外,Linux本身就是一個開放的系統,每天都會有新的軟件出現,Linux發行套件和內核也在不斷更新。在這樣的情況下,學會對Linux進行升級就顯得非常迫切了。本節將介紹Kali的更新與升級。

更新與升級Kali的具體操作步驟如下所示。

  • 執行lsb_release -a命令查看當前操作系統的所有版本信息
root@Kali-Panda:~# lsb_release -a
No LSB modules are available.
Distributor ID:    Kali
Description:    Kali GNU/Linux Rolling
Release:    kali-rolling
Codename:    kali-rolling
  • 配置軟件源, 國內建議選擇“中科大”的源, (綜合來書,中科大的源還是比較靠譜)
root@Kali-Panda:~# cat /etc/apt/sources.list.d/ustc.list 
deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
  • 添加完軟件源,需要更新軟件包列表后才可以使用。

更新軟件包列表,執行命令如下所示:

root@Kali-Panda:~# apt-get update
  • 軟件更新(軟件包升級)
root@Kali-Panda:~# apt-get dist-upgrade root@Kali-Panda:~# apt-get dist-upgrade 
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關系樹       
正在讀取狀態信息... 完成       
正在計算更新... 完成
下列軟件包是自動安裝的并且現在不需要了:acccheck 。。。
使用'apt autoremove'來卸載它(它們)。
y下列軟件包將被【卸載】:gnome-shell-extension-workspacestodock 。。。
下列【新】軟件包將被安裝:apt-config-icons bolt clang-6.0。。。。您希望繼續執行嗎? [Y/n] 

鍵入y后,選擇升級軟件包。

2.4. Kali Linux 基本設置

在前面學習了Kali Linux操作系統的安裝,安裝成功后就可以登錄到系統了。登錄系統后,就可以使用各種的滲透工具對計算機做測試。為了方便后面章節內容的學習,本節將介紹一下Kali Linux的基本設置。

  • 啟動默認的服務

Kali Linux自帶了幾個網絡服務,它們是非常有用的。但是默認是禁用的。在這里,將介紹使用各種方法設置并啟動每個服務。

  • 啟動Secure Shell(SSH)服務

啟動Secure Shell(SSH)服務。執行命令如下所示:

root@Kali-Panda:~# systemctl start ssh.service

看到以上的輸出表示SSH服務已經啟動。為了確認服務的端口是否被監聽,執行如下所示的命令:

root@Kali-Panda:~# netstat -apn | grep ":22"
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2507/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      2507/sshd 

當然也可以用systemclt查看ssh的狀態

root@Kali-Panda:~# systemctl status ssh.service 
● ssh.service - OpenBSD Secure Shell serverLoaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: disabled)Active:** active (running)** since Mon 2018-07-23 12:28:00 CST; 4min 21s agoProcess: 593 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)Process: 591 ExecReload=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)Process: 2506 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)Main PID: 2507 (sshd)Tasks: 1 (limit: 1916)Memory: 1.8MCGroup: /system.slice/ssh.service└─2507 /usr/sbin/sshd -D7月 23 12:28:00 Kali-Panda systemd[1]: Starting OpenBSD Secure Shell server...
7月 23 12:28:00 Kali-Panda sshd[2507]: Server listening on 0.0.0.0 port 22.
7月 23 12:28:00 Kali-Panda sshd[2507]: Server listening on :: port 22.
7月 23 12:28:00 Kali-Panda systemd[1]: Started OpenBSD Secure Shell server.
  • 停止ssh服務

停止一個服務的語法格式:systemctl stop <servicename>

表示用戶想要停止的服務。

停止ssh服務,執行命令如下所示:

root@Kali-Panda:~# systemctl stop ssh.service

可以通過查看ssh.service的狀態信息, 已經變為inactive (dead), 可以看到ssh服務停止成功。

root@Kali-Panda:~# systemctl status ssh.service 
● ssh.service - OpenBSD Secure Shell serverLoaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: disabled)Active: inactive (dead) since Mon 2018-07-23 12:35:07 CST; 17s agoProcess: 593 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)Process: 591 ExecReload=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)Process: 2507 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=0/SUCCESS)Process: 2506 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)Main PID: 2507 (code=exited, status=0/SUCCESS)7月 23 12:28:00 Kali-Panda systemd[1]: Starting OpenBSD Secure Shell server...
7月 23 12:28:00 Kali-Panda sshd[2507]: Server listening on 0.0.0.0 port 22.
7月 23 12:28:00 Kali-Panda sshd[2507]: Server listening on :: port 22.
7月 23 12:28:00 Kali-Panda systemd[1]: Started OpenBSD Secure Shell server.
7月 23 12:35:07 Kali-Panda systemd[1]: Stopping OpenBSD Secure Shell server...
7月 23 12:35:07 Kali-Panda sshd[2507]: Received signal 15; terminating.
7月 23 12:35:07 Kali-Panda systemd[1]: Stopped OpenBSD Secure Shell server.
  • 設置服務開機啟動

設置服務開機啟動的語法格式如下所示:?systemctl enable <servicename>

表示用戶想要開機啟動的服務。

設置SSH服務開啟自啟動:

root@Kali-Panda:~# systemctl enable sshd.service
Synchronizing state of ssh.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable ssh
  • 查看當前系統開機自啟列表
root@Kali-Panda:~# systemctl list-unit-files | grep enabled
accounts-daemon.service                                          enabled
anacron.service                                                  enabled
autovt@.service                                                  enabled
binfmt-support.service                                           enabled
console-setup.service                                            enabled
...
ssh.service                                                      enabled
sshd.service                                                     enabled

2.5. 隨堂練習

  • 判斷題: 傳統中所用的滲透測試平臺Back Track 現在可以用Kali Linux替代 ()

3. 前期交互階段

  • 目標
    • 了解前期交互階段需要完成的工作

3.1. 前期交互階段的工作

前期交互階段通常是由你與客戶組織進行討論,來確定滲透測試的范圍和目標。

這個階段最為關鍵的是需要讓客戶組織明確清晰地了解滲透測試將設計哪些目標,而這個階段也為你提供了機會,來說服客戶走出全范圍滲透測試的理想化遠景,選擇更加現實可行的滲透測試目標來進行實際實施。

簡單的說,就是解決一個問題: 我N月(年、月、日)就干完這N項的活兒,您老到時給錢兒痛快點。

這個階段的工作把評估項目的每一個需求參數都落實到項目的測試計劃、限定因素、業務指標、和進度安排中。

  • 收集需求: 以口頭交流和書面詢問的形式,積累目標環境的有關信息

  • 籌劃工作: 測試計劃的準備工作收許多因素的影響, 包括合同協議、成本分析、資源分配等

  • 邊界分析: 明確滲透測試任務限制因素的工作

  • 明確業務指標: 在滲透測試項目中,該階段工作使技術目標與業務目標保持一致。

  • 項目管理和統籌調度: 此過程旨在使滲透測試過程中的每個步驟與其他步驟形成時間上的配合

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/206654.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/206654.shtml
英文地址,請注明出處:http://en.pswp.cn/news/206654.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Cloud切換內嵌Tomcat為寶蘭德Application Server

目錄 替換Tomcat中間件Tomcat是什么Spring Cloud剔除tomcat引入寶蘭德Application Server打包運行授權導入 替換Tomcat中間件 Tomcat是什么 Spring Cloud剔除tomcat <!--集成springmvc框架 --><dependency><groupId>org.springframework.boot</groupId&…

Boost:asio多io_service,多線程run

多io_service,多線程run,相當于多個線程分別處理注冊在不同io_service上的回調,也就是每個線程排某個io_service的異步處理: //mio_mth.cpp #include <boost/asio.hpp> #include <boost/date_time/posix_time/posix_time_types.hpp> #include <iostream>…

MAC PHP版本安裝問題

安裝php 7.4版本不成功 Error: php7.4 has been disabled because it is a versioned formula! 因為php7.4官方已經不再維護&#xff0c;所以Hombrew將該php版本移出了repository&#xff0c;所以安裝不了。 解決辦法 從第三方倉庫中安裝 //將第三方倉庫加入brew brew tap sh…

7.1 C++11指針空值—nullptr

一、NULL和nullptr區別 NULL是宏定義&#xff0c;nullptr是關鍵字。 #ifndef NULL#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif #endif nullptr可以隱式轉換為任意指針類型&#xff0c;而NULL需要顯示轉換 void func(char *) {std::cout <<…

Java安全之Commons Collections6分析

CC6分析 import org.apache.commons.collections.*; import org.apache.commons.collections.functors.ChainedTransformer; import org.apache.commons.collections.functors.ConstantTransformer; import org.apache.commons.collections.functors.InvokerTransformer; impo…

Flask 動態路由、請求數據接收、視圖函數返回值詳解

一、動態路由 在前面的博客中&#xff0c;我們學習了如何創建基本的 Flask 應用&#xff0c;并定義了一些簡單的路由。但有時候&#xff0c;我們需要更加靈活的路由&#xff0c;能夠根據用戶請求的不同來動態生成響應。Flask 提供了動態路由的功能&#xff0c;使我們能夠輕松處…

上網監控軟件——安全與隱私的平衡

網絡已經成為人們生活和工作中不可或缺的一部分。然而&#xff0c;隨著網絡使用的普及&#xff0c;網絡安全問題也日益突出。上網監控軟件作為網絡安全領域的一個重要組成部分&#xff0c;在保護企業和家庭網絡安全方面發揮著重要作用。 本文將探討上網監控軟件的背景、功能、優…

我的Android播放器封裝經驗

近段時間&#xff0c;電視家不能用了&#xff0c;好吧&#xff0c;自己開發一個APP。其實也不是開發&#xff0c;而是基于現有的播放器核心自己封裝一個&#xff0c;只要能夠非常方便操作觀看電視就好。 當然&#xff0c;前提是要有節目源&#xff0c;這個我早已完成&#xff…

1-2算法基礎-常用庫函數

1.排序 sort(first,last,cmp) first指向要排序范圍的第一個元素&#xff0c;從0起 last指向要排序范圍的最后一個元素的下一個位置 cmp&#xff08;可選&#xff09;&#xff0c;自定義函數&#xff0c;默認從小到大 評測系統 #include <iostream> #include<algorith…

Java一對一聊天

服務端 package 一對一用戶;import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Vector;…

three.js 入門三:buffergeometry貼圖屬性(position、index和uvs)

環境&#xff1a; three.js 0.159.0 一、基礎知識 geometry&#xff1a;決定物體的幾何形狀、輪廓&#xff1b;material&#xff1a;決定物體呈現的色彩、光影特性、貼圖皮膚&#xff1b;mesh&#xff1a;場景中的物體&#xff0c;由geometry和materia組成&#xff1b;textu…

十五、機器學習進階知識:K-Means聚類算法

文章目錄 1、聚類概述2、K-Means聚類算法原理3、K-Means聚類實現3.1 基于SKlearn實現K-Means聚類3.2 自編寫方式實現K-Means聚類 4、算法不足與解決思路4.1 存在的問題4.2 常見K值確定方法4.3 算法評估優化思路 1、聚類概述 聚類&#xff08;Clustering&#xff09;是指將不同…

淺談WPF之控件拖拽與拖動

使用過office的visio軟件畫圖的小伙伴都知道&#xff0c;畫圖軟件分為兩部分&#xff0c;左側圖形庫&#xff0c;存放各種圖標&#xff0c;右側是一個畫布&#xff0c;將左側圖形庫的圖標控件拖拽到右側畫布&#xff0c;就會生成一個新的控件&#xff0c;并且可以自由拖動。那如…

Python---面向對象其他特性

1、類屬性 Python中&#xff0c;屬性可以分為實例屬性和類屬性。 類屬性就是 類對象中定義的屬性&#xff0c;它被該類的所有實例對象所共有。通常用來記錄 與這類相關 的特征&#xff0c;類屬性 不會用于記錄 具體對象的特征。 在Python中&#xff0c;一切皆對象。類也是一…

1 接口測試介紹

在軟件測試工作中&#xff0c;接口測試是必不可少的。接口測試一般是發生在單元測試之后&#xff0c;系統測試之前。當開發人員輸出API文檔后&#xff0c;測試人員就可以開始編寫接口測試用例了。接口測試可以讓測試人員更早的介入&#xff0c;不需要等待前后端聯調完成才開始測…

銀行卡二要素API的應用案例:從在線購物到金融投資

引言 隨著互聯網技術的不斷發展&#xff0c;人們的金融需求也在不斷增加。隨之而來的是各種新型金融服務的涌現&#xff0c;讓用戶的金融體驗更加便利快捷。其中&#xff0c;銀行卡二要素API的應用&#xff0c;則為用戶的金融體驗和安全性提供了極大的保障。 銀行卡二要素API…

知識蒸餾的蒸餾損失方法代碼總結(包括:基于logits的方法:KLDiv,dist,dkd等,基于中間層提示的方法:)

有兩種知識蒸餾方法&#xff1a;一種利用教師模型的輸出概率&#xff08;基于logits的方法&#xff09;[15,14,11]&#xff0c;另一種利用教師模型的中間表示&#xff08;基于提示的方法&#xff09;[12,13,18,17]。基于logits的方法利用教師的輸出作為輔助信號來訓練一個較小的…

VBA語法結構及編程思想

VBA&#xff08;Visual Basic for Applications&#xff09;是一種編程語言&#xff0c;它被用于Microsoft Office應用程序的自動化&#xff0c;允許用戶編寫宏來執行常規任務。VBA是基于Microsoft的Visual Basic語言&#xff0c;但專為Office應用程序定制。 VBA語法格式 VBA的…

【STM32】TIM定時器輸出比較

1 輸出比較 1.1 輸出比較簡介 OC&#xff08;Output Compare&#xff09;輸出比較&#xff1b;IC&#xff08;Input Capture&#xff09;輸入捕獲&#xff1b;CC&#xff08;Capture/Compare&#xff09;輸入捕獲和輸出比較的單元輸出比較可以通過比較CNT與CCR寄存器值&#…

JavaWeb-HTTP協議

1. 什么是HTTP協議 HTTP超文本傳輸協(Hyper Text transfer protocol)&#xff0c;是一種用于用于分布式、協作式和超媒體信息系統的應用層協議。它于1990年提出&#xff0c;經過十幾年的使用與發展&#xff0c;得到不斷地完善和擴展。HTTP 是為 Web 瀏覽器與 Web 服務器之間的…