美文网首页
Python实现Flag生成

Python实现Flag生成

作者: 许安念安 | 来源:发表于2016-05-18 22:40 被阅读1963次

title: Python实现Flag生成
tags: Python,Flag,攻防


生成Flag

功能:根据不同主机的不同ip地址,在靶机的C盘Flag文件夹中生成Flag.txt文件,为了防止Flag.txt文件被删除,每隔三秒判断一下Flag.txt文件是否存在,不存在就重新生成

# -*- coding:utf-8 -*-
#filename:exist.py

import socket
import hashlib
import os
import time

#获取本地ip地址
localIP = socket.gethostbyname(socket.gethostname())

#创建md5对象
md = hashlib.md5()
#生成加密串
md.update(localIP)
#获取加密串
flag = md.hexdigest()

while True:
    filePath = 'c:\Flag'
    flagFile = 'c:\Flag\Flag.txt'

#判断c盘下是否存在Flag文件夹,没有则创建
    if not os.path.exists(filePath):
        os.mkdir(filePath)
#判断c盘下的Flag文件夹中是否存在Flag.txt文件,没有则创建
    if os.path.isfile(flagFile):
        pass
    else:
        fobj = open('c:\Flag\Flag.txt', 'w')
        fobj.write(flag)
        fobj.close()
    
    time.sleep(3)

将python文件打包成exe可执行文件

参考:http://www.itoldme.net/archives/1242
http://legendtkl.com/2015/11/06/pyinstaller

  • 下载安装pyinstall,其中,Windows上运行PyInstaller还需要PyWin32或者pypiwin32,其中pypiwin32在你安装PyInstaller的时候会自动安装。
    • pip install pyinstall
  • 将.py文件打包成exe文件,-F用于制作独立的可执行程序,-w:不弹出Dos窗口
    • pyinstall -F -w exist.py
  • 运行完成后会在当前目录下生成一个build和dist文件夹,生成的exist.exe文件会输出到dist文件夹中

用其它文件来调用exist.exe

exist.exe根据需要设置为自启动运行,如果直接把exist.exe文件放到启动文件夹或者启动项中,可能会很容易被找到,导致进程直接被kill掉,所以要用其它自启动文件来调用它(当然查看进程后,还是很容易被找到的)


# -*- coding:utf-8 -*-
#filename:start.py

import os

cmd = 'exist.exe'
tmpdir = 'c:\Flag'
os.chdir(tmpdir)
os.system(cmd)

将start.py打包成start.exe放到开启启动项中

相关文章

网友评论

      本文标题:Python实现Flag生成

      本文链接:https://www.haomeiwen.com/subject/tcgwrttx.html