内网渗透的浅谈

刚接触实战内网,所以记录下自己的所见所闻,查漏补缺

现在我们做一个前提,假设你发现你渗透的网站,收集到的信息里,发现主机开放了一些敏感端口,类似于21(ftp),135(msfrpc),445(smb),3389(远程桌面)等,那么现在可以怎么办?

1:如果你是nmap粗暴的什么参数都没加然后扫描出来的端口开放情况(可以尝试nmap不同的参数,要考虑到时间效率和信息完整度),那么我们现在可以使用-O查看系统版本,或者使用nmap ip -sV -Pn来查看开放的端口对应的服务的不同版本

2:假如我们现在侦察到了我们的目标机器是win7,开放了445端口的smb服务,135的msrpc服务,21的ftp服务,3389的远程桌面服务

3:这里我们首先利用msf漏洞利用框架(也可以使用常用的包括Cobaltstrike,Empire[针对powershell最好的利用平台,没有之一]),为什么要建议使用msf,因为msf上手快,优缺点我在这里就不赘述了,现在我们进入正题

我们要保持的思路:

我们现在是还没有拿到shell,那么我们应该想尽一切办法利用存在的漏洞拿到目标机器的shell,拿不到的话那就真拿不到了,也不要死磕,放过他,有新思路了回头再打,现在我们准备俩利用445端口对应的smb服务来攻击,我们可以利用msf自带的辅助模块,smb17_010来检测目标机器是否存在永恒之蓝漏洞,如果存在,我们可以使用 辅助模块里对应的smb的commad模块来远程执行命令,因为是一个短连接(每执行完一条命令都会结束进程),所以被发现的几率很小,同样也可以使用exp模块中的类似于smb17_010_pexec,里面关于msf17-010的模块有几种。大家根据实际情况去做利用,根据不同的情况,payload也可以使用不同的组合,那么在利用完了之后,如果反弹或者监听到了shell,我们应该怎么办,怎么扩大战果,怎么继续往下走

我们利用meterpreter举例子。现在我们可以收集机器的常规信息,如下几个:

系统信息:

systeminfo //收集本机详细信息,包括版本,型号,补丁类型等等

net user //查看本机的用户列表

net user /domain //查询域用户

net group /domain //查询域里面的工作组

net group “domain admins” /domian //查询域管理员组

net group "domain controllers" /domain //查看域控制器

net localgroup administrators //查看本机的管理员【通常可能会含有域用户】

net localgroup administrators workgroup\user001 /add ------域用户添加到本机

net view //查看本机同在一个域的所有用户列表

net view \ip //查看某ip共享

net view /domain //查看域列表

net view /domian:domainname /指定域名查看域中的计算机列表

net time /domain /判断主域,一般主域都用来做时间服务器

net session //查看当前会话

net use \ip\ip$ password /user:username //建立ipc会话(空连接)

net config workstation //当前登录域

net localgroup administrators /domain //查询登陆本机的域管理员

net share //显示本地计算机上所有共享资源的信息

解释一下为什么要敲这些命令,这些命令对进一步的渗透的意义在哪儿?

首先我们敲的这些命令,是为了收集我们已经拿到shell的机器的各种信息,这些信息包括有网络结构信息,系统版本信息,我们收集到了这些信息可以查看本机的安全防御做的如何,是否满足可以上传木马维持权限的目的,是否存在用户存放账号密码的文件,是否存在特定应用程序,可以查看用户其他信息,是否可以查看用户浏览器缓存的账号密码,登陆邮箱或者社交账号,收集更多信息,密码可以做社工字典,可以用来碰撞其他服务。收集域账户信息,尝试用域账户登陆域内其他机器,尝试dump每一台机器的hash(用户密码的哈希值),kerberos(用户登陆的票据)

tasklist //查看当前本机正在运行的所有程序

netstat -ano //查看本机所开放的所有服务

网络信息:

ipconfig /all //本机的网络详细信息,包括IP地址,dns,网关等等

route print //打印本机的路由表,可以从中分析到机器的路由走向

arp -a //查看本机的arp缓存

新增命令:

net user name$ password /add //新增一个用户名为name$,密码为password的隐藏账户

net localgroup administrator  name$//将name$添加到本机管理员组

借鉴如下优秀的文章:

域渗透总结

 

 

 

 

 

 

 

你可能感兴趣的:(内网渗透)