通过nodeJs中eval关键字打造一款管理nodeJS后门的菜(3)

通过nodeJs中eval关键字打造一款管理nodeJS后门的菜

发送POST请求,内容是response.end(‘shellOk’);,如果页面真正返回shellOk后,则代表shell可以成功链接,否则则链接失败。当链接成功时,则进入窗口一,窗口一的界面是这样的:

通过nodeJs中eval关键字打造一款管理nodeJS后门的菜

当载入该窗口则发送一条目录文件遍历的代码至服务端。

通过nodeJs中eval关键字打造一款管理nodeJS后门的菜

完全模拟了我们BurpSuite时的操作。工具只是将一些语句全部封装起来,然后发送。

下边笔者就不再分析源码中每一行的意义了,笔者会将源码共享到这里,大家可以去可以打造一个属于自己的nodeJS后门管理工具。

工具使用案例:

通过nodeJs中eval关键字打造一款管理nodeJS后门的菜

百度网盘下载源码:https://pan.baidu.com/s/1GU3FKzP-Gx-gW_ldktdzSg 提取码:6666

0x05 nodeJS后门的隐蔽方式

我们当然不想单独的去创建一个JS文件,然后去放置后门,这样被查杀的概率也是有的,但笔者这里想到了一种nodeJS后门的隐蔽方式。

Express为nodeJS中应用最广泛的框架,它非常容易就可以去处理nodeJS路由。

我们先看一个express的简单案例:

通过nodeJs中eval关键字打造一款管理nodeJS后门的菜

在使用express框架中,不得不require(‘express’);后再进行操作,在nodeJS中,被require进来的包,虽然只可以接收到exports所暴露出来的变量,但是每行NodeJs语句也会被执行,我们定位到express中核心载入的文件。

在./node_modules/express/index.js文件中我们可以看到正常的处理逻辑:

通过nodeJs中eval关键字打造一款管理nodeJS后门的菜

我们在其中插入我们的后门脚本代码:

通过nodeJs中eval关键字打造一款管理nodeJS后门的菜

这里需要注意的是,这里的listen不要与express框架中的端口相等,否则将会造成端口冲突。

放置后门后整个框架开启了两个端口,分别是5555端口以及6666端口,这两个端口5555端口为express框架的正常服务,而6666端口是我们的后门端口。如图:

通过nodeJs中eval关键字打造一款管理nodeJS后门的菜

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/30610d44511749eebc9d17a5fc5740ec.html