[原创]新年献礼:Win32最小的多用户Shell v1.2(506字节)
软件作者:Anskya [E.S.T]信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
BindShell.体积仅有506字节!!!!
优化到这样估计也很难在优化下去了。。。能写的地方基本上都写满了
这个东西也暂时告一段楼。。。
祝大家新年新气象。。。
开开心心过好年,也为回不了家的朋友们祝福一下
没事,无聊了找兄弟一起吹水看Hot!聊MM。。。
无聊了PM我
[attach]10947[/attach] xp2防火墙可以拦截到!
还有!我应telnet连接!什么都没有呀!
链接错误还是说!这个木马就没有什么呀!
还有这个木马没有自动启动功能吧!我现在还种着那!呵呵!
[[i] 本帖最后由 pc逍遥鼠 于 2008-2-4 21:49 编辑 [/i]] [quote]原帖由 [i]洋洋洒洒[/i] 于 2008-2-4 23:26 发表 [url=http://forum.eviloctal.com/redirect.php?goto=findpost&pid=138020&ptid=32155][img]http://forum.eviloctal.com/images/common/back.gif[/img][/url]
不是直接编译出来的了.? [/quote]
是直接编译出来的。。。我不习惯diy。。。
nasmx写的。
fasm也可以做到
感谢,zhuwg哥,子牛,鱼兄捧场,。。
感谢大家。。。这个东西只是一个shell
没有自启动我本地测试很好。没什么问题。。。
9x下也测试了请关闭防火墙后再测试。
主要是为了玩,没有其他目的,本事不具备攻击性 这个有点小问题[code]
00401100 68 50004000 push 00400050 ; ASCII "COMSPEC"
00401105 FF15 F0104000 call dword ptr [4010F0] ; kernel32.GetEnvironmentVariableA
0040110B 000F add byte ptr [edi], cl
0040110D 0012 add byte ptr [edx], dl
0040110F 0000 add byte ptr [eax], al
00401111 1000 adc byte ptr [eax], al
00401113 0000 add byte ptr [eax], al
00401115 1000 adc byte ptr [eax], al
00401117 00EA add dl, ch
00401119 0100 add dword ptr [eax], eax
[/code]开始还以为是smc.结果发现.确实不行.少了个jmp吧?
再要缩小体积.再要小体积得smc了应该会效果不错吧 加个自删除方便些:handshake: :handshake: 楼上的 拖到 ida里 基本上就是 源代码
另外 直接 call [*****] 的硬编码
应该不能在 2k上用吧 楼上几位牛说的我一点都听不懂
1.SMC和迷你化体积有什么关系?
2.call[****]拜托那是导入表填充结构
call然后jmp那是vc和masm才有的伎俩。。。
准确的说来有点多此一举。。。估计是连接器为了方便才这样
你使用标准的ix86编译就不会出现这样的情况了(记得重新设置一下链接库)
3.硬地址。。。我更无语了。。看一下PE结构吧。。那是导入表填充的
WS2_32的地址我都是用序号导入的。。。不是函数名(除了WSocketA函数)
导入表结构就那点东西稍微看看就知道了。。。LordPE看一下就明白了。。。
至于源代码。IDA里面一拉都出来了。因为代码写到PE头部的缝隙中了所以。。所以
本来想打造一个Downloader挑战一下冰狐浪子大哥的512字节的下载者。
后来一想没必要了。我自己做了一个314字节。自己留着用吧
我就不亵渎大哥的作品了。。。 [quote]1.SMC和迷你化体积有什么关系?[/quote]
code size
不用smc代码应该会多点 , 就是这意思了
52331161 /$ A1 E0103352 mov eax, dword ptr [<&USER32.ShowWin>
52331166 |. 8B15 86103352 mov edx, dword ptr [<&wininet.Intern>; wininet.InternetReadFile
5233116C |. 8B0D 82103352 mov ecx, dword ptr [<&wininet.Intern>; wininet.InternetCrackUrlA
52331172 |. 6A 03 push 3
52331174 |. 5B pop ebx
52331175 |> 60 /pushad
52331176 |. 54 |push esp ; /pOldProtect
52331177 |. 68 80000000 |push 80 ; |NewProtect = PAGE_EXECUTE_WRITECOPY
5233117C |. 6A 20 |push 20 ; |Size = 20 (32.)
5233117E |. 50 |push eax ; |Address
5233117F |. FF15 BE103352 |call dword ptr [<&KERNEL32.VirtualPr>; \VirtualProtect
52331185 |. 61 |popad
52331186 |. FE05 7E113352 |inc byte ptr [5233117E]
5233118C |. 4B |dec ebx
5233118D |.^ 75 E6 \jnz short 52331175
[[i] 本帖最后由 洋洋洒洒 于 2008-2-5 17:55 编辑 [/i]] 当作灌水吧
[quote]2.call[****]拜托那是导入表填充结构
call然后jmp那是vc和masm才有的伎俩。。。
准确的说来有点多此一举。。。估计是连接器为了方便才这样
你使用标准的ix86编译就不会出现这样的情况了(记得重新设置一下链接库)[/quote]
貌似这个也是说的我?
那个 ,, 我放od里 call完后 eip指向的就是
0040110B 000F add byte ptr [edi], cl
这里了. call完后什么都没有 . 直接 异常
直接运行也出错,,, 应该不会是我人品问题吧
call然后jmp是为了节省代码体积
call dword ptr [xxx] > 5 byte
call xxx = 5 byte
xxx让call的多了 就算下几个字节了 . 您直接运行会出错吗?。。。OD需要设置才可以跟踪的。。。如果直接运行没错的话
请设置OD后再跟踪。下次把代码写到TLS里面去。。嘿嘿~OD跟起来要更多设置吼吼~~
call XXX是硬件地址。。。每个系统是不一定的
call[XXX]是导入表地址(这个地址是系统的PE Loader自己填充的)所以不会因为操作系统的不一样而地址无法调用
[[i] 本帖最后由 Anskya 于 2008-2-5 21:34 编辑 [/i]] 今天太摔了.
又一天废了.
重新下载了一个,正常了.od也是能跟的,设置一样..比较纳闷
[quote]应该不会是我人品问题吧[/quote]果然就是我rp问题
看来以后周二得注意了.
我说的是[code]call dword ptr [<&KERNEL32.VirtualPr>; [/code]和[code]
lab:
jmp dword ptr [<&KERNEL32.VirtualPr>;
call lab
[/code]水..都涨满了 东东是好东东,楼主能力很强啊!
不过怎么样才能正常断开?exit、quit都试了,最后只能直接关闭,然后在netstat里留下一大串的close_wait..... 很好的东东
如果加上自启动就......
速度很快! 建议加自启动 是直接编译出来的:lol: :lol: 很好 很强大 做exp 的时候可以用上! 关键在于思路清晰,代码工整,大小不要大的离谱就可以了。
:lol: :sweat: ,拉进ida,试下.
页:
[1]