无安全问题 我爸爸的出生地 我妈妈的出生地 我的小学校名 我的中学校名 我最喜欢的运动 我最喜欢的歌曲 我最喜欢的电影 我最喜欢的颜色 自定义问题
2013·雪
2014·天空
2025·春节
2012·春
wind
水墨江南
紫色梦幻
绿之印象
蓝色天空
黑色旋风
UID:17777
上学的时候被网络安全老师抓过去实训,无意间接触到了kali,现在工作摸鱼就尝试了一下网上常说的利用shellcode本地编译生成木马,对机器进行入侵操作,现将这两天的结果记录报告一下。参考文章地址如下:https://www.cnblogs.com/yyxianren/p/12427004.htmlhttps://www.cnblogs.com/backlion/p/9484949.htmlhttps://xz.aliyun.com/t/2536https://www.secpulse.com/archives/123300.htmlhttps://blog.csdn.net/zkwniky/article/details/78030268https://blog.csdn.net/zyhse/article/details/106604570https://zhuanlan.zhihu.com/p/97418361https://blog.csdn.net/junbopengpeng/article/details/38044533https://www.cnblogs.com/ay-a/p/8762951.html
BackDoor-factory,又称后门工厂(BDF),BDF是也是一款老牌的免杀神器,其作者曾经在2015年的blackhat大会上介绍过该工具。但是作者已经于2017年停止更新,免杀效果就算现在来看也还算不错的。 原理:可执行二进制文件中有大量的00,这些00是不包含数据的,将这些数据替换成payload,并且在程序执行的时候,jmp到代码段,来触发payload
这里的话只讲以下我昨天研究出来的结果,目前已经被火绒纳入病毒库了
这里说个小tips:一般来说生成的木马程序,比如exe,程序在执行的时候session就一直保持着,如果手动结束,这个session就结束了,虽然可以后期在meterpreter中使用migrate来将session迁移,但是msfvenom提供了这样一个迁移选项,在程序被打开的时候就可以立马迁移到指定的进程中,我们常用的就是svchost进程,一般这个进程是不可以结束的。所以我们可以使用参数 PrependMigrate=true PrependMigrateProc=svchost.exe来指定生成的shellcode要迁移到哪个进程中去。
前面提到我们公司的软件中的dll,公司软件是因为我刚入职20天的时候,加密狗丢了,早上要外出,比较着急,看了一眼是c#写的软件,就去花,看了一下逻辑把exe判断加密狗的流程给弄掉了,后面的话看到了dllimport,于是就想可以编写一个有一样方法和返回值的dll,进行替换,分析了两周然后写了个破解的dll,于是打算用这个dll的源文件进行实验。
dll的加载使用了底层代码的全局锁,在这个锁的过程中不能使用等待函数,否则程序就会死锁。你可以创建线程,但不能等待线程结束。
这里特别说一下在编译的时候发现杀毒软件检测的几个流程,我就不单独开个目录说了。01 针对普通shellcode(.exe),一般编译就可以以后检测到你是否为病毒02 针对编译成dll的shellcode,我发现如果将恶意代码放只会被调用执行的代码段中,编译通过没问题如果将恶意代码执行的代码放在DLLMAIN函数中(也就是会主动执行的入口),火绒立马就会报毒。同时,如果一个exe在编译以后运行不起来的,火绒一般不会报毒。将上面的memcpy和获取memory分别丢在不同函数,通过返回值调用,火绒不会报毒,但是软件也运行不起来。所以,大致猜测火绒的执行流程是这样:针对exe程序:检测main入口点,并且其在内部执行一遍,检测是否含有病毒特征。如果exe编译以后运行不起来,那他自己也没法检测。所以我个人猜测火绒应该在内部已经执行了一遍。针对dll程序:如果有dllmain函数,就会对在dllmain函数中的代码进行编译执行,查找是否为病毒特征,如果是的话就会报毒,但是如果在导出函数中插入病毒的执行代码。火绒貌似是不进行检测的。
内存泄露:内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
1、使用_beginthread(ex)的理由在于这个函数对CRT的TLS数据进行了适当的分配和释放操作,避免内存泄露
UID:64644