1.Windows内网渗透


前言

 

不知道说啥好,直接开始吧

 

一、Windows内网渗透之本地提权信息收集

 

攻击机:win10,192.168.100.107

靶机:Win7,192.168.100.93

工具:lcx、NATbypass(免杀)、porttran

 

1、先给靶机192.168.100.90送上一句话木马,然后用win10拿菜刀砍它

 

 

 

 

 

2、Ok连上了,去试试打开虚拟机终端

 

 

 

 

3、好像不行,莫得办法,那我们就自己传一个cmd文件上去,这个文件本机就有,在C:\Windows\System32里就有现成的,但要注意一点,传上去的cmd必须是从与靶机同一系统版本的机子上扒下来的,不然可能没法用

 

 

 

 

4、ok,传了个cmd上去,这里也有要注意的,上传的cmd可能没法执行,那我们就要找到一个可读可写的路径,这种路径一般都跟temp和recycle字眼相关,此外大马也有检索可读可写路径的功能

可读可写路径:

c:\windows\temp\

%temp%\

c:\recycler\

c:\$Recycle.Bin\

d:\$Recycle.Bin

 

 

 

5、开搞开搞,进去之后自动有一条命令netstat -an | find "ESTABLISHED",这个是获取tcp连接的,可以敲一敲,然后我们就可以做一些信息收集,whoami看看自己是谁,然后用systeminfo看看详细信息,ver看看系统版本,net start查看自启动服务,tasklist看看进程里有没有什么奇奇怪怪的杀软,netstat -ano看看端口,netstat -r看看路由,然后我们可以用wmic qfe看看装了什么补丁(如果装的最新补丁是20年8月的,那就可以弄8月之后的exp提权)、最近一次安装是啥时候(也可以用wmic qfe get Caption,Description,HotFixID,InstalledOn 专项查看)等等

 

 

 

6.实在找不到还可以用dir /a “c:\program files (x86)” 和dir /a “c:\program files” 看看靶机里都装了啥,/a是查看所有,如果文件名有空格需要用双引号包裹起来,不然会报错。

 

 

7、wmic /NAMESPACE:"\\root\CIMV2" PATH Win32_Product get name,这条命令也可以直接看出系统安装了啥,因为运行会有点卡,所以可以直接重定向到一个txt中阅读

 

 

二、Windows内网渗透之提权方法选择

 

1、如果拿到webshell发现靶机在内网中是没法进行远程溢出和远程代码执行的,此时我们先端口转发,再折腾

 

2、提权手法:

  ①远程溢出(远程代码执行)——MS08067、MS17010永恒之蓝、CVE-2017-7494 Samba远程代码执行漏洞

  ②拿服务器文件密码

  ③第三方高权限应用提权——mysql、sql server、oracle

  ④本地溢出

  ⑤系统错误配置——apache+Windows

  ⑥DLL劫持漏洞(不常用)

 

三、exploit的寻找和下载

 

1、github——搜索exploit集合或cve

  https://github.com/SecWiki/windows-kernel-exploits

https://github.com/SecWiki/linux-kernel-exploits

 

2、google——可以用谷歌hacking语句

 

3、关注国内外的安全研究员的大牛——cnblogs的k8gege等等

 

4、国内的安全社区——tools、quansec

 

5、安全门户——freebuf、安全客

 

6、一些小圈子

 

7、msf——输入search exploit/windows/local查看

 

 

四、本地溢出提权

 

1、去github逛逛,这个exp号称通杀Windows一切版本,我的靶机一个补丁都莫得,那岂不是乱杀,整一个试试

 

 

 

 

2、啊这,,啥情况呀,居然失败了,我整了一下午换了四台虚拟机还是不行,孩子都自闭了

 

 

 

3、上来就是一顿社会的毒打,老老实实整一个cve-2018-8120试试,0708就交由以后翻笔记的自己继续捣鼓吧

 

 

 

 

4、成了,总之这个exp提权,就是先用命令(systeminfo等)查看版本和补丁号,看看最近一次打的补丁是啥时候,然后就找最新的提权exp从头到尾撸一遍就行,总有会成功的,提权这玩意是有概率失败的

 

 

 

五、提权的一些小细节

 

1、可以通过setp命令设置我们上传的cmd.exe为默认,例如setp E:\www\cmd.exe

 

2、二进制文件的后缀可任意修改

 

 

 

3、aspx比asp权限大

 

4、可以用大马查找可读可写的目录、检测补丁

 

5、webshell可以去github上直接搜索,但最好不要整到物理机上

 

六、端口转发

 

1、exp利用成功后想登陆目标或者连接某个端口(如1433)失败时,我们可以利用端口转发将特定端口转发到公网

 

2、先想办法把提权后建立的账号弄进管理组

 

 

 

 

3、这里查看一下有没有开3389,开了,但我非要关一下,注意命令有两个双引号需要用反斜杠\转义一下,因为我们的提权exp在外面已经用一个双引号包裹这条命令了

 

 

 

取消3389命令:REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f

 

图片中输入的命令:CVE-2018-8120.rocky "REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f"

 

4、接下来懂的都懂,用命令开一下3389,哎,我就是玩儿。但是中间差点玩脱了hhhh

 

 

 

添加3389命令:REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

图片中输入的命令:CVE-2018-8120.rocky "REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f"

 

5、接着win+r,然后用mstsc命令打开远程连接,用对方ip:端口号,的形式尝试连一下

 

 

 

 

6、啊这,剧本不对啊,没事我们就当作没连接上,无事发生,要做好连不上的准备对吧,继续继续

 

 

 

 

7、接下来去GitHub整一个lcx放到菜刀里,无论权限高低都可以使用。其实这里使用方法直接给出来了,琢磨琢磨就懂了

 

 

 

8、那slave和listen用哪个呢,slave嘛,懂的都懂,那肯定是我们要控制的对象咯,所以应该在靶机上执行(这里就是通过菜刀)slave命令;而remote指的是我们,local指的是靶机。(这里重启之后IP变了,靶机100.93变为100.92;vps的100.107变为100.108)

 

 

 

 

 

 

9、用mstsc命令远程连接,但是这里我遇到两个问题,第一是菜刀上使用lcx的slave命令时经常无响应,换了几个虚拟机和lcx还是不行;第二是远程桌面连接转发出来的端口不知道为啥,一直出现内部错误的告警,随后我换了porttran还是不行

 

 

 

 

10、各种尝试折腾了一早上可以远程连接了,神奇了,但是菜刀那个无响应还是没解决,其实这个远程桌面连接也还是不太稳定,成功率大概一半吧

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM