简单内网渗透思路

常听闻内网渗透一把梭,但不曾深入了解,今天就学学。
**

前提

**
有一个接入点,可以访问内网服务器网段
一般情况下,很多时候你已经拿下webshell,然后进行内网渗透
基本都是探测系统信息,提权,针对windows想办法开启远程桌面连接,针对linux想办法使用反弹shell来本地连接。
**

01信息收集

**
信息收集是最重要的
有的时候,我们已经拿到了webshell,那么此时,我们可以通过webshell自带的一些功能进行自动收集工作,一般都可以调用一些cmd命令,比如whoami,systeminfo,netuser啥的

服务器资产信息收集,收集存活ip,开放的端口,端口对应的服务。
了解整个服务器网段的端口业务情况。

推荐工具:F-NAScan
github地址:https://github.com/ywolf/F-NAScan
网络资产信息快速收集,结果生成html页面方面进行查看,并且对服务作了统计,方便针对服务类型进行检测

**

**

02 弱口令检测

**

**
在服务器开放的端口服务中,主要服务由为系统服务、数据库服务、web服务。
对常见的端口服务进行弱口令检测。

主要使用工具:iscan
这款工具主要是由自己用python编写的,基于端口的弱口令检测工具,可以检测常见端口的弱口令。目前支持以下服务:
系统弱口令: FTP、SSH、TELNET、SMB
数据库弱口令:MSSQL、MYSQL、POSTGRE、MONGODB
中间件弱口令: TOMCAT、WEBLOGIC、PHPMYADMIN

通过前面F-NAScan的探测结果,对服务器网段的服务有一个基本的统计,可以根据统计结果进行弱口令扫描。

常见系统服务弱口令:
1、IPC$、SSH、Telnet等弱口令,基本上等于拿到了系统权限了
2、MSSQL数据库SA弱口令可直接调用存储过程执行系统命令
3、mysql数据库root弱口令,可尝试udf直接提权,mysql5.1以上版本关键的第一步是否能创建plugin目录,默认一般是不存在的。

基本套路:弱口令–提权–读取缓存密码

常见Web常见应用端口服务:
1、WebLogic 默认端口:7001 弱口令,console后台部署webshell Java反序列化
2、Tomcat 默认端口:8080 弱口令,manager后台部署war包上传
3、jboss 默认端口:8080 弱口令,未授权访问,java反序列化

我个人这里理解,提权的方式不局限这几种,针对不同的操作系统,提权方式很多,这里只是给个简单的介绍弱口令然后提权,大家的思维不能局限死。

**

03Web应用渗透

**

通过服务器资产探测,可收集服务器开放web端口,内网系统中,大部分web系统访问的界面都是登录界面,需要用户名密码进行认证。然后开始渗透。。。。

**

04系统漏洞检测

**

进入内网,一般通过弱口令和web就可以搞定部分服务器,如果不行的话,可以试试系统漏洞,内网补丁很少的情况下可以试试远程溢出(慎用,可能导致系统蓝屏宕机)。

主要使用的工具:Nessus+Metasploit

通过Nessus扫描内网系统漏洞,使用Metasploit进行远程溢出
**

05定制化弱口令扫描

**

通过前面的几个步骤,控制了大部分服务器,包括域控,但同网段或多网段的服务器不一定都在域控之内。

同网段服务器,管理员为了方便,大部分服务器采用同一个密码,或密码存在一定的规律,根据以往的经验来看,遇到的几种的密码规律如下:

1、如密码为:QAZ@200821,对应的服务器ip为10.1.1.21,看到ip末尾和密码末尾一致,可以构造一个后缀对应IP尾数的密码字典;
2、如密码为:QAZ%0909,可以看到后面4位刚好是一个日期,可以构造一个0101-1231的日期字典组合字典;
3、如密码为:QAZ@xxweb,对应的服务器主机名为xxweb,可以探测所有主机名来拼接前缀字符,形成一个字典。

可进行大胆猜测,定制弱口令字典,进行二次扫描,往往能有意外收获,屡试不爽,基本上可以控制整个网段90%的服务器。

**

06提权

**

提权的方法有很多
不同系统不同方法
针对windows
第三方软件提权,FTP软件:server-u,g6ftp,FileZilla。
远程管理软件:PCanywhere,radmin(4899),vnc。
溢出提权,利用windows漏洞获取系统权限。巴西烤肉,pr,步骤:信息收集查看补丁,寻找未修补漏洞。
启动项提权,目录写入权限,批处理文件上传至开机启动项,等待重启。
破解hash提权,需要管理员权限,上传pwdump.Exe运行获取hash值,拿到lc5,彩虹表中破解得管理员密码。
数据库提权,需要数据库管理员权限。
Sqlserver,安装cmd_shell,开启3389,创建用户,提升权限,完成。
Mysql, udf提权,启动项,mof,反链端口

针对linux(linux我不晓得有啥子操作)
在拿到webshell的前提下,一般的流程为使用相应exp或者执行上传的脚本,反弹shell出来在本地进行连接,运行提权程序获得root权限。
如windows下一样,在Linux下首先通过webshell执行whoami来确定当前用户是什么用户,执行uname–r来确定Linux的内核版本,依照此版本来找对应的exp;当然对应很多版本的Linux内核,都是没有exp来对用执行的,很多情况下只能无奈止步或者另辟蹊径。常用工具nc。

07补充

找到交换机/路由器

通过内网端口/IP扫描找到类似交换机/F5的设备,网络设备没有特殊安全加固的话一般没有设置权限密码或者使用默认密码/弱口令,比较好突破。也可以下载路由器/交换机的配置文件,从而读取到登陆密码。拿到网络设备以后该网段的拓扑结构基本上能做到心中有数。

参考链接:
https://www.freebuf.com/column/177493.html
https://www.secpulse.com/archives/76810.html

你可能感兴趣的:(Web安全)