瑞星卡卡安全论坛技术交流区恶意网站交流 [转] 防止黑客侵入你正在使用的Win系统

1   1  /  1  页   跳转

[转载] [转] 防止黑客侵入你正在使用的Win系统

[转] 防止黑客侵入你正在使用的Win系统

[转]  防止黑客侵入你正在使用的Win系统
      当黑客入侵一台主机后,会想方设法保护自己的“劳动成果”,因此会在肉鸡上留下种种后门来长时间得控制肉鸡,其中使用最多的就是账户隐藏技术。在肉鸡上建立一个隐藏的账户,以备需要的时候使用。账户隐藏技术可谓是最隐蔽的后门,一般用户很难发现系统中隐藏账户的存在,因此危害性很大,本文就对隐藏账户这种黑客常用的技术进行揭密。
  在隐藏系统账户之前,我们有必要先来了解一下如何才能查看系统中已经存在的账户。在系统中可以进入“命令提示符”,控制面板的“计算机管理”,“注册表”中对存在的账户进行查看,而管理员一般只在“命令提示符”和“计算机管理”中检查是否有异常,因此如何让系统账户在这两者中隐藏将是本文的重点。
  一、“命令提示符”中的阴谋
  其实,制作系统隐藏账户并不是十分高深的技术,利用我们平时经常用到的“命令提示符”就可以制作一个简单的隐藏账户。
  点击“开始”→“运行”,输入“CMD”运行“命令提示符”,输入“net user piao$ 123456 /add”,回车,成功后会显示“命令成功完成”。接着输入“net localgroup administrators piao$ /add”回车,这样我们就利用“命令提示符”成功得建立了一个用户名为“piao$”,密码为“123456”的简单“隐藏账户”,并且把该隐藏账户提升为了管理员权限。
  我们来看看隐藏账户的建立是否成功。在“命令提示符”中输入查看系统账户的命令“net user”,回车后会显示当前系统中存在的账户。从返回的结果中我们可以看到刚才我们建立的“piao$”这个账户并不存在。接着让我们进入控制面板的“管理工具”,打开其中的“计算机”,查看其中的“本地用户和组”,在“用户”一项中,我们建立的隐藏账户“piao$”暴露无疑。
  可以总结得出的结论是:这种方法只能将账户在“命令提示符”中进行隐藏,而对于“计算机管理”则无能为力。因此这种隐藏账户的方法并不是很实用,只对那些粗心的管理员有效,是一种入门级的系统账户隐藏技术。
  二、在“注册表”中玩转账户隐藏
  从上文中我们可以看到用命令提示符隐藏账户的方法缺点很明显,很容易暴露自己。那么有没有可以在“命令提示符”和“计算机管理”中同时隐藏账户的技术呢?答案是肯定的,而这一切只需要我们在“注册表”中进行一番小小的设置,就可以让系统账户在两者中完全蒸发。
  1、峰回路转,给管理员注册表操作权限
  在注册表中对系统账户的键值进行操作,需要到“HKEY_LOCAL_MACHINESAMSAM”处进行修改,但是当我们来到该处时,会发现无法展开该处所在的键值。这是因为系统默认对系统管理员给予“写入D AC”和“读取控制”权限,没有给予修改权限,因此我们没有办法对“SAM”项下的键值进行查看和修改。不过我们可以借助系统中另一个“注册表编辑器”给管理员赋予修改权限。
  点击“开始”→“运行”,输入“regedt32.exe”后回车,随后会弹出另一个“注册表编辑器”,和我们平时使用的“注册表编辑器”不同的是它可以修改系统账户操作注册表时的权限(为便于理解,以下简称regedt32.exe)。在regedt32.exe中来到“HKEY_LOCAL_MACHINESAMSAM”处,点击“安全”菜单→“权限”,在弹出的“SAM的权限”编辑窗口中选中“administrators”账户,在下方的权限设置处勾选“完全控制”,完成后点击“确定”即可。然后我们切换回“注册表编辑器”,可以发现“HKEY_LOCAL_MACHINESAMSAM”下面的键值都可以展开了。
  提示:上文中提到的方法只适用于Windows NT/2000系统。在Windows XP系统中,对于权限的操作可以直接在注册表中进行,方法为选中需要设置权限的项,点击右键,选择“权限”即可。
  2、偷梁换柱,将隐藏账户替换为管理员
  成功得到注册表操作权限后,我们就可以正式开始隐藏账户的制作了。来到注册表编辑器的“HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsersNames”处,当前系统中所有存在的账户都会在这里显示,当然包括我们的隐藏账户。点击我们的隐藏账户“piao$”,在右边显示的键值中的“类型”一项显示为0x3e9,向上来到“HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers”处,可以找到“000003E9”这一项,这两者是相互对应的,隐藏账户“piao$”的所有信息都在“000003E9”这一项中。同样的,我们可以找到“administrator”账户所对应的项为“000001F4”。
  将“piao$”的键值导出为piao$.reg,同时将“000003E9”和“000001F4”项的F键值分别导出为user.reg,admin.reg。用“记事本”打开admin.reg,将其中“F”值后面的内容复制下来,替换user.reg中的“F”值内容,完成后保存。接下来进入“命令提示符”,输入“net user piao$ /del”将我们建立的隐藏账户删除。最后,将piao$.reg和user.reg导入注册表,至此,隐藏账户制作完成。
  3、过河拆桥,切断删除隐藏账户的途径
  虽然我们的隐藏账户已经在“命令提示符”和“计算机管理”中隐藏了,但是有经验的系统管理员仍可能通过注册表编辑器删除我们的隐藏账户,那么如何才能让我们的隐藏账户坚如磐石呢?
  打开“regedt32.exe”,来到“HKEY_LOCAL_MACHINESAMSAM”处,设置“SAM”项的权限,将“administrators”所拥有的权限全部取消即可。当真正的管理员想对“HKEY_LOCAL_MACHINESAMSAM”下面的项进行操作的时候将会发生错误,而且无法通过“regedt32.exe”再次赋予权限。这样没有经验的管理员即使发现了系统中的隐藏账户,也是无可奈何的


用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; 360SE)
最后编辑networkedition 最后编辑于 2009-07-30 11:18:57
分享到:
gototop
 

[转]防止被黑之网络服务器安全经验谈

[转]防止被黑之网络服务器安全经验谈
1、对数据库进行安全配置,例如你的程序连接数据库所使用的帐户/口令/权限,如果是浏览新闻的,用只读权限即可;可以对不同的模块使用不同的帐户/权限;另外,数据库的哪些存储过程可以调用,也要进行严格地配置,用不到的全部禁用(特别是cmd这种),防止注入后利用数据库的存储过程进行系统调用;
  2、在获取客户端提交的参数时,进行严格的过滤,包括参数长短、参数类型等等;
  3、对管理员后台进行严格的保护,有条件的话,应该设置为只允许特定的IP访问(例如只允许管理员网段访问)——这个要根据实际情况来看的;
  4、对操作系统进行安全配置,防止注入后调用系统的功能,例如把
  cmd.exe/tftp.exe/ftp.exe/net.exe
  这些文件全部转移到其他目录,并对目录进行严格的权限指派;
  5、设置网络访问控制;
  6、有条件的话,配置针对HTTP的内容过滤,过滤病毒、恶意脚本等;
  7、如果有必要,可以考虑选择HTTPS,这样可以防止很多的注入工具扫描,我以前自己开发注入检测工具的时候,考虑过做支持HTTPS方式的,但目前还没付诸实施。
  相信你也看出来了,总的来说程序方面主要考虑权限、参数过滤等问题;权限主要包括IIS浏览权限、数据库调用权限。除此以外,还要考虑数据库、操作系统的安全配置。另外,不知道你们在开发过程中会不会用到其他人开发的组件,例如图片上传之类的,这类组件你们研究过其安全性么?或者开发的过程中,绝大多数人会使用网上、书上提供的现成代码,例如用户登录验证等等,这些公开代码,也要研究其安全性问题。


用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; 360SE)
最后编辑networkedition 最后编辑于 2009-07-30 11:19:39
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT