个人技术分享之“终端入侵”

by 拼拼学习 pinpinxi.com 之 新博 以后不再研究的技术方向继续拿来分享,本期是第三期,分享终端入侵相关知识。本来准备多分享几期Kali Linux知识,分享如何进行中间人攻击、WiFi网络入侵、蜜罐攻击等,但最近个人的时间及精力有限,只能请感兴趣的同学自行上网学习,互联网上关于Kali Linux的免费教程有很多。我这还有两本Kali Linux书,几乎是全新的,书里的内容比较基础我就没怎么看,有需要的可以来借取。 不懂进攻,怎知何为有效防御?正所谓:知己知彼百战百胜。 信息世界里入侵的手段多种多样,有漏洞利用、社会工程学、密码破解、网络渗透等等,入侵的目标也很多,如服务器、计算机、手机、网络系统等,我今天分享的是利用永恒蓝漏洞入侵计算机终端。 先介绍一下特殊手段的常用工具之一Kali Linux,它是初中级黑客常用工具系统。Kali Linux系统是设计用于数字取证操作系统。数字取证的叫法很大气,且充满正能量。    在学校时收集的数字取证工具觉得很实用、很牛了,但和Kali Linux一比才发现原来的工具最多是辆吉普车,Kali Linux是一辆满载武器且正在行驶的火车,可被不法之徒所使用且自动化火力强大的战车。    Kali Linux版本很多,它可以放在光盘、U盘、手机、硬盘、虚拟机等媒介中运行,我分享的试验环境是在虚拟机中运行,Kali Linux运行对硬件要就不高,但在无钱网络入侵时,对无线网卡物理芯片型号有要求。 开始利用MS17—010即永恒之蓝漏洞的渗透之旅 1、系统启动进入桌面点击左侧M图标,运行Metasploit。 注:Metasploit是一款开源的入侵测试框架,让人非常着迷,让渗透入侵可以变得如此简单! 2、键入search ms17-010,查找到两个MS17-010工具,一个是Scanner目录下用于扫描,另一Exploit目录下用于渗透溢出。 3、使用use加载ms17-010工具 4、键入show options显示工具参数列表,键入set rhosts设置检测目标网段 5、键入exploit,开始寻找目标机 6、找到目标机,开始切换到永恒之蓝渗透利用工具,并设置相应参数。溢出注入系统的进程有很多,如lsass.exe、svchost.exe等,系统架构现今基本上都是64位,Rhost是目标机地址,lhost是自己机器地址用于回弹控制,最后再键入exploit走起。键入命令太多,具体请看下图。 7、渗透后可输入sysinfo可以查看目标机系统信息,键入screenshot给目标机屏幕截图。 安全测试已是三年前的环境,上图非近期截图,请勿惊慌!  他妈啊!貌似核心部门的电脑存在漏洞,立即终止渗透测试,赶紧去管控平台检查一下高危漏洞补丁为何没有下发!结果是一台刚刚重新安装系统的电脑,高危漏洞补丁修复中。。。    多年前,我一手构建的管控平台本可提升企业信息安全,无奈很多人强行脱离管控或不安装管控杀毒软件!对于这种个别同事,没有采取更有力的管控,算是对精英们的一种尊重!当面的劝说,情谊尽到!人,或许都不喜欢被约束!除了管控平台,网络防火墙和行为管理也进行安全策略设置,从而提升内网安全并降级病毒风险!唉~~~又有人马上说管的太严了!这下载不了!那个打不开!领导们也是这权限,工作的需求已经提前考虑,并也进行相关设置及优化!  最近我深有感触的一句话是:“严厉的爱是重要的爱,也是最难给予的爱”!  其实在世界范围内有很多企业中高层都没有安全意识,网络中心人员也十分随意,不重视加随意的后果就是灾难性系统风险!否者不至于永恒之蓝一个系统零日漏洞导致勒索病毒在全世界广泛传播。   为了让信息数据更安全,就需要有效的手段进行防护和检查。Kali Linux是一款比较全面的安全检查工具之一,您的网站、手机、交换机、路由器、服务器、无线网络、计算机等系统的安全测试都可以使用Kale Linux进行测试。最后提醒大家,切勿从事违法乱纪的事^V^ 加油拼拼学、拼拼习,坚持最后你会成功! ...
阅读更多

个人技术分享之“远控”

为什么叫远控不叫木马,因为我对盗号没有任何兴趣,也鄙视初级黑客盗号的行为。这么多年在企业信息中心,算是负责信息安全属于白帽,是负责守卫一方,是防止信息泄露而不是窃取信息。 但也许只有你了解攻击的手段,才能知道如何防御! 初中时就爱好计算机,也羡慕顶级黑客,还没上大学就已经能够使用VB开发,并掌握C语言和C++,也可以修改木马或远控使其使用免杀。 太久远老掉牙的远控技术知识我就不分享了,比如灰鸽子,勾起陈年往事的记忆!现在灰鸽子团队出了一款免费远程协助工具,也算是帮其打个广告。 远控技术分享从Poison开始,Poison中文意思是毒药,这是一款老外的远控工具,功能非常全,分享的主要点是被控端生成时可以生成ShellCode。 Poison界面 当被控端采用ShellCode为核,自己再简单编写软件壳,使其可以做到真正的免杀,比起国内那些远控工具需反复加花加壳真是一个天上一个地下。 Poison生成被控端时选择ShellCode,并支持多种编程语言。 来个回忆杀,翻找到当年加壳代码,分享一下:简单粗糙,即实用又免杀。 时至今日,用杀毒软件杀一下,依然免杀。 虽然免杀,但Poison只能算是黑客里的小白级别,在我现在看来Poison的缺点十分明显。首先、Posion在世界范围传播太广,导致大神级别人物开发出针对Poison服务端的溢出工具,也就是说你使用Poison的后果是可能被黑吃黑!其次、被控端勉强支持Win7系统,对win10应该不支持,程序兼容性不好;最后、Poison不开源,缺少源码使其无法DIY。 分享Poison的重点是ShellCode的免杀方式。 在大学时,手动从IE浏览器进程中剥离木马模块,分离出来的木马程序让我非常惊讶,如此小巧!即可穿墙又免杀的木马!随之开始萌生自己开发远控的想法,刚开始用Delphi语言开发,觉得程序做得不是很小巧,很多从网上找的模块是被封装成控件,担心被黑吃白就放弃Delphi。 为了能够开发出小巧远控开始使用C++进行开发,在收集资料时,Gh0st大神级别远控进行我的视野,不停收集Gh0st资料,并搭建测试环境。 my God!!!Gh0st远控让那个年代的我惊呆了,Gh0st被控端程序的启动尽然是写入到系统驱动中,运行程序是注入到系统进程中,除了驱动启动也可以利用系统Svchost启动及运行,Gh0st远控可以轻松躲过普通运维人员的法眼,瞬间觉得信息技术世界很可怕。 Gh0st远控还有很多优点,比如它根据系统CPU运行状况进行自我控制,避免系统运行卡顿导致人为发现异常;网络传输的压缩算法及图像差分算法可让程序占用少量网络带宽;心跳保活及支持上万台电脑控制,让你觉得Gh0st有无限种可能。 Gh0st远控源码早已是公开的,大家可以随意从互联网获取。编译教程网上有很多,这里不赘述。 目前Gh0st衍生出远控已不计其数,所有杀毒软件都针对Gh0st及衍生版进行重点查杀,甚至达到相似行为查杀,那么如果才能使其免杀? 避免杀毒软件的特征码查杀,被控端应编译成ShellCode;避免杀毒软件的网络通信特征查杀,改传输协议,把数据头Gh0st删掉,ZIP压缩算法改成其他压缩算法;避免杀毒软件的行为查杀,删除摄像头、键盘记录钩子等调取系统敏感API的模块;注:违法勾当原本就不能干。避免被杀毒软件的可疑程序查杀,需给最终被控端程序打数字证书。 以上分享的免杀方法看似简单,但非常实用。这些方法都是前些年积累的经验,现最新流行的远控程序的架构更是超出了你我的想象!被控端完全是白的,开发成完全合规的程序;运控黑的部分是按需从远程服务器即时加载,动态申请内存空间后,将加密代码放入内存,再解密执行!!!    一个程序的免杀方法是多种多样的,但我们免杀的目的呢?做出远控又有何用呢?主要是想告诉大家杀毒软件只能杀常见病毒,不是万能杀,我们需要我们自己来进行更深度的防护。 分享Gh0st 远控不仅仅是用来远程控制,它有很多精华值得大家去深究,Gh0st的精髓我认为是程序的思想,它的传输协议、程序架构、设计思路等等都非常值得我们去学习,研究Gh0st将对你编程水平的提升会有很大帮助。 Gh0st相关免杀问题及索要免杀程序,就请免开尊口! 你的进步是需要你自己不断地研究,分享思路,但路需要终究需你自己走,并且违法乱纪的事,坚决不能做!守护信息安全是需要你我他严格律己!信息技术之路对于我们来说会越走越迷茫,但走到那都应不忘初心!虽然我们现在看到是乌云密布的信息世界,但我相信只要你能坚持不断地学习,总有一天你会站得更高,看得更远。 最后,也请大家不要利用你肤浅的专业技术弄个像熊猫烧香病毒之类的恶意程序来耀武扬威,那不是技术能力的体现,是本我自大的表现! 加油拼拼学习,感谢个人技术的分享,多年来一直学习别人的技术分享,如今才把自己的技术经验拿来分享,愧疚啊!!!感谢我创建了拼拼学习!!! ...
阅读更多

技术分享之自开发电子签章系统核心技术

前几年认为信息化办公发展的子方向:“图纸电子签章”会很有前景,也是单位信息化管理急需的管理方式,随之进行了电子签章的相关研究与开发,虽然前期投入大量的时间与精力,但后期受时间与精力的各种限制,图纸的电子签章系统未能开发完,并且搁置。系统虽未完成,但系统核心算法及电子签章的核心功能部分均已实现,现将个人的相关研究成果无偿与大家分享。 一、系统介绍 一图胜千言,已实现的系统结构图如下: 功能界面: 上传未签字电子图; 上传系统程序界面,支持多个图纸上传; 3、上传合规的电子图会自动生成一份MAKE签字图; 4、电签后的电子图; 二、技术部分 1、开发使用Python语言,django框架; 2、PDF读取解析使用了Pdfminer、PyPDF2、Reportlab; 3、核心算法及实现功能代码 (1)、PDF处理代码 def readpdf(filename):    try:        fp = open( filename, 'rb')        #创建一个PDF文档解析器对象        parser = PDFParser(fp)        #创建一个PDF文档对象存储文档结构        #提供密码初始化,没有就不用传该参数        #document = PDFDocument(parser, password)        document = PDFDocument(parser)        #检查文件是否允许文本提取        if not document.is_extractable:            raise PDFTextExtractionNotAllowed        #创建一个PDF资源管理器对象来存储共享资源        #caching = False不缓存        rsrcmgr = PDFResourceManager(caching = False)        # 创建一个PDF设备对象        laparams = LAParams()        # 创建一个PDF页面聚合对象        device = PDFPageAggregator(rsrcmgr, laparams=laparams)        #创建一个PDF解析器对象        interpreter = PDFPageInterpreter(rsrcmgr, device)        #处理文档当中的每个页面        # 循环遍历列表,每次处理一个page的内容        for page in PDFPage.create_pages(document):            interpreter.process_page(page)                bztklisk=BZTK.objects.all()            for danxiang in bztklisk:             if tuplePK(ast.literal_eval(danxiang.CC), page.mediabox) and str(page.rotate) == danxiang.Qt:#判断是否为图框及类型                                  layout=device.get_result()                    # 这里layout是一个LTPage对象 里面存放着 这个page解析出的各种对象                      for x in layout:                        #如果x是水平文本对象的话                        if(isinstance(x.bbox,tuple)):                           print('X')                         if tuplePK(ast.literal_eval(danxiang.JCW), x.bbox) and x.get_text()[0:1] == danxiang.TZ:#是否院里图签标识确认                                                    print('-------------so easy---------------')                           fp.close()                           makerun(filename) #合规的电子图运行电子签                           # debug(x.analyze())    except IOError as err:        print('File error:' + str(err))    finally:           fp.close() (2)、图框检测代码 def tuplePK(pka, pkb): #校验图框    print(pka)    print(pkb)    if abs(pka[0]-pkb[0])<2 :#允许PDF图框误差值        if abs(pka[1]-pkb[1])<2 :            if abs(pka[2] - pkb[2]) < 2:                if abs(pka[3] - pkb[3]) < 2:                    return True    print('false')    return False (3)、电子签代码 def makerun(filename):#运行加载PDF文件    canvas_data = get_overlay_canvas()    merge(canvas_data, template_path=filename)def get_overlay_canvas() -> io.BytesIO:    data = io.BytesIO()#签名图片处理及放置位置    pdf = canvas.Canvas(data)    pic_line_file = os.path.join(os.path.dirname(__file__), 'fileZ.png')    pdf.drawImage( pic_line_file, 60, 200, width=66, height=110, mask=[255, 255, 255, 255, 255, 255])    pic_line_file = os.path.join(os.path.dirname(__file__), 'fileSQ.png')    pdf.drawImage(pic_line_file, 30, 595, width=25, height=40, mask=[255, 255, 255, 255, 255, 255])    # pdf.drawString(x=33, y=55, text='Willi222222222222222222222222222222222222222222222222222s')  #  pdf.drawString(x=14, y=55, text='Jo222222222222222222222222222222222222222222222222222hn')    pdf.save()    data.seek(0)    return datadef merge(overlay_canvas: io.BytesIO, template_path: str) -> io.BytesIO:    with open(template_path, "rb") as inFile:#读取PDF        original = pypdf.PdfFileReader(inFile)        background = original.getPage(0)        foreground = pypdf.PdfFileReader(overlay_canvas).getPage(0) #加载电子签数据流        # merge the first two pages        background.mergePage(foreground)        # add all pages to a writer        writer = pypdf.PdfFileWriter()#写入整合数据流        for i...
阅读更多